@wormhole-labs/cctp-executor-route 0.24.0 → 0.26.0-beta.0

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 (73) hide show
  1. package/dist/cjs/aptos/executor.d.ts.map +1 -1
  2. package/dist/cjs/aptos/executor.js +3 -2
  3. package/dist/cjs/aptos/executor.js.map +1 -1
  4. package/dist/cjs/evm/executor.d.ts.map +1 -1
  5. package/dist/cjs/evm/executor.js +4 -3
  6. package/dist/cjs/evm/executor.js.map +1 -1
  7. package/dist/cjs/evm/executorV2.d.ts.map +1 -1
  8. package/dist/cjs/evm/executorV2.js +4 -3
  9. package/dist/cjs/evm/executorV2.js.map +1 -1
  10. package/dist/cjs/routes/cctpV1.d.ts +4 -4
  11. package/dist/cjs/routes/cctpV1.d.ts.map +1 -1
  12. package/dist/cjs/routes/cctpV1.js +2 -5
  13. package/dist/cjs/routes/cctpV1.js.map +1 -1
  14. package/dist/cjs/routes/cctpV2Base.d.ts +2 -2
  15. package/dist/cjs/routes/cctpV2Base.d.ts.map +1 -1
  16. package/dist/cjs/routes/cctpV2Base.js.map +1 -1
  17. package/dist/cjs/routes/cctpV2Fast.d.ts.map +1 -1
  18. package/dist/cjs/routes/cctpV2Fast.js +3 -7
  19. package/dist/cjs/routes/cctpV2Fast.js.map +1 -1
  20. package/dist/cjs/routes/cctpV2Standard.d.ts.map +1 -1
  21. package/dist/cjs/routes/cctpV2Standard.js +2 -5
  22. package/dist/cjs/routes/cctpV2Standard.js.map +1 -1
  23. package/dist/cjs/routes/helpers.d.ts.map +1 -1
  24. package/dist/cjs/routes/helpers.js +8 -5
  25. package/dist/cjs/routes/helpers.js.map +1 -1
  26. package/dist/cjs/sui/executor.js +4 -4
  27. package/dist/cjs/sui/executor.js.map +1 -1
  28. package/dist/cjs/svm/executor.js +2 -2
  29. package/dist/cjs/svm/executor.js.map +1 -1
  30. package/dist/cjs/svm/executorV2.js +3 -3
  31. package/dist/cjs/svm/executorV2.js.map +1 -1
  32. package/dist/cjs/utils.d.ts +7 -28
  33. package/dist/cjs/utils.d.ts.map +1 -1
  34. package/dist/cjs/utils.js +18 -58
  35. package/dist/cjs/utils.js.map +1 -1
  36. package/dist/esm/aptos/executor.d.ts.map +1 -1
  37. package/dist/esm/aptos/executor.js +3 -2
  38. package/dist/esm/aptos/executor.js.map +1 -1
  39. package/dist/esm/evm/executor.d.ts.map +1 -1
  40. package/dist/esm/evm/executor.js +4 -3
  41. package/dist/esm/evm/executor.js.map +1 -1
  42. package/dist/esm/evm/executorV2.d.ts.map +1 -1
  43. package/dist/esm/evm/executorV2.js +4 -3
  44. package/dist/esm/evm/executorV2.js.map +1 -1
  45. package/dist/esm/routes/cctpV1.d.ts +4 -4
  46. package/dist/esm/routes/cctpV1.d.ts.map +1 -1
  47. package/dist/esm/routes/cctpV1.js +2 -5
  48. package/dist/esm/routes/cctpV1.js.map +1 -1
  49. package/dist/esm/routes/cctpV2Base.d.ts +2 -2
  50. package/dist/esm/routes/cctpV2Base.d.ts.map +1 -1
  51. package/dist/esm/routes/cctpV2Base.js.map +1 -1
  52. package/dist/esm/routes/cctpV2Fast.d.ts.map +1 -1
  53. package/dist/esm/routes/cctpV2Fast.js +4 -8
  54. package/dist/esm/routes/cctpV2Fast.js.map +1 -1
  55. package/dist/esm/routes/cctpV2Standard.d.ts.map +1 -1
  56. package/dist/esm/routes/cctpV2Standard.js +2 -5
  57. package/dist/esm/routes/cctpV2Standard.js.map +1 -1
  58. package/dist/esm/routes/helpers.d.ts.map +1 -1
  59. package/dist/esm/routes/helpers.js +9 -6
  60. package/dist/esm/routes/helpers.js.map +1 -1
  61. package/dist/esm/sui/executor.js +4 -4
  62. package/dist/esm/sui/executor.js.map +1 -1
  63. package/dist/esm/svm/executor.js +2 -2
  64. package/dist/esm/svm/executor.js.map +1 -1
  65. package/dist/esm/svm/executorV2.js +3 -3
  66. package/dist/esm/svm/executorV2.js.map +1 -1
  67. package/dist/esm/utils.d.ts +7 -28
  68. package/dist/esm/utils.d.ts.map +1 -1
  69. package/dist/esm/utils.js +19 -59
  70. package/dist/esm/utils.js.map +1 -1
  71. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  72. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  73. package/package.json +1 -1
