You can claim a Link gaslessly, with no additional trust assumptions (no one can frontrun you!) using our API. This involves creating an offchain signature using the Links private key, but it's all handled under the hood in claimLinkGasless
.
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=2160&t=ui#p=0JObAtHfeDX7HI7K>'
const claimedLinkResponse = await peanut.claimLinkGasless({
APIKey: '',
link,
recipientAddress: wallet.address,
})
console.log(claimedLinkResponse.txHash)
return claimedLinkResponse.txHash
}
createLinks().then((hash) => console.log(hash))