@hyperlane-xyz/sdk 28.1.0 → 29.0.1

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 (67) hide show
  1. package/dist/consts/multisigIsm.d.ts.map +1 -1
  2. package/dist/consts/multisigIsm.js +4 -2
  3. package/dist/consts/multisigIsm.js.map +1 -1
  4. package/dist/core/types.d.ts +22 -22
  5. package/dist/fee/EvmTokenFeeDeployer.hardhat-test.js +2 -1
  6. package/dist/fee/EvmTokenFeeDeployer.hardhat-test.js.map +1 -1
  7. package/dist/fee/EvmTokenFeeModule.hardhat-test.js +44 -19
  8. package/dist/fee/EvmTokenFeeModule.hardhat-test.js.map +1 -1
  9. package/dist/fee/EvmTokenFeeReader.d.ts +1 -1
  10. package/dist/fee/EvmTokenFeeReader.d.ts.map +1 -1
  11. package/dist/fee/EvmTokenFeeReader.hardhat-test.d.ts +1 -1
  12. package/dist/fee/EvmTokenFeeReader.hardhat-test.js +12 -3
  13. package/dist/fee/EvmTokenFeeReader.hardhat-test.js.map +1 -1
  14. package/dist/fee/EvmTokenFeeReader.js +5 -3
  15. package/dist/fee/EvmTokenFeeReader.js.map +1 -1
  16. package/dist/fee/types.d.ts +20 -20
  17. package/dist/fee/types.d.ts.map +1 -1
  18. package/dist/fee/types.js +12 -6
  19. package/dist/fee/types.js.map +1 -1
  20. package/dist/fee/types.test.js +67 -5
  21. package/dist/fee/types.test.js.map +1 -1
  22. package/dist/fee/utils.d.ts +25 -2
  23. package/dist/fee/utils.d.ts.map +1 -1
  24. package/dist/fee/utils.js +39 -7
  25. package/dist/fee/utils.js.map +1 -1
  26. package/dist/fee/utils.test.d.ts +2 -0
  27. package/dist/fee/utils.test.d.ts.map +1 -0
  28. package/dist/fee/utils.test.js +54 -0
  29. package/dist/fee/utils.test.js.map +1 -0
  30. package/dist/ica/types.d.ts +18 -18
  31. package/dist/metadata/customZodTypes.d.ts +3 -0
  32. package/dist/metadata/customZodTypes.d.ts.map +1 -1
  33. package/dist/metadata/customZodTypes.js +6 -0
  34. package/dist/metadata/customZodTypes.js.map +1 -1
  35. package/dist/providers/transactions/submitter/builder/types.d.ts +26 -0
  36. package/dist/providers/transactions/submitter/builder/types.d.ts.map +1 -1
  37. package/dist/providers/transactions/submitter/ethersV5/types.d.ts +13 -0
  38. package/dist/providers/transactions/submitter/ethersV5/types.d.ts.map +1 -1
  39. package/dist/providers/transactions/submitter/ethersV5/types.js +1 -0
  40. package/dist/providers/transactions/submitter/ethersV5/types.js.map +1 -1
  41. package/dist/providers/transactions/submitter/ethersV5/types.test.js +15 -1
  42. package/dist/providers/transactions/submitter/ethersV5/types.test.js.map +1 -1
  43. package/dist/providers/transactions/submitter/types.d.ts +6 -0
  44. package/dist/providers/transactions/submitter/types.d.ts.map +1 -1
  45. package/dist/router/types.d.ts +18 -18
  46. package/dist/token/adapters/StarknetTokenAdapter.d.ts.map +1 -1
  47. package/dist/token/adapters/StarknetTokenAdapter.js +2 -4
  48. package/dist/token/adapters/StarknetTokenAdapter.js.map +1 -1
  49. package/dist/token/checker.d.ts.map +1 -1
  50. package/dist/token/checker.js +4 -2
  51. package/dist/token/checker.js.map +1 -1
  52. package/dist/token/configUtils.test.js +5 -5
  53. package/dist/token/configUtils.test.js.map +1 -1
  54. package/dist/token/deploy.hardhat-test.js +2 -2
  55. package/dist/token/deploy.hardhat-test.js.map +1 -1
  56. package/dist/token/types.d.ts +57 -57
  57. package/dist/token/types.js +2 -2
  58. package/dist/token/types.js.map +1 -1
  59. package/dist/token/types.test.js +5 -5
  60. package/dist/token/types.test.js.map +1 -1
  61. package/dist/utils/decimals.d.ts +16 -0
  62. package/dist/utils/decimals.d.ts.map +1 -1
  63. package/dist/utils/decimals.js +40 -15
  64. package/dist/utils/decimals.js.map +1 -1
  65. package/dist/utils/decimals.test.js +229 -0
  66. package/dist/utils/decimals.test.js.map +1 -1
  67. package/package.json +14 -13