package/dist/esm/utils.js CHANGED
@@ -1,7 +1,7 @@
1
- import { amount, circle, encoding, toChainId, amount as sdkAmount, } from "@wormhole-foundation/sdk-base";
1
+ import { amount, circle, encoding, toChainId, } from "@wormhole-foundation/sdk-base";
2
2
  import { deserializeCircleV2Message, } from "./layouts";
3
3
  import axios from "axios";
4
- import { apiBaseUrl, circleV2Api, getCircleV2Chain, getCircleV2Domain, } from "./consts";
4
+ import { apiBaseUrl, CircleV2FinalityThreshold, circleV2Api, getCircleV2Chain, getCircleV2Domain, } from "./consts";
5
5
  import { DEFAULT_TASK_TIMEOUT, isSameToken, tasks, Wormhole, } from "@wormhole-foundation/sdk-connect";
6
6
  export var RelayStatus;
7
7
  (function (RelayStatus) {
@@ -59,64 +59,20 @@ export async function fetchStatus(network, txHash, chain) {
59
59
  throw new Error(`Failed to fetch status for txHash: ${txHash}.`);
60
60
  }
61
61
  }
62
- const MAX_U16 = 65535n;
63
62
  /**
64
- * Calculate referrer fee with optional amount-based capping.
63
+ * Calculates the fast burn max fee from the remaining amount and fee in basis points.
64
+ * The fee can be a decimal (e.g., 1.3 bps), so we scale by 100 to preserve precision.
65
65
  *
66
- * Fee Structure:
67
- * - Without threshold: Fee scales linearly with amount at the specified dBps rate
68
- * - With threshold: Fee scales until threshold amount, then plateaus at a fixed fee
69
- *
70
- * Example (1 bps / 10 dBps with $1M threshold):
71
- * ┌─────────────────┬────────────┬──────────────────────┐
72
- * │ Transfer Amount │ Fee Amount │ Effective Rate (dBps)│
73
- * ├─────────────────┼────────────┼──────────────────────┤
74
- * │ $0 - $1M │ 0.01% scaling │ 10 (full rate) │
75
- * │ $1M (threshold) │ $100 │ 10 (full rate) │
76
- * │ $5M │ $100 │ 2 (0.2%) │
77
- * │ $10M (max) │ $100 │ 1 (0.1%) │
78
- * └─────────────────┴────────────┴──────────────────────┘
79
- *
80
- * The threshold is designed so that at the maximum expected transfer amount ($10M),
81
- * the effective rate is still >= 1 dBps, avoiding integer division to zero.
82
- *
83
- * @param amount - Transfer amount in token base units (6 decimals for USDC)
84
- * @param dBps - Referrer fee rate in tenths of basis points (10 = 1 bps = 0.01%)
85
- * @param threshold - Optional amount threshold in whole USDC units where fee caps
86
- * @returns Object containing fee amount, remaining amount, and effective dBps rate
66
+ * @param remainingAmount - The amount after other fees have been deducted
67
+ * @param feeBps - The fast burn fee in basis points (can be decimal, e.g., 1.3)
68
+ * @returns The max fee as a bigint, rounded up
87
69
  */
88
- export function calculateReferrerFee(amount, dBps, threshold) {
89
- if (dBps > MAX_U16) {
90
- throw new Error("dBps exceeds max u16");
91
- }
92
- let referrerFeeDbps = dBps;
93
- let referrerFee = 0n;
94
- let remainingAmount = amount;
95
- if (dBps > 0) {
96
- if (threshold !== undefined && amount > 0) {
97
- // Convert threshold from whole USDC units to base units (6 decimals)
98
- const thresholdAmount = sdkAmount.parse(threshold.toString(), 6);
99
- const thresholdAmountUnits = sdkAmount.units(thresholdAmount);
100
- // Cap the amount used for fee calculation at the threshold
101
- // This creates a fee structure where fees plateau after the threshold amount
102
- // For amounts below threshold: normal scaling applies
103
- // For amounts at or above threshold: fee is fixed at (threshold * dBps / 100_000)
104
- const cappedAmount = amount < thresholdAmountUnits ? amount : thresholdAmountUnits;
105
- referrerFee = (cappedAmount * dBps) / 100000n;
106
- // Calculate effective dBps rate based on actual amount transferred
107
- // This represents what rate would produce the actual fee charged
108
- // As transfer amounts grow beyond threshold, effective rate decreases
109
- // Example: $100 fee on $10M transfer = 1 dBps effective rate
110
- // This value is passed to the quote API to accurately represent the fee structure
111
- referrerFeeDbps = (referrerFee * 100000n) / amount;
112
- }
113
- else {
114
- // Standard calculation without threshold: fee scales linearly with amount
115
- referrerFee = (amount * dBps) / 100000n;
116
- }
117
- remainingAmount = amount - referrerFee;
118
- }
119
- return { referrerFee, remainingAmount, referrerFeeDbps };
70
+ export function calculateFastBurnMaxFee(remainingAmount, feeBps) {
71
+ // Scale bps to preserve 2 decimal places (e.g. 1.3 -> 130)
72
+ const scaledBps = BigInt(Math.round(feeBps * 100));
73
+ // fee = amount * (bps / 100) / 10_000
74
+ // => amount * scaledBps / 1_000_000
75
+ return (remainingAmount * scaledBps + 1000000n - 1n) / 1000000n;
120
76
  }
121
77
  export function sleep(ms) {
122
78
  return new Promise((resolve) => setTimeout(resolve, ms));
@@ -160,9 +116,13 @@ export async function getCircleV2Attestation(tx, network, timeout = DEFAULT_TASK
160
116
  export async function getCircleV2FastBurnFee(network, fromChain, toChain) {
161
117
  const sourceDomain = getCircleV2Domain(network, fromChain);
162
118
  const destinationDomain = getCircleV2Domain(network, toChain);
163
- const url = `${circleV2Api[network]}/fastBurn/USDC/fees/${sourceDomain}/${destinationDomain}`;
119
+ const url = `${circleV2Api[network]}/burn/USDC/fees/${sourceDomain}/${destinationDomain}`;
164
120
  const response = await axios.get(url);
165
- return BigInt(response.data.minimumFee);
121
+ const feeTier = response.data.find((tier) => tier.finalityThreshold === CircleV2FinalityThreshold.CONFIRMED);
122
+ if (!feeTier) {
123
+ throw new Error("No fee tier found for CONFIRMED finality threshold");
124
+ }
125
+ return feeTier.minimumFee;
166
126
  }
167
127
  // https://developers.circle.com/api-reference/stablecoins/common/reattest-message
168
128
  export async function reattestCircleV2Message(network, attestation) {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}