Want to have multiple tokens in a single link? Have a look here how you can!
If you want a Link to hold multiple tokens (e.g. an NFT, some USDC and some Ether for gas), then you can create a Multi-Token Link. To do this, you'll have to first create
n
links with the same password p
. Then, you can invoke peanut.createMultiLinkFromLinks(links)
to get the Multi-Token Link. Easy!Note: you can also create Links using the signer agnostic functions (check Create Link) and pass these Links into the
createMultiLinkFromLinks()
function.plain textimport peanut, { getDefaultProvider } from '@squirrel-labs/peanut-sdk' import { Wallet } from 'ethersv5' const chainId = '137' // polygon const mnemonic = 'announce room limb pattern dry unit scale effort smooth jazz weasel alcohol' async function createLinks(): Promise<string> { let wallet = Wallet.fromMnemonic(mnemonic) const provider = await getDefaultProvider(chainId) wallet = wallet.connect(provider) const { link, txHash } = await peanut.createLink({ structSigner: { signer: wallet, }, linkDetails: { chainId: chainId, tokenAmount: 0.01, tokenType: 0, // 0 for ether, 1 for erc20, 2 for erc721, 3 for erc1155 tokenDecimals: 18, }, }) const { link: link2, txHash: txHash2 } = await peanut.createLink({ structSigner: { signer: wallet, }, linkDetails: { chainId: chainId, tokenAmount: 0.01, tokenType: 1, // 0 for ether, 1 for erc20, 2 for erc721, 3 for erc1155 tokenAddress: '0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174', // USDC tokenDecimals: 6, }, }) const multiLink = peanut.createMultiLinkFromLinks([link, link2]) return multiLink } createLinks().then((link) => console.log(link))