UNPKG

axie-tools

Version:

TypeScript library and CLI tool for interacting with Axie Infinity marketplace and NFTs on Ronin network. Features marketplace operations (buy/sell/delist), batch transfers, and wallet information.

31 lines (25 loc) 1.09 kB
import { ethers } from 'ethers'; export interface DelegationData { from_address: string; to_address: string; delegated_at: number; delegator_slips_percent: number; } export function generateDelegationMessage(data: DelegationData): string { return `from_address=${data.from_address.toLowerCase()}&to_address=${data.to_address.toLowerCase()}&delegated_at=${data.delegated_at}&delegator_slips_percent=${data.delegator_slips_percent}`; } export async function signDelegation(wallet: ethers.Wallet, toAddress: string, delegatedAt: number, delegatorSlipsPercent: number = 100): Promise<{ message: string; signature: string }> { const fromAddress = await wallet.getAddress(); const data: DelegationData = { from_address: fromAddress.toLowerCase(), to_address: toAddress.toLowerCase(), delegated_at: delegatedAt, delegator_slips_percent: delegatorSlipsPercent }; const message = generateDelegationMessage(data); const signature = await wallet.signMessage(message); return { message, signature }; }