@@ -1 +1 @@
1
- {"version":3,"file":"EvmTokenFeeModule.hardhat-test.js","sourceRoot":"","sources":["../../src/fee/EvmTokenFeeModule.hardhat-test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EvmTokenFeeModule.hardhat-test.js","sourceRoot":"","sources":["../../src/fee/EvmTokenFeeModule.hardhat-test.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,6 @@ export declare class EvmTokenFeeReader extends HyperlaneReader {
20
20
  private deriveProgressiveFeeConfig;
21
21
  private deriveRegressiveFeeConfig;
22
22
  private deriveRoutingFeeConfig;
23
- convertFromBps(bps: bigint): FeeParameters;
23
+ convertFromBps(bps: number): FeeParameters;
24
24
  }
25
25
  //# sourceMappingURL=EvmTokenFeeReader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EvmTokenFeeReader.d.ts","sourceRoot":"","sources":["../../src/fee/EvmTokenFeeReader.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EACL,aAAa,EAEb,gBAAgB,EAChB,cAAc,EAEf,MAAM,YAAY,CAAC;AAOpB,MAAM,MAAM,qBAAqB,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;AAEhE,MAAM,MAAM,uBAAuB,GAAG,WAAW,CAAC,gBAAgB,CAAC,GAAG;IACpE,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;CACxD,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC,CAAC;AAEF,qBAAa,iBAAkB,SAAQ,eAAe;IAElD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa;IAC/C,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,aAAa;gBADpB,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,aAAa;IAKnC,oBAAoB,CACxB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,qBAAqB,CAAC;YA6BnB,qBAAqB;YAyBrB,0BAA0B;YAM1B,yBAAyB;YAMzB,sBAAsB;IA2CpC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa;CAe3C"}
1
+ {"version":3,"file":"EvmTokenFeeReader.d.ts","sourceRoot":"","sources":["../../src/fee/EvmTokenFeeReader.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EACL,aAAa,EAEb,gBAAgB,EAChB,cAAc,EAEf,MAAM,YAAY,CAAC;AASpB,MAAM,MAAM,qBAAqB,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;AAEhE,MAAM,MAAM,uBAAuB,GAAG,WAAW,CAAC,gBAAgB,CAAC,GAAG;IACpE,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;CACxD,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC,CAAC;AAEF,qBAAa,iBAAkB,SAAQ,eAAe;IAElD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa;IAC/C,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,aAAa;gBADpB,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,aAAa;IAKnC,oBAAoB,CACxB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,qBAAqB,CAAC;YA6BnB,qBAAqB;YAyBrB,0BAA0B;YAM1B,yBAAyB;YAMzB,sBAAsB;IA2CpC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa;CAiB3C"}
@@ -1,4 +1,4 @@
1
1
  export declare const MAX_FEE = 115792089237316195423570985008687907853269n;
2
2
  export declare const HALF_AMOUNT = 578960446186580977117854925043439539266340n;
3
- export declare const BPS: bigint;
3
+ export declare const BPS: number;
4
4
  //# sourceMappingURL=EvmTokenFeeReader.hardhat-test.d.ts.map
@@ -74,14 +74,23 @@ describe('EvmTokenFeeReader', () => {
74
74
  expect(convertedBps).to.equal(BPS);
75
75
  });
76
76
  it('should be able to convert bps to maxFee and halfAmount, and back', async () => {
77
- const bps = BigInt(randomInt(1, 10_000));
77
+ const bps = randomInt(1, 10_000);
78
78
  const reader = new EvmTokenFeeReader(multiProvider, TestChainName.test2);
79
79
  const { maxFee: convertedMaxFee, halfAmount: convertedHalfAmount } = reader.convertFromBps(bps);
80
80
  const convertedBps = convertToBps(convertedMaxFee, convertedHalfAmount);
81
81
  expect(convertedBps).to.equal(bps);
82
82
  });
83
+ it('should round-trip fractional bps values', async () => {
84
+ const fractionalValues = [0.5, 1.5, 2.5, 8.3333];
85
+ const reader = new EvmTokenFeeReader(multiProvider, TestChainName.test2);
86
+ for (const bps of fractionalValues) {
87
+ const { maxFee, halfAmount } = reader.convertFromBps(bps);
88
+ const roundTripped = convertToBps(maxFee, halfAmount);
89
+ expect(roundTripped).to.equal(bps);
90
+ }
91
+ });
83
92
  it('should use constant divisor for consistent fee derivation', async () => {
84
- const bps = 8n;
93
+ const bps = 8;
85
94
  const reader = new EvmTokenFeeReader(multiProvider, TestChainName.test2);
86
95
  const { maxFee, halfAmount } = reader.convertFromBps(bps);
87
96
  expect(maxFee > 0n).to.be.true;
@@ -94,7 +103,7 @@ describe('EvmTokenFeeReader', () => {
94
103
  });
95
104
  it('should reject bps = 0 to prevent division by zero', () => {
96
105
  const reader = new EvmTokenFeeReader(multiProvider, TestChainName.test2);
97
- expect(() => reader.convertFromBps(0n)).to.throw('bps must be > 0 to prevent division by zero');
106
+ expect(() => reader.convertFromBps(0)).to.throw('bps must be > 0 to prevent division by zero');
98
107
  });
99
108
  });
100
109
  describe('RoutingFee', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"EvmTokenFeeReader.hardhat-test.js","sourceRoot":"","sources":["../../src/fee/EvmTokenFeeReader.hardhat-test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,GAAG,MAAM,SAAS,CAAC;AAE1B,OAAO,EAAa,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEpE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAkB,oBAAoB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,EAAE,kCAAkC,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE9E,oFAAoF;AACpF,MAAM,CAAC,MAAM,OAAO,GAAG,2CAA2C,CAAC;AACnE,oFAAoF;AACpF,MAAM,CAAC,MAAM,WAAW,GAAG,2CAA2C,CAAC;AACvE,oFAAoF;AACpF,MAAM,CAAC,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AAEtD,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,IAAI,aAA4B,CAAC;IACjC,IAAI,MAAyB,CAAC;IAC9B,IAAI,KAAgB,CAAC;IAErB,MAAM,kBAAkB,GAAG,uBAAuB,CAAC;IAEnD,MAAM,CAAC,KAAK,IAAI,EAAE;QAChB,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACzC,aAAa,GAAG,aAAa,CAAC,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAElE,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC/C,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC;QACrE,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC;gBACxC,IAAI,EAAE,YAAY,CAAC,SAAS;gBAC5B,MAAM,EAAE,OAAO;gBACf,UAAU,EAAE,WAAW;gBACvB,GAAG,EAAE,GAAG;gBACR,KAAK,EAAE,KAAK,CAAC,OAAO;gBACpB,KAAK,EAAE,MAAM,CAAC,OAAO;aACtB,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,mBAAmB,CACtC,aAAa,EACb,aAAa,CAAC,KAAK,CACpB,CAAC;YACF,MAAM,iBAAiB,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBAC9C,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM;aAC9B,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;YACzE,MAAM,QAAQ,GACZ,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YACjE,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC;gBACtD,OAAO,EAAE,QAAQ,CAAC,OAAO;aAC1B,CAAC,CAAC;YACH,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAClD,eAAe,CAAC;gBACd,GAAG,MAAM;gBACT,MAAM,EAAE,OAAO;gBACf,UAAU,EAAE,WAAW;gBACvB,GAAG,EAAE,GAAG;aACT,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;YACjD,MAAM,UAAU,GAAG,MAAM,GAAG,EAAE,CAAC;YAE/B,MAAM,MAAM,GAAG;gBACb,IAAI,EAAE,YAAY,CAAC,SAAS;gBAC5B,KAAK,EAAE,MAAM,CAAC,OAAO;gBACrB,KAAK,EAAE,KAAK,CAAC,OAAO;gBACpB,MAAM;gBACN,UAAU;gBACV,GAAG,EAAE,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC;aACtC,CAAC;YACF,MAAM,YAAY,GAAG,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACxD,MAAM,QAAQ,GAAG,IAAI,mBAAmB,CACtC,aAAa,EACb,aAAa,CAAC,KAAK,CACpB,CAAC;YACF,MAAM,QAAQ,CAAC,MAAM,CAAC;gBACpB,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,YAAY;aACpC,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACtD,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;YAChF,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;YAEzC,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;YACzE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAChE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAE7B,MAAM,YAAY,GAAG,YAAY,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;YACxE,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,GAAG,GAAG,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;YACzE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAE1D,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAC/B,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAEnC,MAAM,cAAc,GAClB,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;gBACvC,kCAAkC,CAAC;YACrC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAExC,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACtD,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;YAC3D,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;YACzE,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAC9C,6CAA6C,CAC9C,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;YAC9E,MAAM,gBAAgB,GAAmB;gBACvC,IAAI,EAAE,YAAY,CAAC,UAAU;gBAC7B,KAAK,EAAE,MAAM,CAAC,OAAO;gBACrB,KAAK,EAAE,KAAK,CAAC,OAAO;gBACpB,MAAM,EAAE,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE;gBACvC,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE;gBAC3C,YAAY,EAAE;oBACZ,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;wBACrB,KAAK,EAAE,MAAM,CAAC,OAAO;wBACrB,KAAK,EAAE,KAAK,CAAC,OAAO;wBACpB,IAAI,EAAE,YAAY,CAAC,SAAS;wBAC5B,MAAM,EAAE,OAAO;wBACf,UAAU,EAAE,WAAW;wBACvB,GAAG,EAAE,GAAG;qBACT;oBACD,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;wBACrB,KAAK,EAAE,MAAM,CAAC,OAAO;wBACrB,KAAK,EAAE,KAAK,CAAC,OAAO;wBACpB,IAAI,EAAE,YAAY,CAAC,SAAS;wBAC5B,MAAM,EAAE,OAAO;wBACf,UAAU,EAAE,WAAW;wBACvB,GAAG,EAAE,GAAG;qBACT;iBACF;aACF,CAAC;YACF,MAAM,QAAQ,GAAG,IAAI,mBAAmB,CACtC,aAAa,EACb,aAAa,CAAC,KAAK,CACpB,CAAC;YACF,MAAM,iBAAiB,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBAC9C,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,gBAAgB;aACxC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;YAEzE,MAAM,YAAY,GAAG;gBACnB,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC;gBAC9C,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC;aAC/C,CAAC;YACF,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC;gBACnD,OAAO,EACL,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC;qBAC5D,OAAO;gBACZ,mBAAmB,EAAE,YAAY;aAClC,CAAC,CAAC;YACH,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAC/C,eAAe,CAAC,gBAAgB,CAAC,CAClC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;YAC5E,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,KAAK,CAAC;gBAClD,IAAI,EAAE,YAAY,CAAC,UAAU;gBAC7B,KAAK,EAAE,MAAM,CAAC,OAAO;gBACrB,KAAK,EAAE,KAAK,CAAC,OAAO;gBACpB,YAAY,EAAE;oBACZ,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;wBACrB,KAAK,EAAE,MAAM,CAAC,OAAO;wBACrB,KAAK,EAAE,KAAK,CAAC,OAAO;wBACpB,IAAI,EAAE,YAAY,CAAC,SAAS;wBAC5B,MAAM,EAAE,OAAO;wBACf,UAAU,EAAE,WAAW;wBACvB,GAAG,EAAE,GAAG;qBACT;iBACF;aACF,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,mBAAmB,CACtC,aAAa,EACb,aAAa,CAAC,KAAK,CACpB,CAAC;YACF,MAAM,iBAAiB,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBAC9C,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,gBAAgB;aACxC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;YACzE,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC;gBACnD,OAAO,EACL,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC;qBAC5D,OAAO;aACb,CAAC,CAAC;YAEH,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAC1D,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAClD,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACjD,MAAM,CACJ,MAAM,CAAC,IAAI,CAAE,UAAkB,CAAC,YAAY,IAAI,EAAE,CAAC,CACpD,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"EvmTokenFeeReader.hardhat-test.js","sourceRoot":"","sources":["../../src/fee/EvmTokenFeeReader.hardhat-test.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { constants } from 'ethers';
2
2
  import { BaseFee__factory, LinearFee__factory, RoutingFee__factory, } from '@hyperlane-xyz/core';
3
3
  import { HyperlaneReader } from '../utils/HyperlaneReader.js';
4
4
  import { OnchainTokenFeeType, TokenFeeType, } from './types.js';
5
- import { ASSUMED_MAX_AMOUNT_FOR_ZERO_SUPPLY, MAX_BPS, convertToBps, } from './utils.js';
5
+ import { ASSUMED_MAX_AMOUNT_FOR_ZERO_SUPPLY, BPS_PRECISION, MAX_BPS, assertBpsPrecision, convertToBps, } from './utils.js';
6
6
  export class EvmTokenFeeReader extends HyperlaneReader {
7
7
  multiProvider;
8
8
  chain;
@@ -100,12 +100,14 @@ export class EvmTokenFeeReader extends HyperlaneReader {
100
100
  };
101
101
  }
102
102
  convertFromBps(bps) {
103
- if (bps === 0n) {
103
+ if (!Number.isFinite(bps) || bps <= 0) {
104
104
  throw new Error('bps must be > 0 to prevent division by zero');
105
105
  }
106
+ assertBpsPrecision(bps);
106
107
  const maxFee = BigInt(constants.MaxUint256.toString()) /
107
108
  ASSUMED_MAX_AMOUNT_FOR_ZERO_SUPPLY;
108
- const halfAmount = ((maxFee / 2n) * MAX_BPS) / bps;
109
+ const scaledBps = BigInt(Math.round(bps * Number(BPS_PRECISION)));
110
+ const halfAmount = ((maxFee / 2n) * MAX_BPS * BPS_PRECISION) / scaledBps;
109
111
  return {
110
112
  maxFee,
111
113
  halfAmount,
@@ -1 +1 @@
1
- {"version":3,"file":"EvmTokenFeeReader.js","sourceRoot":"","sources":["../../src/fee/EvmTokenFeeReader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EvmTokenFeeReader.js","sourceRoot":"","sources":["../../src/fee/EvmTokenFeeReader.ts"],"names":[],"mappings":"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"}
@@ -50,21 +50,21 @@ export declare const LinearFeeConfigSchema: z.ZodObject<{
50
50
  halfAmount: z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodBigInt, z.ZodNumber]>, z.ZodString]>, bigint, string | number | bigint>;
51
51
  } & {
52
52
  type: z.ZodLiteral<TokenFeeType.LinearFee>;
53
- bps: z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodBigInt, z.ZodNumber]>, z.ZodString]>, bigint, string | number | bigint>;
53
+ bps: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, number, string | number>, number, string | number>;
54
54
  }, "strip", z.ZodTypeAny, {
55
55
  type: TokenFeeType.LinearFee;
56
56
  owner: string;
57
57
  token: string;
58
58
  maxFee: bigint;
59
59
  halfAmount: bigint;
60
- bps: bigint;
60
+ bps: number;
61
61
  }, {
62
62
  type: TokenFeeType.LinearFee;
63
63
  owner: string;
64
64
  token: string;
65
65
  maxFee: string | number | bigint;
66
66
  halfAmount: string | number | bigint;
67
- bps: string | number | bigint;
67
+ bps: string | number;
68
68
  }>;
69
69
  export type LinearFeeConfig = z.infer<typeof LinearFeeConfigSchema>;
70
70
  export declare const LinearFeeInputConfigSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
@@ -73,33 +73,33 @@ export declare const LinearFeeInputConfigSchema: z.ZodEffects<z.ZodEffects<z.Zod
73
73
  maxFee: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodBigInt, z.ZodNumber]>, z.ZodString]>, bigint, string | number | bigint>>;
74
74
  halfAmount: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodBigInt, z.ZodNumber]>, z.ZodString]>, bigint, string | number | bigint>>;
75
75
  type: z.ZodLiteral<TokenFeeType.LinearFee>;
76
- bps: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodBigInt, z.ZodNumber]>, z.ZodString]>, bigint, string | number | bigint>>;
76
+ bps: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, number, string | number>, number, string | number>>;
77
77
  }, "strip", z.ZodTypeAny, {
78
78
  type: TokenFeeType.LinearFee;
79
79
  owner: string;
80
80
  maxFee?: bigint | undefined;
81
81
  halfAmount?: bigint | undefined;
82
- bps?: bigint | undefined;
82
+ bps?: number | undefined;
83
83
  }, {
84
84
  type: TokenFeeType.LinearFee;
85
85
  owner: string;
86
86
  maxFee?: string | number | bigint | undefined;
87
87
  halfAmount?: string | number | bigint | undefined;
88
- bps?: string | number | bigint | undefined;
88
+ bps?: string | number | undefined;
89
89
  }>, {
90
90
  type: TokenFeeType.LinearFee;
91
91
  owner: string;
92
92
  maxFee?: bigint | undefined;
93
93
  halfAmount?: bigint | undefined;
94
- bps?: bigint | undefined;
94
+ bps?: number | undefined;
95
95
  }, {
96
96
  type: TokenFeeType.LinearFee;
97
97
  owner: string;
98
98
  maxFee?: string | number | bigint | undefined;
99
99
  halfAmount?: string | number | bigint | undefined;
100
- bps?: string | number | bigint | undefined;
100
+ bps?: string | number | undefined;
101
101
  }>, {
102
- bps: bigint;
102
+ bps: number;
103
103
  type: TokenFeeType.LinearFee;
104
104
  owner: string;
105
105
  maxFee?: bigint | undefined;
@@ -109,7 +109,7 @@ export declare const LinearFeeInputConfigSchema: z.ZodEffects<z.ZodEffects<z.Zod
109
109
  owner: string;
110
110
  maxFee?: string | number | bigint | undefined;
111
111
  halfAmount?: string | number | bigint | undefined;
112
- bps?: string | number | bigint | undefined;
112
+ bps?: string | number | undefined;
113
113
  }>;
