@debridge-finance/borderless-validation-sdk 0.0.10 → 0.0.12
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/README.md +11 -4
- package/dist/cjs/graylists/evm/token-permit-metadata.js +39 -6
- package/dist/cjs/graylists/evm/token-permit-metadata.js.map +1 -1
- package/dist/cjs/helpers/quote-mode.js +23 -0
- package/dist/cjs/helpers/quote-mode.js.map +1 -0
- package/dist/cjs/helpers/synthetic-native-wrap.js +13 -13
- package/dist/cjs/helpers/synthetic-native-wrap.js.map +1 -1
- package/dist/cjs/helpers/zod.js +42 -0
- package/dist/cjs/helpers/zod.js.map +1 -1
- package/dist/cjs/types/request.js +42 -36
- package/dist/cjs/types/request.js.map +1 -1
- package/dist/cjs/types/response.js +23 -23
- package/dist/cjs/types/response.js.map +1 -1
- package/dist/cjs/types/validation.js +24 -2
- package/dist/cjs/types/validation.js.map +1 -1
- package/dist/cjs/validations/accumulative-token.js +7 -1
- package/dist/cjs/validations/accumulative-token.js.map +1 -1
- package/dist/cjs/validations/evm-op-budget.js +10 -3
- package/dist/cjs/validations/evm-op-budget.js.map +1 -1
- package/dist/cjs/validations/evm-op-wrap.js +8 -3
- package/dist/cjs/validations/evm-op-wrap.js.map +1 -1
- package/dist/cjs/validations/evm-permit.js +4 -3
- package/dist/cjs/validations/evm-permit.js.map +1 -1
- package/dist/cjs/validations/evm-required-actions.js +3 -3
- package/dist/cjs/validations/evm-required-actions.js.map +1 -1
- package/dist/cjs/validations/evm-sign712-metamask.js +4 -3
- package/dist/cjs/validations/evm-sign712-metamask.js.map +1 -1
- package/dist/cjs/validations/external-call.js +13 -22
- package/dist/cjs/validations/external-call.js.map +1 -1
- package/dist/cjs/validations/hooks-common.js +82 -26
- package/dist/cjs/validations/hooks-common.js.map +1 -1
- package/dist/cjs/validations/intent-tokens.js +4 -0
- package/dist/cjs/validations/intent-tokens.js.map +1 -1
- package/dist/cjs/validations/refill.js +587 -0
- package/dist/cjs/validations/refill.js.map +1 -0
- package/dist/cjs/validations/required-actions.js +2 -2
- package/dist/cjs/validations/required-actions.js.map +1 -1
- package/dist/cjs/validations/solana-hook.js +35 -14
- package/dist/cjs/validations/solana-hook.js.map +1 -1
- package/dist/cjs/validations/solana-op-budget.js +20 -10
- package/dist/cjs/validations/solana-op-budget.js.map +1 -1
- package/dist/cjs/validations/solana-op-wrap.js +8 -3
- package/dist/cjs/validations/solana-op-wrap.js.map +1 -1
- package/dist/cjs/validations/solana-required-actions.js +3 -3
- package/dist/cjs/validations/solana-required-actions.js.map +1 -1
- package/dist/cjs/validations/solana-transaction.js +81 -45
- package/dist/cjs/validations/solana-transaction.js.map +1 -1
- package/dist/cjs/validations/trade-grouping.js +11 -0
- package/dist/cjs/validations/trade-grouping.js.map +1 -1
- package/dist/cjs/validator.js +43 -20
- package/dist/cjs/validator.js.map +1 -1
- package/dist/cjs/whitelists/environment-config.js +89 -56
- package/dist/cjs/whitelists/environment-config.js.map +1 -1
- package/dist/cjs/whitelists/evm/index.js +3 -1
- package/dist/cjs/whitelists/evm/index.js.map +1 -1
- package/dist/cjs/whitelists/solana/intent-signature.js +6 -10
- package/dist/cjs/whitelists/solana/intent-signature.js.map +1 -1
- package/dist/esm/graylists/evm/token-permit-metadata.js +39 -6
- package/dist/esm/graylists/evm/token-permit-metadata.js.map +1 -1
- package/dist/esm/helpers/quote-mode.js +17 -0
- package/dist/esm/helpers/quote-mode.js.map +1 -0
- package/dist/esm/helpers/synthetic-native-wrap.js +13 -13
- package/dist/esm/helpers/synthetic-native-wrap.js.map +1 -1
- package/dist/esm/helpers/zod.js +36 -0
- package/dist/esm/helpers/zod.js.map +1 -1
- package/dist/esm/types/request.js +43 -37
- package/dist/esm/types/request.js.map +1 -1
- package/dist/esm/types/response.js +24 -24
- package/dist/esm/types/response.js.map +1 -1
- package/dist/esm/types/validation.js +24 -2
- package/dist/esm/types/validation.js.map +1 -1
- package/dist/esm/validations/accumulative-token.js +7 -1
- package/dist/esm/validations/accumulative-token.js.map +1 -1
- package/dist/esm/validations/evm-op-budget.js +10 -3
- package/dist/esm/validations/evm-op-budget.js.map +1 -1
- package/dist/esm/validations/evm-op-wrap.js +8 -3
- package/dist/esm/validations/evm-op-wrap.js.map +1 -1
- package/dist/esm/validations/evm-permit.js +4 -3
- package/dist/esm/validations/evm-permit.js.map +1 -1
- package/dist/esm/validations/evm-required-actions.js +3 -3
- package/dist/esm/validations/evm-required-actions.js.map +1 -1
- package/dist/esm/validations/evm-sign712-metamask.js +1 -1
- package/dist/esm/validations/evm-sign712-metamask.js.map +1 -1
- package/dist/esm/validations/external-call.js +13 -22
- package/dist/esm/validations/external-call.js.map +1 -1
- package/dist/esm/validations/hooks-common.js +83 -27
- package/dist/esm/validations/hooks-common.js.map +1 -1
- package/dist/esm/validations/intent-tokens.js +4 -0
- package/dist/esm/validations/intent-tokens.js.map +1 -1
- package/dist/esm/validations/refill.js +584 -0
- package/dist/esm/validations/refill.js.map +1 -0
- package/dist/esm/validations/required-actions.js +2 -2
- package/dist/esm/validations/required-actions.js.map +1 -1
- package/dist/esm/validations/solana-hook.js +35 -14
- package/dist/esm/validations/solana-hook.js.map +1 -1
- package/dist/esm/validations/solana-op-budget.js +20 -10
- package/dist/esm/validations/solana-op-budget.js.map +1 -1
- package/dist/esm/validations/solana-op-wrap.js +8 -3
- package/dist/esm/validations/solana-op-wrap.js.map +1 -1
- package/dist/esm/validations/solana-required-actions.js +3 -3
- package/dist/esm/validations/solana-required-actions.js.map +1 -1
- package/dist/esm/validations/solana-transaction.js +81 -45
- package/dist/esm/validations/solana-transaction.js.map +1 -1
- package/dist/esm/validations/trade-grouping.js +11 -0
- package/dist/esm/validations/trade-grouping.js.map +1 -1
- package/dist/esm/validator.js +44 -21
- package/dist/esm/validator.js.map +1 -1
- package/dist/esm/whitelists/environment-config.js +84 -52
- package/dist/esm/whitelists/environment-config.js.map +1 -1
- package/dist/esm/whitelists/evm/index.js +1 -0
- package/dist/esm/whitelists/evm/index.js.map +1 -1
- package/dist/esm/whitelists/solana/intent-signature.js +4 -9
- package/dist/esm/whitelists/solana/intent-signature.js.map +1 -1
- package/dist/types/graylists/evm/token-permit-metadata.d.ts +2 -2
- package/dist/types/graylists/evm/token-permit-metadata.d.ts.map +1 -1
- package/dist/types/helpers/quote-mode.d.ts +6 -0
- package/dist/types/helpers/quote-mode.d.ts.map +1 -0
- package/dist/types/helpers/synthetic-native-wrap.d.ts.map +1 -1
- package/dist/types/helpers/zod.d.ts +6 -0
- package/dist/types/helpers/zod.d.ts.map +1 -1
- package/dist/types/types/request.d.ts +88 -88
- package/dist/types/types/request.d.ts.map +1 -1
- package/dist/types/types/response.d.ts +71 -71
- package/dist/types/types/response.d.ts.map +1 -1
- package/dist/types/types/validation.d.ts +23 -2
- package/dist/types/types/validation.d.ts.map +1 -1
- package/dist/types/validations/accumulative-token.d.ts +1 -1
- package/dist/types/validations/accumulative-token.d.ts.map +1 -1
- package/dist/types/validations/evm-op-budget.d.ts +1 -1
- package/dist/types/validations/evm-op-budget.d.ts.map +1 -1
- package/dist/types/validations/evm-op-wrap.d.ts +1 -1
- package/dist/types/validations/evm-op-wrap.d.ts.map +1 -1
- package/dist/types/validations/evm-required-actions.d.ts +1 -1
- package/dist/types/validations/evm-required-actions.d.ts.map +1 -1
- package/dist/types/validations/evm-sign712-metamask.d.ts +1 -0
- package/dist/types/validations/evm-sign712-metamask.d.ts.map +1 -1
- package/dist/types/validations/external-call.d.ts +2 -2
- package/dist/types/validations/external-call.d.ts.map +1 -1
- package/dist/types/validations/hooks-common.d.ts.map +1 -1
- package/dist/types/validations/refill.d.ts +4 -0
- package/dist/types/validations/refill.d.ts.map +1 -0
- package/dist/types/validations/required-actions.d.ts.map +1 -1
- package/dist/types/validations/solana-op-budget.d.ts +1 -1
- package/dist/types/validations/solana-op-budget.d.ts.map +1 -1
- package/dist/types/validations/solana-op-wrap.d.ts +1 -1
- package/dist/types/validations/solana-op-wrap.d.ts.map +1 -1
- package/dist/types/validations/solana-required-actions.d.ts +1 -1
- package/dist/types/validations/solana-required-actions.d.ts.map +1 -1
- package/dist/types/validations/solana-transaction.d.ts +2 -2
- package/dist/types/validations/solana-transaction.d.ts.map +1 -1
- package/dist/types/validations/trade-grouping.d.ts +2 -0
- package/dist/types/validations/trade-grouping.d.ts.map +1 -1
- package/dist/types/validator.d.ts.map +1 -1
- package/dist/types/whitelists/environment-config.d.ts +17 -0
- package/dist/types/whitelists/environment-config.d.ts.map +1 -1
- package/dist/types/whitelists/evm/index.d.ts +1 -0
- package/dist/types/whitelists/evm/index.d.ts.map +1 -1
- package/dist/types/whitelists/solana/intent-signature.d.ts +1 -0
- package/dist/types/whitelists/solana/intent-signature.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -111,8 +111,9 @@ The SDK is designed to run **between** receiving the API response and presenting
|
|
|
111
111
|
import { Environment } from "@debridge-finance/borderless-validation-sdk";
|
|
112
112
|
```
|
|
113
113
|
|
|
114
|
-
- `Environment.Prod` — production.
|
|
115
|
-
- `Environment.
|
|
114
|
+
- `Environment.Prod` — production without gasless features.
|
|
115
|
+
- `Environment.Gasless` — production with gasless features.
|
|
116
|
+
- `Environment.Dev` — developer environment (also known as Stage).
|
|
116
117
|
|
|
117
118
|
Pass the same environment your app is already configured for — don't make it user-selectable.
|
|
118
119
|
|
|
@@ -159,11 +160,17 @@ Full type declarations ship in `dist/types/`. `ValidatorConfig`, `ValidationResu
|
|
|
159
160
|
## Development
|
|
160
161
|
|
|
161
162
|
See [`CLAUDE.md`](./CLAUDE.md) for project conventions, validation rules, and security guidelines.
|
|
163
|
+
See [`src/README.md`](./src/README.md) for an overview of the source code structure and validation flow.
|
|
162
164
|
|
|
163
165
|
- Unit tests: `npm test`
|
|
164
|
-
-
|
|
166
|
+
- Unit test coverage: `npm run coverage`
|
|
165
167
|
- E2E tests (hit the staging API): `npm run test:e2e`
|
|
166
|
-
-
|
|
168
|
+
- E2E coverage: `npm run coverage:e2e`
|
|
169
|
+
- Full build: `npm run build`
|
|
170
|
+
- Build ESM only: `npm run build:esm`
|
|
171
|
+
- Build CJS only: `npm run build:cjs`
|
|
172
|
+
- Build type declarations only: `npm run build:types`
|
|
173
|
+
- Clean build output: `npm run clean`
|
|
167
174
|
|
|
168
175
|
## License
|
|
169
176
|
|
|
@@ -6,17 +6,50 @@
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.TOKEN_PERMIT_METADATA = void 0;
|
|
8
8
|
exports.getTokenPermitMetadata = getTokenPermitMetadata;
|
|
9
|
-
// Note: addresses in this map MUST be lowercased.
|
|
10
9
|
const enums_1 = require("../../types/enums");
|
|
10
|
+
// Note: addresses in this map MUST be lowercased.
|
|
11
11
|
exports.TOKEN_PERMIT_METADATA = {
|
|
12
|
-
// TODO:
|
|
12
|
+
// TODO: extend this verified-only graylist with additional tokens after
|
|
13
|
+
// checking the exact token contract on the exact chain. Unknown tokens, or
|
|
14
|
+
// unverified fields such as version, must stay absent so the SDK skips
|
|
15
|
+
// best-effort metadata checks instead of risking false positives.
|
|
13
16
|
[enums_1.ChainId.Ethereum]: {
|
|
14
|
-
"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": { name: "USD Coin", version: "2" },
|
|
15
|
-
"0x6b175474e89094c44da98b954eedeac495271d0f": { name: "Dai Stablecoin", version: "1" },
|
|
16
|
-
"0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9": { name: "Aave Token"
|
|
17
|
+
"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": { name: "USD Coin", version: "2" },
|
|
18
|
+
"0x6b175474e89094c44da98b954eedeac495271d0f": { name: "Dai Stablecoin", version: "1" },
|
|
19
|
+
"0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9": { name: "Aave Token" },
|
|
20
|
+
},
|
|
21
|
+
[enums_1.ChainId.Optimism]: {
|
|
22
|
+
"0x0b2c639c533813f4aa9d7837caf62653d097ff85": { name: "USD Coin", version: "2" },
|
|
23
|
+
},
|
|
24
|
+
[enums_1.ChainId.Polygon]: {
|
|
25
|
+
"0x3c499c542cef5e3811e1192ce70d8cc03d5c3359": { name: "USD Coin", version: "2" },
|
|
26
|
+
},
|
|
27
|
+
[enums_1.ChainId.Monad]: {
|
|
28
|
+
"0x754704bc059f8c67012fed69bc8a327a5aafb603": { name: "USDC", version: "2" },
|
|
29
|
+
},
|
|
30
|
+
[enums_1.ChainId.Sonic]: {
|
|
31
|
+
"0x29219dd400f2bf60e5a23d13be72b486d4038894": { name: "USDC", version: "2" },
|
|
32
|
+
},
|
|
33
|
+
[enums_1.ChainId.HyperEVM]: {
|
|
34
|
+
"0xb88339cb7199b77e23db6e890353e22632ba630f": { name: "USDC", version: "2" },
|
|
35
|
+
},
|
|
36
|
+
[enums_1.ChainId.Sei]: {
|
|
37
|
+
"0xe15fc38f6d8c56af07bbcbe3baf5708a2bf42392": { name: "USDC", version: "2" },
|
|
38
|
+
},
|
|
39
|
+
[enums_1.ChainId.Injective]: {
|
|
40
|
+
"0xa00c59ff5a080d2b954d0c75e46e22a0c371235a": { name: "USDC", version: "2" },
|
|
41
|
+
},
|
|
42
|
+
[enums_1.ChainId.Base]: {
|
|
43
|
+
"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913": { name: "USD Coin", version: "2" },
|
|
44
|
+
},
|
|
45
|
+
[enums_1.ChainId.Linea]: {
|
|
46
|
+
"0x176211869ca2b568f2a7d4ee941e073a821ee1ff": { name: "USDC", version: "2" },
|
|
17
47
|
},
|
|
18
48
|
[enums_1.ChainId.Arbitrum]: {
|
|
19
|
-
"0xaf88d065e77c8cc2239327c5edb3a432268e5831": { name: "USD Coin", version: "2" },
|
|
49
|
+
"0xaf88d065e77c8cc2239327c5edb3a432268e5831": { name: "USD Coin", version: "2" },
|
|
50
|
+
},
|
|
51
|
+
[enums_1.ChainId.Avalanche]: {
|
|
52
|
+
"0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e": { name: "USD Coin", version: "2" },
|
|
20
53
|
},
|
|
21
54
|
};
|
|
22
55
|
function getTokenPermitMetadata(realChainId, tokenAddress) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-permit-metadata.js","sourceRoot":"","sources":["../../../../src/graylists/evm/token-permit-metadata.ts"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,mEAAmE;AACnE,oEAAoE;AACpE,oEAAoE;;;
|
|
1
|
+
{"version":3,"file":"token-permit-metadata.js","sourceRoot":"","sources":["../../../../src/graylists/evm/token-permit-metadata.ts"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,mEAAmE;AACnE,oEAAoE;AACpE,oEAAoE;;;AAgEpE,wDAOC;AArED,6CAA4C;AAgB5C,kDAAkD;AACrC,QAAA,qBAAqB,GAA2B;IACzD,wEAAwE;IACxE,2EAA2E;IAC3E,uEAAuE;IACvE,kEAAkE;IAClE,CAAC,eAAO,CAAC,QAAQ,CAAC,EAAE;QAChB,4CAA4C,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE;QAChF,4CAA4C,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,GAAG,EAAE;QACtF,4CAA4C,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;KACvE;IACD,CAAC,eAAO,CAAC,QAAQ,CAAC,EAAE;QAChB,4CAA4C,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE;KACnF;IACD,CAAC,eAAO,CAAC,OAAO,CAAC,EAAE;QACf,4CAA4C,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE;KACnF;IACD,CAAC,eAAO,CAAC,KAAK,CAAC,EAAE;QACb,4CAA4C,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;KAC/E;IACD,CAAC,eAAO,CAAC,KAAK,CAAC,EAAE;QACb,4CAA4C,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;KAC/E;IACD,CAAC,eAAO,CAAC,QAAQ,CAAC,EAAE;QAChB,4CAA4C,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;KAC/E;IACD,CAAC,eAAO,CAAC,GAAG,CAAC,EAAE;QACX,4CAA4C,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;KAC/E;IACD,CAAC,eAAO,CAAC,SAAS,CAAC,EAAE;QACjB,4CAA4C,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;KAC/E;IACD,CAAC,eAAO,CAAC,IAAI,CAAC,EAAE;QACZ,4CAA4C,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE;KACnF;IACD,CAAC,eAAO,CAAC,KAAK,CAAC,EAAE;QACb,4CAA4C,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;KAC/E;IACD,CAAC,eAAO,CAAC,QAAQ,CAAC,EAAE;QAChB,4CAA4C,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE;KACnF;IACD,CAAC,eAAO,CAAC,SAAS,CAAC,EAAE;QACjB,4CAA4C,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE;KACnF;CACJ,CAAC;AAEF,SAAgB,sBAAsB,CAClC,WAAoB,EACpB,YAAoB;IAEpB,MAAM,KAAK,GAAG,6BAAqB,CAAC,WAAW,CAAC,CAAC;IACjD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;AAC7C,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.hasAllExecutionAddresses = hasAllExecutionAddresses;
|
|
4
|
+
exports.hasAnyExecutionAddress = hasAnyExecutionAddress;
|
|
5
|
+
exports.isQuoteModeRequest = isQuoteModeRequest;
|
|
6
|
+
exports.hasUnverifiableQuoteGrouping = hasUnverifiableQuoteGrouping;
|
|
7
|
+
function hasAllExecutionAddresses(trade) {
|
|
8
|
+
return trade.srcChainAuthorityAddress !== undefined
|
|
9
|
+
&& trade.dstChainTokenOutRecipient !== undefined
|
|
10
|
+
&& trade.dstChainAuthorityAddress !== undefined;
|
|
11
|
+
}
|
|
12
|
+
function hasAnyExecutionAddress(trade) {
|
|
13
|
+
return trade.srcChainAuthorityAddress !== undefined
|
|
14
|
+
|| trade.dstChainTokenOutRecipient !== undefined
|
|
15
|
+
|| trade.dstChainAuthorityAddress !== undefined;
|
|
16
|
+
}
|
|
17
|
+
function isQuoteModeRequest(trades) {
|
|
18
|
+
return !trades.every(hasAllExecutionAddresses);
|
|
19
|
+
}
|
|
20
|
+
function hasUnverifiableQuoteGrouping(trades) {
|
|
21
|
+
return isQuoteModeRequest(trades) && trades.some(hasAnyExecutionAddress);
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=quote-mode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quote-mode.js","sourceRoot":"","sources":["../../../src/helpers/quote-mode.ts"],"names":[],"mappings":";;AAEA,4DAIC;AAED,wDAIC;AAED,gDAEC;AAED,oEAEC;AAlBD,SAAgB,wBAAwB,CAAC,KAAmB;IACxD,OAAO,KAAK,CAAC,wBAAwB,KAAK,SAAS;WAC5C,KAAK,CAAC,yBAAyB,KAAK,SAAS;WAC7C,KAAK,CAAC,wBAAwB,KAAK,SAAS,CAAC;AACxD,CAAC;AAED,SAAgB,sBAAsB,CAAC,KAAmB;IACtD,OAAO,KAAK,CAAC,wBAAwB,KAAK,SAAS;WAC5C,KAAK,CAAC,yBAAyB,KAAK,SAAS;WAC7C,KAAK,CAAC,wBAAwB,KAAK,SAAS,CAAC;AACxD,CAAC;AAED,SAAgB,kBAAkB,CAAC,MAA+B;IAC9D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;AACnD,CAAC;AAED,SAAgB,4BAA4B,CAAC,MAA+B;IACxE,OAAO,kBAAkB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;AAC7E,CAAC"}
|
|
@@ -11,14 +11,15 @@ exports.SYNTHETIC_NATIVE_WRAP_INTENT_ID = "wrap";
|
|
|
11
11
|
// In this path the response intent is only a container for the Wrap action; it
|
|
12
12
|
// is not a normal signed intent and intentionally has a minimal token shape.
|
|
13
13
|
function isSyntheticNativeWrapBundle(request, response) {
|
|
14
|
-
if (!isSyntheticNativeWrapRequest(request))
|
|
15
|
-
return false;
|
|
16
14
|
if (response.trades.length !== 1 || response.intents.length !== 1)
|
|
17
15
|
return false;
|
|
18
|
-
|
|
16
|
+
const responseHasSyntheticWrapMarkers = (response.trades[0].relatedIntentId === exports.SYNTHETIC_NATIVE_WRAP_INTENT_ID
|
|
19
17
|
&& response.intents[0].intent.intentId === exports.SYNTHETIC_NATIVE_WRAP_INTENT_ID);
|
|
18
|
+
if (!responseHasSyntheticWrapMarkers)
|
|
19
|
+
return false;
|
|
20
|
+
return isSyntheticNativeWrapRequest(request, responseHasSyntheticWrapMarkers);
|
|
20
21
|
}
|
|
21
|
-
function isSyntheticNativeWrapRequest(request) {
|
|
22
|
+
function isSyntheticNativeWrapRequest(request, responseHasSyntheticWrapMarkers) {
|
|
22
23
|
if (request.enableAccountAbstraction)
|
|
23
24
|
return false;
|
|
24
25
|
if (request.trades.length !== 1)
|
|
@@ -38,19 +39,18 @@ function isSyntheticNativeWrapRequest(request) {
|
|
|
38
39
|
return false;
|
|
39
40
|
if (!(0, address_1.addressEquals)(realChainId, wrapped, trade.dstChainTokenOut))
|
|
40
41
|
return false;
|
|
41
|
-
return authorityMatchesRecipient(
|
|
42
|
+
return authorityMatchesRecipient(trade, realChainId, responseHasSyntheticWrapMarkers);
|
|
42
43
|
}
|
|
43
|
-
function authorityMatchesRecipient(
|
|
44
|
-
const trade = request.trades[0];
|
|
44
|
+
function authorityMatchesRecipient(trade, realChainId, responseHasSyntheticWrapMarkers) {
|
|
45
45
|
if (trade.srcChainAuthorityAddress === undefined && trade.dstChainTokenOutRecipient === undefined) {
|
|
46
46
|
return true;
|
|
47
47
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
return false;
|
|
51
|
-
if (trade.srcChainAuthorityAddress === undefined || trade.dstChainTokenOutRecipient === undefined) {
|
|
52
|
-
return false;
|
|
48
|
+
if (trade.srcChainAuthorityAddress !== undefined && trade.dstChainTokenOutRecipient !== undefined) {
|
|
49
|
+
return (0, address_1.addressEquals)(realChainId, trade.srcChainAuthorityAddress, trade.dstChainTokenOutRecipient);
|
|
53
50
|
}
|
|
54
|
-
|
|
51
|
+
// Quote-mode requests may omit one execution-side address. A synthetic
|
|
52
|
+
// wrap-marked response proves the missing address was resolved to the same
|
|
53
|
+
// execution identity before the response was built.
|
|
54
|
+
return responseHasSyntheticWrapMarkers;
|
|
55
55
|
}
|
|
56
56
|
//# sourceMappingURL=synthetic-native-wrap.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synthetic-native-wrap.js","sourceRoot":"","sources":["../../../src/helpers/synthetic-native-wrap.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"synthetic-native-wrap.js","sourceRoot":"","sources":["../../../src/helpers/synthetic-native-wrap.ts"],"names":[],"mappings":";;;AAgBA,kEAaC;AA7BD,oCAMkB;AAClB,uCAAyE;AACzE,2CAAyD;AACzD,qFAAwE;AAE3D,QAAA,+BAA+B,GAAG,MAAM,CAAC;AAEtD,2EAA2E;AAC3E,+EAA+E;AAC/E,6EAA6E;AAC7E,SAAgB,2BAA2B,CACvC,OAA8B,EAC9B,QAAgC;IAEhC,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAEhF,MAAM,+BAA+B,GAAG,CACpC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,KAAK,uCAA+B;WACnE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,uCAA+B,CAC7E,CAAC;IACF,IAAI,CAAC,+BAA+B;QAAE,OAAO,KAAK,CAAC;IAEnD,OAAO,4BAA4B,CAAC,OAAO,EAAE,+BAA+B,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,4BAA4B,CACjC,OAA8B,EAC9B,+BAAwC;IAExC,IAAI,OAAO,CAAC,wBAAwB;QAAE,OAAO,KAAK,CAAC;IACnD,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAE9C,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAExD,MAAM,WAAW,GAAG,IAAA,yCAAc,EAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACrD,IAAI,WAAW,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,IAAA,wBAAc,EAAC,WAAW,CAAC,KAAK,mBAAW,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IAClE,IAAI,CAAC,IAAA,uBAAa,EAAC,KAAK,CAAC,eAAe,EAAE,WAAW,CAAC;QAAE,OAAO,KAAK,CAAC;IAErE,MAAM,OAAO,GAAG,IAAA,sCAA0B,EAAC,KAAK,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IAC/E,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,CAAC,IAAA,uBAAa,EAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,gBAAgB,CAAC;QAAE,OAAO,KAAK,CAAC;IAE/E,OAAO,yBAAyB,CAAC,KAAK,EAAE,WAAW,EAAE,+BAA+B,CAAC,CAAC;AAC1F,CAAC;AAED,SAAS,yBAAyB,CAC9B,KAAmB,EACnB,WAAoB,EACpB,+BAAwC;IAExC,IAAI,KAAK,CAAC,wBAAwB,KAAK,SAAS,IAAI,KAAK,CAAC,yBAAyB,KAAK,SAAS,EAAE,CAAC;QAChG,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,KAAK,CAAC,wBAAwB,KAAK,SAAS,IAAI,KAAK,CAAC,yBAAyB,KAAK,SAAS,EAAE,CAAC;QAChG,OAAO,IAAA,uBAAa,EAChB,WAAW,EACX,KAAK,CAAC,wBAAwB,EAC9B,KAAK,CAAC,yBAAyB,CAClC,CAAC;IACN,CAAC;IAED,uEAAuE;IACvE,2EAA2E;IAC3E,oDAAoD;IACpD,OAAO,+BAA+B,CAAC;AAC3C,CAAC"}
|
package/dist/cjs/helpers/zod.js
CHANGED
|
@@ -7,6 +7,12 @@ exports.apiBoolean = apiBoolean;
|
|
|
7
7
|
exports.apiBooleanSchema = apiBooleanSchema;
|
|
8
8
|
exports.optionalApiBooleanSchema = optionalApiBooleanSchema;
|
|
9
9
|
exports.defaultedApiBooleanSchema = defaultedApiBooleanSchema;
|
|
10
|
+
exports.apiStringSchema = apiStringSchema;
|
|
11
|
+
exports.apiNumberSchema = apiNumberSchema;
|
|
12
|
+
exports.integerNumberSchema = integerNumberSchema;
|
|
13
|
+
exports.nonNegativeIntegerNumberSchema = nonNegativeIntegerNumberSchema;
|
|
14
|
+
exports.apiIntegerNumberSchema = apiIntegerNumberSchema;
|
|
15
|
+
exports.apiNonNegativeIntegerNumberSchema = apiNonNegativeIntegerNumberSchema;
|
|
10
16
|
const zod_1 = require("zod");
|
|
11
17
|
function formatPath(segments) {
|
|
12
18
|
return segments.reduce((result, segment) => {
|
|
@@ -38,4 +44,40 @@ function optionalApiBooleanSchema() {
|
|
|
38
44
|
function defaultedApiBooleanSchema(defaultValue) {
|
|
39
45
|
return zod_1.z.preprocess(apiBoolean, zod_1.z.boolean().optional()).default(defaultValue);
|
|
40
46
|
}
|
|
47
|
+
function apiScalarString(value) {
|
|
48
|
+
if (value === undefined || value === null)
|
|
49
|
+
return value;
|
|
50
|
+
if (typeof value === "string")
|
|
51
|
+
return value;
|
|
52
|
+
if (typeof value === "number" || typeof value === "boolean")
|
|
53
|
+
return String(value);
|
|
54
|
+
return value;
|
|
55
|
+
}
|
|
56
|
+
function apiStringSchema() {
|
|
57
|
+
return zod_1.z.preprocess(apiScalarString, zod_1.z.string());
|
|
58
|
+
}
|
|
59
|
+
function apiNumber(value) {
|
|
60
|
+
if (value === undefined || value === null)
|
|
61
|
+
return value;
|
|
62
|
+
if (typeof value === "number")
|
|
63
|
+
return value;
|
|
64
|
+
if (typeof value === "string" || typeof value === "boolean")
|
|
65
|
+
return Number(value);
|
|
66
|
+
return value;
|
|
67
|
+
}
|
|
68
|
+
function apiNumberSchema() {
|
|
69
|
+
return zod_1.z.preprocess(apiNumber, zod_1.z.number());
|
|
70
|
+
}
|
|
71
|
+
function integerNumberSchema() {
|
|
72
|
+
return zod_1.z.number().int();
|
|
73
|
+
}
|
|
74
|
+
function nonNegativeIntegerNumberSchema() {
|
|
75
|
+
return integerNumberSchema().nonnegative();
|
|
76
|
+
}
|
|
77
|
+
function apiIntegerNumberSchema() {
|
|
78
|
+
return apiNumberSchema().pipe(integerNumberSchema());
|
|
79
|
+
}
|
|
80
|
+
function apiNonNegativeIntegerNumberSchema() {
|
|
81
|
+
return apiNumberSchema().pipe(nonNegativeIntegerNumberSchema());
|
|
82
|
+
}
|
|
41
83
|
//# sourceMappingURL=zod.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zod.js","sourceRoot":"","sources":["../../../src/helpers/zod.ts"],"names":[],"mappings":";;AAEA,gCAMC;AAED,0CAEC;AAED,4CAEC;AAED,gCAIC;AAED,4CAEC;AAED,4DAKC;AAED,8DAEC;
|
|
1
|
+
{"version":3,"file":"zod.js","sourceRoot":"","sources":["../../../src/helpers/zod.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,17 +6,17 @@ const zod_1 = require("zod");
|
|
|
6
6
|
const zod_2 = require("../helpers/zod");
|
|
7
7
|
const enums_1 = require("./enums");
|
|
8
8
|
exports.RequestGasCompensationInfoSchema = zod_1.z.object({
|
|
9
|
-
tokenAddress:
|
|
10
|
-
chainId:
|
|
11
|
-
sender:
|
|
9
|
+
tokenAddress: (0, zod_2.apiStringSchema)(),
|
|
10
|
+
chainId: (0, zod_2.nonNegativeIntegerNumberSchema)(),
|
|
11
|
+
sender: (0, zod_2.apiStringSchema)(),
|
|
12
12
|
});
|
|
13
13
|
// tokenAddress and address are required only for eager placeholders.
|
|
14
14
|
// Deferred placeholders are filled at submit time, so trade-group fields are not needed.
|
|
15
15
|
exports.RequestPlaceholderSchema = zod_1.z.object({
|
|
16
|
-
nameVariable:
|
|
17
|
-
tokenAddress: (0, zod_2.nullableOptional)(
|
|
18
|
-
address: (0, zod_2.nullableOptional)(
|
|
19
|
-
additionalAmount: (0, zod_2.nullableOptional)(
|
|
16
|
+
nameVariable: (0, zod_2.apiStringSchema)(),
|
|
17
|
+
tokenAddress: (0, zod_2.nullableOptional)((0, zod_2.apiStringSchema)()),
|
|
18
|
+
address: (0, zod_2.nullableOptional)((0, zod_2.apiStringSchema)()),
|
|
19
|
+
additionalAmount: (0, zod_2.nullableOptional)((0, zod_2.apiStringSchema)()),
|
|
20
20
|
type: (0, zod_2.nullableOptional)(zod_1.z.enum(enums_1.PlaceholderType)),
|
|
21
21
|
}).superRefine((placeholder, ctx) => {
|
|
22
22
|
const isEager = placeholder.type === undefined || placeholder.type === enums_1.PlaceholderType.Eager;
|
|
@@ -38,28 +38,28 @@ exports.RequestPlaceholderSchema = zod_1.z.object({
|
|
|
38
38
|
}
|
|
39
39
|
});
|
|
40
40
|
exports.RequestHookV2Schema = zod_1.z.object({
|
|
41
|
-
chainId:
|
|
42
|
-
from:
|
|
43
|
-
to: (0, zod_2.nullableOptional)(
|
|
44
|
-
data:
|
|
45
|
-
value: (0, zod_2.nullableOptional)(
|
|
41
|
+
chainId: (0, zod_2.nonNegativeIntegerNumberSchema)(),
|
|
42
|
+
from: (0, zod_2.apiStringSchema)(),
|
|
43
|
+
to: (0, zod_2.nullableOptional)((0, zod_2.apiStringSchema)()),
|
|
44
|
+
data: (0, zod_2.apiStringSchema)(),
|
|
45
|
+
value: (0, zod_2.nullableOptional)((0, zod_2.apiStringSchema)()),
|
|
46
46
|
isAtomic: (0, zod_2.apiBooleanSchema)(),
|
|
47
47
|
placeHolders: zod_1.z.array(exports.RequestPlaceholderSchema),
|
|
48
48
|
gasCompensationInfo: (0, zod_2.nullableOptional)(exports.RequestGasCompensationInfoSchema),
|
|
49
49
|
type: (0, zod_2.nullableOptional)(zod_1.z.enum(enums_1.BundleHookType)),
|
|
50
|
-
gasLimit: (0, zod_2.nullableOptional)(
|
|
50
|
+
gasLimit: (0, zod_2.nullableOptional)((0, zod_2.apiStringSchema)()),
|
|
51
51
|
});
|
|
52
52
|
exports.RequestHookV1Schema = zod_1.z.object({
|
|
53
|
-
chainId:
|
|
54
|
-
from:
|
|
55
|
-
to:
|
|
56
|
-
data:
|
|
57
|
-
value:
|
|
53
|
+
chainId: (0, zod_2.nonNegativeIntegerNumberSchema)(),
|
|
54
|
+
from: (0, zod_2.apiStringSchema)(),
|
|
55
|
+
to: (0, zod_2.apiStringSchema)(),
|
|
56
|
+
data: (0, zod_2.apiStringSchema)(),
|
|
57
|
+
value: (0, zod_2.apiStringSchema)(),
|
|
58
58
|
isAtomic: (0, zod_2.apiBooleanSchema)(),
|
|
59
|
-
tokenAddress:
|
|
59
|
+
tokenAddress: (0, zod_2.apiStringSchema)(),
|
|
60
60
|
preparePreRequiredActions: (0, zod_2.optionalApiBooleanSchema)(),
|
|
61
|
-
additionalAmountForPlaceholder: (0, zod_2.nullableOptional)(
|
|
62
|
-
allowedSender: (0, zod_2.nullableOptional)(
|
|
61
|
+
additionalAmountForPlaceholder: (0, zod_2.nullableOptional)((0, zod_2.apiStringSchema)()),
|
|
62
|
+
allowedSender: (0, zod_2.nullableOptional)((0, zod_2.apiStringSchema)()),
|
|
63
63
|
version: (0, zod_2.nullableOptional)(zod_1.z.string()),
|
|
64
64
|
});
|
|
65
65
|
exports.RequestHookSchema = zod_1.z.union([exports.RequestHookV2Schema, exports.RequestHookV1Schema]);
|
|
@@ -67,8 +67,8 @@ function isRequestHookV2(hook) {
|
|
|
67
67
|
return "placeHolders" in hook;
|
|
68
68
|
}
|
|
69
69
|
exports.RequestCostTokenSchema = zod_1.z.object({
|
|
70
|
-
chainId:
|
|
71
|
-
tokenAddress:
|
|
70
|
+
chainId: (0, zod_2.apiNonNegativeIntegerNumberSchema)(),
|
|
71
|
+
tokenAddress: (0, zod_2.apiStringSchema)(),
|
|
72
72
|
});
|
|
73
73
|
// The API applies field-specific string transforms for these two trade flags.
|
|
74
74
|
// Generic request booleans use API-compatible Boolean() coercion below; these
|
|
@@ -77,37 +77,43 @@ const RequestPrependOperatingExpensesSchema = zod_1.z.preprocess(value => value
|
|
|
77
77
|
const RequestPtpSchema = zod_1.z.preprocess(value => value === null ? undefined : typeof value === "string" ? value === "true" : value, zod_1.z.boolean().optional());
|
|
78
78
|
// Explicit null has the same wire semantics as an omitted expirationTimestamp:
|
|
79
79
|
// the server chooses the effective bundle/on-chain expiration values.
|
|
80
|
-
const RequestExpirationTimestampSchema = (0, zod_2.nullableOptional)(
|
|
80
|
+
const RequestExpirationTimestampSchema = (0, zod_2.nullableOptional)((0, zod_2.nonNegativeIntegerNumberSchema)());
|
|
81
|
+
// Some request fields are normalized by the API before validation. Mirror only
|
|
82
|
+
// those compatibility conversions at the schema boundary; semantic validators
|
|
83
|
+
// still check the normalized values below.
|
|
84
|
+
const RequestOptionalAmountStringSchema = (0, zod_2.nullableOptional)((0, zod_2.apiStringSchema)());
|
|
85
|
+
const RequestTradeReferralCodeSchema = (0, zod_2.nullableOptional)(zod_1.z.union([zod_1.z.number(), zod_1.z.string()]));
|
|
86
|
+
const RequestHookListSchema = zod_1.z.preprocess(value => value ? value : undefined, zod_1.z.array(exports.RequestHookSchema).optional());
|
|
81
87
|
// Free-form integrator metadata. Echoed back in the response unchanged;
|
|
82
88
|
// validated for round-trip equality.
|
|
83
89
|
exports.RequestMetadataEntrySchema = zod_1.z.object({
|
|
84
90
|
key: zod_1.z.string(),
|
|
85
91
|
value: zod_1.z.string(),
|
|
86
92
|
});
|
|
87
|
-
// `chainId` fields below
|
|
88
|
-
// the public API contract narrows accepted chains to a smaller subset
|
|
89
|
-
// the SDK knows about, but the SDK uses a wider chain set elsewhere (e.g.
|
|
93
|
+
// `chainId` fields below are non-negative integers rather than a chain enum on
|
|
94
|
+
// purpose: the public API contract narrows accepted chains to a smaller subset
|
|
95
|
+
// than the SDK knows about, but the SDK uses a wider chain set elsewhere (e.g.
|
|
90
96
|
// downstream chain-engine resolution). Validating chain support is delegated
|
|
91
|
-
// to those downstream checks rather than encoded here. Same applies to
|
|
92
|
-
// in RequestCostTokenSchema, RequestHookV2Schema, and
|
|
97
|
+
// to those downstream checks rather than encoded here. Same applies to
|
|
98
|
+
// `chainId` in RequestCostTokenSchema, RequestHookV2Schema, and
|
|
93
99
|
// RequestGasCompensationInfoSchema.
|
|
94
100
|
exports.RequestTradeSchema = zod_1.z.object({
|
|
95
|
-
srcChainId:
|
|
101
|
+
srcChainId: (0, zod_2.nonNegativeIntegerNumberSchema)(),
|
|
96
102
|
srcChainTokenIn: zod_1.z.string(),
|
|
97
103
|
srcChainTokenInAmount: zod_1.z.string(),
|
|
98
|
-
dstChainId:
|
|
104
|
+
dstChainId: (0, zod_2.nonNegativeIntegerNumberSchema)(),
|
|
99
105
|
dstChainTokenOut: zod_1.z.string(),
|
|
100
|
-
dstChainTokenOutAmount:
|
|
106
|
+
dstChainTokenOutAmount: RequestOptionalAmountStringSchema,
|
|
101
107
|
srcChainAuthorityAddress: (0, zod_2.nullableOptional)(zod_1.z.string()),
|
|
102
108
|
dstChainTokenOutRecipient: (0, zod_2.nullableOptional)(zod_1.z.string()),
|
|
103
109
|
dstChainAuthorityAddress: (0, zod_2.nullableOptional)(zod_1.z.string()),
|
|
104
|
-
partnerFeeBps: (0, zod_2.nullableOptional)(
|
|
110
|
+
partnerFeeBps: (0, zod_2.nullableOptional)((0, zod_2.nonNegativeIntegerNumberSchema)()),
|
|
105
111
|
allowedTaker: (0, zod_2.nullableOptional)(zod_1.z.string()),
|
|
106
112
|
dlnHook: (0, zod_2.nullableOptional)(zod_1.z.string()),
|
|
107
113
|
prependOperatingExpenses: RequestPrependOperatingExpensesSchema,
|
|
108
114
|
ptp: RequestPtpSchema,
|
|
109
115
|
dlnMetadata: (0, zod_2.nullableOptional)(zod_1.z.string()),
|
|
110
|
-
referralCode:
|
|
116
|
+
referralCode: RequestTradeReferralCodeSchema,
|
|
111
117
|
srcAllowedCancelBeneficiary: (0, zod_2.nullableOptional)(zod_1.z.string()),
|
|
112
118
|
// Field is intentionally absent from the public API schema but is accepted
|
|
113
119
|
// by the server and round-trips into the response intent. Security-critical
|
|
@@ -126,8 +132,8 @@ exports.BundleCreationRequestSchema = zod_1.z.object({
|
|
|
126
132
|
userId: (0, zod_2.nullableOptional)(zod_1.z.string()),
|
|
127
133
|
referralCode: (0, zod_2.nullableOptional)(zod_1.z.number()),
|
|
128
134
|
trades: zod_1.z.array(exports.RequestTradeSchema),
|
|
129
|
-
preHooks:
|
|
130
|
-
postHooks:
|
|
135
|
+
preHooks: RequestHookListSchema,
|
|
136
|
+
postHooks: RequestHookListSchema,
|
|
131
137
|
costToken: (0, zod_2.nullableOptional)(exports.RequestCostTokenSchema),
|
|
132
138
|
clientMetadata: (0, zod_2.nullableOptional)(zod_1.z.array(exports.RequestMetadataEntrySchema)),
|
|
133
139
|
totalDstAmount: (0, zod_2.nullableOptional)(zod_1.z.string()),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/types/request.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/types/request.ts"],"names":[],"mappings":";;;AAoFA,0CAEC;AAtFD,6BAAwB;AACxB,wCAQwB;AACxB,mCAMiB;AAEJ,QAAA,gCAAgC,GAAG,OAAC,CAAC,MAAM,CAAC;IACrD,YAAY,EAAE,IAAA,qBAAe,GAAE;IAC/B,OAAO,EAAE,IAAA,oCAA8B,GAAE;IACzC,MAAM,EAAE,IAAA,qBAAe,GAAE;CAC5B,CAAC,CAAC;AAEH,qEAAqE;AACrE,yFAAyF;AAC5E,QAAA,wBAAwB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,YAAY,EAAE,IAAA,qBAAe,GAAE;IAC/B,YAAY,EAAE,IAAA,sBAAgB,EAAC,IAAA,qBAAe,GAAE,CAAC;IACjD,OAAO,EAAE,IAAA,sBAAgB,EAAC,IAAA,qBAAe,GAAE,CAAC;IAC5C,gBAAgB,EAAE,IAAA,sBAAgB,EAAC,IAAA,qBAAe,GAAE,CAAC;IACrD,IAAI,EAAE,IAAA,sBAAgB,EAAC,OAAC,CAAC,IAAI,CAAC,uBAAe,CAAC,CAAC;CAClD,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE;IAChC,MAAM,OAAO,GACT,WAAW,CAAC,IAAI,KAAK,SAAS,IAAI,WAAW,CAAC,IAAI,KAAK,uBAAe,CAAC,KAAK,CAAC;IAEjF,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,IAAI,WAAW,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACzC,GAAG,CAAC,QAAQ,CAAC;YACT,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,yCAAyC;YAClD,IAAI,EAAE,CAAC,cAAc,CAAC;SACzB,CAAC,CAAC;IACP,CAAC;IAED,IAAI,WAAW,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACpC,GAAG,CAAC,QAAQ,CAAC;YACT,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,oCAAoC;YAC7C,IAAI,EAAE,CAAC,SAAS,CAAC;SACpB,CAAC,CAAC;IACP,CAAC;AACL,CAAC,CAAC,CAAC;AAEU,QAAA,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IACxC,OAAO,EAAE,IAAA,oCAA8B,GAAE;IACzC,IAAI,EAAE,IAAA,qBAAe,GAAE;IACvB,EAAE,EAAE,IAAA,sBAAgB,EAAC,IAAA,qBAAe,GAAE,CAAC;IACvC,IAAI,EAAE,IAAA,qBAAe,GAAE;IACvB,KAAK,EAAE,IAAA,sBAAgB,EAAC,IAAA,qBAAe,GAAE,CAAC;IAC1C,QAAQ,EAAE,IAAA,sBAAgB,GAAE;IAC5B,YAAY,EAAE,OAAC,CAAC,KAAK,CAAC,gCAAwB,CAAC;IAC/C,mBAAmB,EAAE,IAAA,sBAAgB,EAAC,wCAAgC,CAAC;IACvE,IAAI,EAAE,IAAA,sBAAgB,EAAC,OAAC,CAAC,IAAI,CAAC,sBAAc,CAAC,CAAC;IAC9C,QAAQ,EAAE,IAAA,sBAAgB,EAAC,IAAA,qBAAe,GAAE,CAAC;CAChD,CAAC,CAAC;AAEU,QAAA,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IACxC,OAAO,EAAE,IAAA,oCAA8B,GAAE;IACzC,IAAI,EAAE,IAAA,qBAAe,GAAE;IACvB,EAAE,EAAE,IAAA,qBAAe,GAAE;IACrB,IAAI,EAAE,IAAA,qBAAe,GAAE;IACvB,KAAK,EAAE,IAAA,qBAAe,GAAE;IACxB,QAAQ,EAAE,IAAA,sBAAgB,GAAE;IAC5B,YAAY,EAAE,IAAA,qBAAe,GAAE;IAC/B,yBAAyB,EAAE,IAAA,8BAAwB,GAAE;IACrD,8BAA8B,EAAE,IAAA,sBAAgB,EAAC,IAAA,qBAAe,GAAE,CAAC;IACnE,aAAa,EAAE,IAAA,sBAAgB,EAAC,IAAA,qBAAe,GAAE,CAAC;IAClD,OAAO,EAAE,IAAA,sBAAgB,EAAC,OAAC,CAAC,MAAM,EAAE,CAAC;CACxC,CAAC,CAAC;AAEU,QAAA,iBAAiB,GAAG,OAAC,CAAC,KAAK,CAAC,CAAC,2BAAmB,EAAE,2BAAmB,CAAC,CAAC,CAAC;AAErF,SAAgB,eAAe,CAAC,IAAiB;IAC7C,OAAO,cAAc,IAAI,IAAI,CAAC;AAClC,CAAC;AAEY,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3C,OAAO,EAAE,IAAA,uCAAiC,GAAE;IAC5C,YAAY,EAAE,IAAA,qBAAe,GAAE;CAClC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,8EAA8E;AAC9E,kDAAkD;AAClD,MAAM,qCAAqC,GAAG,OAAC,CAAC,UAAU,CACtD,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,EAC3F,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CACzB,CAAC;AAEF,MAAM,gBAAgB,GAAG,OAAC,CAAC,UAAU,CACjC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,EAC1F,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CACzB,CAAC;AAEF,+EAA+E;AAC/E,sEAAsE;AACtE,MAAM,gCAAgC,GAAG,IAAA,sBAAgB,EAAC,IAAA,oCAA8B,GAAE,CAAC,CAAC;AAE5F,+EAA+E;AAC/E,8EAA8E;AAC9E,2CAA2C;AAC3C,MAAM,iCAAiC,GAAG,IAAA,sBAAgB,EAAC,IAAA,qBAAe,GAAE,CAAC,CAAC;AAC9E,MAAM,8BAA8B,GAAG,IAAA,sBAAgB,EAAC,OAAC,CAAC,KAAK,CAAC,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;AAC3F,MAAM,qBAAqB,GAAG,OAAC,CAAC,UAAU,CACtC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAClC,OAAC,CAAC,KAAK,CAAC,yBAAiB,CAAC,CAAC,QAAQ,EAAE,CACxC,CAAC;AAEF,wEAAwE;AACxE,qCAAqC;AACxB,QAAA,0BAA0B,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/C,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC;AAEH,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E;AAC/E,6EAA6E;AAC7E,uEAAuE;AACvE,gEAAgE;AAChE,oCAAoC;AACvB,QAAA,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IACvC,UAAU,EAAE,IAAA,oCAA8B,GAAE;IAC5C,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE;IAC3B,qBAAqB,EAAE,OAAC,CAAC,MAAM,EAAE;IACjC,UAAU,EAAE,IAAA,oCAA8B,GAAE;IAC5C,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE;IAC5B,sBAAsB,EAAE,iCAAiC;IACzD,wBAAwB,EAAE,IAAA,sBAAgB,EAAC,OAAC,CAAC,MAAM,EAAE,CAAC;IACtD,yBAAyB,EAAE,IAAA,sBAAgB,EAAC,OAAC,CAAC,MAAM,EAAE,CAAC;IACvD,wBAAwB,EAAE,IAAA,sBAAgB,EAAC,OAAC,CAAC,MAAM,EAAE,CAAC;IACtD,aAAa,EAAE,IAAA,sBAAgB,EAAC,IAAA,oCAA8B,GAAE,CAAC;IACjE,YAAY,EAAE,IAAA,sBAAgB,EAAC,OAAC,CAAC,MAAM,EAAE,CAAC;IAC1C,OAAO,EAAE,IAAA,sBAAgB,EAAC,OAAC,CAAC,MAAM,EAAE,CAAC;IACrC,wBAAwB,EAAE,qCAAqC;IAC/D,GAAG,EAAE,gBAAgB;IACrB,WAAW,EAAE,IAAA,sBAAgB,EAAC,OAAC,CAAC,MAAM,EAAE,CAAC;IACzC,YAAY,EAAE,8BAA8B;IAC5C,2BAA2B,EAAE,IAAA,sBAAgB,EAAC,OAAC,CAAC,MAAM,EAAE,CAAC;IACzD,2EAA2E;IAC3E,4EAA4E;IAC5E,iCAAiC;IACjC,gBAAgB,EAAE,IAAA,sBAAgB,EAAC,OAAC,CAAC,MAAM,EAAE,CAAC;CACjD,CAAC,CAAC;AAEU,QAAA,2BAA2B,GAAG,OAAC,CAAC,MAAM,CAAC;IAChD,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;IACrB,mBAAmB,EAAE,gCAAgC;IACrD,wBAAwB,EAAE,IAAA,sBAAgB,GAAE;IAC5C,QAAQ,EAAE,IAAA,+BAAyB,EAAC,IAAI,CAAC;IACzC,gBAAgB,EAAE,OAAC,CAAC,IAAI,CAAC,wBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,wBAAgB,CAAC,MAAM,CAAC;IACtF,iBAAiB,EAAE,IAAA,sBAAgB,EAAC,OAAC,CAAC,IAAI,CAAC,yBAAiB,CAAC,CAAC;IAC9D,YAAY,EAAE,IAAA,sBAAgB,EAAC,OAAC,CAAC,IAAI,CAAC,oBAAY,CAAC,CAAC;IACpD,SAAS,EAAE,IAAA,8BAAwB,GAAE;IACrC,MAAM,EAAE,IAAA,sBAAgB,EAAC,OAAC,CAAC,MAAM,EAAE,CAAC;IACpC,YAAY,EAAE,IAAA,sBAAgB,EAAC,OAAC,CAAC,MAAM,EAAE,CAAC;IAC1C,MAAM,EAAE,OAAC,CAAC,KAAK,CAAC,0BAAkB,CAAC;IACnC,QAAQ,EAAE,qBAAqB;IAC/B,SAAS,EAAE,qBAAqB;IAChC,SAAS,EAAE,IAAA,sBAAgB,EAAC,8BAAsB,CAAC;IACnD,cAAc,EAAE,IAAA,sBAAgB,EAAC,OAAC,CAAC,KAAK,CAAC,kCAA0B,CAAC,CAAC;IACrE,cAAc,EAAE,IAAA,sBAAgB,EAAC,OAAC,CAAC,MAAM,EAAE,CAAC;IAC5C,gBAAgB,EAAE,IAAA,8BAAwB,GAAE;CAC/C,CAAC,CAAC"}
|
|
@@ -36,11 +36,11 @@ exports.ResponseComparedAggregatorSchema = zod_1.z.object({
|
|
|
36
36
|
});
|
|
37
37
|
// --- Response Trade ---
|
|
38
38
|
exports.ResponseSrcChainTokenInSchema = zod_1.z.object({
|
|
39
|
-
chainId:
|
|
39
|
+
chainId: (0, zod_2.nonNegativeIntegerNumberSchema)(),
|
|
40
40
|
address: zod_1.z.string(),
|
|
41
41
|
name: zod_1.z.string(),
|
|
42
42
|
symbol: zod_1.z.string(),
|
|
43
|
-
decimals:
|
|
43
|
+
decimals: (0, zod_2.nonNegativeIntegerNumberSchema)(),
|
|
44
44
|
amount: zod_1.z.string(),
|
|
45
45
|
approximateOperatingExpense: zod_1.z.string(),
|
|
46
46
|
mutatedWithOperatingExpense: zod_1.z.boolean(),
|
|
@@ -49,21 +49,21 @@ exports.ResponseSrcChainTokenInSchema = zod_1.z.object({
|
|
|
49
49
|
isWrapped: (0, zod_2.nullableOptional)(zod_1.z.boolean()),
|
|
50
50
|
});
|
|
51
51
|
exports.ResponseSrcChainTokenOutSchema = zod_1.z.object({
|
|
52
|
-
chainId:
|
|
52
|
+
chainId: (0, zod_2.nonNegativeIntegerNumberSchema)(),
|
|
53
53
|
address: zod_1.z.string(),
|
|
54
54
|
name: zod_1.z.string(),
|
|
55
55
|
symbol: zod_1.z.string(),
|
|
56
|
-
decimals:
|
|
56
|
+
decimals: (0, zod_2.nonNegativeIntegerNumberSchema)(),
|
|
57
57
|
amount: zod_1.z.string(),
|
|
58
58
|
maxRefundAmount: (0, zod_2.nullableOptional)(zod_1.z.string()),
|
|
59
59
|
approximateUsdValue: (0, zod_2.nullableOptional)(zod_1.z.number()),
|
|
60
60
|
});
|
|
61
61
|
exports.ResponseDstChainTokenOutSchema = zod_1.z.object({
|
|
62
|
-
chainId:
|
|
62
|
+
chainId: (0, zod_2.nonNegativeIntegerNumberSchema)(),
|
|
63
63
|
address: zod_1.z.string(),
|
|
64
64
|
name: zod_1.z.string(),
|
|
65
65
|
symbol: zod_1.z.string(),
|
|
66
|
-
decimals:
|
|
66
|
+
decimals: (0, zod_2.nonNegativeIntegerNumberSchema)(),
|
|
67
67
|
amount: zod_1.z.string(),
|
|
68
68
|
recommendedAmount: zod_1.z.string(),
|
|
69
69
|
approximateUsdValue: zod_1.z.number(),
|
|
@@ -91,13 +91,13 @@ exports.ResponseTradeSchema = zod_1.z.object({
|
|
|
91
91
|
actualIntegratorPoints: (0, zod_2.nullableOptional)(zod_1.z.number()),
|
|
92
92
|
usdPriceImpact: zod_1.z.number().nullable(),
|
|
93
93
|
comparedAggregators: (0, zod_2.nullableOptional)(zod_1.z.array(exports.ResponseComparedAggregatorSchema)),
|
|
94
|
-
partnerFeeBps: (0, zod_2.nullableOptional)(
|
|
94
|
+
partnerFeeBps: (0, zod_2.nullableOptional)((0, zod_2.nonNegativeIntegerNumberSchema)()),
|
|
95
95
|
externalCallData: (0, zod_2.nullableOptional)(zod_1.z.string()),
|
|
96
96
|
});
|
|
97
97
|
// --- Response Intent ---
|
|
98
98
|
exports.ResponseDestinationDetailsSchema = zod_1.z.object({
|
|
99
99
|
address: zod_1.z.string(),
|
|
100
|
-
destinationChainIds: zod_1.z.union([zod_1.z.array(
|
|
100
|
+
destinationChainIds: zod_1.z.union([zod_1.z.array((0, zod_2.nonNegativeIntegerNumberSchema)()), zod_1.z.literal("any")]),
|
|
101
101
|
});
|
|
102
102
|
exports.ResponseInputTokenSchema = zod_1.z.object({
|
|
103
103
|
address: zod_1.z.string(),
|
|
@@ -114,17 +114,17 @@ exports.ResponseGiveTokenSchema = zod_1.z.object({
|
|
|
114
114
|
exports.ResponseTakeTokenSchema = zod_1.z.object({
|
|
115
115
|
fromTokenAddress: zod_1.z.string(),
|
|
116
116
|
takeTokenAddress: zod_1.z.string(),
|
|
117
|
-
takeTokenChainId:
|
|
117
|
+
takeTokenChainId: (0, zod_2.nonNegativeIntegerNumberSchema)(),
|
|
118
118
|
numerator: zod_1.z.string(),
|
|
119
119
|
denominator: zod_1.z.string(),
|
|
120
120
|
});
|
|
121
121
|
exports.ResponseIntentSchema = zod_1.z.object({
|
|
122
122
|
intentId: zod_1.z.string(),
|
|
123
|
-
intentChainId:
|
|
123
|
+
intentChainId: (0, zod_2.nonNegativeIntegerNumberSchema)(),
|
|
124
124
|
intentAuthority: zod_1.z.string(),
|
|
125
125
|
intentOwner: zod_1.z.string(),
|
|
126
|
-
expirationTimestamp:
|
|
127
|
-
intentTimestamp:
|
|
126
|
+
expirationTimestamp: (0, zod_2.nonNegativeIntegerNumberSchema)(),
|
|
127
|
+
intentTimestamp: (0, zod_2.nonNegativeIntegerNumberSchema)(),
|
|
128
128
|
receiverDetails: (0, zod_2.nullableOptional)(zod_1.z.array(exports.ResponseDestinationDetailsSchema)),
|
|
129
129
|
inputToken: (0, zod_2.nullableOptional)(zod_1.z.array(exports.ResponseInputTokenSchema)),
|
|
130
130
|
giveToken: (0, zod_2.nullableOptional)(zod_1.z.array(exports.ResponseGiveTokenSchema)),
|
|
@@ -148,7 +148,7 @@ exports.EvmTransactionDataSchema = zod_1.z.object({
|
|
|
148
148
|
to: zod_1.z.string(),
|
|
149
149
|
data: zod_1.z.string(),
|
|
150
150
|
value: zod_1.z.string(),
|
|
151
|
-
});
|
|
151
|
+
}).strict();
|
|
152
152
|
/**
|
|
153
153
|
* Hook-scope only — payload for `Transaction` actions inside
|
|
154
154
|
* `response.preHooks[].requiredActions[]` and
|
|
@@ -161,7 +161,7 @@ exports.EvmDirectTransactionDataSchema = zod_1.z.object({
|
|
|
161
161
|
to: zod_1.z.string(),
|
|
162
162
|
data: zod_1.z.string(),
|
|
163
163
|
value: zod_1.z.string(),
|
|
164
|
-
chainId:
|
|
164
|
+
chainId: (0, zod_2.nonNegativeIntegerNumberSchema)(),
|
|
165
165
|
});
|
|
166
166
|
/**
|
|
167
167
|
* Both scopes (intent and hook) — payload for `Sign7702Authorization`
|
|
@@ -170,7 +170,7 @@ exports.EvmDirectTransactionDataSchema = zod_1.z.object({
|
|
|
170
170
|
*/
|
|
171
171
|
exports.EvmSign7702AuthorizationDataSchema = zod_1.z.object({
|
|
172
172
|
contractAddress: zod_1.z.string(),
|
|
173
|
-
nonce:
|
|
173
|
+
nonce: (0, zod_2.nonNegativeIntegerNumberSchema)(),
|
|
174
174
|
});
|
|
175
175
|
/**
|
|
176
176
|
* Generic EIP-712 typed-data payload. Reused by several action types:
|
|
@@ -189,7 +189,7 @@ exports.EvmSign712DataSchema = zod_1.z.object({
|
|
|
189
189
|
domain: zod_1.z.object({
|
|
190
190
|
name: zod_1.z.string(),
|
|
191
191
|
version: (0, zod_2.nullableOptional)(zod_1.z.string()),
|
|
192
|
-
chainId: (0, zod_2.nullableOptional)(
|
|
192
|
+
chainId: (0, zod_2.nullableOptional)((0, zod_2.nonNegativeIntegerNumberSchema)()),
|
|
193
193
|
verifyingContract: (0, zod_2.nullableOptional)(zod_1.z.string()),
|
|
194
194
|
}),
|
|
195
195
|
types: zod_1.z.record(zod_1.z.string(), zod_1.z.array(zod_1.z.object({ name: zod_1.z.string(), type: zod_1.z.string() }))),
|
|
@@ -257,14 +257,14 @@ exports.NetworkDetailsSchema = zod_1.z.object({
|
|
|
257
257
|
maxPriorityFeePerGas: (0, zod_2.nullableOptional)(zod_1.z.string()),
|
|
258
258
|
});
|
|
259
259
|
exports.CostItemSchema = zod_1.z.object({
|
|
260
|
-
costChainId:
|
|
260
|
+
costChainId: (0, zod_2.nonNegativeIntegerNumberSchema)(),
|
|
261
261
|
costTokenAddress: zod_1.z.string(),
|
|
262
262
|
amount: zod_1.z.string(),
|
|
263
263
|
approximateUsdValue: zod_1.z.number(),
|
|
264
264
|
type: zod_1.z.enum(enums_1.CostItemType),
|
|
265
|
-
feeBps: (0, zod_2.nullableOptional)(
|
|
265
|
+
feeBps: (0, zod_2.nullableOptional)((0, zod_2.nonNegativeIntegerNumberSchema)()),
|
|
266
266
|
details: (0, zod_2.nullableOptional)(zod_1.z.object({
|
|
267
|
-
originalChainId:
|
|
267
|
+
originalChainId: (0, zod_2.nonNegativeIntegerNumberSchema)(),
|
|
268
268
|
})),
|
|
269
269
|
});
|
|
270
270
|
exports.EvmCostItemSchema = exports.CostItemSchema.extend({
|
|
@@ -341,14 +341,14 @@ exports.ResponseIntentPayloadSchema = zod_1.z.object({
|
|
|
341
341
|
});
|
|
342
342
|
// --- Accumulative Token Input / Output ---
|
|
343
343
|
exports.AccumulativeTokenInputSchema = zod_1.z.object({
|
|
344
|
-
chainId:
|
|
344
|
+
chainId: (0, zod_2.nonNegativeIntegerNumberSchema)(),
|
|
345
345
|
tokenAddress: zod_1.z.string(),
|
|
346
346
|
spenderAddress: (0, zod_2.nullableOptional)(zod_1.z.string()),
|
|
347
347
|
amount: zod_1.z.string(),
|
|
348
348
|
approximateUsdValue: zod_1.z.number(),
|
|
349
349
|
});
|
|
350
350
|
exports.AccumulativeTokenOutputSchema = zod_1.z.object({
|
|
351
|
-
chainId:
|
|
351
|
+
chainId: (0, zod_2.nonNegativeIntegerNumberSchema)(),
|
|
352
352
|
tokenAddress: zod_1.z.string(),
|
|
353
353
|
recipientAddress: (0, zod_2.nullableOptional)(zod_1.z.string()),
|
|
354
354
|
amount: zod_1.z.string(),
|
|
@@ -366,7 +366,7 @@ exports.ResponseHookPayloadSchema = zod_1.z.object({
|
|
|
366
366
|
// --- Top-level response ---
|
|
367
367
|
exports.BundleCreationResponseSchema = zod_1.z.object({
|
|
368
368
|
requestId: zod_1.z.string(),
|
|
369
|
-
expirationTimestamp:
|
|
369
|
+
expirationTimestamp: (0, zod_2.nonNegativeIntegerNumberSchema)(),
|
|
370
370
|
userId: (0, zod_2.nullableOptional)(zod_1.z.string()),
|
|
371
371
|
referralCode: (0, zod_2.nullableOptional)(zod_1.z.number()),
|
|
372
372
|
trades: zod_1.z.array(exports.ResponseTradeSchema),
|
|
@@ -378,6 +378,6 @@ exports.BundleCreationResponseSchema = zod_1.z.object({
|
|
|
378
378
|
bundleCosts: zod_1.z.array(exports.CostItemSchema),
|
|
379
379
|
clientMetadata: (0, zod_2.nullableOptional)(zod_1.z.array(request_1.RequestMetadataEntrySchema)),
|
|
380
380
|
estimatedTotalDstAmount: (0, zod_2.nullableOptional)(zod_1.z.string()),
|
|
381
|
-
useRefill:
|
|
381
|
+
useRefill: zod_1.z.boolean(),
|
|
382
382
|
});
|
|
383
383
|
//# sourceMappingURL=response.js.map
|