UNPKG

@reservoir0x/relay-sdk

Version:

Relay is the Fastest and Cheapest Way to Bridge and Transact Across Chains.

31 lines 1.27 kB
export function canBatchTransactions(steps) { const firstStep = steps[0]; const secondStep = steps[1]; const hasIncompleteApproval = firstStep?.items?.some((item) => item.status === 'incomplete'); const hasIncompleteDeposit = secondStep?.items?.some((item) => item.status === 'incomplete'); return (firstStep?.id === 'approve' && (secondStep?.id === 'deposit' || secondStep?.id === 'swap') && hasIncompleteApproval && hasIncompleteDeposit); } export function prepareBatchTransaction(steps) { const secondStepId = steps[1]?.id; // deposit or swap const batchedStep = { id: `approve-and-${secondStepId}`, action: 'Confirm transaction in your wallet', description: `Batching approval and ${secondStepId} transactions`, kind: 'transaction', items: [ ...(steps[0].items || []), ...(steps[1].items || []).map((item) => { // mark the second step as complete item.status = 'complete'; item.progressState = 'complete'; return item; }) ], requestId: steps[1].requestId ?? steps[0].requestId }; return batchedStep; } //# sourceMappingURL=prepareBatchTransaction.js.map