114
114
  export type LinearFeeInputConfig = z.infer<typeof LinearFeeInputConfigSchema>;
115
115
  export declare const ProgressiveFeeConfigSchema: z.ZodObject<{
@@ -259,21 +259,21 @@ export declare const TokenFeeConfigSchema: z.ZodDiscriminatedUnion<"type", [z.Zo
259
259
  halfAmount: z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodBigInt, z.ZodNumber]>, z.ZodString]>, bigint, string | number | bigint>;
260
260
  } & {
261
261
  type: z.ZodLiteral<TokenFeeType.LinearFee>;
262
- bps: z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodBigInt, z.ZodNumber]>, z.ZodString]>, bigint, string | number | bigint>;
262
+ bps: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, number, string | number>, number, string | number>;
263
263
  }, "strip", z.ZodTypeAny, {
264
264
  type: TokenFeeType.LinearFee;
265
265
  owner: string;
266
266
  token: string;
267
267
  maxFee: bigint;
268
268
  halfAmount: bigint;
269
- bps: bigint;
269
+ bps: number;
270
270
  }, {
271
271
  type: TokenFeeType.LinearFee;
272
272
  owner: string;
273
273
  token: string;
274
274
  maxFee: string | number | bigint;
275
275
  halfAmount: string | number | bigint;
276
- bps: string | number | bigint;
276
+ bps: string | number;
277
277
  }>, z.ZodObject<{
278
278
  token: z.ZodString;
279
279
  owner: z.ZodString;
@@ -344,33 +344,33 @@ export declare const TokenFeeConfigInputSchema: z.ZodUnion<[z.ZodEffects<z.ZodEf
344
344
  maxFee: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodBigInt, z.ZodNumber]>, z.ZodString]>, bigint, string | number | bigint>>;
