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
import 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
import 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))