@debridge-finance/borderless-validation-sdk 0.0.9 → 0.0.10

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.
Files changed (123) hide show
  1. package/README.md +10 -4
  2. package/dist/cjs/helpers/address.js +6 -0
  3. package/dist/cjs/helpers/address.js.map +1 -1
  4. package/dist/cjs/helpers/evm-intent-id.js +18 -14
  5. package/dist/cjs/helpers/evm-intent-id.js.map +1 -1
  6. package/dist/cjs/helpers/evm-trade-amounts.js +2 -1
  7. package/dist/cjs/helpers/evm-trade-amounts.js.map +1 -1
  8. package/dist/cjs/helpers/zod.js +29 -0
  9. package/dist/cjs/helpers/zod.js.map +1 -1
  10. package/dist/cjs/types/request.js +51 -42
  11. package/dist/cjs/types/request.js.map +1 -1
  12. package/dist/cjs/types/response.js +67 -66
  13. package/dist/cjs/types/response.js.map +1 -1
  14. package/dist/cjs/types/validation.js +2 -3
  15. package/dist/cjs/types/validation.js.map +1 -1
  16. package/dist/cjs/validations/cost-token.js +14 -4
  17. package/dist/cjs/validations/cost-token.js.map +1 -1
  18. package/dist/cjs/validations/echo-fields.js +8 -0
  19. package/dist/cjs/validations/echo-fields.js.map +1 -1
  20. package/dist/cjs/validations/evm-caveats.js +4 -3
  21. package/dist/cjs/validations/evm-caveats.js.map +1 -1
  22. package/dist/cjs/validations/evm-op-budget.js +4 -4
  23. package/dist/cjs/validations/evm-op-budget.js.map +1 -1
  24. package/dist/cjs/validations/evm-op-hook.js +19 -1
  25. package/dist/cjs/validations/evm-op-hook.js.map +1 -1
  26. package/dist/cjs/validations/evm-op-wrap.js +2 -1
  27. package/dist/cjs/validations/evm-op-wrap.js.map +1 -1
  28. package/dist/cjs/validations/evm-sign712.js +2 -2
  29. package/dist/cjs/validations/evm-sign712.js.map +1 -1
  30. package/dist/cjs/validations/evm-sign7702.js +2 -1
  31. package/dist/cjs/validations/evm-sign7702.js.map +1 -1
  32. package/dist/cjs/validations/external-call.js +2 -1
  33. package/dist/cjs/validations/external-call.js.map +1 -1
  34. package/dist/cjs/validations/hooks-common.js +0 -18
  35. package/dist/cjs/validations/hooks-common.js.map +1 -1
  36. package/dist/cjs/validations/intent-destinations.js +42 -16
  37. package/dist/cjs/validations/intent-destinations.js.map +1 -1
  38. package/dist/cjs/validations/intent-tokens.js +33 -25
  39. package/dist/cjs/validations/intent-tokens.js.map +1 -1
  40. package/dist/cjs/validations/intent.js +24 -10
  41. package/dist/cjs/validations/intent.js.map +1 -1
  42. package/dist/cjs/validations/solana-op-budget.js +8 -2
  43. package/dist/cjs/validations/solana-op-budget.js.map +1 -1
  44. package/dist/cjs/validations/solana-op-wrap.js +2 -2
  45. package/dist/cjs/validations/solana-op-wrap.js.map +1 -1
  46. package/dist/cjs/validations/trade-grouping.js +9 -3
  47. package/dist/cjs/validations/trade-grouping.js.map +1 -1
  48. package/dist/cjs/validations/trades.js +75 -109
  49. package/dist/cjs/validations/trades.js.map +1 -1
  50. package/dist/cjs/validator.js +58 -33
  51. package/dist/cjs/validator.js.map +1 -1
  52. package/dist/esm/helpers/address.js +6 -0
  53. package/dist/esm/helpers/address.js.map +1 -1
  54. package/dist/esm/helpers/evm-intent-id.js +18 -14
  55. package/dist/esm/helpers/evm-intent-id.js.map +1 -1
  56. package/dist/esm/helpers/evm-trade-amounts.js +2 -1
  57. package/dist/esm/helpers/evm-trade-amounts.js.map +1 -1
  58. package/dist/esm/helpers/zod.js +23 -0
  59. package/dist/esm/helpers/zod.js.map +1 -1
  60. package/dist/esm/types/request.js +51 -42
  61. package/dist/esm/types/request.js.map +1 -1
  62. package/dist/esm/types/response.js +67 -66
  63. package/dist/esm/types/response.js.map +1 -1
  64. package/dist/esm/types/validation.js +2 -3
  65. package/dist/esm/types/validation.js.map +1 -1
  66. package/dist/esm/validations/cost-token.js +14 -4
  67. package/dist/esm/validations/cost-token.js.map +1 -1
  68. package/dist/esm/validations/echo-fields.js +8 -0
  69. package/dist/esm/validations/echo-fields.js.map +1 -1
  70. package/dist/esm/validations/evm-caveats.js +4 -3
  71. package/dist/esm/validations/evm-caveats.js.map +1 -1
  72. package/dist/esm/validations/evm-op-budget.js +4 -4
  73. package/dist/esm/validations/evm-op-budget.js.map +1 -1
  74. package/dist/esm/validations/evm-op-hook.js +19 -1
  75. package/dist/esm/validations/evm-op-hook.js.map +1 -1
  76. package/dist/esm/validations/evm-op-wrap.js +2 -1
  77. package/dist/esm/validations/evm-op-wrap.js.map +1 -1
  78. package/dist/esm/validations/evm-sign712.js +2 -2
  79. package/dist/esm/validations/evm-sign712.js.map +1 -1
  80. package/dist/esm/validations/evm-sign7702.js +2 -1
  81. package/dist/esm/validations/evm-sign7702.js.map +1 -1
  82. package/dist/esm/validations/external-call.js +2 -1
  83. package/dist/esm/validations/external-call.js.map +1 -1
  84. package/dist/esm/validations/hooks-common.js +0 -18
  85. package/dist/esm/validations/hooks-common.js.map +1 -1
  86. package/dist/esm/validations/intent-destinations.js +43 -17
  87. package/dist/esm/validations/intent-destinations.js.map +1 -1
  88. package/dist/esm/validations/intent-tokens.js +33 -25
  89. package/dist/esm/validations/intent-tokens.js.map +1 -1
  90. package/dist/esm/validations/intent.js +24 -10
  91. package/dist/esm/validations/intent.js.map +1 -1
  92. package/dist/esm/validations/solana-op-budget.js +8 -2
  93. package/dist/esm/validations/solana-op-budget.js.map +1 -1
  94. package/dist/esm/validations/solana-op-wrap.js +2 -2
  95. package/dist/esm/validations/solana-op-wrap.js.map +1 -1
  96. package/dist/esm/validations/trade-grouping.js +10 -4
  97. package/dist/esm/validations/trade-grouping.js.map +1 -1
  98. package/dist/esm/validations/trades.js +75 -109
  99. package/dist/esm/validations/trades.js.map +1 -1
  100. package/dist/esm/validator.js +58 -33
  101. package/dist/esm/validator.js.map +1 -1
  102. package/dist/types/helpers/address.d.ts.map +1 -1
  103. package/dist/types/helpers/evm-trade-amounts.d.ts.map +1 -1
  104. package/dist/types/helpers/zod.d.ts +7 -0
  105. package/dist/types/helpers/zod.d.ts.map +1 -1
  106. package/dist/types/types/request.d.ts +112 -112
  107. package/dist/types/types/request.d.ts.map +1 -1
  108. package/dist/types/types/response.d.ts +426 -426
  109. package/dist/types/types/response.d.ts.map +1 -1
  110. package/dist/types/types/validation.d.ts +2 -2
  111. package/dist/types/types/validation.d.ts.map +1 -1
  112. package/dist/types/validations/cost-token.d.ts.map +1 -1
  113. package/dist/types/validations/echo-fields.d.ts.map +1 -1
  114. package/dist/types/validations/evm-caveats.d.ts.map +1 -1
  115. package/dist/types/validations/evm-sign7702.d.ts.map +1 -1
  116. package/dist/types/validations/intent-destinations.d.ts +3 -3
  117. package/dist/types/validations/intent-destinations.d.ts.map +1 -1
  118. package/dist/types/validations/intent-tokens.d.ts.map +1 -1
  119. package/dist/types/validations/intent.d.ts +1 -1
  120. package/dist/types/validations/intent.d.ts.map +1 -1
  121. package/dist/types/validations/trade-grouping.d.ts.map +1 -1
  122. package/dist/types/validator.d.ts.map +1 -1
  123. package/package.json +1 -1
