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

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