345
345
  halfAmount: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodBigInt, z.ZodNumber]>, z.ZodString]>, bigint, string | number | bigint>>;
346
346
  type: z.ZodLiteral<TokenFeeType.LinearFee>;
347
- bps: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodBigInt, z.ZodNumber]>, z.ZodString]>, bigint, string | number | bigint>>;
347
+ bps: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, number, string | number>, number, string | number>>;
348
348
  }, "strip", z.ZodTypeAny, {
349
349
  type: TokenFeeType.LinearFee;
350
350
  owner: string;
351
351
  maxFee?: bigint | undefined;
352
352
  halfAmount?: bigint | undefined;
353
- bps?: bigint | undefined;
353
+ bps?: number | undefined;
354
354
  }, {
355
355
  type: TokenFeeType.LinearFee;
356
356
  owner: string;
357
357
  maxFee?: string | number | bigint | undefined;
358
358
  halfAmount?: string | number | bigint | undefined;
359
- bps?: string | number | bigint | undefined;
359
+ bps?: string | number | undefined;
360
360
  }>, {
361
361
  type: TokenFeeType.LinearFee;
362
362
  owner: string;
363
363
  maxFee?: bigint | undefined;
364
364
  halfAmount?: bigint | undefined;
365
- bps?: bigint | undefined;
365
+ bps?: number | undefined;
366
366
  }, {
367
367
  type: TokenFeeType.LinearFee;
368
368
  owner: string;
369
369
  maxFee?: string | number | bigint | undefined;
370
370
  halfAmount?: string | number | bigint | undefined;
371
- bps?: string | number | bigint | undefined;
371
+ bps?: string | number | undefined;
372
372
  }>, {
373
- bps: bigint;
373
+ bps: number;
374
374
  type: TokenFeeType.LinearFee;
375
375
  owner: string;
376
376
  maxFee?: bigint | undefined;
@@ -380,7 +380,7 @@ export declare const TokenFeeConfigInputSchema: z.ZodUnion<[z.ZodEffects<z.ZodEf
380
380
  owner: string;
381
381
  maxFee?: string | number | bigint | undefined;
382
382
  halfAmount?: string | number | bigint | undefined;
383
- bps?: string | number | bigint | undefined;
383
+ bps?: string | number | undefined;
384
384
  }>, z.ZodEffects<z.ZodObject<{
385
385
  owner: z.ZodString;
386
386
  } & {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/fee/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/fee/types.ts"],"names":[],"mappings":"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"}
package/dist/fee/types.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
- import { ZBigNumberish, ZChainName, ZHash, } from '../metadata/customZodTypes.js';
3
- import { convertToBps } from './utils.js';
2
+ import { ZBigNumberish, ZBps, ZChainName, ZHash, } from '../metadata/customZodTypes.js';
3
+ import { MAX_BPS_DECIMALS, convertToBps, isBpsPrecisionValid, } from './utils.js';
4
4
  // Matches the enum in BaseFee.sol
5
5
  export var OnchainTokenFeeType;
6
6
  (function (OnchainTokenFeeType) {
@@ -46,12 +46,12 @@ const StandardFeeConfigBaseSchema = BaseFeeConfigSchema.merge(FeeParametersSchem
46
46
  // ====== INDIVIDUAL FEE SCHEMAS ======
47
47
  export const LinearFeeConfigSchema = StandardFeeConfigBaseSchema.extend({
48
48
  type: z.literal(TokenFeeType.LinearFee),
49
- bps: ZBigNumberish,
49
+ bps: ZBps,
50
50
  });
51
51
  // Linear Fee Input - only requires bps & type, token is optional
52
52
  export const LinearFeeInputConfigSchema = BaseFeeConfigInputSchema.extend({
53
53
  type: z.literal(TokenFeeType.LinearFee),
54
- bps: ZBigNumberish.optional(),
54
+ bps: ZBps.optional(),
55
55
  ...FeeParametersSchema.partial().shape,
56
56
  })
57
57
  .superRefine((v, ctx) => {
@@ -64,14 +64,20 @@ export const LinearFeeInputConfigSchema = BaseFeeConfigInputSchema.extend({
64
64
  message: 'Provide bps or both maxFee and halfAmount',
65
65
  });
66
66
  }
67
- // Reject bps = 0 to prevent division by zero in convertFromBps
68
- if (hasBps && BigInt(v.bps) === 0n) {
67
+ if (hasBps && v.bps <= 0) {
69
68
  ctx.addIssue({
70
69
  code: 'custom',
71
70
  path: ['bps'],
72
71
  message: 'bps must be > 0',
73
72
  });
74
73
  }
74
+ if (hasBps && !isBpsPrecisionValid(v.bps)) {
75
+ ctx.addIssue({
76
+ code: 'custom',
77
+ path: ['bps'],
78
+ message: `bps must have at most ${MAX_BPS_DECIMALS} decimal places`,
79
+ });
80
+ }
75
81
  if (v.halfAmount === 0n) {
76
82
  // Prevents divide by 0
77
83
  ctx.addIssue({
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/fee/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/fee/types.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { expect } from 'chai';
2
2
  import { ethers } from 'ethers';
3
+ import { ZBps } from '../metadata/customZodTypes.js';
3
4
  import { LinearFeeInputConfigSchema, TokenFeeType } from './types.js';
4
5
  const SOME_ADDRESS = ethers.Wallet.createRandom().address;
5
6
  describe('LinearFeeInputConfigSchema', () => {
@@ -7,7 +8,7 @@ describe('LinearFeeInputConfigSchema', () => {
7
8
  const config = {
8
9
  type: TokenFeeType.LinearFee,
9
10
  owner: SOME_ADDRESS,
10
- bps: 100n,
11
+ bps: 100,
11
12
  };
12
13
  const result = LinearFeeInputConfigSchema.safeParse(config);
13
14
  expect(result.success).to.be.true;
@@ -64,7 +65,7 @@ describe('LinearFeeInputConfigSchema', () => {
64
65
  const config = {
65
66
  type: TokenFeeType.LinearFee,
66
67
  owner: SOME_ADDRESS,
67
- bps: 0n,
68
+ bps: 0,
68
69
  };
69
70
  const result = LinearFeeInputConfigSchema.safeParse(config);
70
71
  expect(result.success).to.be.false;
@@ -74,14 +75,14 @@ describe('LinearFeeInputConfigSchema', () => {
74
75
  const config = {
75
76
  type: TokenFeeType.LinearFee,
76
77
  owner: SOME_ADDRESS,
77
- bps: 100n,
78
+ bps: 100,
78
79
  maxFee: 10000n,
79
80
  halfAmount: 5000n,
80
81
  };
81
82
  const result = LinearFeeInputConfigSchema.safeParse(config);
82
83
  expect(result.success).to.be.true;
83
84
  if (result.success) {
84
- expect(result.data.bps).to.equal(100n);
85
+ expect(result.data.bps).to.equal(100);
85
86
  }
86
87
  });
87
88
  it('should compute bps from maxFee/halfAmount when only those are provided', () => {
@@ -97,8 +98,69 @@ describe('LinearFeeInputConfigSchema', () => {
97
98
  expect(result.success).to.be.true;
98
99
  if (result.success) {
99
100
  expect(result.data.bps).to.exist;
100
- expect(result.data.bps).to.be.a('bigint');
101
+ expect(result.data.bps).to.be.a('number');
101
102
  }
102
103
  });
103
104
  });
105
+ describe('LinearFeeInputConfigSchema — fractional bps', () => {
106
+ it('should accept fractional bps like 1.5', () => {
107
+ const result = LinearFeeInputConfigSchema.safeParse({
108
+ type: TokenFeeType.LinearFee,
109
+ owner: SOME_ADDRESS,
110
+ bps: 1.5,
111
+ });
112
+ expect(result.success).to.be.true;
113
+ if (result.success) {
114
+ expect(result.data.bps).to.equal(1.5);
115
+ }
116
+ });
117
+ it('should accept bps values that are IEEE 754 edge cases (e.g. 0.3)', () => {
118
+ const result = LinearFeeInputConfigSchema.safeParse({
119
+ type: TokenFeeType.LinearFee,
120
+ owner: SOME_ADDRESS,
121
+ bps: 0.3,
122
+ });
123
+ expect(result.success).to.be.true;
124
+ });
125
+ it('should reject bps with more than 4 decimal places', () => {
126
+ const result = LinearFeeInputConfigSchema.safeParse({
127
+ type: TokenFeeType.LinearFee,
128
+ owner: SOME_ADDRESS,
129
+ bps: 0.00001,
130
+ });
131
+ expect(result.success).to.be.false;
132
+ expect(result.error?.issues[0]?.message).to.include('at most 4 decimal places');
133
+ });
134
+ });
135
+ describe('ZBps schema validation', () => {
136
+ it('should reject invalid string inputs', () => {
137
+ expect(ZBps.safeParse('abc').success).to.be.false;
138
+ expect(ZBps.safeParse('').success).to.be.false;
139
+ expect(ZBps.safeParse('Infinity').success).to.be.false;
140
+ expect(ZBps.safeParse('NaN').success).to.be.false;
141
+ expect(ZBps.safeParse('-1').success).to.be.false;
142
+ });
143
+ it('should accept valid inputs and transform to number', () => {
144
+ const r1 = ZBps.safeParse('1.5');
145
+ expect(r1.success).to.be.true;
146
+ if (r1.success)
147
+ expect(r1.data).to.equal(1.5);
148
+ const r2 = ZBps.safeParse('5');
149
+ expect(r2.success).to.be.true;
150
+ if (r2.success)
151
+ expect(r2.data).to.equal(5);
152
+ const r3 = ZBps.safeParse(1.5);
153
+ expect(r3.success).to.be.true;
154
+ });
155
+ it('should reject bigint input (intentional breaking change — use plain number instead)', () => {
156
+ // ZBps intentionally dropped bigint support; callers must use number (e.g., 5 not 5n)
157
+ expect(ZBps.safeParse(5n).success).to.be.false;
158
+ expect(ZBps.safeParse(0n).success).to.be.false;
159
+ });
160
+ it('should reject negative numbers', () => {
161
+ expect(ZBps.safeParse(-5).success).to.be.false;
162
+ expect(ZBps.safeParse(-1.5).success).to.be.false;
163
+ expect(ZBps.safeParse(-0.0001).success).to.be.false;
164
+ });
165
+ });
104
166
  //# sourceMappingURL=types.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.test.js","sourceRoot":"","sources":["../../src/fee/types.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.test.js","sourceRoot":"","sources":["../../src/fee/types.test.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,27 @@
1
1
  export declare const MAX_BPS = 10000n;
2
+ /**
3
+ * Maximum decimal places supported for fractional bps values.
4
+ * The precision scaling in convertToBps/convertFromBps uses 10^MAX_BPS_DECIMALS
5
+ * as a multiplier. Values with more decimal places will be rejected to prevent
6
+ * silent precision loss during bigint arithmetic.
7
+ */
8
+ export declare const MAX_BPS_DECIMALS = 4;
9
+ /**
10
+ * Bigint precision multiplier for fractional bps arithmetic.
11
+ * Equals 10^MAX_BPS_DECIMALS = 10_000n.
12
+ */
13
+ export declare const BPS_PRECISION: bigint;
14
+ /**
15
+ * Returns true if bps has at most MAX_BPS_DECIMALS decimal places.
16
+ * Uses epsilon comparison to avoid IEEE 754 false positives
17
+ * (e.g. 0.3 * 10000 = 2999.9999... which strict equality would wrongly reject).
18
+ */
19
+ export declare function isBpsPrecisionValid(bps: number): boolean;
20
+ /**
21
+ * Validates that a bps value does not exceed MAX_BPS_DECIMALS decimal places.
22
+ * @throws Error if bps has too many decimal places
23
+ */
24
+ export declare function assertBpsPrecision(bps: number): void;
2
25
  /**
3
26
  * Assumed maximum transfer amount for zero-supply tokens.
4
27
  * 10^36 is astronomically large (10^18 tokens with 18 decimals).
@@ -10,8 +33,8 @@ export declare const ASSUMED_MAX_AMOUNT_FOR_ZERO_SUPPLY: bigint;
10
33
  * Converts fee parameters to basis points (BPS)
11
34
  * @param maxFee - Maximum fee amount
12
35
  * @param halfAmount - Half of the amount at which maxFee is applied
13
- * @returns Fee in basis points
36
+ * @returns Fee in basis points (up to MAX_BPS_DECIMALS decimal places)
14
37
  * @throws Error if halfAmount is zero to prevent division by zero
15
38
  */
16
- export declare function convertToBps(maxFee: bigint, halfAmount: bigint): bigint;
39
+ export declare function convertToBps(maxFee: bigint, halfAmount: bigint): number;
17
40
  //# sourceMappingURL=utils.d.ts.map