@wormhole-labs/cctp-executor-route 0.4.0 → 0.5.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/README.md +1 -1
- package/dist/cjs/aptos/executor.d.ts +1 -1
- package/dist/cjs/aptos/executor.d.ts.map +1 -1
- package/dist/cjs/aptos/executor.js +1 -1
- package/dist/cjs/aptos/executor.js.map +1 -1
- package/dist/cjs/consts.d.ts +21 -1
- package/dist/cjs/consts.d.ts.map +1 -1
- package/dist/cjs/consts.js +188 -5
- package/dist/cjs/consts.js.map +1 -1
- package/dist/cjs/evm/executor.d.ts +1 -1
- package/dist/cjs/evm/executor.d.ts.map +1 -1
- package/dist/cjs/evm/executor.js +1 -1
- package/dist/cjs/evm/executor.js.map +1 -1
- package/dist/cjs/evm/executorV2.d.ts +25 -0
- package/dist/cjs/evm/executorV2.d.ts.map +1 -0
- package/dist/cjs/evm/executorV2.js +100 -0
- package/dist/cjs/evm/executorV2.js.map +1 -0
- package/dist/cjs/evm/index.d.ts +1 -0
- package/dist/cjs/evm/index.d.ts.map +1 -1
- package/dist/cjs/evm/index.js +3 -0
- package/dist/cjs/evm/index.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -91
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +15 -334
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/layouts/circle.d.ts +161 -0
- package/dist/cjs/layouts/circle.d.ts.map +1 -0
- package/dist/cjs/layouts/circle.js +48 -0
- package/dist/cjs/layouts/circle.js.map +1 -0
- package/dist/cjs/layouts/index.d.ts +1 -1
- package/dist/cjs/layouts/index.d.ts.map +1 -1
- package/dist/cjs/layouts/index.js +1 -1
- package/dist/cjs/layouts/index.js.map +1 -1
- package/dist/cjs/routes/cctpV1.d.ts +93 -0
- package/dist/cjs/routes/cctpV1.d.ts.map +1 -0
- package/dist/cjs/routes/cctpV1.js +180 -0
- package/dist/cjs/routes/cctpV1.js.map +1 -0
- package/dist/cjs/routes/cctpV2Base.d.ts +58 -0
- package/dist/cjs/routes/cctpV2Base.d.ts.map +1 -0
- package/dist/cjs/routes/cctpV2Base.js +179 -0
- package/dist/cjs/routes/cctpV2Base.js.map +1 -0
- package/dist/cjs/routes/cctpV2Fast.d.ts +42 -0
- package/dist/cjs/routes/cctpV2Fast.d.ts.map +1 -0
- package/dist/cjs/routes/cctpV2Fast.js +127 -0
- package/dist/cjs/routes/cctpV2Fast.js.map +1 -0
- package/dist/cjs/routes/cctpV2Standard.d.ts +42 -0
- package/dist/cjs/routes/cctpV2Standard.d.ts.map +1 -0
- package/dist/cjs/routes/cctpV2Standard.js +116 -0
- package/dist/cjs/routes/cctpV2Standard.js.map +1 -0
- package/dist/cjs/routes/helpers.d.ts +12 -0
- package/dist/cjs/routes/helpers.d.ts.map +1 -0
- package/dist/cjs/routes/helpers.js +181 -0
- package/dist/cjs/routes/helpers.js.map +1 -0
- package/dist/cjs/routes/index.d.ts +5 -0
- package/dist/cjs/routes/index.d.ts.map +1 -0
- package/dist/cjs/routes/index.js +21 -0
- package/dist/cjs/routes/index.js.map +1 -0
- package/dist/cjs/sui/executor.d.ts +1 -1
- package/dist/cjs/sui/executor.d.ts.map +1 -1
- package/dist/cjs/svm/executor.d.ts +1 -1
- package/dist/cjs/svm/executor.d.ts.map +1 -1
- package/dist/cjs/svm/executor.js +1 -1
- package/dist/cjs/svm/executor.js.map +1 -1
- package/dist/cjs/types.d.ts +8 -1
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/cjs/utils.d.ts +23 -2
- package/dist/cjs/utils.d.ts.map +1 -1
- package/dist/cjs/utils.js +119 -7
- package/dist/cjs/utils.js.map +1 -1
- package/dist/esm/aptos/executor.d.ts +1 -1
- package/dist/esm/aptos/executor.d.ts.map +1 -1
- package/dist/esm/aptos/executor.js +2 -2
- package/dist/esm/aptos/executor.js.map +1 -1
- package/dist/esm/consts.d.ts +21 -1
- package/dist/esm/consts.d.ts.map +1 -1
- package/dist/esm/consts.js +181 -4
- package/dist/esm/consts.js.map +1 -1
- package/dist/esm/evm/executor.d.ts +1 -1
- package/dist/esm/evm/executor.d.ts.map +1 -1
- package/dist/esm/evm/executor.js +2 -2
- package/dist/esm/evm/executor.js.map +1 -1
- package/dist/esm/evm/executorV2.d.ts +25 -0
- package/dist/esm/evm/executorV2.d.ts.map +1 -0
- package/dist/esm/evm/executorV2.js +96 -0
- package/dist/esm/evm/executorV2.js.map +1 -0
- package/dist/esm/evm/index.d.ts +1 -0
- package/dist/esm/evm/index.d.ts.map +1 -1
- package/dist/esm/evm/index.js +3 -0
- package/dist/esm/evm/index.js.map +1 -1
- package/dist/esm/index.d.ts +1 -91
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -331
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/layouts/circle.d.ts +161 -0
- package/dist/esm/layouts/circle.d.ts.map +1 -0
- package/dist/esm/layouts/circle.js +43 -0
- package/dist/esm/layouts/circle.js.map +1 -0
- package/dist/esm/layouts/index.d.ts +1 -1
- package/dist/esm/layouts/index.d.ts.map +1 -1
- package/dist/esm/layouts/index.js +1 -1
- package/dist/esm/layouts/index.js.map +1 -1
- package/dist/esm/routes/cctpV1.d.ts +93 -0
- package/dist/esm/routes/cctpV1.d.ts.map +1 -0
- package/dist/esm/routes/cctpV1.js +175 -0
- package/dist/esm/routes/cctpV1.js.map +1 -0
- package/dist/esm/routes/cctpV2Base.d.ts +58 -0
- package/dist/esm/routes/cctpV2Base.d.ts.map +1 -0
- package/dist/esm/routes/cctpV2Base.js +175 -0
- package/dist/esm/routes/cctpV2Base.js.map +1 -0
- package/dist/esm/routes/cctpV2Fast.d.ts +42 -0
- package/dist/esm/routes/cctpV2Fast.d.ts.map +1 -0
- package/dist/esm/routes/cctpV2Fast.js +122 -0
- package/dist/esm/routes/cctpV2Fast.js.map +1 -0
- package/dist/esm/routes/cctpV2Standard.d.ts +42 -0
- package/dist/esm/routes/cctpV2Standard.d.ts.map +1 -0
- package/dist/esm/routes/cctpV2Standard.js +111 -0
- package/dist/esm/routes/cctpV2Standard.js.map +1 -0
- package/dist/esm/routes/helpers.d.ts +12 -0
- package/dist/esm/routes/helpers.d.ts.map +1 -0
- package/dist/esm/routes/helpers.js +177 -0
- package/dist/esm/routes/helpers.js.map +1 -0
- package/dist/esm/routes/index.d.ts +5 -0
- package/dist/esm/routes/index.d.ts.map +1 -0
- package/dist/esm/routes/index.js +5 -0
- package/dist/esm/routes/index.js.map +1 -0
- package/dist/esm/sui/executor.d.ts +1 -1
- package/dist/esm/sui/executor.d.ts.map +1 -1
- package/dist/esm/svm/executor.d.ts +1 -1
- package/dist/esm/svm/executor.d.ts.map +1 -1
- package/dist/esm/svm/executor.js +2 -2
- package/dist/esm/svm/executor.js.map +1 -1
- package/dist/esm/types.d.ts +8 -1
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/utils.d.ts +23 -2
- package/dist/esm/utils.d.ts.map +1 -1
- package/dist/esm/utils.js +115 -8
- 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/cjs/layouts/requestForExecution.d.ts +0 -18
- package/dist/cjs/layouts/requestForExecution.d.ts.map +0 -1
- package/dist/cjs/layouts/requestForExecution.js +0 -15
- package/dist/cjs/layouts/requestForExecution.js.map +0 -1
- package/dist/esm/layouts/requestForExecution.d.ts +0 -18
- package/dist/esm/layouts/requestForExecution.d.ts.map +0 -1
- package/dist/esm/layouts/requestForExecution.js +0 -12
- package/dist/esm/layouts/requestForExecution.js.map +0 -1
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## Transfer Example
|
|
4
4
|
|
|
5
|
-
This project includes a script for testing a USDC token transfer using the CCTPv1 Executor
|
|
5
|
+
This project includes a script for testing a USDC token transfer using the CCTPv1 or CCTPv2 Executor routes with a referrer fee. You can change the source and destination chains in the `examples/transfer.ts` file.
|
|
6
6
|
|
|
7
7
|
### Prerequisites
|
|
8
8
|
|
|
@@ -2,7 +2,7 @@ import { Aptos } from "@aptos-labs/ts-sdk";
|
|
|
2
2
|
import { type AccountAddress, type ChainAddress, type ChainsConfig, type Contracts, type Network, type Platform } from "@wormhole-foundation/sdk-connect";
|
|
3
3
|
import { AptosChains, AptosUnsignedTransaction } from "@wormhole-foundation/sdk-aptos";
|
|
4
4
|
import { CCTPExecutor } from "../types";
|
|
5
|
-
import { QuoteDetails } from "
|
|
5
|
+
import { QuoteDetails } from "../routes/cctpV1";
|
|
6
6
|
export declare class AptosCCTPExecutor<N extends Network, C extends AptosChains> implements CCTPExecutor<N, C> {
|
|
7
7
|
readonly network: N;
|
|
8
8
|
readonly chain: C;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/aptos/executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,EAIN,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,QAAQ,EACd,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAEL,WAAW,EAEX,wBAAwB,EACzB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/aptos/executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,EAIN,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,QAAQ,EACd,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAEL,WAAW,EAEX,wBAAwB,EACzB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,qBAAa,iBAAiB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,WAAW,CACrE,YAAW,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IAM3B,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,QAAQ,CAAC,QAAQ,EAAE,KAAK;IACxB,QAAQ,CAAC,SAAS,EAAE,SAAS;IAP/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;gBAGnB,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,KAAK,EACf,SAAS,EAAE,SAAS;WAkBlB,OAAO,CAAC,CAAC,SAAS,OAAO,EACpC,QAAQ,EAAE,KAAK,EACf,MAAM,EAAE,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC,GAChC,OAAO,CAAC,iBAAiB,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAWtC,QAAQ,CACb,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,SAAS,EAAE,YAAY,EACvB,OAAO,EAAE,YAAY,GACpB,cAAc,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IA0CjD,OAAO,CAAC,gBAAgB;CAazB"}
|
|
@@ -24,7 +24,7 @@ class AptosCCTPExecutor {
|
|
|
24
24
|
throw new Error(`No USDC contract configured for network=${this.network} chain=${this.chain}`);
|
|
25
25
|
}
|
|
26
26
|
this.usdcId = usdcId;
|
|
27
|
-
const shimContract = consts_1.
|
|
27
|
+
const shimContract = consts_1.shimContractsV1[network]?.[chain];
|
|
28
28
|
if (!shimContract)
|
|
29
29
|
throw new Error(`Shim contract for ${chain} not found`);
|
|
30
30
|
this.shimContract = shimContract;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/aptos/executor.ts"],"names":[],"mappings":";;;AAAA,+CAM4B;AAC5B,kEAS0C;AAC1C,8DAKwC;AAExC,
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/aptos/executor.ts"],"names":[],"mappings":";;;AAAA,+CAM4B;AAC5B,kEAS0C;AAC1C,8DAKwC;AAExC,sCAA4C;AAG5C,MAAa,iBAAiB;IAOjB;IACA;IACA;IACA;IAPF,MAAM,CAAS;IACf,YAAY,CAAS;IAE9B,YACW,OAAU,EACV,KAAQ,EACR,QAAe,EACf,SAAoB;QAHpB,YAAO,GAAP,OAAO,CAAG;QACV,UAAK,GAAL,KAAK,CAAG;QACR,aAAQ,GAAR,QAAQ,CAAO;QACf,cAAS,GAAT,SAAS,CAAW;QAE7B,IAAI,OAAO,KAAK,QAAQ;YACtB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAE1D,MAAM,MAAM,GAAG,oBAAM,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CACb,2CAA2C,IAAI,CAAC,OAAO,UAAU,IAAI,CAAC,KAAK,EAAE,CAC9E,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,MAAM,YAAY,GAAG,wBAAe,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,YAAY,CAAC,CAAC;QAC3E,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAO,CAClB,QAAe,EACf,MAAiC;QAEjC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,MAAM,yBAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAEpE,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAC;QAC3D,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO;YAC1B,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,CAAC,OAAO,OAAO,OAAO,EAAE,CAAC,CAAC;QAErE,OAAO,IAAI,iBAAiB,CAAC,OAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,CAAC,QAAQ,CACb,MAAyB,EACzB,SAAuB,EACvB,OAAqB;QAErB,MAAM,aAAa,GAAG,IAAI,wBAAY,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;QACxD,MAAM,aAAa,GAAG,uBAAmB,CAAC,IAAI,CAC5C,SAAS,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,YAAY,EAAE,CACtD,CAAC;QACF,MAAM,SAAS,GAAG,uBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAExD,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;QAE7D,MAAM,iBAAiB,GAAG,oBAAM,CAAC,aAAa,CAAC,GAAG,CAChD,IAAI,CAAC,OAAO,EACZ,SAAS,CAAC,KAAK,CACf,CAAC;QAEH,MAAM,UAAU,GAAG,aAAa,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,wBAAY,CAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CACpC,CAAC,MAAM,EAAE,CAAC;QACX,MAAM,iBAAiB,GAEnB;YACF,MAAM;YACN,iBAAiB;YACjB,aAAa,CAAC,QAAQ,EAAE;YACxB,SAAS,CAAC,QAAQ,EAAE;YACpB,OAAO,CAAC,aAAa;YACrB,IAAA,uBAAS,EAAC,SAAS,CAAC,KAAK,CAAC;YAC1B,UAAU;YACV,OAAO,CAAC,WAAW;YACnB,OAAO,CAAC,iBAAiB;YACzB,OAAO,CAAC,eAAe;YACvB,KAAK;SACN,CAAC;QAEF,MAAM,EAAE,GAAwC;YAC9C,QAAQ,EAAE,GAAG,IAAI,CAAC,YAAY,iDAAiD;YAC/E,iBAAiB;SAClB,CAAC;QAEF,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,4BAA4B,CAAC,CAAC;IAChE,CAAC;IAEO,gBAAgB,CACtB,KAA0C,EAC1C,WAAmB,EACnB,iBAA0B,KAAK;QAE/B,OAAO,IAAI,oCAAwB,CACjC,KAAK,EACL,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,KAAK,EACV,WAAW,EACX,cAAc,CACf,CAAC;IACJ,CAAC;CACF;AArGD,8CAqGC"}
|
package/dist/cjs/consts.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Chain, Network } from "@wormhole-foundation/sdk-connect";
|
|
2
2
|
export declare const apiBaseUrl: Partial<Record<Network, string>>;
|
|
3
|
-
export declare const
|
|
3
|
+
export declare const shimContractsV1: Partial<Record<Network, Partial<Record<Chain, string>>>>;
|
|
4
|
+
export declare const shimContractsV2: Partial<Record<Network, Partial<Record<Chain, string>>>>;
|
|
4
5
|
export type SuiExecutorIds = {
|
|
5
6
|
executorId: string;
|
|
6
7
|
executorRequestsId: string;
|
|
@@ -10,4 +11,23 @@ export declare const solanaExecutorId: Partial<Record<Network, string>>;
|
|
|
10
11
|
export declare const SOLANA_MSG_VALUE_BASE_FEE = 5001n;
|
|
11
12
|
export declare const gasLimits: Partial<Record<Network, Partial<Record<Chain, bigint>>>>;
|
|
12
13
|
export declare const referrers: Partial<Record<Network, Partial<Record<Chain, string>>>>;
|
|
14
|
+
export type CircleV2Contracts = {
|
|
15
|
+
tokenMessengerV2: string;
|
|
16
|
+
messageTransmitterV2: string;
|
|
17
|
+
};
|
|
18
|
+
export declare const circleV2Contracts: Partial<Record<Network, Partial<Record<Chain, CircleV2Contracts>>>>;
|
|
19
|
+
export declare const circleV1Domains: Partial<Record<Network, Partial<Record<Chain, number>>>>;
|
|
20
|
+
export declare const isCircleV1Chain: (network: Network, chain: Chain) => boolean;
|
|
21
|
+
export declare const getCircleV1Domain: (network: Network, chain: Chain) => number;
|
|
22
|
+
export declare const circleV2Domains: Partial<Record<Network, Partial<Record<Chain, number>>>>;
|
|
23
|
+
export declare const isCircleV2Chain: (network: Network, chain: Chain) => boolean;
|
|
24
|
+
export declare const getCircleV2Domain: (network: Network, chain: Chain) => number;
|
|
25
|
+
export declare const getCircleV2Chain: (network: Network, domain: number) => Chain;
|
|
26
|
+
export declare const circleV2Api: Partial<Record<Network, string>>;
|
|
27
|
+
export declare enum CircleV2FinalityThreshold {
|
|
28
|
+
CONFIRMED = 1000,
|
|
29
|
+
FINALIZED = 2000
|
|
30
|
+
}
|
|
31
|
+
export declare const fastTransferETAs: Partial<Record<Network, Partial<Record<Chain, number>>>>;
|
|
32
|
+
export declare const isCircleV2FastChain: (network: Network, chain: Chain) => boolean;
|
|
13
33
|
//# sourceMappingURL=consts.d.ts.map
|
package/dist/cjs/consts.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../src/consts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAElE,eAAO,MAAM,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAGvD,CAAC;AAGF,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../src/consts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAElE,eAAO,MAAM,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAGvD,CAAC;AAGF,eAAO,MAAM,eAAe,EAAE,OAAO,CACnC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAoBhD,CAAC;AAGF,eAAO,MAAM,eAAe,EAAE,OAAO,CACnC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAehD,CAAC;AAGF,MAAM,MAAM,cAAc,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE,CAAC;AAChF,eAAO,MAAM,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAanE,CAAC;AAGF,eAAO,MAAM,gBAAgB,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAG7D,CAAC;AAGF,eAAO,MAAM,yBAAyB,QAAS,CAAC;AAKhD,eAAO,MAAM,SAAS,EAAE,OAAO,CAC7B,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CA2BhD,CAAC;AAGF,eAAO,MAAM,SAAS,EAAE,OAAO,CAC7B,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAwBhD,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,OAAO,CACrC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAsD3D,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,OAAO,CACnC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CA0BhD,CAAC;AAEF,eAAO,MAAM,eAAe,YAAa,OAAO,SAAS,KAAK,KAAG,OAEhE,CAAC;AAEF,eAAO,MAAM,iBAAiB,YAAa,OAAO,SAAS,KAAK,KAAG,MAQlE,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,OAAO,CACnC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAkBhD,CAAC;AAEF,eAAO,MAAM,eAAe,YAAa,OAAO,SAAS,KAAK,KAAG,OAEhE,CAAC;AAEF,eAAO,MAAM,iBAAiB,YAAa,OAAO,SAAS,KAAK,KAAG,MAQlE,CAAC;AAEF,eAAO,MAAM,gBAAgB,YAAa,OAAO,UAAU,MAAM,KAAG,KAUnE,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAGxD,CAAC;AAGF,oBAAY,yBAAyB;IACnC,SAAS,OAAO;IAChB,SAAS,OAAO;CACjB;AAGD,eAAO,MAAM,gBAAgB,EAAE,OAAO,CACpC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAehD,CAAC;AAEF,eAAO,MAAM,mBAAmB,YACrB,OAAO,SACT,KAAK,KACX,OAEF,CAAC"}
|
package/dist/cjs/consts.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.referrers = exports.gasLimits = exports.SOLANA_MSG_VALUE_BASE_FEE = exports.solanaExecutorId = exports.suiExecutorIds = exports.
|
|
3
|
+
exports.isCircleV2FastChain = exports.fastTransferETAs = exports.CircleV2FinalityThreshold = exports.circleV2Api = exports.getCircleV2Chain = exports.getCircleV2Domain = exports.isCircleV2Chain = exports.circleV2Domains = exports.getCircleV1Domain = exports.isCircleV1Chain = exports.circleV1Domains = exports.circleV2Contracts = exports.referrers = exports.gasLimits = exports.SOLANA_MSG_VALUE_BASE_FEE = exports.solanaExecutorId = exports.suiExecutorIds = exports.shimContractsV2 = exports.shimContractsV1 = exports.apiBaseUrl = void 0;
|
|
4
4
|
exports.apiBaseUrl = {
|
|
5
5
|
Testnet: "https://executor-testnet.labsapis.com",
|
|
6
6
|
Mainnet: "https://executor.labsapis.com",
|
|
7
7
|
};
|
|
8
|
-
// Shim Contract Addresses (
|
|
9
|
-
exports.
|
|
8
|
+
// CCTPv1 Shim Contract Addresses (CCTPv1WithExecutor.sol)
|
|
9
|
+
exports.shimContractsV1 = {
|
|
10
10
|
Testnet: {
|
|
11
11
|
Aptos: "0x14a12d1fd6ef371b70c2113155534ec152ec7f779e281b54866c796c9a4a58d3",
|
|
12
12
|
Avalanche: "0x2cfEC91B50f657Cc86Ec693542527ac3e03bF742",
|
|
@@ -26,6 +26,22 @@ exports.shimContracts = {
|
|
|
26
26
|
Solana: "CXGRA5SCc8jxDbaQPZrmmZNu2JV34DP7gFW4m31uC1zs",
|
|
27
27
|
},
|
|
28
28
|
};
|
|
29
|
+
// CCTPv2 Shim Contract Addresses (CCTPv2WithExecutor.sol)
|
|
30
|
+
exports.shimContractsV2 = {
|
|
31
|
+
Testnet: {
|
|
32
|
+
Avalanche: "0x4058F0C3924eDaB19c15597C438968ed49C1a213",
|
|
33
|
+
BaseSepolia: "0xC400FcC0e92d3406747FBb6f513D3aa8B038fcE9",
|
|
34
|
+
Sepolia: "0x0F18DD26D0B41fb1eaa9cF34D1Ec6022aA69a8e2",
|
|
35
|
+
},
|
|
36
|
+
Mainnet: {
|
|
37
|
+
Arbitrum: "0x8442d68524217601ed126f6859694E4B0C7c66A1",
|
|
38
|
+
Avalanche: "0x3952914628650Ca510404872D84DfF10A844C5B5",
|
|
39
|
+
Base: "0xbd8d42f40a11b37bD1b3770D754f9629F7cd5679",
|
|
40
|
+
Ethereum: "0x2cCf230467FE7387674BAa657747F0B5485c7fEC",
|
|
41
|
+
Linea: "0xc48c126468BE919068dE1983F00F65af759a4E87",
|
|
42
|
+
Sonic: "0xc39BF082ec91D9bC385F956D24a8D66C0c26223d",
|
|
43
|
+
},
|
|
44
|
+
};
|
|
29
45
|
exports.suiExecutorIds = {
|
|
30
46
|
Testnet: {
|
|
31
47
|
executorId: "0x4000cfe2955d8355b3d3cf186f854fea9f787a457257056926fde1ec977670eb",
|
|
@@ -49,10 +65,13 @@ exports.SOLANA_MSG_VALUE_BASE_FEE = 5001n;
|
|
|
49
65
|
exports.gasLimits = {
|
|
50
66
|
Testnet: {
|
|
51
67
|
Aptos: 5000n,
|
|
68
|
+
ArbitrumSepolia: 500000n,
|
|
52
69
|
Avalanche: 200000n,
|
|
53
70
|
BaseSepolia: 200000n,
|
|
71
|
+
Linea: 250000n,
|
|
54
72
|
Sepolia: 200000n,
|
|
55
73
|
Solana: 250000n,
|
|
74
|
+
Sonic: 250000n,
|
|
56
75
|
Sui: 8000000n,
|
|
57
76
|
},
|
|
58
77
|
Mainnet: {
|
|
@@ -61,10 +80,12 @@ exports.gasLimits = {
|
|
|
61
80
|
Avalanche: 250000n,
|
|
62
81
|
Base: 250000n,
|
|
63
82
|
Ethereum: 250000n,
|
|
83
|
+
Linea: 250000n,
|
|
64
84
|
Optimism: 250000n,
|
|
65
85
|
Polygon: 250000n,
|
|
66
86
|
Unichain: 250000n,
|
|
67
87
|
Solana: 250000n,
|
|
88
|
+
Sonic: 250000n,
|
|
68
89
|
Sui: 8000000n,
|
|
69
90
|
},
|
|
70
91
|
};
|
|
@@ -80,15 +101,177 @@ exports.referrers = {
|
|
|
80
101
|
},
|
|
81
102
|
Mainnet: {
|
|
82
103
|
Aptos: "0x1f177e724a874ab6267172a3049291c480fc665883e6a3ac95d0909492c09dc8",
|
|
83
|
-
Solana: "JB3rmygUVuVZzgkxvMdV8mSKLJeQAkSXEK284Dqsziah",
|
|
84
|
-
Sui: "0xbfa1240e48c622d97881473953be730091161b7931d89bd6afe667841cf69ef4",
|
|
85
104
|
Arbitrum: "0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",
|
|
86
105
|
Avalanche: "0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",
|
|
87
106
|
Base: "0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",
|
|
88
107
|
Ethereum: "0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",
|
|
89
108
|
Optimism: "0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",
|
|
109
|
+
Linea: "0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",
|
|
90
110
|
Polygon: "0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",
|
|
91
111
|
Unichain: "0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",
|
|
112
|
+
Solana: "JB3rmygUVuVZzgkxvMdV8mSKLJeQAkSXEK284Dqsziah",
|
|
113
|
+
Sonic: "0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",
|
|
114
|
+
Sui: "0xbfa1240e48c622d97881473953be730091161b7931d89bd6afe667841cf69ef4",
|
|
115
|
+
},
|
|
116
|
+
};
|
|
117
|
+
exports.circleV2Contracts = {
|
|
118
|
+
Testnet: {
|
|
119
|
+
ArbitrumSepolia: {
|
|
120
|
+
tokenMessengerV2: "0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",
|
|
121
|
+
messageTransmitterV2: "0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",
|
|
122
|
+
},
|
|
123
|
+
Avalanche: {
|
|
124
|
+
tokenMessengerV2: "0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",
|
|
125
|
+
messageTransmitterV2: "0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",
|
|
126
|
+
},
|
|
127
|
+
BaseSepolia: {
|
|
128
|
+
tokenMessengerV2: "0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",
|
|
129
|
+
messageTransmitterV2: "0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",
|
|
130
|
+
},
|
|
131
|
+
Linea: {
|
|
132
|
+
tokenMessengerV2: "0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",
|
|
133
|
+
messageTransmitterV2: "0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",
|
|
134
|
+
},
|
|
135
|
+
Sepolia: {
|
|
136
|
+
tokenMessengerV2: "0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",
|
|
137
|
+
messageTransmitterV2: "0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",
|
|
138
|
+
},
|
|
139
|
+
Sonic: {
|
|
140
|
+
tokenMessengerV2: "0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",
|
|
141
|
+
messageTransmitterV2: "0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",
|
|
142
|
+
},
|
|
143
|
+
},
|
|
144
|
+
Mainnet: {
|
|
145
|
+
Arbitrum: {
|
|
146
|
+
tokenMessengerV2: "0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",
|
|
147
|
+
messageTransmitterV2: "0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",
|
|
148
|
+
},
|
|
149
|
+
Avalanche: {
|
|
150
|
+
tokenMessengerV2: "0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",
|
|
151
|
+
messageTransmitterV2: "0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",
|
|
152
|
+
},
|
|
153
|
+
Base: {
|
|
154
|
+
tokenMessengerV2: "0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",
|
|
155
|
+
messageTransmitterV2: "0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",
|
|
156
|
+
},
|
|
157
|
+
Ethereum: {
|
|
158
|
+
tokenMessengerV2: "0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",
|
|
159
|
+
messageTransmitterV2: "0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",
|
|
160
|
+
},
|
|
161
|
+
Linea: {
|
|
162
|
+
tokenMessengerV2: "0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",
|
|
163
|
+
messageTransmitterV2: "0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",
|
|
164
|
+
},
|
|
165
|
+
Sonic: {
|
|
166
|
+
tokenMessengerV2: "0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",
|
|
167
|
+
messageTransmitterV2: "0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",
|
|
168
|
+
},
|
|
169
|
+
},
|
|
170
|
+
};
|
|
171
|
+
exports.circleV1Domains = {
|
|
172
|
+
Testnet: {
|
|
173
|
+
Sepolia: 0,
|
|
174
|
+
Avalanche: 1,
|
|
175
|
+
OptimismSepolia: 2,
|
|
176
|
+
ArbitrumSepolia: 3,
|
|
177
|
+
Solana: 5,
|
|
178
|
+
BaseSepolia: 6,
|
|
179
|
+
Polygon: 7,
|
|
180
|
+
Sui: 8,
|
|
181
|
+
Aptos: 9,
|
|
182
|
+
Unichain: 10,
|
|
183
|
+
},
|
|
184
|
+
Mainnet: {
|
|
185
|
+
Ethereum: 0,
|
|
186
|
+
Avalanche: 1,
|
|
187
|
+
Optimism: 2,
|
|
188
|
+
Arbitrum: 3,
|
|
189
|
+
Solana: 5,
|
|
190
|
+
Base: 6,
|
|
191
|
+
Polygon: 7,
|
|
192
|
+
Sui: 8,
|
|
193
|
+
Aptos: 9,
|
|
194
|
+
Unichain: 10,
|
|
195
|
+
},
|
|
196
|
+
};
|
|
197
|
+
const isCircleV1Chain = (network, chain) => {
|
|
198
|
+
return exports.circleV1Domains[network]?.[chain] !== undefined;
|
|
199
|
+
};
|
|
200
|
+
exports.isCircleV1Chain = isCircleV1Chain;
|
|
201
|
+
const getCircleV1Domain = (network, chain) => {
|
|
202
|
+
const domain = exports.circleV1Domains[network]?.[chain];
|
|
203
|
+
if (domain === undefined) {
|
|
204
|
+
throw new Error(`CircleV1 domain not found for network ${network} and chain ${chain}`);
|
|
205
|
+
}
|
|
206
|
+
return domain;
|
|
207
|
+
};
|
|
208
|
+
exports.getCircleV1Domain = getCircleV1Domain;
|
|
209
|
+
exports.circleV2Domains = {
|
|
210
|
+
Testnet: {
|
|
211
|
+
Sepolia: 0,
|
|
212
|
+
Avalanche: 1,
|
|
213
|
+
ArbitrumSepolia: 3,
|
|
214
|
+
BaseSepolia: 6,
|
|
215
|
+
Linea: 11,
|
|
216
|
+
Sonic: 13,
|
|
217
|
+
},
|
|
218
|
+
Mainnet: {
|
|
219
|
+
Ethereum: 0,
|
|
220
|
+
Avalanche: 1,
|
|
221
|
+
Arbitrum: 3,
|
|
222
|
+
Base: 6,
|
|
223
|
+
Linea: 11,
|
|
224
|
+
Sonic: 13,
|
|
225
|
+
},
|
|
226
|
+
};
|
|
227
|
+
const isCircleV2Chain = (network, chain) => {
|
|
228
|
+
return exports.circleV2Domains[network]?.[chain] !== undefined;
|
|
229
|
+
};
|
|
230
|
+
exports.isCircleV2Chain = isCircleV2Chain;
|
|
231
|
+
const getCircleV2Domain = (network, chain) => {
|
|
232
|
+
const domain = exports.circleV2Domains[network]?.[chain];
|
|
233
|
+
if (domain === undefined) {
|
|
234
|
+
throw new Error(`CircleV2 domain not found for network ${network} and chain ${chain}`);
|
|
235
|
+
}
|
|
236
|
+
return domain;
|
|
237
|
+
};
|
|
238
|
+
exports.getCircleV2Domain = getCircleV2Domain;
|
|
239
|
+
const getCircleV2Chain = (network, domain) => {
|
|
240
|
+
const chain = Object.entries(exports.circleV2Domains[network] ?? {}).find(([, d]) => d === domain)?.[0];
|
|
241
|
+
if (chain === undefined) {
|
|
242
|
+
throw new Error(`CircleV2 chain not found for network ${network} and domain ${domain}`);
|
|
243
|
+
}
|
|
244
|
+
return chain;
|
|
245
|
+
};
|
|
246
|
+
exports.getCircleV2Chain = getCircleV2Chain;
|
|
247
|
+
exports.circleV2Api = {
|
|
248
|
+
Testnet: "https://iris-api-sandbox.circle.com/v2",
|
|
249
|
+
Mainnet: "https://iris-api.circle.com/v2",
|
|
250
|
+
};
|
|
251
|
+
// https://github.com/circlefin/evm-cctp-contracts/blob/master/src/v2/FinalityThresholds.sol
|
|
252
|
+
var CircleV2FinalityThreshold;
|
|
253
|
+
(function (CircleV2FinalityThreshold) {
|
|
254
|
+
CircleV2FinalityThreshold[CircleV2FinalityThreshold["CONFIRMED"] = 1000] = "CONFIRMED";
|
|
255
|
+
CircleV2FinalityThreshold[CircleV2FinalityThreshold["FINALIZED"] = 2000] = "FINALIZED";
|
|
256
|
+
})(CircleV2FinalityThreshold || (exports.CircleV2FinalityThreshold = CircleV2FinalityThreshold = {}));
|
|
257
|
+
// https://developers.circle.com/stablecoins/required-block-confirmations
|
|
258
|
+
exports.fastTransferETAs = {
|
|
259
|
+
// milliseconds
|
|
260
|
+
Testnet: {
|
|
261
|
+
ArbitrumSepolia: 8_000,
|
|
262
|
+
BaseSepolia: 8_000,
|
|
263
|
+
Sepolia: 20_000,
|
|
264
|
+
Linea: 8_000,
|
|
265
|
+
},
|
|
266
|
+
Mainnet: {
|
|
267
|
+
Arbitrum: 8_000,
|
|
268
|
+
Base: 8_000,
|
|
269
|
+
Ethereum: 20_000,
|
|
270
|
+
Linea: 8_000,
|
|
92
271
|
},
|
|
93
272
|
};
|
|
273
|
+
const isCircleV2FastChain = (network, chain) => {
|
|
274
|
+
return exports.fastTransferETAs[network]?.[chain] !== undefined;
|
|
275
|
+
};
|
|
276
|
+
exports.isCircleV2FastChain = isCircleV2FastChain;
|
|
94
277
|
//# sourceMappingURL=consts.js.map
|
package/dist/cjs/consts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/consts.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GAAqC;IAC1D,OAAO,EAAE,uCAAuC;IAChD,OAAO,EAAE,+BAA+B;CACzC,CAAC;AAEF,
|
|
1
|
+
{"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/consts.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import type { EvmChains } from "@wormhole-foundation/sdk-evm";
|
|
|
3
3
|
import { EvmUnsignedTransaction } from "@wormhole-foundation/sdk-evm";
|
|
4
4
|
import type { Provider } from "ethers";
|
|
5
5
|
import { CCTPExecutor } from "../types";
|
|
6
|
-
import { QuoteDetails } from "
|
|
6
|
+
import { QuoteDetails } from "../routes/cctpV1";
|
|
7
7
|
export declare class EvmCCTPExecutor<N extends Network, C extends EvmChains> implements CCTPExecutor<N, C> {
|
|
8
8
|
readonly network: N;
|
|
9
9
|
readonly chain: C;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/evm/executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,OAAO,EACP,QAAQ,EACT,MAAM,kCAAkC,CAAC;AAO1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAGL,sBAAsB,EAGvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,QAAQ,EAAsB,MAAM,QAAQ,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/evm/executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,OAAO,EACP,QAAQ,EACT,MAAM,kCAAkC,CAAC;AAO1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAGL,sBAAsB,EAGvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,QAAQ,EAAsB,MAAM,QAAQ,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,qBAAa,eAAe,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,SAAS,CACjE,YAAW,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IAM3B,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,QAAQ,CAAC,QAAQ,EAAE,QAAQ;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS;IAP/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;gBAGnB,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS;WAelB,OAAO,CAAC,CAAC,SAAS,OAAO,EACpC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC,GAChC,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAQlC,QAAQ,CACb,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,SAAS,EAAE,YAAY,EACvB,OAAO,EAAE,YAAY,GACpB,cAAc,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IA+D/C,OAAO,CAAC,gBAAgB;CAazB"}
|
package/dist/cjs/evm/executor.js
CHANGED
|
@@ -20,7 +20,7 @@ class EvmCCTPExecutor {
|
|
|
20
20
|
if (network === "Devnet")
|
|
21
21
|
throw new Error("CCTPExecutor not supported on Devnet");
|
|
22
22
|
this.chainId = sdk_connect_1.nativeChainIds.networkChainToNativeChainId.get(network, chain);
|
|
23
|
-
const shimContract = consts_1.
|
|
23
|
+
const shimContract = consts_1.shimContractsV1[network]?.[chain];
|
|
24
24
|
if (!shimContract)
|
|
25
25
|
throw new Error(`Shim contract for ${chain} not found`);
|
|
26
26
|
this.shimContract = shimContract;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/evm/executor.ts"],"names":[],"mappings":";;;AAQA,kEAI0C;AAG1C,0DAMsC;AAEtC,mCAAkC;AAElC,
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/evm/executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { AccountAddress, ChainAddress, ChainsConfig, Contracts, Network, Platform } from "@wormhole-foundation/sdk-connect";
|
|
2
|
+
import type { EvmChains } from "@wormhole-foundation/sdk-evm";
|
|
3
|
+
import { EvmUnsignedTransaction } from "@wormhole-foundation/sdk-evm";
|
|
4
|
+
import type { Provider } from "ethers";
|
|
5
|
+
import { CCTPv2Executor } from "../types";
|
|
6
|
+
import { CircleV2Message } from "../layouts";
|
|
7
|
+
import { CCTPv2QuoteDetails } from "../routes/cctpV2Base";
|
|
8
|
+
export declare class EvmCCTPv2Executor<N extends Network, C extends EvmChains> implements CCTPv2Executor<N, C> {
|
|
9
|
+
readonly network: N;
|
|
10
|
+
readonly chain: C;
|
|
11
|
+
readonly provider: Provider;
|
|
12
|
+
readonly contracts: Contracts;
|
|
13
|
+
readonly chainId: bigint;
|
|
14
|
+
readonly shimContract: string;
|
|
15
|
+
readonly messageTransmitter: string;
|
|
16
|
+
readonly usdcContract: string;
|
|
17
|
+
constructor(network: N, chain: C, provider: Provider, contracts: Contracts);
|
|
18
|
+
static fromRpc<N extends Network>(provider: Provider, config: ChainsConfig<N, Platform>): Promise<EvmCCTPv2Executor<N, EvmChains>>;
|
|
19
|
+
transfer(sender: AccountAddress<C>, recipient: ChainAddress, details: CCTPv2QuoteDetails): AsyncGenerator<EvmUnsignedTransaction<N, C>>;
|
|
20
|
+
isTransferCompleted(message: CircleV2Message): Promise<boolean>;
|
|
21
|
+
redeem(sender: AccountAddress<C>, message: CircleV2Message, attestation: string): AsyncGenerator<EvmUnsignedTransaction<N, C>>;
|
|
22
|
+
getCurrentBlock(): Promise<bigint>;
|
|
23
|
+
private createUnsignedTx;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=executorV2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executorV2.d.ts","sourceRoot":"","sources":["../../../src/evm/executorV2.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,OAAO,EACP,QAAQ,EACT,MAAM,kCAAkC,CAAC;AAQ1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAGL,sBAAsB,EAGvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,QAAQ,EAAsB,MAAM,QAAQ,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAM1C,OAAO,EAAE,eAAe,EAA4B,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,qBAAa,iBAAiB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,SAAS,CACnE,YAAW,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;IAQ7B,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,QAAQ,CAAC,QAAQ,EAAE,QAAQ;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS;IAT/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;gBAGnB,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS;WAyBlB,OAAO,CAAC,CAAC,SAAS,OAAO,EACpC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC,GAChC,OAAO,CAAC,iBAAiB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAQpC,QAAQ,CACb,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,SAAS,EAAE,YAAY,EACvB,OAAO,EAAE,kBAAkB,GAC1B,cAAc,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAwEzC,mBAAmB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAc9D,MAAM,CACX,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,MAAM,GAClB,cAAc,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAsBzC,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAIxC,OAAO,CAAC,gBAAgB;CAazB"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EvmCCTPv2Executor = void 0;
|
|
4
|
+
const sdk_connect_1 = require("@wormhole-foundation/sdk-connect");
|
|
5
|
+
const sdk_evm_1 = require("@wormhole-foundation/sdk-evm");
|
|
6
|
+
const ethers_1 = require("ethers");
|
|
7
|
+
const consts_1 = require("../consts");
|
|
8
|
+
const layouts_1 = require("../layouts");
|
|
9
|
+
class EvmCCTPv2Executor {
|
|
10
|
+
network;
|
|
11
|
+
chain;
|
|
12
|
+
provider;
|
|
13
|
+
contracts;
|
|
14
|
+
chainId;
|
|
15
|
+
shimContract;
|
|
16
|
+
messageTransmitter;
|
|
17
|
+
usdcContract;
|
|
18
|
+
constructor(network, chain, provider, contracts) {
|
|
19
|
+
this.network = network;
|
|
20
|
+
this.chain = chain;
|
|
21
|
+
this.provider = provider;
|
|
22
|
+
this.contracts = contracts;
|
|
23
|
+
if (network === "Devnet")
|
|
24
|
+
throw new Error("CCTPv2Executor not supported on Devnet");
|
|
25
|
+
this.chainId = sdk_connect_1.nativeChainIds.networkChainToNativeChainId.get(network, chain);
|
|
26
|
+
const shimContract = consts_1.shimContractsV2[network]?.[chain];
|
|
27
|
+
if (!shimContract)
|
|
28
|
+
throw new Error(`Shim contract for ${chain} not found`);
|
|
29
|
+
this.shimContract = shimContract;
|
|
30
|
+
const messageTransmitter = consts_1.circleV2Contracts[network]?.[chain]?.messageTransmitterV2;
|
|
31
|
+
if (!messageTransmitter)
|
|
32
|
+
throw new Error(`MessageTransmitter contract for ${chain} not found`);
|
|
33
|
+
this.messageTransmitter = messageTransmitter;
|
|
34
|
+
const usdcContract = sdk_connect_1.circle.usdcContract.get(network, chain);
|
|
35
|
+
if (!usdcContract)
|
|
36
|
+
throw new Error(`USDC contract for ${chain} not found`);
|
|
37
|
+
this.usdcContract = usdcContract;
|
|
38
|
+
}
|
|
39
|
+
static async fromRpc(provider, config) {
|
|
40
|
+
const [network, chain] = await sdk_evm_1.EvmPlatform.chainFromRpc(provider);
|
|
41
|
+
const conf = config[chain];
|
|
42
|
+
if (conf.network !== network)
|
|
43
|
+
throw new Error(`Network mismatch: ${conf.network} != ${network}`);
|
|
44
|
+
return new EvmCCTPv2Executor(network, chain, provider, conf.contracts);
|
|
45
|
+
}
|
|
46
|
+
async *transfer(sender, recipient, details) {
|
|
47
|
+
const senderAddress = new sdk_evm_1.EvmAddress(sender).toString();
|
|
48
|
+
const recipientAddress = recipient.address
|
|
49
|
+
.toUniversalAddress()
|
|
50
|
+
.toUint8Array();
|
|
51
|
+
const amount = details.remainingAmount + details.referrerFee;
|
|
52
|
+
const tokenContract = sdk_evm_1.EvmPlatform.getTokenImplementation(this.provider, this.usdcContract);
|
|
53
|
+
const allowance = await tokenContract.allowance(senderAddress, this.shimContract);
|
|
54
|
+
if (allowance < amount) {
|
|
55
|
+
const txReq = await tokenContract.approve.populateTransaction(this.shimContract, amount);
|
|
56
|
+
yield this.createUnsignedTx((0, sdk_evm_1.addFrom)(txReq, senderAddress), "ERC20.approve of EvmCCTPv2Executor", false);
|
|
57
|
+
}
|
|
58
|
+
// TODO: type safety. typechain brings in so much boilerplate code and is soft deprecated. use viem?
|
|
59
|
+
const shimAbi = [
|
|
60
|
+
"function depositForBurn(uint256 amount, uint16 destinationChain, uint32 destinationDomain, bytes32 mintRecipient, address burnToken, bytes32 destinationCaller, uint256 maxFee, uint32 minFinalityThreshold, (address refundAddress, bytes signedQuote, bytes instructions) executorArgs, (uint16 dbps, address payee) feeArgs) external payable returns (uint64 nonce)",
|
|
61
|
+
];
|
|
62
|
+
// If equal to bytes32(0), any address can call receiveMessage() on destination domain.
|
|
63
|
+
const destinationCaller = new Uint8Array(32);
|
|
64
|
+
const shim = new ethers_1.Contract(this.shimContract, shimAbi, this.provider);
|
|
65
|
+
const destinationCircleDomain = (0, consts_1.getCircleV2Domain)(this.network, recipient.chain);
|
|
66
|
+
const txReq = await shim.getFunction("depositForBurn").populateTransaction(amount, (0, sdk_connect_1.toChainId)(recipient.chain), destinationCircleDomain, recipientAddress, this.usdcContract, destinationCaller, details.fastTransferMaxFee, details.minFinalityThreshold, {
|
|
67
|
+
refundAddress: senderAddress,
|
|
68
|
+
signedQuote: details.signedQuote,
|
|
69
|
+
instructions: details.relayInstructions,
|
|
70
|
+
}, {
|
|
71
|
+
dbps: details.referrerFeeDbps,
|
|
72
|
+
payee: details.referrer.address.toString(),
|
|
73
|
+
});
|
|
74
|
+
txReq.value = details.estimatedCost;
|
|
75
|
+
yield this.createUnsignedTx((0, sdk_evm_1.addFrom)(txReq, senderAddress), "EvmCCTPv2Executor.depositForBurn");
|
|
76
|
+
}
|
|
77
|
+
async isTransferCompleted(message) {
|
|
78
|
+
const contract = new ethers_1.Contract(this.messageTransmitter, ["function usedNonces(bytes32) public view returns (uint256)"], this.provider);
|
|
79
|
+
const result = await contract
|
|
80
|
+
.getFunction("usedNonces")
|
|
81
|
+
.staticCall(message.nonce);
|
|
82
|
+
return result === 1n;
|
|
83
|
+
}
|
|
84
|
+
async *redeem(sender, message, attestation) {
|
|
85
|
+
const senderAddr = new sdk_evm_1.EvmAddress(sender).toString();
|
|
86
|
+
const contract = new ethers_1.Contract(this.messageTransmitter, ["function receiveMessage(bytes message, bytes attestation)"], this.provider);
|
|
87
|
+
const txReq = await contract
|
|
88
|
+
.getFunction("receiveMessage")
|
|
89
|
+
.populateTransaction((0, layouts_1.serializeCircleV2Message)(message), sdk_connect_1.encoding.hex.decode(attestation));
|
|
90
|
+
yield this.createUnsignedTx((0, sdk_evm_1.addFrom)(txReq, senderAddr), "MessageTransmitterV2.receiveMessage");
|
|
91
|
+
}
|
|
92
|
+
async getCurrentBlock() {
|
|
93
|
+
return BigInt(await this.provider.getBlockNumber());
|
|
94
|
+
}
|
|
95
|
+
createUnsignedTx(txReq, description, parallelizable = false) {
|
|
96
|
+
return new sdk_evm_1.EvmUnsignedTransaction((0, sdk_evm_1.addChainId)(txReq, this.chainId), this.network, this.chain, description, parallelizable);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
exports.EvmCCTPv2Executor = EvmCCTPv2Executor;
|
|
100
|
+
//# sourceMappingURL=executorV2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executorV2.js","sourceRoot":"","sources":["../../../src/evm/executorV2.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/evm/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/evm/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/evm/index.ts"],"names":[],"mappings":"AAKA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
|
package/dist/cjs/evm/index.js
CHANGED
|
@@ -17,6 +17,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
const sdk_definitions_1 = require("@wormhole-foundation/sdk-definitions");
|
|
18
18
|
const sdk_evm_1 = require("@wormhole-foundation/sdk-evm");
|
|
19
19
|
const executor_1 = require("./executor");
|
|
20
|
+
const executorV2_1 = require("./executorV2");
|
|
20
21
|
__exportStar(require("./executor"), exports);
|
|
22
|
+
__exportStar(require("./executorV2"), exports);
|
|
21
23
|
(0, sdk_definitions_1.registerProtocol)(sdk_evm_1._platform, "CCTPExecutor", executor_1.EvmCCTPExecutor);
|
|
24
|
+
(0, sdk_definitions_1.registerProtocol)(sdk_evm_1._platform, "CCTPv2Executor", executorV2_1.EvmCCTPv2Executor);
|
|
22
25
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/evm/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0EAAwE;AACxE,0DAAyD;AACzD,yCAA6C;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/evm/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0EAAwE;AACxE,0DAAyD;AACzD,yCAA6C;AAC7C,6CAAiD;AAEjD,6CAA2B;AAC3B,+CAA6B;AAE7B,IAAA,kCAAgB,EAAC,mBAAS,EAAE,cAAc,EAAE,0BAAe,CAAC,CAAC;AAC7D,IAAA,kCAAgB,EAAC,mBAAS,EAAE,gBAAgB,EAAE,8BAAiB,CAAC,CAAC"}
|