This claiming method requires a transaction from your wallet. For a smoother claim experience, take a look at the next section Claim Gasless Link.
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))
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))