UNPKG

@reservoir0x/relay-sdk

Version:

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

35 lines 1.45 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.prepareBatchTransaction = exports.canBatchTransactions = void 0; 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); } exports.canBatchTransactions = canBatchTransactions; function prepareBatchTransaction(steps) { const secondStepId = steps[1]?.id; 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) => { item.status = 'complete'; item.progressState = 'complete'; return item; }) ], requestId: steps[1].requestId ?? steps[0].requestId }; return batchedStep; } exports.prepareBatchTransaction = prepareBatchTransaction; //# sourceMappingURL=prepareBatchTransaction.js.map