@@ -9,24 +9,28 @@ export function computeIntentId(intent) {
9
9
  return keccak256(encoded);
10
10
  }
11
11
  function convertToIntentStruct(intent) {
12
+ const intentRealChainId = resolveChainId(intent.intentChainId) ?? intent.intentChainId;
12
13
  return {
13
14
  intentChainId: intent.intentChainId,
14
- intentOwner: intent.intentOwner,
15
+ intentOwner: addressToHex(intentRealChainId, intent.intentOwner),
15
16
  receiverDetails: convertAllowedAddresses(intent.receiverDetails),
16
- inputToken: convertInputTokens(intent.inputToken),
17
- giveToken: convertGiveTokens(intent.giveToken),
18
- takeToken: convertTakeTokens(intent.takeToken),
17
+ inputToken: convertInputTokens(intentRealChainId, intent.inputToken),
18
+ giveToken: convertGiveTokens(intentRealChainId, intent.giveToken),
19
+ takeToken: convertTakeTokens(intent.takeToken, intentRealChainId),
19
20
  expirationTimestamp: BigInt(intent.expirationTimestamp),
20
21
  intentTimestamp: BigInt(intent.intentTimestamp),
21
- srcAllowedSender: (intent.srcAllowedSender ?? []),
22
+ srcAllowedSender: (intent.srcAllowedSender ?? [])
23
+ .map(address => addressToHex(intentRealChainId, address)),
22
24
  executionMetadata: (intent.executionMetadata ?? zeroHash),
23
25
  isAnyDlnMetadataAllowed: !intent.dlnMetadata,
24
26
  dlnMetadata: (intent.dlnMetadata ?? "0x"),
25
27
  externalCallHash: (intent.externalCallHash ?? zeroHash),
26
28
  combinedInteractions: "0x",
27
- allowedCancelBeneficiary: (intent.allowedCancelBeneficiary ?? zeroAddress),
29
+ allowedCancelBeneficiary: intent.allowedCancelBeneficiary
30
+ ? addressToHex(intentRealChainId, intent.allowedCancelBeneficiary)
31
+ : zeroAddress,
28
32
  dstAuthorityAddress: convertAllowedAddresses(intent.dstAuthorityAddress),
29
- intentAuthority: intent.intentAuthority,
33
+ intentAuthority: addressToHex(intentRealChainId, intent.intentAuthority),
30
34
  };
31
35
  }
32
36
  // Encodes addresses as raw bytes — non-EVM strings can't be passed as-is.
