πWallet providers - Request an order
How to create an order for wallet providers
EVM Chains
const order = await Order.create({
user: userAddress,
sourceChainId: ChainID.Arbitrum,
sourceTokenAddress: '0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9', // USDT
sourceTokenAmount: BigInt(10_000_000), // 10 USDT
destinationChainId: ChainID.Solana,
destinationTokenAddress: 'Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB',
destinationTokenMinAmount: BigInt(9_500_000),
destinationAddress: '3Kiz4oBXpR9YuPNsVfvE5XnNzgwjrM9m2CbRzyyEVkpQ',
minStablecoinAmount: BigInt(9_800_000),
deadline: Math.floor(Date.now() / 1000) + 3600,
});
// Sign the order with MetaMask
const { orderTypedData, nonce } = await getEvmOrderTypedData(order); // You'll need to implement this
// Prompt the user to sign typed data using your wallet provider (wagmi, etc...)
const signature = await signer.signTypedData( // '0x...'
orderTypedData.domain,
orderTypedData.types,
orderTypedData.message
);
// Once generated the signature by the wallet provider
let response = await sendEvmRequest({ order, signature, nonce });Solana
Sui
Last updated