Here is how you can claim a link that you have previously created!
This claiming method requires a transaction from your wallet. For a smoother claim experience, take a look at the next section Claim Gasless Link
Claim Link using EthersV5
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 = 'https://peanut.to/claim?c=137&v=v4.3&i=2159&t=sdk#p=pW5awL4lFBY0Fr3C' const claimedLinkResponse = await peanut.claimLink({ structSigner: { signer: wallet, }, link, }) console.log(claimedLinkResponse.txHash) return (claimedLinkResponse.txHash) } createLinks().then((hash) => console.log(hash))
Claim Link using Signer Agnostic Functions
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) console.log('Wallet address:', wallet.address) const link = 'https://peanut.to/claim?c=137&v=v4.3&i=2160&t=ui#p=0JObAtHfeDX7HI7K' const claimedLinkResponse = await peanut.prepareClaimTx({ recipientAddress: wallet.address, link, }) const convertedTx = peanut.peanutToEthersV5Tx(claimedLinkResponse) const tx = await wallet.sendTransaction(convertedTx) console.log(tx.hash) return tx.hash } createLinks().then((hash) => console.log(hash))