@relayprotocol/relay-sdk 5.2.2 → 5.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_cjs/src/utils/prepareBatchTransaction.js +26 -20
- package/_cjs/src/utils/prepareBatchTransaction.js.map +1 -1
- package/_cjs/src/version.js +1 -1
- package/_cjs/tsconfig.build.tsbuildinfo +1 -1
- package/_esm/src/utils/prepareBatchTransaction.js +49 -21
- package/_esm/src/utils/prepareBatchTransaction.js.map +1 -1
- package/_esm/src/version.js +1 -1
- package/_esm/tsconfig.build.tsbuildinfo +1 -1
- package/_types/src/utils/prepareBatchTransaction.d.ts +22 -0
- package/_types/src/utils/prepareBatchTransaction.d.ts.map +1 -1
- package/_types/src/version.d.ts +1 -1
- package/_types/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -2,32 +2,38 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.prepareBatchTransaction = exports.canBatchTransactions = void 0;
|
|
4
4
|
function canBatchTransactions(steps) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
5
|
+
if (!steps || steps.length < 2)
|
|
6
|
+
return false;
|
|
7
|
+
const terminalStep = steps[steps.length - 1];
|
|
8
|
+
const prefixSteps = steps.slice(0, -1);
|
|
9
|
+
const terminalIsSwapOrDeposit = terminalStep?.id === 'swap' || terminalStep?.id === 'deposit';
|
|
10
|
+
if (!terminalIsSwapOrDeposit)
|
|
11
|
+
return false;
|
|
12
|
+
const prefixAllApprovals = prefixSteps.every((step) => step?.id === 'approve');
|
|
13
|
+
if (!prefixAllApprovals)
|
|
14
|
+
return false;
|
|
15
|
+
const allStepsHaveIncomplete = steps.every((step) => step?.items?.some((item) => item.status === 'incomplete'));
|
|
16
|
+
return allStepsHaveIncomplete;
|
|
13
17
|
}
|
|
14
18
|
exports.canBatchTransactions = canBatchTransactions;
|
|
15
19
|
function prepareBatchTransaction(steps) {
|
|
16
|
-
const
|
|
20
|
+
const terminalStep = steps[steps.length - 1];
|
|
21
|
+
const terminalId = terminalStep?.id;
|
|
22
|
+
const allItems = steps.flatMap((step) => step.items || []);
|
|
23
|
+
const batchedItems = allItems.map((item, index) => {
|
|
24
|
+
if (index === 0)
|
|
25
|
+
return item;
|
|
26
|
+
item.status = 'complete';
|
|
27
|
+
item.progressState = 'complete';
|
|
28
|
+
return item;
|
|
29
|
+
});
|
|
17
30
|
const batchedStep = {
|
|
18
|
-
id: `approve-and-${
|
|
31
|
+
id: `approve-and-${terminalId}`,
|
|
19
32
|
action: 'Confirm transaction in your wallet',
|
|
20
|
-
description: `Batching approval and ${
|
|
33
|
+
description: `Batching approval and ${terminalId} transactions`,
|
|
21
34
|
kind: 'transaction',
|
|
22
|
-
items:
|
|
23
|
-
|
|
24
|
-
...(steps[1].items || []).map((item) => {
|
|
25
|
-
item.status = 'complete';
|
|
26
|
-
item.progressState = 'complete';
|
|
27
|
-
return item;
|
|
28
|
-
})
|
|
29
|
-
],
|
|
30
|
-
requestId: steps[1].requestId ?? steps[0].requestId
|
|
35
|
+
items: batchedItems,
|
|
36
|
+
requestId: terminalStep?.requestId ?? steps[0]?.requestId
|
|
31
37
|
};
|
|
32
38
|
return batchedStep;
|
|
33
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepareBatchTransaction.js","sourceRoot":"","sources":["../../../src/utils/prepareBatchTransaction.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"prepareBatchTransaction.js","sourceRoot":"","sources":["../../../src/utils/prepareBatchTransaction.ts"],"names":[],"mappings":";;;AAcA,SAAgB,oBAAoB,CAAC,KAAuB;IAC1D,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAA;IAE5C,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC5C,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAEtC,MAAM,uBAAuB,GAC3B,YAAY,EAAE,EAAE,KAAK,MAAM,IAAI,YAAY,EAAE,EAAE,KAAK,SAAS,CAAA;IAC/D,IAAI,CAAC,uBAAuB;QAAE,OAAO,KAAK,CAAA;IAE1C,MAAM,kBAAkB,GAAG,WAAW,CAAC,KAAK,CAC1C,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,KAAK,SAAS,CACjC,CAAA;IACD,IAAI,CAAC,kBAAkB;QAAE,OAAO,KAAK,CAAA;IAErC,MAAM,sBAAsB,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAClD,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,YAAY,CAAC,CAC1D,CAAA;IACD,OAAO,sBAAsB,CAAA;AAC/B,CAAC;AAnBD,oDAmBC;AAYD,SAAgB,uBAAuB,CAAC,KAAuB;IAC7D,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC5C,MAAM,UAAU,GAAG,YAAY,EAAE,EAAE,CAAA;IAEnC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;IAE1D,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAChD,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QAE5B,IAAI,CAAC,MAAM,GAAG,UAAU,CAAA;QACxB,IAAI,CAAC,aAAa,GAAG,UAAU,CAAA;QAC/B,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;IAEF,MAAM,WAAW,GAAG;QAClB,EAAE,EAAE,eAAe,UAAU,EAAS;QACtC,MAAM,EAAE,oCAAoC;QAC5C,WAAW,EAAE,yBAAyB,UAAU,eAAe;QAC/D,IAAI,EAAE,aAAsB;QAC5B,KAAK,EAAE,YAAY;QACnB,SAAS,EAAE,YAAY,EAAE,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS;KAC1D,CAAA;IAED,OAAO,WAAW,CAAA;AACpB,CAAC;AAxBD,0DAwBC"}
|
package/_cjs/src/version.js
CHANGED