@wormhole-labs/cctp-executor-route 0.5.0-beta.0 → 0.6.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.
- package/dist/cjs/consts.d.ts +0 -1
- package/dist/cjs/consts.d.ts.map +1 -1
- package/dist/cjs/consts.js +15 -41
- package/dist/cjs/consts.js.map +1 -1
- package/dist/cjs/evm/executorV2.d.ts.map +1 -1
- package/dist/cjs/evm/executorV2.js +1 -1
- package/dist/cjs/evm/executorV2.js.map +1 -1
- package/dist/cjs/routes/cctpV1.d.ts +4 -3
- package/dist/cjs/routes/cctpV1.d.ts.map +1 -1
- package/dist/cjs/routes/cctpV1.js +3 -13
- package/dist/cjs/routes/cctpV1.js.map +1 -1
- package/dist/cjs/routes/cctpV2Base.d.ts +1 -0
- package/dist/cjs/routes/cctpV2Base.d.ts.map +1 -1
- package/dist/cjs/routes/cctpV2Base.js.map +1 -1
- package/dist/cjs/routes/cctpV2Fast.d.ts +3 -3
- package/dist/cjs/routes/cctpV2Fast.d.ts.map +1 -1
- package/dist/cjs/routes/cctpV2Fast.js +3 -14
- package/dist/cjs/routes/cctpV2Fast.js.map +1 -1
- package/dist/cjs/routes/cctpV2Standard.d.ts +3 -3
- package/dist/cjs/routes/cctpV2Standard.d.ts.map +1 -1
- package/dist/cjs/routes/cctpV2Standard.js +4 -14
- package/dist/cjs/routes/cctpV2Standard.js.map +1 -1
- package/dist/cjs/routes/helpers.d.ts +1 -1
- package/dist/cjs/routes/helpers.d.ts.map +1 -1
- package/dist/cjs/routes/helpers.js +5 -5
- package/dist/cjs/routes/helpers.js.map +1 -1
- package/dist/cjs/utils.d.ts +4 -2
- package/dist/cjs/utils.d.ts.map +1 -1
- package/dist/cjs/utils.js +33 -5
- package/dist/cjs/utils.js.map +1 -1
- package/dist/esm/consts.d.ts +0 -1
- package/dist/esm/consts.d.ts.map +1 -1
- package/dist/esm/consts.js +14 -40
- package/dist/esm/consts.js.map +1 -1
- package/dist/esm/evm/executorV2.d.ts.map +1 -1
- package/dist/esm/evm/executorV2.js +3 -3
- package/dist/esm/evm/executorV2.js.map +1 -1
- package/dist/esm/routes/cctpV1.d.ts +4 -3
- package/dist/esm/routes/cctpV1.d.ts.map +1 -1
- package/dist/esm/routes/cctpV1.js +7 -17
- package/dist/esm/routes/cctpV1.js.map +1 -1
- package/dist/esm/routes/cctpV2Base.d.ts +1 -0
- package/dist/esm/routes/cctpV2Base.d.ts.map +1 -1
- package/dist/esm/routes/cctpV2Base.js.map +1 -1
- package/dist/esm/routes/cctpV2Fast.d.ts +3 -3
- package/dist/esm/routes/cctpV2Fast.d.ts.map +1 -1
- package/dist/esm/routes/cctpV2Fast.js +6 -17
- package/dist/esm/routes/cctpV2Fast.js.map +1 -1
- package/dist/esm/routes/cctpV2Standard.d.ts +3 -3
- package/dist/esm/routes/cctpV2Standard.d.ts.map +1 -1
- package/dist/esm/routes/cctpV2Standard.js +6 -16
- package/dist/esm/routes/cctpV2Standard.js.map +1 -1
- package/dist/esm/routes/helpers.d.ts +1 -1
- package/dist/esm/routes/helpers.d.ts.map +1 -1
- package/dist/esm/routes/helpers.js +7 -7
- package/dist/esm/routes/helpers.js.map +1 -1
- package/dist/esm/utils.d.ts +4 -2
- package/dist/esm/utils.d.ts.map +1 -1
- package/dist/esm/utils.js +34 -7
- package/dist/esm/utils.js.map +1 -1
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +8 -8
package/dist/esm/utils.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Chain, Network } from "@wormhole-foundation/sdk-base";
|
|
2
2
|
import { CircleV2Message, SignedQuote } from "./layouts";
|
|
3
|
-
import { TransactionId } from "@wormhole-foundation/sdk-connect";
|
|
3
|
+
import { ChainContext, TokenId, TransactionId } from "@wormhole-foundation/sdk-connect";
|
|
4
4
|
import { CCTPv2ExecutorRoute } from "./routes";
|
|
5
5
|
export declare enum RelayStatus {
|
|
6
6
|
Pending = "pending",
|
|
@@ -66,9 +66,10 @@ export interface StatusResponse extends RelayData {
|
|
|
66
66
|
estimatedCost: string;
|
|
67
67
|
}
|
|
68
68
|
export declare function fetchStatus(network: Network, txHash: string, chain: Chain): Promise<StatusResponse[]>;
|
|
69
|
-
export declare function calculateReferrerFee(amount: bigint, dBps: bigint): {
|
|
69
|
+
export declare function calculateReferrerFee(amount: bigint, dBps: bigint, threshold?: bigint): {
|
|
70
70
|
referrerFee: bigint;
|
|
71
71
|
remainingAmount: bigint;
|
|
72
|
+
referrerFeeDbps: bigint;
|
|
72
73
|
};
|
|
73
74
|
export declare function sleep(ms: number): Promise<void>;
|
|
74
75
|
export declare function getCircleV2Attestation(tx: TransactionId, network: Network, timeout?: number): Promise<{
|
|
@@ -81,4 +82,5 @@ export declare function reattestCircleV2Message(network: Network, attestation: C
|
|
|
81
82
|
attestation: string;
|
|
82
83
|
} | null>;
|
|
83
84
|
export declare function getCircleV2FastBurnAllowance(network: Network): Promise<bigint>;
|
|
85
|
+
export declare function getUsdcDestinationAddress<N extends Network>(sourceToken: TokenId, fromChain: ChainContext<N>, toChain: ChainContext<N>): TokenId[];
|
|
84
86
|
//# sourceMappingURL=utils.d.ts.map
|
package/dist/esm/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/utils.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { amount, encoding, toChainId, } from "@wormhole-foundation/sdk-base";
|
|
1
|
+
import { amount, circle, encoding, toChainId, amount as sdkAmount, } from "@wormhole-foundation/sdk-base";
|
|
2
2
|
import { deserializeCircleV2Message, } from "./layouts";
|
|
3
3
|
import axios from "axios";
|
|
4
4
|
import { apiBaseUrl, circleV2Api, getCircleV2Chain, getCircleV2Domain, } from "./consts";
|
|
5
|
-
import { DEFAULT_TASK_TIMEOUT, tasks, } from "@wormhole-foundation/sdk-connect";
|
|
5
|
+
import { DEFAULT_TASK_TIMEOUT, isSameToken, tasks, Wormhole, } from "@wormhole-foundation/sdk-connect";
|
|
6
6
|
export var RelayStatus;
|
|
7
7
|
(function (RelayStatus) {
|
|
8
8
|
RelayStatus["Pending"] = "pending";
|
|
@@ -60,16 +60,29 @@ export async function fetchStatus(network, txHash, chain) {
|
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
const MAX_U16 = 65535n;
|
|
63
|
-
export function calculateReferrerFee(amount, dBps) {
|
|
63
|
+
export function calculateReferrerFee(amount, dBps, threshold) {
|
|
64
64
|
if (dBps > MAX_U16) {
|
|
65
65
|
throw new Error("dBps exceeds max u16");
|
|
66
66
|
}
|
|
67
|
+
let referrerFeeDbps = dBps;
|
|
68
|
+
let remainingAmount = amount;
|
|
69
|
+
let referrerFee = 0n;
|
|
67
70
|
if (dBps > 0) {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
+
if (threshold !== undefined && amount > 0) {
|
|
72
|
+
// We first need to convert the threshold value to base units
|
|
73
|
+
const thresholdAmount = sdkAmount.parse(threshold.toString(), 6);
|
|
74
|
+
// Capped dBps is minimum of dBps and threshold/amount
|
|
75
|
+
const cappedMax = sdkAmount.units(thresholdAmount) / amount;
|
|
76
|
+
const cappedDBps = dBps < cappedMax ? dBps : cappedMax;
|
|
77
|
+
referrerFee = (amount * cappedDBps) / 100000n;
|
|
78
|
+
referrerFeeDbps = cappedDBps;
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
referrerFee = (amount * dBps) / 100000n;
|
|
82
|
+
}
|
|
83
|
+
remainingAmount = amount - referrerFee;
|
|
71
84
|
}
|
|
72
|
-
return { referrerFee
|
|
85
|
+
return { referrerFee, remainingAmount, referrerFeeDbps };
|
|
73
86
|
}
|
|
74
87
|
export function sleep(ms) {
|
|
75
88
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
@@ -144,4 +157,18 @@ export async function getCircleV2FastBurnAllowance(network) {
|
|
|
144
157
|
const response = await axios.get(url);
|
|
145
158
|
return amount.units(amount.parse(response.data.allowance, 6));
|
|
146
159
|
}
|
|
160
|
+
export function getUsdcDestinationAddress(sourceToken, fromChain, toChain) {
|
|
161
|
+
// Ensure the source token is USDC
|
|
162
|
+
const sourceChainUsdcContract = circle.usdcContract.get(fromChain.network, fromChain.chain);
|
|
163
|
+
if (!(sourceChainUsdcContract &&
|
|
164
|
+
isSameToken(sourceToken, Wormhole.tokenId(fromChain.chain, sourceChainUsdcContract)))) {
|
|
165
|
+
return [];
|
|
166
|
+
}
|
|
167
|
+
// Get the destination chain's USDC contract
|
|
168
|
+
const { network, chain } = toChain;
|
|
169
|
+
const destChainUsdcContract = circle.usdcContract.get(network, chain);
|
|
170
|
+
if (!destChainUsdcContract)
|
|
171
|
+
return [];
|
|
172
|
+
return [Wormhole.chainAddress(chain, destChainUsdcContract)];
|
|
173
|
+
}
|
|
147
174
|
//# sourceMappingURL=utils.js.map
|
package/dist/esm/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EAEN,QAAQ,EAER,SAAS,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|