@wormhole-foundation/wormhole-connect 2.5.0-beta.0-development → 2.5.0-beta.1-development
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/assets/{aptos-DvAOSqnD.js → aptos-Cepohe0c.js} +1 -1
- package/dist/assets/{aptos-t5JANz4b.js → aptos-DLxgkT5W.js} +3 -3
- package/dist/assets/{blake2b-CzqSqyTv.js → blake2b-BwI-z5NJ.js} +1 -1
- package/dist/assets/{ccip-4EBcfi6P.js → ccip-Bs93R44a.js} +1 -1
- package/dist/assets/{chunk-IMTC3J2M-Cms0K4gx.js → chunk-IMTC3J2M-CWE1FuDc.js} +1 -1
- package/dist/assets/{evm-8e-eySdo.js → evm-CuAzYJaD.js} +2 -2
- package/dist/assets/{evm-CYjbe4kH.js → evm-CxlqE7UV.js} +4 -4
- package/dist/assets/index-4BxLiF2M.js +1 -0
- package/dist/assets/{index-BcX-2q-J.js → index-4bNkfrlF.js} +1 -1
- package/dist/assets/{index-BKj7Inys.js → index-55oWJrMY.js} +1 -1
- package/dist/assets/{index-Ced_GF9G.js → index-6z4IDTS8.js} +1 -1
- package/dist/assets/{index-Dl17aI3S.js → index-8LfOenBd.js} +1 -1
- package/dist/assets/{index-DALVDBZq.js → index-BP8gdgNH.js} +1 -1
- package/dist/assets/{index-CSHmWPOV.js → index-C1f05Vbe.js} +1 -1
- package/dist/assets/{index-CwGBYrGm.js → index-CR4K0-mn.js} +1 -1
- package/dist/assets/index-CR_EuCZh.js +1 -0
- package/dist/assets/{index-CqA1lXp5.js → index-CZTnhsmR.js} +1 -1
- package/dist/assets/{index-C0rvraea.js → index-Cc4sWidw.js} +1 -1
- package/dist/assets/{index-D9U4BOHM.js → index-Cn7Zb7-T.js} +1 -1
- package/dist/assets/{index-DmaqQuhH.js → index-CyxmcHOs.js} +1 -1
- package/dist/assets/{index-Chd_bwGM.js → index-DizukMyh.js} +1 -1
- package/dist/assets/index-DyI3oKqt.js +1 -0
- package/dist/assets/{index-BgVVAYar.js → index-IzL7XNn3.js} +1 -1
- package/dist/assets/{index-SO_H3W5I.js → index-QjsZkUzh.js} +1 -1
- package/dist/assets/{index-CcMXeWAX.js → index-YqzS8F8M.js} +2 -2
- package/dist/assets/{index-M2j4uONF.js → index-e6M9UpWM.js} +1 -1
- package/dist/assets/{index-JtvUouOr.js → index-m0NseVbx.js} +1 -1
- package/dist/assets/{index.es-Bzsluoyw.js → index.es-BSz0aeDf.js} +1 -1
- package/dist/assets/{solana-BHeUantu.js → solana-Cl8jthtC.js} +2 -2
- package/dist/assets/solana-D2ghQqy6.js +2 -0
- package/dist/assets/{solanaEmbed.esm-B7A7qKmk.js → solanaEmbed.esm-LTv0oYB9.js} +1 -1
- package/dist/assets/{sui-CLrvrAHM.js → sui-Ck-FZzH_.js} +1 -1
- package/dist/assets/sui-Ko5G1-gz.js +2 -0
- package/dist/assets/unsignedTransaction-arVvzoJx.js +1 -0
- package/dist/main.js +62 -62
- package/dist/src/AppRouter.d.ts.map +1 -1
- package/dist/src/utils/coingecko.d.ts.map +1 -1
- package/lib/{aptos-D7X5GMcO.js → aptos-8KMeJE-o.js} +2 -2
- package/lib/{aptos-C3Ph4uY9.mjs → aptos-BbifmBP0.mjs} +5 -5
- package/lib/{aptos-Cs46Nns5.mjs → aptos-CKydVwjD.mjs} +2 -2
- package/lib/{aptos-By3qLiAP.js → aptos-DSqOSKNb.js} +1 -1
- package/lib/{base64-B-n8C-1n.js → base64-CpFecuyA.js} +1 -1
- package/lib/{base64-DxqKuhqD.mjs → base64-qaCqMb_l.mjs} +1 -1
- package/lib/{ccip-DgwbitdX.mjs → ccip-CVtTRfyn.mjs} +1 -1
- package/lib/{ccip-BoG9ZHRV.js → ccip-D51RTC0u.js} +1 -1
- package/lib/{chunk-IMTC3J2M-DfLEkM5Z.js → chunk-IMTC3J2M-BxB1b0q0.js} +1 -1
- package/lib/{chunk-IMTC3J2M-w136PyXJ.mjs → chunk-IMTC3J2M-CKg3oVWr.mjs} +3 -3
- package/lib/{evm-BwXOj4Er.js → evm-BLoyv9Lm.js} +3 -3
- package/lib/{evm--NPB9x1d.mjs → evm-CHVaneje.mjs} +5 -5
- package/lib/{evm-OXQXmbRf.mjs → evm-CQZ0vIa8.mjs} +6 -6
- package/lib/{evm-Bta1KBsb.js → evm-RNshiiFP.js} +2 -2
- package/lib/{index-Bpx_Rf1J.js → index-2z8NsIQ8.js} +1 -1
- package/lib/{index-1WX3nZoM.mjs → index-B2bLjM93.mjs} +3 -3
- package/lib/{index-BEHglvs0.js → index-B43BfOtT.js} +1 -1
- package/lib/{index-CKtZvS3X.mjs → index-BBanb5ap.mjs} +2 -2
- package/lib/{index-B3smMSuW.js → index-BKVRZX9z.js} +1 -1
- package/lib/{index-ByicGRKs.mjs → index-BK_P-oYC.mjs} +2 -2
- package/lib/{index-0m16n7L7.js → index-BOiSCkY4.js} +1 -1
- package/lib/{index-C2jvFfvC.js → index-BS2i3Ksw.js} +1 -1
- package/lib/index-BU-5OQwh.js +1 -0
- package/lib/{index-CksJcNrV.mjs → index-B_YK6ETC.mjs} +3 -3
- package/lib/{index-BXc3l4Br.mjs → index-BfTnUr7T.mjs} +2 -2
- package/lib/{index-m0543tB2.mjs → index-BoceUAkG.mjs} +20959 -32801
- package/lib/{index-CDwpyfnd.mjs → index-BuqYv7Vr.mjs} +2 -2
- package/lib/index-Bz1QpdKk.mjs +75 -0
- package/lib/{index-Bi6PAFR8.mjs → index-C1e-lwCm.mjs} +2 -2
- package/lib/{index-wsfzS6PN.js → index-C41PgJpW.js} +120 -120
- package/lib/{index-Cslbrg97.js → index-C4r2UzcB.js} +1 -1
- package/lib/{index-CWffCIQl.js → index-CO4tNP9_.js} +1 -1
- package/lib/{index-BLxoZ8qT.js → index-COs1joOZ.js} +1 -1
- package/lib/index-CbZQJETK.mjs +654 -0
- package/lib/{index-BGqNMVpQ.js → index-CkBBICIC.js} +1 -1
- package/lib/{index-C5tynAhb.mjs → index-Cnb3Fj6a.mjs} +1 -1
- package/lib/{index-NTAse-vE.js → index-CtC0u7hr.js} +1 -1
- package/lib/{index-cyTUScMF.js → index-CxoYsIft.js} +1 -1
- package/lib/index-D-0atbSn.js +1 -0
- package/lib/{index-bDliG7yg.mjs → index-D3vUo86P.mjs} +4 -4
- package/lib/index-D7jGbtAx.js +1 -0
- package/lib/{index-CoEGiDGu.js → index-D9urvMDV.js} +1 -1
- package/lib/{index-50mhIuON.mjs → index-DFk1H3Sj.mjs} +2 -2
- package/lib/{index-DPM7TGSv.mjs → index-DSsxt-9e.mjs} +11 -2
- package/lib/{index-CANn2DFq.mjs → index-DVVD_hZm.mjs} +1 -1
- package/lib/{index-CGbtcED2.mjs → index-Dep8pAGA.mjs} +2 -2
- package/lib/{index-PnMJX4OC.mjs → index-DlqDGm7R.mjs} +1 -1
- package/lib/{index-hFtbBndd.js → index-DrarHdDr.js} +1 -1
- package/lib/{index-FGc8swXY.mjs → index-DsN7YSP1.mjs} +1 -1
- package/lib/{index-CoX_24Ky.mjs → index-DszDWeYi.mjs} +1 -1
- package/lib/{index-MytorfyK.mjs → index-Dv60e2W9.mjs} +2 -2
- package/lib/index-Dwhn5PEn.mjs +191 -0
- package/lib/{index-zMaT9P4V.mjs → index-GVu1wMwM.mjs} +1 -1
- package/lib/{index-B5z5oFY1.js → index-MHSosKrJ.js} +1 -1
- package/lib/{index-DLiQpgMj.js → index-Y_57HCqM.js} +1 -1
- package/lib/{index-Dt0J9sau.js → index-j1N8J-Fe.js} +1 -1
- package/lib/{index-DSejRtdA.js → index-l9KU7K7P.js} +1 -1
- package/lib/{index-ILKgpNXM.js → index-myqdl1wW.js} +1 -1
- package/lib/{index-C86P0A0Y.mjs → index-xYxy17zb.mjs} +1 -1
- package/lib/{index-DlW1-aGm.js → index-zBPInGXF.js} +1 -1
- package/lib/{index.es-Bh1QXm67.mjs → index.es-Ba4xhwJc.mjs} +5 -5
- package/lib/{index.es-DIL345_I.js → index.es-W0q91zRy.js} +2 -2
- package/lib/index.js +1 -1
- package/lib/index.mjs +19 -19
- package/lib/{signer-Br2-fgMa.js → signer-BbJbZn8Y.js} +1 -1
- package/lib/{signer-CeNONJjb.mjs → signer-D0QgWaj3.mjs} +1 -1
- package/lib/solana-B4XQWl46.js +1 -0
- package/lib/solana-Dc2NjQX4.mjs +17 -0
- package/lib/{solana-C5lAA_Eh.mjs → solana-h6jJreZX.mjs} +4 -4
- package/lib/{solana-Bwwk-8HE.js → solana-vP3qaiqp.js} +1 -1
- package/lib/{solanaEmbed.esm-BMTrlSVI.js → solanaEmbed.esm-CQIYNDBD.js} +1 -1
- package/lib/{solanaEmbed.esm-_NPc8tZC.mjs → solanaEmbed.esm-auVokEYr.mjs} +1 -1
- package/lib/src/AppRouter.d.ts.map +1 -1
- package/lib/src/utils/coingecko.d.ts.map +1 -1
- package/lib/{sui-zLYQBpSC.js → sui-BCWyy1OH.js} +1 -1
- package/lib/sui-CCReavtD.mjs +585 -0
- package/lib/{sui-X62i5q3_.mjs → sui-CxwKTlzx.mjs} +1 -1
- package/lib/sui-EheQCqu3.js +1 -0
- package/package.json +17 -17
- package/dist/assets/index-BRtMY3at.js +0 -1
- package/dist/assets/index-BUlVFUMr.js +0 -1
- package/dist/assets/index-RBS_ALc7.js +0 -1
- package/dist/assets/solana-BEFCVrXa.js +0 -2
- package/dist/assets/sui-C1wbtvIC.js +0 -2
- package/lib/index-CNkTJOH_.js +0 -1
- package/lib/index-DN6dWOSB.js +0 -1
- package/lib/index-DUOnxuE_.mjs +0 -252
- package/lib/index-DqFY4i5u.js +0 -1
- package/lib/index-Eomc9IwB.mjs +0 -936
- package/lib/index-fkzogQYE.mjs +0 -376
- package/lib/solana-4Qcfxe9o.js +0 -1
- package/lib/solana-DM9nG3cQ.mjs +0 -17
- package/lib/sui-BvJu9wTN.mjs +0 -701
- package/lib/sui-pGBefbTJ.js +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var K = Object.defineProperty;
|
|
2
2
|
var L = (i, e, b) => e in i ? K(i, e, { enumerable: !0, configurable: !0, writable: !0, value: b }) : i[e] = b;
|
|
3
3
|
var d = (i, e, b) => L(i, typeof e != "symbol" ? e + "" : e, b);
|
|
4
|
-
import { bG as D, bF as U, O as l, b$ as W, bE as m, bL as j, c0 as X, R as c, a6 as k, c1 as G, c2 as Q, bM as A, c3 as E, c4 as h, bK as s, c5 as _, bO as P, bP as N, b_ as O, bD as q, aB as H, bQ as $, _ as V } from "./index-
|
|
4
|
+
import { bG as D, bF as U, O as l, b$ as W, bE as m, bL as j, c0 as X, R as c, a6 as k, c1 as G, c2 as Q, bM as A, c3 as E, c4 as h, bK as s, c5 as _, bO as P, bP as N, b_ as O, bD as q, aB as H, bQ as $, _ as V } from "./index-BoceUAkG.mjs";
|
|
5
5
|
const z = {
|
|
6
6
|
Mainnet: {
|
|
7
7
|
Acala: "0x0000000000000000000000000000000000000000",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { s as ce, T as N, o as ot, n as _t, R as Do, t as H, y as gt, a as C, p as K } from "./index-
|
|
1
|
+
import { s as ce, T as N, o as ot, n as _t, R as Do, t as H, y as gt, a as C, p as K } from "./index-Cnb3Fj6a.mjs";
|
|
2
2
|
import { d as Uo } from "./dijkstra-BZM-8g-B.mjs";
|
|
3
|
-
import { at as Wo } from "./index-
|
|
3
|
+
import { at as Wo } from "./index-BoceUAkG.mjs";
|
|
4
4
|
/**
|
|
5
5
|
* @license
|
|
6
6
|
* Copyright 2019 Google LLC
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
var k = Object.defineProperty;
|
|
2
|
+
var v = (u, s, t) => s in u ? k(u, s, { enumerable: !0, configurable: !0, writable: !0, value: t }) : u[s] = t;
|
|
3
|
+
var i = (u, s, t) => v(u, typeof s != "symbol" ? s + "" : s, t);
|
|
4
|
+
import { cT as C, bX as S, d0 as f, bV as _, ao as w, bW as b, aa as y, bY as T, dd as M, bQ as x } from "./index-BoceUAkG.mjs";
|
|
5
|
+
const j = [
|
|
6
|
+
[
|
|
7
|
+
"Testnet",
|
|
8
|
+
{
|
|
9
|
+
tokenMessengerState: "0x5252abd1137094ed1db3e0d75bc36abcd287aee4bc310f8e047727ef5682e7c2",
|
|
10
|
+
messageTransmitterState: "0x98234bd0fa9ac12cc0a20a144a22e36d6a32f7e0a97baaeaf9c76cdc6d122d2e",
|
|
11
|
+
usdcTreasury: "0x7170137d4a6431bf83351ac025baf462909bffe2877d87716374fb42b9629ebe"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
[
|
|
15
|
+
"Mainnet",
|
|
16
|
+
{
|
|
17
|
+
tokenMessengerState: "0x45993eecc0382f37419864992c12faee2238f5cfe22b98ad3bf455baf65c8a2f",
|
|
18
|
+
messageTransmitterState: "0xf68268c3d9b1df3215f2439400c1c4ea08ac4ef4bb7d6f3ca6a2a239e17510af",
|
|
19
|
+
usdcTreasury: "0x57d6725e7a8b49a7b2a612f6bd66ab5f39fc95332ca48be421c3229d514a6de7"
|
|
20
|
+
}
|
|
21
|
+
]
|
|
22
|
+
], E = C(j, [0, 1]);
|
|
23
|
+
class p {
|
|
24
|
+
constructor(s, t, r, e) {
|
|
25
|
+
i(this, "network");
|
|
26
|
+
i(this, "chain");
|
|
27
|
+
i(this, "provider");
|
|
28
|
+
i(this, "contracts");
|
|
29
|
+
i(this, "usdcId");
|
|
30
|
+
i(this, "usdcTreasuryId");
|
|
31
|
+
i(this, "tokenMessengerId");
|
|
32
|
+
i(this, "tokenMessengerStateId");
|
|
33
|
+
i(this, "messageTransmitterId");
|
|
34
|
+
i(this, "messageTransmitterStateId");
|
|
35
|
+
var m, d, g, h;
|
|
36
|
+
if (this.network = s, this.chain = t, this.provider = r, this.contracts = e, s === "Devnet")
|
|
37
|
+
throw new Error("CircleBridge not supported on Devnet");
|
|
38
|
+
const n = S.get(this.network, this.chain);
|
|
39
|
+
if (!n)
|
|
40
|
+
throw new Error(`No USDC contract configured for network=${this.network} chain=${this.chain}`);
|
|
41
|
+
const { tokenMessengerState: o, messageTransmitterState: a, usdcTreasury: c } = E(s);
|
|
42
|
+
if (!((m = e.cctp) != null && m.tokenMessenger))
|
|
43
|
+
throw new Error(`Circle Token Messenger contract for domain ${t} not found`);
|
|
44
|
+
if (!((d = e.cctp) != null && d.messageTransmitter))
|
|
45
|
+
throw new Error(`Circle Message Transmitter contract for domain ${t} not found`);
|
|
46
|
+
this.usdcId = n, this.usdcTreasuryId = c, this.tokenMessengerId = (g = e.cctp) == null ? void 0 : g.tokenMessenger, this.messageTransmitterId = (h = e.cctp) == null ? void 0 : h.messageTransmitter, this.tokenMessengerStateId = o, this.messageTransmitterStateId = a;
|
|
47
|
+
}
|
|
48
|
+
async *transfer(s, t, r) {
|
|
49
|
+
const e = new f(), n = _.get(this.network, t.chain), [o, ...a] = await w.getCoins(this.provider, s, this.usdcId);
|
|
50
|
+
if (o === void 0)
|
|
51
|
+
throw new Error("No USDC in wallet");
|
|
52
|
+
const c = e.object(o.coinObjectId);
|
|
53
|
+
a.length > 0 && e.mergeCoins(c, a.map((d) => e.object(d.coinObjectId)));
|
|
54
|
+
const [m] = e.splitCoins(c, [r]);
|
|
55
|
+
e.moveCall({
|
|
56
|
+
target: `${this.tokenMessengerId}::deposit_for_burn::deposit_for_burn`,
|
|
57
|
+
arguments: [
|
|
58
|
+
m,
|
|
59
|
+
e.pure.u32(n),
|
|
60
|
+
// destination_domain
|
|
61
|
+
e.pure.address(t.address.toUniversalAddress().toString()),
|
|
62
|
+
// mint_recipient
|
|
63
|
+
e.object(this.tokenMessengerStateId),
|
|
64
|
+
// token_messenger_minter state
|
|
65
|
+
e.object(this.messageTransmitterStateId),
|
|
66
|
+
// message_transmitter state
|
|
67
|
+
e.object("0x403"),
|
|
68
|
+
// deny_list id, fixed address
|
|
69
|
+
e.object(this.usdcTreasuryId)
|
|
70
|
+
// treasury object Treasury<USDC>
|
|
71
|
+
],
|
|
72
|
+
typeArguments: [this.usdcId]
|
|
73
|
+
}), yield this.createUnsignedTx(e, "Sui.CircleBridge.Transfer");
|
|
74
|
+
}
|
|
75
|
+
async isTransferCompleted(s) {
|
|
76
|
+
const t = new f();
|
|
77
|
+
t.moveCall({
|
|
78
|
+
target: `${this.messageTransmitterId}::state::is_nonce_used`,
|
|
79
|
+
arguments: [
|
|
80
|
+
t.object(this.messageTransmitterStateId),
|
|
81
|
+
t.pure.u32(s.sourceDomain),
|
|
82
|
+
t.pure.u64(s.nonce)
|
|
83
|
+
]
|
|
84
|
+
});
|
|
85
|
+
const r = await this.provider.devInspectTransactionBlock({
|
|
86
|
+
sender: "0x0000000000000000000000000000000000000000000000000000000000000000",
|
|
87
|
+
transactionBlock: t
|
|
88
|
+
});
|
|
89
|
+
try {
|
|
90
|
+
return !!r.results[0].returnValues[0][0][0];
|
|
91
|
+
} catch (e) {
|
|
92
|
+
return console.error(`Error reading if nonce was used: ${e}`), !1;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
async *redeem(s, t, r) {
|
|
96
|
+
const e = new f(), [n] = e.moveCall({
|
|
97
|
+
target: `${this.messageTransmitterId}::receive_message::receive_message`,
|
|
98
|
+
arguments: [
|
|
99
|
+
e.pure.vector("u8", b.serialize(t)),
|
|
100
|
+
e.pure.vector("u8", y.decode(r)),
|
|
101
|
+
e.object(this.messageTransmitterStateId)
|
|
102
|
+
// message_transmitter state
|
|
103
|
+
]
|
|
104
|
+
});
|
|
105
|
+
if (!n)
|
|
106
|
+
throw new Error("Failed to produce receipt");
|
|
107
|
+
const [o] = e.moveCall({
|
|
108
|
+
target: `${this.tokenMessengerId}::handle_receive_message::handle_receive_message`,
|
|
109
|
+
arguments: [
|
|
110
|
+
n,
|
|
111
|
+
// Receipt object returned from receive_message call
|
|
112
|
+
e.object(this.tokenMessengerStateId),
|
|
113
|
+
// token_messenger_minter state
|
|
114
|
+
e.object("0x403"),
|
|
115
|
+
// deny list, fixed address
|
|
116
|
+
e.object(this.usdcTreasuryId)
|
|
117
|
+
// usdc treasury object Treasury<T>
|
|
118
|
+
],
|
|
119
|
+
typeArguments: [this.usdcId]
|
|
120
|
+
});
|
|
121
|
+
if (!o)
|
|
122
|
+
throw new Error("Failed to produce stamp receipt ticket with burn message");
|
|
123
|
+
const [a] = e.moveCall({
|
|
124
|
+
target: `${this.tokenMessengerId}::handle_receive_message::deconstruct_stamp_receipt_ticket_with_burn_message`,
|
|
125
|
+
arguments: [o]
|
|
126
|
+
});
|
|
127
|
+
if (!a)
|
|
128
|
+
throw new Error("Failed to produce stamp receipt ticket");
|
|
129
|
+
const [c] = e.moveCall({
|
|
130
|
+
target: `${this.messageTransmitterId}::receive_message::stamp_receipt`,
|
|
131
|
+
arguments: [
|
|
132
|
+
a,
|
|
133
|
+
// Receipt ticket returned from deconstruct_stamp_receipt_ticket_with_burn_message call
|
|
134
|
+
e.object(this.messageTransmitterStateId)
|
|
135
|
+
// message_transmitter state
|
|
136
|
+
],
|
|
137
|
+
typeArguments: [
|
|
138
|
+
`${this.tokenMessengerId}::message_transmitter_authenticator::MessageTransmitterAuthenticator`
|
|
139
|
+
]
|
|
140
|
+
});
|
|
141
|
+
if (!c)
|
|
142
|
+
throw new Error("Failed to produce stamped receipt");
|
|
143
|
+
e.moveCall({
|
|
144
|
+
target: `${this.messageTransmitterId}::receive_message::complete_receive_message`,
|
|
145
|
+
arguments: [
|
|
146
|
+
c,
|
|
147
|
+
// Stamped receipt object returned from handle_receive_message call
|
|
148
|
+
e.object(this.messageTransmitterStateId)
|
|
149
|
+
// message_transmitter state
|
|
150
|
+
]
|
|
151
|
+
}), yield this.createUnsignedTx(e, "Sui.CircleBridge.Redeem");
|
|
152
|
+
}
|
|
153
|
+
async parseTransactionDetails(s) {
|
|
154
|
+
var l;
|
|
155
|
+
const t = await this.provider.waitForTransaction({
|
|
156
|
+
digest: s,
|
|
157
|
+
options: { showEvents: !0, showEffects: !0, showInput: !0 }
|
|
158
|
+
});
|
|
159
|
+
if (!t)
|
|
160
|
+
throw new Error("Transaction not found");
|
|
161
|
+
if (!t.events)
|
|
162
|
+
throw new Error("Transaction events not found");
|
|
163
|
+
const r = (l = t.events) == null ? void 0 : l.find((I) => I.type.includes("send_message::MessageSent"));
|
|
164
|
+
if (!r)
|
|
165
|
+
throw new Error("No MessageSent event found");
|
|
166
|
+
const e = new Uint8Array((r == null ? void 0 : r.parsedJson).message), [n, o] = b.deserialize(e), { payload: a } = n, c = a.messageSender, m = a.mintRecipient, d = T(this.network, n.sourceDomain), g = T(this.network, n.destinationDomain), h = { chain: d, address: a.burnToken };
|
|
167
|
+
return {
|
|
168
|
+
from: { chain: d, address: c },
|
|
169
|
+
to: { chain: g, address: m },
|
|
170
|
+
token: h,
|
|
171
|
+
amount: a.amount,
|
|
172
|
+
message: n,
|
|
173
|
+
id: { hash: o }
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
static async fromRpc(s, t) {
|
|
177
|
+
const [r, e] = await w.chainFromRpc(s), n = t[e];
|
|
178
|
+
if (n.network !== r)
|
|
179
|
+
throw new Error(`Network mismatch: ${n.network} != ${r}`);
|
|
180
|
+
return new p(r, e, s, n.contracts);
|
|
181
|
+
}
|
|
182
|
+
createUnsignedTx(s, t, r = !1) {
|
|
183
|
+
return new M(s, this.network, this.chain, t, r);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
x("Sui", "CircleBridge", p);
|
|
187
|
+
export {
|
|
188
|
+
p as SuiCircleBridge,
|
|
189
|
+
j as _suiCircleObjects,
|
|
190
|
+
E as suiCircleObjects
|
|
191
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var Pt = Object.defineProperty;
|
|
2
2
|
var _t = (e, t, r) => t in e ? Pt(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;
|
|
3
3
|
var f = (e, t, r) => _t(e, typeof t != "symbol" ? t + "" : t, r);
|
|
4
|
-
import { aM as c, at as l, bw as A, c8 as le, bA as z, bz as U, bB as G, by as S, bx as V, cr as Ge, cs as Ze, ct as Wt, cu as It, cv as Ut, cw as Nt, cl as O, c7 as E, bE as y, cx as T, cy as Ft, cz as ye, c0 as dt, cA as xt, c9 as lt, ca as zt, cB as Ot, cC as Q, cD as Lt, cp as Z, cq as H, cE as Dt, cm as qt, cF as Kt, cG as Vt, cH as Se, cI as Gt, cc as v, co as Zt, X as oe, Y as k, b$ as Ce, bL as Ht, a6 as $, c5 as Be, cJ as Yt, cK as Qt, a_ as ae, aQ as L, cL as Xt, cd as ft, bQ as mt, Z as gt } from "./index-
|
|
4
|
+
import { aM as c, at as l, bw as A, c8 as le, bA as z, bz as U, bB as G, by as S, bx as V, cr as Ge, cs as Ze, ct as Wt, cu as It, cv as Ut, cw as Nt, cl as O, c7 as E, bE as y, cx as T, cy as Ft, cz as ye, c0 as dt, cA as xt, c9 as lt, ca as zt, cB as Ot, cC as Q, cD as Lt, cp as Z, cq as H, cE as Dt, cm as qt, cF as Kt, cG as Vt, cH as Se, cI as Gt, cc as v, co as Zt, X as oe, Y as k, b$ as Ce, bL as Ht, a6 as $, c5 as Be, cJ as Yt, cK as Qt, a_ as ae, aQ as L, cL as Xt, cd as ft, bQ as mt, Z as gt } from "./index-BoceUAkG.mjs";
|
|
5
5
|
const M = new c("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA");
|
|
6
6
|
new c("TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb");
|
|
7
7
|
const Ae = new c("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"), D = new c("So11111111111111111111111111111111111111112");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("./index-D9urvMDV.js"),ko=require("./dijkstra-CtFxn7S9.js"),Mo=require("./index-C41PgJpW.js");/**
|
|
2
2
|
* @license
|
|
3
3
|
* Copyright 2019 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var S=Object.defineProperty;var P=(l,o,t)=>o in l?S(l,o,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[o]=t;var h=(l,o,t)=>P(l,typeof o!="symbol"?o+"":o,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-
|
|
1
|
+
"use strict";var S=Object.defineProperty;var P=(l,o,t)=>o in l?S(l,o,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[o]=t;var h=(l,o,t)=>P(l,typeof o!="symbol"?o+"":o,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-C41PgJpW.js"),U=require("./index-DrarHdDr.js"),A=new e.Interface(["function start((bytes32,address,address,address,address,address,uint256,uint256,uint256,uint256)) returns (address,uint16,uint64)","function receiveMessageAndSwap(bytes)"]),q=new e.Interface(["function quoteExactInputSingle((address,address,uint256,uint24,uint160)) public view returns (uint256,uint160,uint32,uint256)"]),N="https://gfx.relayers.xlabs.xyz/api/v1/swap/quote";class R{static async quoteRelayer(o,t,r){var a;if(e.isNative(t)||e.isNative(r))throw new Error("how did you get here tho?");const n=e.hex.encode(t.toUniversalAddress().toUint8Array(),!1),s=e.hex.encode(r.toUniversalAddress().toUint8Array(),!1),i={targetChain:e.toChainId(o),sourceToken:n,targetToken:s};try{const c=await e.axios.post(N,i);return BigInt(c.data.fee)}catch(c){throw e.axios.isAxiosError(c)?new Error(`Error getting relayer fee: ${(a=c.response)==null?void 0:a.statusText}`):c}}}const m=100,E={ETH:[e.Wormhole.tokenId("Arbitrum","native"),e.Wormhole.tokenId("Base","native"),e.Wormhole.tokenId("Ethereum","native"),e.Wormhole.tokenId("Optimism","native")],WETH:[e.Wormhole.tokenId("Arbitrum","0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"),e.Wormhole.tokenId("Avalanche","0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB"),e.Wormhole.tokenId("Base","0x4200000000000000000000000000000000000006"),e.Wormhole.tokenId("Bsc","0x2170Ed0880ac9A755fd29B2688956BD959F933F8"),e.Wormhole.tokenId("Ethereum","0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"),e.Wormhole.tokenId("Optimism","0x4200000000000000000000000000000000000006"),e.Wormhole.tokenId("Polygon","0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619")],wstETH:[e.Wormhole.tokenId("Arbitrum","0x5979D7b546E38E414F7E9822514be443A4800529"),e.Wormhole.tokenId("Base","0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452"),e.Wormhole.tokenId("Ethereum","0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"),e.Wormhole.tokenId("Optimism","0x1F32b1c2345538c0c6f582fCB022739c4A194Ebb"),e.Wormhole.tokenId("Polygon","0x03b54A6e9a984069379fae1a4fC4dBAE93B3bCCD")],USDT:[e.Wormhole.tokenId("Arbitrum","0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9"),e.Wormhole.tokenId("Avalanche","0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7"),e.Wormhole.tokenId("Base","0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2"),e.Wormhole.tokenId("Bsc","0x55d398326f99059fF775485246999027B3197955"),e.Wormhole.tokenId("Ethereum","0xdAC17F958D2ee523a2206206994597C13D831ec7"),e.Wormhole.tokenId("Optimism","0x94b008aA00579c1307B0EF2c499aD98a8ce58e58"),e.Wormhole.tokenId("Polygon","0xc2132D05D31c914a87C6611C10748AEb04B58e8F"),e.Wormhole.tokenId("Celo","0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e")]};class p{constructor(o,t,r,n){h(this,"network");h(this,"chain");h(this,"provider");h(this,"contracts");h(this,"chainId");h(this,"core");h(this,"tokenBridge");if(this.network=o,this.chain=t,this.provider=r,this.contracts=n,!n.portico)throw new Error("Unsupported chain, no contract addresses for: "+t);this.core=new e.EvmWormholeCore(o,t,r,n),this.tokenBridge=new U.EvmTokenBridge(o,t,r,n),this.chainId=e.networkChainToNativeChainId.get(o,t)}static async fromRpc(o,t){const[r,n]=await e.EvmPlatform.chainFromRpc(o),s=t[n];if(s.network!==r)throw new Error(`Network mismatch: ${s.network} != ${r}`);return new p(r,n,o,s.contracts)}async*transfer(o,t,r,n,s,d,i){const{minAmountStart:a,minAmountFinish:c}=i.swapAmounts;if(a===0n)throw new Error("Invalid min swap amount");if(c===0n)throw new Error("Invalid min swap amount");const f=new e.EvmAddress(o).toString(),[u,g]=e.resolveWrappedToken(this.network,this.chain,r),[T,C]=e.resolveWrappedToken(this.network,t.chain,s),k=e.canonicalAddress(g),I=e.canonicalAddress(await this.getTransferrableToken(k)),b=e.canonicalAddress(t),v=e.canonicalAddress(C),F=new Date().valueOf()%2**4,B=e.PorticoBridge.serializeFlagSet({flags:{shouldWrapNative:u,shouldUnwrapNative:T},recipientChain:e.toChainId(t.chain),bridgeNonce:F,feeTierStart:m,feeTierFinish:m,padding:new Uint8Array(19)}),y=A.encodeFunctionData("start",[[B,k.toLowerCase(),I,v.toLowerCase(),b,d,n.toString(),a.toString(),c.toString(),i.relayerFee.toString()]]),x=this.getTokenGroup(g.address.toString()),w=this.getPorticoAddress(x);u||(yield*this.approve(k,f,n,w));const W=await this.core.getMessageFee(),D={to:w,data:y,value:W+(u?n:0n)};yield this.createUnsignedTransaction(e.addFrom(D,f),"PorticoBridge.Transfer")}async*redeem(o,t){const r=e.toChain(t.payload.payload.flagSet.recipientChain),n=t.payload.payload.finalTokenAddress.toNative(r).toString(),s=this.getTokenGroup(n),d=this.getPorticoAddress(s),a=await new e.Contract(d,A.fragments,this.provider).getFunction("receiveMessageAndSwap").populateTransaction(e.serialize(t)),c=new e.EvmAddress(o).toString();yield this.createUnsignedTransaction(e.addFrom(a,c),"PorticoBridge.Redeem")}async isTransferCompleted(o){return await this.tokenBridge.tokenBridge.isTransferCompleted(e.keccak256(o.hash))}async quoteSwap(o,t,r,n){const[,s]=e.resolveWrappedToken(this.network,this.chain,o),[,d]=e.resolveWrappedToken(this.network,this.chain,t),i=e.canonicalAddress(s),a=e.canonicalAddress(d);if(e.isEqualCaseInsensitive(i,a))return n;const c=this.getQuoterAddress(r);return(await new e.Contract(c,q.fragments,this.provider).getFunction("quoteExactInputSingle").staticCall([i,a,n,m,0]))[0]}async quoteRelay(o,t){return await R.quoteRelayer(this.chain,o,t)}async getTransferrableToken(o){const t=e.Wormhole.tokenId(this.chain,o),[,r]=e.resolveWrappedToken(this.network,this.chain,t);if(this.chain==="Ethereum")return r;const n=Object.values(E).find(i=>i.find(a=>a.chain===this.chain&&e.canonicalAddress(a)===e.canonicalAddress(r)));if(!n)throw new Error(`No token group found for ${o} on ${this.chain}`);const s=n.find(i=>i.chain==="Ethereum");if(!s)throw new Error(`No Ethereum origin token found for ${o} on ${this.chain}`);const d=await this.tokenBridge.getWrappedAsset(s);return e.Wormhole.tokenId(this.chain,d.toString())}supportedTokens(){const o=[];for(const[t,r]of Object.entries(E))for(const n of r)n.chain===this.chain&&o.push({group:t,token:n});return o}getTokenGroup(o){const r=this.supportedTokens().find(n=>e.canonicalAddress(n.token)===o);if(!r)throw new Error("Token not found");return r.group}async*approve(o,t,r,n){const s=e.EvmPlatform.getTokenImplementation(this.provider,o);if(await s.allowance(t,n)<r){const i=await s.approve.populateTransaction(n,r);yield this.createUnsignedTransaction(e.addFrom(i,t),"PorticoBridge.Approve")}}createUnsignedTransaction(o,t){return new e.EvmUnsignedTransaction(e.addChainId(o,this.chainId),this.network,this.chain,t,!1)}getPorticoAddress(o){const t=this.contracts.portico;return o==="USDT"&&t.porticoPancakeSwap||t.porticoUniswap}getQuoterAddress(o){const t=this.contracts.portico;return o==="USDT"&&t.pancakeSwapQuoterV2||t.uniswapQuoterV2}}e.registerProtocol(e._platform,"PorticoBridge",p);exports.EvmPorticoBridge=p;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=require("./index-
|
|
1
|
+
"use strict";const e=require("./index-C41PgJpW.js");function I(n,t,o,s){e.ahash(n);const a=e.checkOpts$1({dkLen:32,asyncTick:10},s),{c:d,dkLen:i,asyncTick:r}=a;if(e.anumber(d),e.anumber(i),e.anumber(r),d<1)throw new Error("PBKDF2: iterations (c) should be >= 1");const l=e.toBytes(t),u=e.toBytes(o),f=new Uint8Array(i),p=e.hmac.create(n,l),c=p._cloneInto().update(u);return{c:d,dkLen:i,asyncTick:r,DK:f,PRF:p,PRFSalt:c}}function L(n,t,o,s,a){return n.destroy(),t.destroy(),s&&s.destroy(),a.fill(0),o}function g(n,t,o,s){const{c:a,dkLen:d,DK:i,PRF:r,PRFSalt:l}=I(n,t,o,s);let u;const f=new Uint8Array(4),p=e.createView(f),c=new Uint8Array(r.outputLen);for(let w=1,y=0;y<d;w++,y+=r.outputLen){const m=i.subarray(y,y+r.outputLen);p.setInt32(0,w,!1),(u=l._cloneInto(u)).update(f).digestInto(c),m.set(c.subarray(0,m.length));for(let h=1;h<a;h++){r._cloneInto(u).update(c).digestInto(c);for(let k=0;k<m.length;k++)m[k]^=c[k]}}return L(r,l,i,u,c)}/*! scure-bip39 - MIT License (c) 2022 Patricio Palladino, Paul Miller (paulmillr.com) */function b(n){if(typeof n!="string")throw new TypeError("invalid mnemonic type: "+typeof n);return n.normalize("NFKD")}function F(n){const t=b(n),o=t.split(" ");if(![12,15,18,21,24].includes(o.length))throw new Error("Invalid mnemonic");return{nfkd:t,words:o}}const S=n=>b("mnemonic"+n);function T(n,t=""){return g(e.sha512,F(n).nfkd,S(t),{c:2048,dkLen:64})}exports.mnemonicToSeedSync=T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var h=Object.defineProperty;var w=(o,t,e)=>t in o?h(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e;var s=(o,t,e)=>w(o,typeof t!="symbol"?t+"":t,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./index-
|
|
1
|
+
"use strict";var h=Object.defineProperty;var w=(o,t,e)=>t in o?h(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e;var s=(o,t,e)=>w(o,typeof t!="symbol"?t+"":t,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./index-C41PgJpW.js");class c{constructor(t,e,a,r){s(this,"network");s(this,"chain");s(this,"provider");s(this,"contracts");s(this,"chainId");s(this,"core");s(this,"gatewayAddress");s(this,"gateway");s(this,"tbtcTokenAddr");if(this.network=t,this.chain=e,this.provider=a,this.contracts=r,this.network!=="Mainnet")throw new Error("TBTC is only supported on Mainnet");if(!this.contracts.tbtc)throw new Error("TBTC contract address is required");const i=n.TBTCBridge.getNativeTbtcToken(this.chain);if(!i)throw new Error("Native tbtc token not found");this.chainId=n.networkChainToNativeChainId.get(t,e),this.core=new n.EvmWormholeCore(t,e,a,r),this.gatewayAddress=this.contracts.tbtc,this.gateway=new n.Contract(this.gatewayAddress,["function sendTbtc(uint256 amount, uint16 recipientChain, bytes32 recipient, uint256 arbiterFee, uint32 nonce) payable returns (uint64)","function receiveTbtc(bytes calldata encodedVm)"],a),this.tbtcTokenAddr=n.canonicalAddress(i)}static async fromRpc(t,e){const[a,r]=await n.EvmPlatform.chainFromRpc(t),i=e[r];if(i.network!==a)throw new Error(`Network mismatch: ${i.network} != ${a}`);return new c(a,r,t,i.contracts)}async*transfer(t,e,a){const r=new n.EvmAddress(t).toString(),i=await this.gateway.sendTbtc.populateTransaction(a,n.toChainId(e.chain),e.address.toUniversalAddress().toUint8Array(),0n,0n);i.value=await this.core.getMessageFee(),yield*this.approve(r,a,this.gatewayAddress),yield this.createUnsignedTransaction(n.addFrom(i,r),"TBTCBridge.Send")}async*redeem(t,e){if(e.payloadName!=="GatewayTransfer")throw new Error("Invalid VAA payload");const a=new n.EvmAddress(t).toString(),r=await this.gateway.receiveTbtc.populateTransaction(n.serialize(e));yield this.createUnsignedTransaction(n.addFrom(r,a),"TBTCBridge.Redeem")}async*approve(t,e,a){const r=n.EvmPlatform.getTokenImplementation(this.provider,this.tbtcTokenAddr);if(await r.allowance(t,a)<e){const d=await r.approve.populateTransaction(a,e);yield this.createUnsignedTransaction(n.addFrom(d,t),"TBTC.Approve")}}createUnsignedTransaction(t,e){return new n.EvmUnsignedTransaction(n.addChainId(t,this.chainId),this.network,this.chain,e,!1)}}n.registerProtocol(n._platform,"TBTCBridge",c);exports.EvmTBTCBridge=c;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var v=Object.defineProperty;var y=(b,e,t)=>e in b?v(b,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):b[e]=t;var i=(b,e,t)=>y(b,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("./chunk-IMTC3J2M-
|
|
1
|
+
"use strict";var v=Object.defineProperty;var y=(b,e,t)=>e in b?v(b,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):b[e]=t;var i=(b,e,t)=>y(b,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("./chunk-IMTC3J2M-BxB1b0q0.js"),c=require("./index-C41PgJpW.js"),k=require("./aptos-8KMeJE-o.js"),M=require("./unsignedTransaction-C1YeEl4G.js"),x=[["Mainnet",{depositForBurn:"0xa11ceb0b0700000a0701000802080e031614042a04052e30075e870108e5014000000001000201030004000001050701000100060b0001070304010801020805060108010309080900010002010205060c030e05050208000b010108020108020105010b0101090003060c0b01010900030108000004060c08000e0501030e66756e6769626c655f6173736574066f626a656374167072696d6172795f66756e6769626c655f73746f72650f746f6b656e5f6d657373656e6765720d46756e6769626c654173736574064f626a656374084d6574616461746111616464726573735f746f5f6f626a656374087769746864726177106465706f7369745f666f725f6275726e00000000000000000000000000000000000000000000000000000000000000019bce6734f7b63e835108e3bd8c36743d4709fe435f44791918801d0989640a9d0000010f0b0438000c060a000b060b0138010c050b000b050b020b0311020102",handleReceiveMessage:"0xa11ceb0b0700000a0601000402040403080c051416072a53087d40000001010002000000030203000101040304000103060c0a020a020003060c060a02060a020108000101136d6573736167655f7472616e736d69747465720f746f6b656e5f6d657373656e67657207526563656970740f726563656976655f6d6573736167651668616e646c655f726563656976655f6d657373616765177e17751820e4b4371873ca8c30279be63bdea63b88ed0f2239c2eea10f17729bce6734f7b63e835108e3bd8c36743d4709fe435f44791918801d0989640a9d000001070b000e010e02110011010102"}],["Testnet",{depositForBurn:"0xa11ceb0b0700000a0701000802080e031614042a04052e30075e870108e5014000000001000201030004000001050701000100060b0001070304010801020805060108010309080900010002010205060c030e05050208000b010108020108020105010b0101090003060c0b01010900030108000004060c08000e0501030e66756e6769626c655f6173736574066f626a656374167072696d6172795f66756e6769626c655f73746f72650f746f6b656e5f6d657373656e6765720d46756e6769626c654173736574064f626a656374084d6574616461746111616464726573735f746f5f6f626a656374087769746864726177106465706f7369745f666f725f6275726e00000000000000000000000000000000000000000000000000000000000000015f9b937419dda90aa06c1836b7847f65bbbe3f1217567758dc2488be31a477b90000010f0b0438000c060a000b060b0138010c050b000b050b020b0311020102",handleReceiveMessage:"0xa11ceb0b0700000a0601000402040403080c051416072a53087d40000001010002000000030203000101040304000103060c0a020a020003060c060a02060a020108000101136d6573736167655f7472616e736d69747465720f746f6b656e5f6d657373656e67657207526563656970740f726563656976655f6d6573736167651668616e646c655f726563656976655f6d657373616765081e86cebf457a0c6004f35bd648a2794698f52e0dde09a48619dcd3d4cc23d95f9b937419dda90aa06c1836b7847f65bbbe3f1217567758dc2488be31a477b9000001070b000e010e02110011010102"}]],u=c.constMap(x,[0,1]);class h{constructor(e,t,n,s){i(this,"network");i(this,"chain");i(this,"provider");i(this,"contracts");i(this,"usdcId");i(this,"tokenMessengerId");i(this,"messageTransmitterId");i(this,"moveScripts");var a,f,o;if(this.network=e,this.chain=t,this.provider=n,this.contracts=s,e==="Devnet")throw new Error("CircleBridge not supported on Devnet");const r=c.usdcContract.get(this.network,this.chain);if(!r)throw new Error(`No USDC contract configured for network=${this.network} chain=${this.chain}`);if(!((a=s.cctp)!=null&&a.tokenMessenger))throw new Error(`Circle Token Messenger contract for domain ${t} not found`);if(!((f=s.cctp)!=null&&f.messageTransmitter))throw new Error(`Circle Message Transmitter contract for domain ${t} not found`);if(!u.has(e))throw new Error("No Aptos CCTP move scripts found");this.usdcId=r,this.tokenMessengerId=(o=s.cctp)==null?void 0:o.tokenMessenger,this.messageTransmitterId=s.cctp.messageTransmitter,this.moveScripts=u.get(e)}async*transfer(e,t,n){const s=new d.y$2(c.circleChainId.get(this.network,t.chain)),r=d.l.from(this.usdcId),a=d.l.from(t.address.toUniversalAddress().toUint8Array()),f=[new d.m$1(n),s,a,r],o={bytecode:this.moveScripts.depositForBurn,functionArguments:f};yield this.createUnsignedTx(o,"Aptos.CircleBridge.Transfer")}async isTransferCompleted(e){const t=new d.y$2(e.sourceDomain).bcsToBytes(),n=new d.m$1(e.nonce).bcsToBytes(),s=c.keccak_256(new Uint8Array([...t,45,...n])),r=c.hex.encode(s);return(await this.provider.view({payload:{function:`${this.messageTransmitterId}::message_transmitter::is_nonce_used`,functionArguments:[r]}}))[0]}async*redeem(e,t,n){const s=[d.t$4.U8(c.CircleBridge.serialize(t)),d.t$4.U8(c.hex.decode(n))],r={bytecode:this.moveScripts.handleReceiveMessage,functionArguments:s};yield this.createUnsignedTx(r,"Aptos.CircleBridge.Redeem")}async parseTransactionDetails(e){var g;const t=await this.provider.getTransactionByHash({transactionHash:e}),n=this.messageTransmitterId.replace(/^0x0+/,"0x"),s=(g=t.events)==null?void 0:g.find(C=>C.type===`${n}::message_transmitter::MessageSent`);if(!s)throw new Error("No MessageSent event found");const r=c.hex.decode(s.data.message),[a,f]=c.CircleBridge.deserialize(r),{payload:o}=a,p=o.messageSender,l=o.mintRecipient,m=c.toCircleChain(this.network,a.sourceDomain),w=c.toCircleChain(this.network,a.destinationDomain),T={chain:m,address:o.burnToken};return{from:{chain:m,address:p},to:{chain:w,address:l},token:T,amount:o.amount,message:a,id:{hash:f}}}static async fromRpc(e,t){const[n,s]=await k.AptosPlatform.chainFromRpc(e),r=t[s];if(r.network!==n)throw new Error(`Network mismatch: ${r.network} != ${n}`);return new h(n,s,e,r.contracts)}createUnsignedTx(e,t,n=!1){return new M.AptosUnsignedTransaction(e,this.network,this.chain,t,n)}}c.registerProtocol("Aptos","CircleBridge",h);exports.AptosCircleBridge=h;
|