@@ -46,32 +50,32 @@ function convertAllowedAddresses(details) {
46
50
  return { allowedAddress, chains, isAnyChain };
47
51
  });
48
52
  }
49
- function convertInputTokens(tokens) {
53
+ function convertInputTokens(intentRealChainId, tokens) {
50
54
  if (!tokens)
51
55
  return [];
52
56
  return tokens.map(t => ({
53
- token: t.address,
57
+ token: addressToHex(intentRealChainId, t.address),
54
58
  minPartialAmount: parseIntegerString(t.minPartialAmount),
55
59
  maxPartialAmount: parseIntegerString(t.maxPartialAmount),
56
60
  budget: parseIntegerString(t.constraintBudget),
57
61
  }));
58
62
  }
59
- function convertGiveTokens(tokens) {
63
+ function convertGiveTokens(intentRealChainId, tokens) {
60
64
  if (!tokens)
61
65
  return [];
62
66
  return tokens.map(t => ({
63
- inputToken: t.inputTokenAddress,
64
- giveToken: t.giveTokenAddress,
67
+ inputToken: addressToHex(intentRealChainId, t.inputTokenAddress),
68
+ giveToken: addressToHex(intentRealChainId, t.giveTokenAddress),
65
69
  numerator: parseIntegerString(t.numerator),
66
70
  denominator: Number(t.denominator),
67
71
  }));
68
72
  }
69
73
  // Encode addresses as raw bytes — non-EVM strings can't be passed as-is.
70
- function convertTakeTokens(tokens) {
74
+ function convertTakeTokens(tokens, intentRealChainId) {
71
75
  return tokens.map(t => {
72
76
  const realChainId = resolveChainId(t.takeTokenChainId) ?? t.takeTokenChainId;
73
77
  return {
74
- giveToken: t.fromTokenAddress,
78
+ giveToken: addressToHex(intentRealChainId, t.fromTokenAddress),
75
79
  takeTokenChain: t.takeTokenChainId,
76
80
  takeToken: addressToHex(realChainId, t.takeTokenAddress),
77
81
  numerator: parseIntegerString(t.numerator),
@@ -1 +1 @@
1
- {"version":3,"file":"evm-intent-id.js","sourceRoot":"","sources":["../../../src/helpers/evm-intent-id.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evm-intent-id.js","sourceRoot":"","sources":["../../../src/helpers/evm-intent-id.ts"],"names":[],"mappings":"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"}
@@ -37,13 +37,14 @@ export function sumTradeAmounts(trades, tokenAddress, realChainId, responseTrade
37
37
  try {
38
38
  sum += parseIntegerString(responseAmount);
39
39
  }
40
- catch {
40
+ catch (error) {
41
41
  return {
42
42
  violations: [{
43
43
  code: ViolationCode.TradeAmountInvalid,
44
44
  message: "response.trades[].srcChainTokenIn.amount is not a valid number",
45
45
  path: `response.trades[${i}].srcChainTokenIn.amount`,
46
46
  actual: responseAmount,
47
+ details: error,
47
48
  }],
48
49
  };
49
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"evm-trade-amounts.js","sourceRoot":"","sources":["../../../src/helpers/evm-trade-amounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,aAAa,GAIhB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAO/C,2EAA2E;AAC3E,6EAA6E;AAC7E,4EAA4E;AAC5E,6EAA6E;AAC7E,EAAE;AACF,8EAA8E;AAC9E,4EAA4E;AAC5E,qEAAqE;AACrE,6EAA6E;AAC7E,6EAA6E;AAC7E,+CAA+C;AAC/C,MAAM,UAAU,eAAe,CAC3B,MAAsB,EACtB,YAAoB,EACpB,WAAoB,EACpB,cAA6C;IAE7C,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,6FAA6F;IAC7F,MAAM,aAAa,GAAG,0BAA0B,CAAC,YAAY,EAAE,WAAW,CAAC,IAAI,YAAY,CAAC;IAC5F,MAAM,UAAU,GAAG,gBAAgB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAEhE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,kBAAkB,GAAG,0BAA0B,CAAC,KAAK,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;QAC1F,MAAM,oBAAoB,GAAG,gBAAgB,CACzC,WAAW,EAAE,kBAAkB,IAAI,KAAK,CAAC,eAAe,CAC3D,CAAC;QACF,IAAI,oBAAoB,KAAK,UAAU,EAAE,CAAC;YACtC,SAAS;QACb,CAAC;QAED,UAAU,GAAG,IAAI,CAAC;QAClB,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QACxC,qEAAqE;QACrE,uBAAuB;QACvB,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC1B,CAAC;QAED,MAAM,cAAc,GAAG,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC;QAC5D,IAAI,CAAC;YACD,GAAG,IAAI,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC;YACL,OAAO;gBACH,UAAU,EAAE,CAAC;wBACT,IAAI,EAAE,aAAa,CAAC,kBAAkB;wBACtC,OAAO,EACH,gEAAgE;wBACpE,IAAI,EAAE,mBAAmB,CAAC,0BAA0B;wBACpD,MAAM,EAAE,cAAc;qBACzB,CAAC;aACL,CAAC;QACN,CAAC;IACL,CAAC;IAED,oDAAoD;IACpD,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;IAEpC,OAAO,EAAE,GAAG,EAAE,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"evm-trade-amounts.js","sourceRoot":"","sources":["../../../src/helpers/evm-trade-amounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,aAAa,GAIhB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAO/C,2EAA2E;AAC3E,6EAA6E;AAC7E,4EAA4E;AAC5E,6EAA6E;AAC7E,EAAE;AACF,8EAA8E;AAC9E,4EAA4E;AAC5E,qEAAqE;AACrE,6EAA6E;AAC7E,6EAA6E;AAC7E,+CAA+C;AAC/C,MAAM,UAAU,eAAe,CAC3B,MAAsB,EACtB,YAAoB,EACpB,WAAoB,EACpB,cAA6C;IAE7C,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,6FAA6F;IAC7F,MAAM,aAAa,GAAG,0BAA0B,CAAC,YAAY,EAAE,WAAW,CAAC,IAAI,YAAY,CAAC;IAC5F,MAAM,UAAU,GAAG,gBAAgB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAEhE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,kBAAkB,GAAG,0BAA0B,CAAC,KAAK,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;QAC1F,MAAM,oBAAoB,GAAG,gBAAgB,CACzC,WAAW,EAAE,kBAAkB,IAAI,KAAK,CAAC,eAAe,CAC3D,CAAC;QACF,IAAI,oBAAoB,KAAK,UAAU,EAAE,CAAC;YACtC,SAAS;QACb,CAAC;QAED,UAAU,GAAG,IAAI,CAAC;QAClB,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QACxC,qEAAqE;QACrE,uBAAuB;QACvB,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC1B,CAAC;QAED,MAAM,cAAc,GAAG,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC;QAC5D,IAAI,CAAC;YACD,GAAG,IAAI,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO;gBACH,UAAU,EAAE,CAAC;wBACT,IAAI,EAAE,aAAa,CAAC,kBAAkB;wBACtC,OAAO,EACH,gEAAgE;wBACpE,IAAI,EAAE,mBAAmB,CAAC,0BAA0B;wBACpD,MAAM,EAAE,cAAc;wBACtB,OAAO,EAAE,KAAK;qBACjB,CAAC;aACL,CAAC;QACN,CAAC;IACL,CAAC;IAED,oDAAoD;IACpD,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;IAEpC,OAAO,EAAE,GAAG,EAAE,CAAC;AACnB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { z } from "zod";
1
2
  export function formatPath(segments) {
2
3
  return segments.reduce((result, segment) => {
3
4
  if (typeof segment === "number")
@@ -6,4 +7,26 @@ export function formatPath(segments) {
6
7
  return result ? `${result}.${key}` : key;
7
8
  }, "");
8
9
  }
10
+ export function nullAsUndefined(value) {
11
+ return value === null ? undefined : value;
12
+ }
13
+ export function nullableOptional(schema) {
14
+ return z.preprocess(nullAsUndefined, schema.optional());
15
+ }
16
+ export function apiBoolean(value) {
17
+ if (value === undefined)
18
+ return undefined;
19
+ if (value === null)
20
+ return null;
21
+ return Boolean(value);
22
+ }
23
+ export function apiBooleanSchema() {
24
+ return z.preprocess(apiBoolean, z.boolean());
25
+ }
26
+ export function optionalApiBooleanSchema() {
27
+ return z.preprocess(value => value === null ? undefined : apiBoolean(value), z.boolean().optional());
28
+ }
29
+ export function defaultedApiBooleanSchema(defaultValue) {
30
+ return z.preprocess(apiBoolean, z.boolean().optional()).default(defaultValue);
31
+ }
9
32
  //# sourceMappingURL=zod.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"zod.js","sourceRoot":"","sources":["../../../src/helpers/zod.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,QAAuB;IAC9C,OAAO,QAAQ,CAAC,MAAM,CAAS,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;QAC/C,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,GAAG,MAAM,IAAI,OAAO,GAAG,CAAC;QAChE,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7C,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"zod.js","sourceRoot":"","sources":["../../../src/helpers/zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,UAAU,UAAU,CAAC,QAAuB;IAC9C,OAAO,QAAQ,CAAC,MAAM,CAAS,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;QAC/C,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,GAAG,MAAM,IAAI,OAAO,GAAG,CAAC;QAChE,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7C,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAc;IAC1C,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAsB,MAAS;IAC3D,OAAO,CAAC,CAAC,UAAU,CAAC,eAAe,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAc;IACrC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAChC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC5B,OAAO,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,wBAAwB;IACpC,OAAO,CAAC,CAAC,UAAU,CACf,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,EACvD,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CACzB,CAAC;AACN,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,YAAqB;IAC3D,OAAO,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;AAClF,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { z } from "zod";
2
+ import { apiBooleanSchema, defaultedApiBooleanSchema, nullableOptional, optionalApiBooleanSchema, } from "../helpers/zod.js";
2
3
  import { TradingAlgorithm, ApproveAmountFlag, ApprovalMode, BundleHookType, PlaceholderType, } from "./enums.js";
3
4
  export const RequestGasCompensationInfoSchema = z.object({
4
5
  tokenAddress: z.string(),
@@ -9,10 +10,10 @@ export const RequestGasCompensationInfoSchema = z.object({
9
10
  // Deferred placeholders are filled at submit time, so trade-group fields are not needed.
10
11
  export const RequestPlaceholderSchema = z.object({
11
12
  nameVariable: z.string(),
12
- tokenAddress: z.string().optional(),
13
- address: z.string().optional(),
14
- additionalAmount: z.string().optional(),
15
- type: z.enum(PlaceholderType).optional(),
13
+ tokenAddress: nullableOptional(z.string()),
14
+ address: nullableOptional(z.string()),
15
+ additionalAmount: nullableOptional(z.string()),
16
+ type: nullableOptional(z.enum(PlaceholderType)),
16
17
  }).superRefine((placeholder, ctx) => {
17
18
  const isEager = placeholder.type === undefined || placeholder.type === PlaceholderType.Eager;
18
19
  if (!isEager)
@@ -35,14 +36,14 @@ export const RequestPlaceholderSchema = z.object({
35
36
  export const RequestHookV2Schema = z.object({
36
37
  chainId: z.number(),
37
38
  from: z.string(),
38
- to: z.string().optional(),
39
+ to: nullableOptional(z.string()),
39
40
  data: z.string(),
40
- value: z.string().optional(),
41
- isAtomic: z.boolean(),
41
+ value: nullableOptional(z.string()),
42
+ isAtomic: apiBooleanSchema(),
42
43
  placeHolders: z.array(RequestPlaceholderSchema),
43
- gasCompensationInfo: RequestGasCompensationInfoSchema.optional(),
44
- type: z.enum(BundleHookType).optional(),
45
- gasLimit: z.string().optional(),
44
+ gasCompensationInfo: nullableOptional(RequestGasCompensationInfoSchema),
45
+ type: nullableOptional(z.enum(BundleHookType)),
46
+ gasLimit: nullableOptional(z.string()),
46
47
  });
47
48
  export const RequestHookV1Schema = z.object({
48
49
  chainId: z.number(),
@@ -50,12 +51,12 @@ export const RequestHookV1Schema = z.object({
50
51
  to: z.string(),
51
52
  data: z.string(),
52
53
  value: z.string(),
53
- isAtomic: z.boolean(),
54
+ isAtomic: apiBooleanSchema(),
54
55
  tokenAddress: z.string(),
55
- preparePreRequiredActions: z.boolean().optional(),
56
- additionalAmountForPlaceholder: z.string().optional(),
57
- allowedSender: z.string().optional(),
58
- version: z.string().optional(),
56
+ preparePreRequiredActions: optionalApiBooleanSchema(),
57
+ additionalAmountForPlaceholder: nullableOptional(z.string()),
58
+ allowedSender: nullableOptional(z.string()),
59
+ version: nullableOptional(z.string()),
59
60
  });
60
61
  export const RequestHookSchema = z.union([RequestHookV2Schema, RequestHookV1Schema]);
61
62
  export function isRequestHookV2(hook) {
@@ -65,6 +66,14 @@ export const RequestCostTokenSchema = z.object({
65
66
  chainId: z.number(),
66
67
  tokenAddress: z.string(),
67
68
  });
69
+ // The API applies field-specific string transforms for these two trade flags.
70
+ // Generic request booleans use API-compatible Boolean() coercion below; these
71
+ // fields keep their custom API semantics instead.
72
+ const RequestPrependOperatingExpensesSchema = z.preprocess(value => value === null ? undefined : typeof value === "string" ? value !== "false" : value, z.boolean().optional());
73
+ const RequestPtpSchema = z.preprocess(value => value === null ? undefined : typeof value === "string" ? value === "true" : value, z.boolean().optional());
74
+ // Explicit null has the same wire semantics as an omitted expirationTimestamp:
75
+ // the server chooses the effective bundle/on-chain expiration values.
76
+ const RequestExpirationTimestampSchema = nullableOptional(z.number());
68
77
  // Free-form integrator metadata. Echoed back in the response unchanged;
69
78
  // validated for round-trip equality.
70
79
  export const RequestMetadataEntrySchema = z.object({
@@ -84,40 +93,40 @@ export const RequestTradeSchema = z.object({
84
93
  srcChainTokenInAmount: z.string(),
85
94
  dstChainId: z.number(),
86
95
  dstChainTokenOut: z.string(),
87
- dstChainTokenOutAmount: z.string().optional(),
88
- srcChainAuthorityAddress: z.string().optional(),
89
- dstChainTokenOutRecipient: z.string().optional(),
90
- dstChainAuthorityAddress: z.string().optional(),
91
- partnerFeeBps: z.number().optional(),
92
- allowedTaker: z.string().optional(),
93
- dlnHook: z.string().optional(),
94
- prependOperatingExpenses: z.boolean().optional(),
95
- ptp: z.boolean().optional(),
96
- dlnMetadata: z.string().optional(),
97
- referralCode: z.number().optional(),
98
- srcAllowedCancelBeneficiary: z.string().optional(),
96
+ dstChainTokenOutAmount: nullableOptional(z.string()),
97
+ srcChainAuthorityAddress: nullableOptional(z.string()),
98
+ dstChainTokenOutRecipient: nullableOptional(z.string()),
99
+ dstChainAuthorityAddress: nullableOptional(z.string()),
100
+ partnerFeeBps: nullableOptional(z.number()),
101
+ allowedTaker: nullableOptional(z.string()),
102
+ dlnHook: nullableOptional(z.string()),
103
+ prependOperatingExpenses: RequestPrependOperatingExpensesSchema,
104
+ ptp: RequestPtpSchema,
105
+ dlnMetadata: nullableOptional(z.string()),
106
+ referralCode: nullableOptional(z.number()),
107
+ srcAllowedCancelBeneficiary: nullableOptional(z.string()),
99
108
  // Field is intentionally absent from the public API schema but is accepted
100
109
  // by the server and round-trips into the response intent. Security-critical
101
110
  // for execution-mode validation.
102
- srcAllowedSender: z.string().optional(),
111
+ srcAllowedSender: nullableOptional(z.string()),
103
112
  });
104
113
  export const BundleCreationRequestSchema = z.object({
105
114
  requestId: z.string(),
106
- expirationTimestamp: z.number().optional(),
107
- enableAccountAbstraction: z.boolean(),
108
- isAtomic: z.boolean().optional().default(true),
115
+ expirationTimestamp: RequestExpirationTimestampSchema,
116
+ enableAccountAbstraction: apiBooleanSchema(),
117
+ isAtomic: defaultedApiBooleanSchema(true),
109
118
  tradingAlgorithm: z.enum(TradingAlgorithm).optional().default(TradingAlgorithm.Market),
110
- approveAmountFlag: z.enum(ApproveAmountFlag).optional(),
111
- approvalMode: z.enum(ApprovalMode).optional(),
112
- useRefill: z.boolean().optional(),
113
- userId: z.string().optional(),
114
- referralCode: z.number().optional(),
119
+ approveAmountFlag: nullableOptional(z.enum(ApproveAmountFlag)),
120
+ approvalMode: nullableOptional(z.enum(ApprovalMode)),
121
+ useRefill: optionalApiBooleanSchema(),
122
+ userId: nullableOptional(z.string()),
123
+ referralCode: nullableOptional(z.number()),
115
124
  trades: z.array(RequestTradeSchema),
116
- preHooks: z.array(RequestHookSchema).optional(),
117
- postHooks: z.array(RequestHookSchema).optional(),
118
- costToken: RequestCostTokenSchema.optional(),
119
- clientMetadata: z.array(RequestMetadataEntrySchema).optional(),
120
- totalDstAmount: z.string().optional(),
121
- allowPartialFill: z.boolean().optional(),
125
+ preHooks: nullableOptional(z.array(RequestHookSchema)),
126
+ postHooks: nullableOptional(z.array(RequestHookSchema)),
127
+ costToken: nullableOptional(RequestCostTokenSchema),
128
+ clientMetadata: nullableOptional(z.array(RequestMetadataEntrySchema)),
129
+ totalDstAmount: nullableOptional(z.string()),
130
+ allowPartialFill: optionalApiBooleanSchema(),
122
131
  });
123
132
  //# sourceMappingURL=request.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/types/request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/types/request.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,19 @@
1
1
  import { z } from "zod";
2
+ import { nullableOptional } from "../helpers/zod.js";
2
3
  import { EvmActionKind, EvmActionOperation, SolanaActionKind, SolanaActionOperation, CostItemType, CostDetailType, } from "./enums.js";
3
4
  import { RequestHookSchema, RequestMetadataEntrySchema } from "./request.js";
4
5
  // --- Response Cost Details ---
5
6
  export const ResponseCostDetailPayloadSchema = z.object({
6
- feeAmount: z.string().optional(),
7
- feeBps: z.string().optional(),
8
- amountOutBeforeCorrection: z.string().optional(),
9
- estimatedVolatilityBps: z.string().optional(),
10
- actualFeeAmount: z.string().optional(),
11
- actualFeeBps: z.string().optional(),
12
- subsidyAmount: z.string().optional(),
13
- feeApproximateUsdValue: z.string().optional(),
14
- partnerFeeAmount: z.string().optional(),
15
- partnerFeeBps: z.string().optional(),
7
+ feeAmount: nullableOptional(z.string()),
8
+ feeBps: nullableOptional(z.string()),
9
+ amountOutBeforeCorrection: nullableOptional(z.string()),
10
+ estimatedVolatilityBps: nullableOptional(z.string()),
11
+ actualFeeAmount: nullableOptional(z.string()),
12
+ actualFeeBps: nullableOptional(z.string()),
13
+ subsidyAmount: nullableOptional(z.string()),
14
+ feeApproximateUsdValue: nullableOptional(z.string()),
15
+ partnerFeeAmount: nullableOptional(z.string()),
16
+ partnerFeeBps: nullableOptional(z.string()),
16
17
  });
17
18
  export const ResponseCostDetailSchema = z.object({
18
19
  chain: z.string(),
@@ -21,7 +22,7 @@ export const ResponseCostDetailSchema = z.object({
21
22
  amountIn: z.string(),
22
23
  amountOut: z.string(),
23
24
  type: z.enum(CostDetailType),
24
- payload: ResponseCostDetailPayloadSchema.optional(),
25
+ payload: nullableOptional(ResponseCostDetailPayloadSchema),
25
26
  });
26
27
  export const ResponseComparedAggregatorSchema = z.object({
27
28
  name: z.string(),
@@ -42,7 +43,7 @@ export const ResponseSrcChainTokenInSchema = z.object({
42
43
  mutatedWithOperatingExpense: z.boolean(),
43
44
  approximateUsdValue: z.number(),
44
45
  originApproximateUsdValue: z.number(),
45
- isWrapped: z.boolean().optional(),
46
+ isWrapped: nullableOptional(z.boolean()),
46
47
  });
47
48
  export const ResponseSrcChainTokenOutSchema = z.object({
48
49
  chainId: z.number(),
@@ -51,8 +52,8 @@ export const ResponseSrcChainTokenOutSchema = z.object({
51
52
  symbol: z.string(),
52
53
  decimals: z.number(),
53
54
  amount: z.string(),
54
- maxRefundAmount: z.string().optional(),
55
- approximateUsdValue: z.number().optional(),
55
+ maxRefundAmount: nullableOptional(z.string()),
56
+ approximateUsdValue: nullableOptional(z.number()),
56
57
  });
57
58
  export const ResponseDstChainTokenOutSchema = z.object({
58
59
  chainId: z.number(),
@@ -64,31 +65,31 @@ export const ResponseDstChainTokenOutSchema = z.object({
64
65
  recommendedAmount: z.string(),
65
66
  approximateUsdValue: z.number(),
66
67
  recommendedApproximateUsdValue: z.number(),
67
- withoutPartnerFeeBpsAmount: z.string().optional(),
68
- withoutPartnerFeeBpsApproximateUsdValue: z.number().optional(),
68
+ withoutPartnerFeeBpsAmount: nullableOptional(z.string()),
69
+ withoutPartnerFeeBpsApproximateUsdValue: nullableOptional(z.number()),
69
70
  maxTheoreticalAmount: z.string(),
70
- maxTheoreticalApproximateUsdValue: z.number().optional(),
71
- withoutAdditionalTakerRewardsAmount: z.string().optional(),
72
- withoutAdditionalTakerRewardsApproximateUsdValue: z.number().optional(),
71
+ maxTheoreticalApproximateUsdValue: nullableOptional(z.number()),
72
+ withoutAdditionalTakerRewardsAmount: nullableOptional(z.string()),
73
+ withoutAdditionalTakerRewardsApproximateUsdValue: nullableOptional(z.number()),
73
74
  });
74
75
  export const ResponseTradeSchema = z.object({
75
76
  srcChainTokenIn: ResponseSrcChainTokenInSchema,
76
- srcChainTokenOut: ResponseSrcChainTokenOutSchema.optional(),
77
+ srcChainTokenOut: nullableOptional(ResponseSrcChainTokenOutSchema),
77
78
  dstChainTokenOut: ResponseDstChainTokenOutSchema,
78
79
  costsDetails: z.array(ResponseCostDetailSchema),
79
- srcChainAuthorityAddress: z.string().optional(),
80
- dstChainTokenOutRecipient: z.string().optional(),
81
- dstChainAuthorityAddress: z.string().optional(),
82
- relatedIntentId: z.string().optional(),
83
- prependedOperatingExpenseCost: z.string().optional(),
80
+ srcChainAuthorityAddress: nullableOptional(z.string()),
81
+ dstChainTokenOutRecipient: nullableOptional(z.string()),
82
+ dstChainAuthorityAddress: nullableOptional(z.string()),
83
+ relatedIntentId: nullableOptional(z.string()),
84
+ prependedOperatingExpenseCost: nullableOptional(z.string()),
84
85
  userPoints: z.number(),
85
86
  integratorPoints: z.number(),
86
- actualUserPoints: z.number().optional(),
87
- actualIntegratorPoints: z.number().optional(),
87
+ actualUserPoints: nullableOptional(z.number()),
88
+ actualIntegratorPoints: nullableOptional(z.number()),
88
89
  usdPriceImpact: z.number().nullable(),
89
- comparedAggregators: z.array(ResponseComparedAggregatorSchema).optional(),
90
- partnerFeeBps: z.number().optional(),
91
- externalCallData: z.string().optional(),
90
+ comparedAggregators: nullableOptional(z.array(ResponseComparedAggregatorSchema)),
91
+ partnerFeeBps: nullableOptional(z.number()),
92
+ externalCallData: nullableOptional(z.string()),
92
93
  });
93
94
  // --- Response Intent ---
94
95
  export const ResponseDestinationDetailsSchema = z.object({
@@ -121,16 +122,16 @@ export const ResponseIntentSchema = z.object({
121
122
  intentOwner: z.string(),
122
123
  expirationTimestamp: z.number(),
123
124
  intentTimestamp: z.number(),
124
- receiverDetails: z.array(ResponseDestinationDetailsSchema).optional(),
125
- inputToken: z.array(ResponseInputTokenSchema).optional(),
126
- giveToken: z.array(ResponseGiveTokenSchema).optional(),
127
- takeToken: z.array(ResponseTakeTokenSchema).optional().default([]),
128
- srcAllowedSender: z.array(z.string()).optional(),
129
- executionMetadata: z.string().optional(),
130
- dlnMetadata: z.string().optional(),
131
- externalCallHash: z.string().optional(),
132
- allowedCancelBeneficiary: z.string().optional(),
133
- dstAuthorityAddress: z.array(ResponseDestinationDetailsSchema).optional(),
125
+ receiverDetails: nullableOptional(z.array(ResponseDestinationDetailsSchema)),
126
+ inputToken: nullableOptional(z.array(ResponseInputTokenSchema)),
127
+ giveToken: nullableOptional(z.array(ResponseGiveTokenSchema)),
128
+ takeToken: nullableOptional(z.array(ResponseTakeTokenSchema)).default([]),
129
+ srcAllowedSender: nullableOptional(z.array(z.string())),
130
+ executionMetadata: nullableOptional(z.string()),
131
+ dlnMetadata: nullableOptional(z.string()),
132
+ externalCallHash: nullableOptional(z.string()),
133
+ allowedCancelBeneficiary: nullableOptional(z.string()),
134
+ dstAuthorityAddress: nullableOptional(z.array(ResponseDestinationDetailsSchema)),
134
135
  });
135
136
  // --- Required Actions (EVM) ---
136
137
  /**
@@ -184,9 +185,9 @@ export const EvmSign7702AuthorizationDataSchema = z.object({
184
185
  export const EvmSign712DataSchema = z.object({
185
186
  domain: z.object({
186
187
  name: z.string(),
187
- version: z.string().optional(),
188
- chainId: z.number().optional(),
189
- verifyingContract: z.string().optional(),
188
+ version: nullableOptional(z.string()),
189
+ chainId: nullableOptional(z.number()),
190
+ verifyingContract: nullableOptional(z.string()),
190
191
  }),
191
192
  types: z.record(z.string(), z.array(z.object({ name: z.string(), type: z.string() }))),
192
193
  primaryType: z.string(),
@@ -240,17 +241,17 @@ export const EvmProvidePlaceholdersDataSchema = z.object({
240
241
  * approved spender / token / Permit2 router.
241
242
  */
242
243
  export const EvmActionDetailsSchema = z.object({
243
- transactionCalls: z.array(EvmTransactionDataSchema).optional(),
244
- allowanceHolder: z.string().optional(),
245
- tokenAddress: z.string().optional(),
246
- permit2Contract: z.string().optional(),
244
+ transactionCalls: nullableOptional(z.array(EvmTransactionDataSchema)),
245
+ allowanceHolder: nullableOptional(z.string()),
246
+ tokenAddress: nullableOptional(z.string()),
247
+ permit2Contract: nullableOptional(z.string()),
247
248
  });
248
249
  export const NetworkDetailsSchema = z.object({
249
- gasLimit: z.string().optional(),
250
- gasPrice: z.string().optional(),
251
- baseFee: z.string().optional(),
252
- maxFeePerGas: z.string().optional(),
253
- maxPriorityFeePerGas: z.string().optional(),
250
+ gasLimit: nullableOptional(z.string()),
251
+ gasPrice: nullableOptional(z.string()),
252
+ baseFee: nullableOptional(z.string()),
253
+ maxFeePerGas: nullableOptional(z.string()),
254
+ maxPriorityFeePerGas: nullableOptional(z.string()),
254
255
  });
255
256
  export const CostItemSchema = z.object({
256
257
  costChainId: z.number(),
@@ -258,13 +259,13 @@ export const CostItemSchema = z.object({
258
259
  amount: z.string(),
259
260
  approximateUsdValue: z.number(),
260
261
  type: z.enum(CostItemType),
261
- feeBps: z.number().optional(),
262
- details: z.object({
262
+ feeBps: nullableOptional(z.number()),
263
+ details: nullableOptional(z.object({
263
264
  originalChainId: z.number(),
264
- }).optional(),
265
+ })),
265
266
  });
266
267
  export const EvmCostItemSchema = CostItemSchema.extend({
267
- networkDetails: NetworkDetailsSchema.optional(),
268
+ networkDetails: nullableOptional(NetworkDetailsSchema),
268
269
  });
269
270
  /**
270
271
  * Single EVM `requiredAction` element. The same shape is used in both
@@ -290,7 +291,7 @@ export const EvmRequiredActionSchema = z.object({
290
291
  EvmSign712DataSchema,
291
292
  EvmProvidePlaceholdersDataSchema,
292
293
  ]),
293
- details: EvmActionDetailsSchema.optional(),
294
+ details: nullableOptional(EvmActionDetailsSchema),
294
295
  actionCosts: z.array(EvmCostItemSchema),
295
296
  description: z.string(),
296
297
  });
@@ -322,7 +323,7 @@ export const SolanaRequiredActionSchema = z.object({
322
323
  type: z.enum(SolanaActionKind),
323
324
  actions: z.array(z.enum(SolanaActionOperation)),
324
325
  data: z.union([SolanaTransactionDataSchema, SolanaSignDataSchema]),
325
- details: z.undefined().optional(),
326
+ details: nullableOptional(z.undefined()),
326
327
  actionCosts: z.array(CostItemSchema),
327
328
  description: z.string(),
328
329
  });
@@ -339,14 +340,14 @@ export const ResponseIntentPayloadSchema = z.object({
339
340
  export const AccumulativeTokenInputSchema = z.object({
340
341
  chainId: z.number(),
341
342
  tokenAddress: z.string(),
342
- spenderAddress: z.string().optional(),
343
+ spenderAddress: nullableOptional(z.string()),
343
344
  amount: z.string(),
344
345
  approximateUsdValue: z.number(),
345
346
  });
346
347
  export const AccumulativeTokenOutputSchema = z.object({
347
348
  chainId: z.number(),
348
349
  tokenAddress: z.string(),
349
- recipientAddress: z.string().optional(),
350
+ recipientAddress: nullableOptional(z.string()),
350
351
  amount: z.string(),
351
352
  approximateUsdValue: z.number(),
352
353
  });
@@ -355,7 +356,7 @@ export const ResponseHookPayloadSchema = z.object({
355
356
  // In quote mode the API omits requiredActions entirely. Default to an
356
357
  // empty array here so downstream hook validators can iterate without
357
358
  // null checks at every call site.
358
- requiredActions: z.array(ResponseRequiredActionSchema).optional()
359
+ requiredActions: nullableOptional(z.array(ResponseRequiredActionSchema))
359
360
  .transform(value => value ?? []),
360
361
  hook: RequestHookSchema,
361
362
  });
@@ -363,8 +364,8 @@ export const ResponseHookPayloadSchema = z.object({
363
364
  export const BundleCreationResponseSchema = z.object({
364
365
  requestId: z.string(),
365
366
  expirationTimestamp: z.number(),
366
- userId: z.string().optional(),
367
- referralCode: z.number().optional(),
367
+ userId: nullableOptional(z.string()),
368
+ referralCode: nullableOptional(z.number()),
368
369
  trades: z.array(ResponseTradeSchema),
369
370
  intents: z.array(ResponseIntentPayloadSchema),
370
371
  preHooks: z.array(ResponseHookPayloadSchema),
@@ -372,8 +373,8 @@ export const BundleCreationResponseSchema = z.object({
372
373
  accumulativeTokenInput: z.array(AccumulativeTokenInputSchema),
373
374
  accumulativeTokenOutput: z.array(AccumulativeTokenOutputSchema),
374
375
  bundleCosts: z.array(CostItemSchema),
375
- clientMetadata: z.array(RequestMetadataEntrySchema).optional(),
376
- estimatedTotalDstAmount: z.string().optional(),
377
- useRefill: z.boolean().optional(),
376
+ clientMetadata: nullableOptional(z.array(RequestMetadataEntrySchema)),
377
+ estimatedTotalDstAmount: nullableOptional(z.string()),
378
+ useRefill: nullableOptional(z.boolean()),
378
379
  });
379
380
  //# sourceMappingURL=response.js.map