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.
import peanut, { getDefaultProvider } from'@squirrel-labs/peanut-sdk'import { Wallet } from'ethersv5'constchainId='137'// polygonconstmnemonic='announce room limb pattern dry unit scale effort smooth jazz weasel alcohol'asyncfunctioncreateLinks():Promise<string> {let wallet =Wallet.fromMnemonic(mnemonic)constprovider=awaitgetDefaultProvider(chainId) wallet =wallet.connect(provider)const { link,txHash } =awaitpeanut.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 } =awaitpeanut.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, }, })constmultiLink=peanut.createMultiLinkFromLinks([link, link2])return multiLink}createLinks().then((link) =>console.log(link))