@wormhole-foundation/sdk-definitions 0.1.3-beta.4 → 0.1.3-beta.6

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 (104) hide show
  1. package/README.md +51 -2
  2. package/dist/cjs/chain.d.ts +19 -18
  3. package/dist/cjs/chain.d.ts.map +1 -1
  4. package/dist/cjs/chain.js +46 -24
  5. package/dist/cjs/chain.js.map +1 -1
  6. package/dist/cjs/index.d.ts +1 -0
  7. package/dist/cjs/index.d.ts.map +1 -1
  8. package/dist/cjs/index.js +1 -0
  9. package/dist/cjs/index.js.map +1 -1
  10. package/dist/cjs/layout-items/chain.d.ts +8 -4
  11. package/dist/cjs/layout-items/chain.d.ts.map +1 -1
  12. package/dist/cjs/layout-items/chain.js +4 -4
  13. package/dist/cjs/layout-items/chain.js.map +1 -1
  14. package/dist/cjs/payloads/bam.d.ts +187 -0
  15. package/dist/cjs/payloads/bam.d.ts.map +1 -0
  16. package/dist/cjs/payloads/bam.js +37 -0
  17. package/dist/cjs/payloads/bam.js.map +1 -0
  18. package/dist/cjs/payloads/governance.d.ts +252 -252
  19. package/dist/cjs/payloads/relayer.d.ts +10 -10
  20. package/dist/cjs/payloads/tokenBridge.d.ts +14 -14
  21. package/dist/cjs/platform.d.ts +14 -19
  22. package/dist/cjs/platform.d.ts.map +1 -1
  23. package/dist/cjs/protocols/cctp.d.ts +9 -0
  24. package/dist/cjs/protocols/cctp.d.ts.map +1 -1
  25. package/dist/cjs/protocols/cctp.js +10 -0
  26. package/dist/cjs/protocols/cctp.js.map +1 -1
  27. package/dist/cjs/protocols/core.d.ts +5 -0
  28. package/dist/cjs/protocols/core.d.ts.map +1 -1
  29. package/dist/cjs/protocols/core.js +5 -0
  30. package/dist/cjs/protocols/core.js.map +1 -1
  31. package/dist/cjs/protocols/tokenBridge.d.ts +9 -0
  32. package/dist/cjs/protocols/tokenBridge.d.ts.map +1 -1
  33. package/dist/cjs/protocols/tokenBridge.js +10 -1
  34. package/dist/cjs/protocols/tokenBridge.js.map +1 -1
  35. package/dist/cjs/rpc.d.ts +1 -9
  36. package/dist/cjs/rpc.d.ts.map +1 -1
  37. package/dist/cjs/testing/mocks/chain.d.ts +6 -5
  38. package/dist/cjs/testing/mocks/chain.d.ts.map +1 -1
  39. package/dist/cjs/testing/mocks/chain.js +9 -6
  40. package/dist/cjs/testing/mocks/chain.js.map +1 -1
  41. package/dist/cjs/testing/mocks/platform.d.ts +11 -4
  42. package/dist/cjs/testing/mocks/platform.d.ts.map +1 -1
  43. package/dist/cjs/testing/mocks/platform.js +27 -6
  44. package/dist/cjs/testing/mocks/platform.js.map +1 -1
  45. package/dist/cjs/types.d.ts +1 -1
  46. package/dist/cjs/vaa.d.ts +4 -4
  47. package/dist/esm/chain.d.ts +19 -18
  48. package/dist/esm/chain.d.ts.map +1 -1
  49. package/dist/esm/chain.js +46 -24
  50. package/dist/esm/chain.js.map +1 -1
  51. package/dist/esm/index.d.ts +1 -0
  52. package/dist/esm/index.d.ts.map +1 -1
  53. package/dist/esm/index.js +1 -0
  54. package/dist/esm/index.js.map +1 -1
  55. package/dist/esm/layout-items/chain.d.ts +8 -4
  56. package/dist/esm/layout-items/chain.d.ts.map +1 -1
  57. package/dist/esm/layout-items/chain.js +1 -1
  58. package/dist/esm/layout-items/chain.js.map +1 -1
  59. package/dist/esm/payloads/bam.d.ts +187 -0
  60. package/dist/esm/payloads/bam.d.ts.map +1 -0
  61. package/dist/esm/payloads/bam.js +34 -0
  62. package/dist/esm/payloads/bam.js.map +1 -0
  63. package/dist/esm/payloads/governance.d.ts +252 -252
  64. package/dist/esm/payloads/relayer.d.ts +10 -10
  65. package/dist/esm/payloads/tokenBridge.d.ts +14 -14
  66. package/dist/esm/platform.d.ts +14 -19
  67. package/dist/esm/platform.d.ts.map +1 -1
  68. package/dist/esm/protocols/cctp.d.ts +9 -0
  69. package/dist/esm/protocols/cctp.d.ts.map +1 -1
  70. package/dist/esm/protocols/cctp.js +7 -0
  71. package/dist/esm/protocols/cctp.js.map +1 -1
  72. package/dist/esm/protocols/core.d.ts +5 -0
  73. package/dist/esm/protocols/core.d.ts.map +1 -1
  74. package/dist/esm/protocols/core.js +3 -1
  75. package/dist/esm/protocols/core.js.map +1 -1
  76. package/dist/esm/protocols/tokenBridge.d.ts +9 -0
  77. package/dist/esm/protocols/tokenBridge.d.ts.map +1 -1
  78. package/dist/esm/protocols/tokenBridge.js +7 -0
  79. package/dist/esm/protocols/tokenBridge.js.map +1 -1
  80. package/dist/esm/rpc.d.ts +1 -9
  81. package/dist/esm/rpc.d.ts.map +1 -1
  82. package/dist/esm/testing/mocks/chain.d.ts +6 -5
  83. package/dist/esm/testing/mocks/chain.d.ts.map +1 -1
  84. package/dist/esm/testing/mocks/chain.js +9 -6
  85. package/dist/esm/testing/mocks/chain.js.map +1 -1
  86. package/dist/esm/testing/mocks/platform.d.ts +11 -4
  87. package/dist/esm/testing/mocks/platform.d.ts.map +1 -1
  88. package/dist/esm/testing/mocks/platform.js +27 -6
  89. package/dist/esm/testing/mocks/platform.js.map +1 -1
  90. package/dist/esm/types.d.ts +1 -1
  91. package/dist/esm/vaa.d.ts +4 -4
  92. package/package.json +1 -1
  93. package/src/chain.ts +76 -59
  94. package/src/index.ts +1 -0
  95. package/src/layout-items/chain.ts +1 -1
  96. package/src/payloads/bam.ts +66 -0
  97. package/src/platform.ts +29 -28
  98. package/src/protocols/cctp.ts +27 -0
  99. package/src/protocols/core.ts +13 -0
  100. package/src/protocols/tokenBridge.ts +43 -0
  101. package/src/rpc.ts +1 -15
  102. package/src/testing/mocks/chain.ts +17 -8
  103. package/src/testing/mocks/platform.ts +40 -13
  104. package/src/types.ts +1 -1
@@ -9,8 +9,8 @@ declare const relayerPayloads: readonly [readonly ["DeliveryInstruction", readon
9
9
  readonly binary: "object";
10
10
  readonly layout: readonly [{
11
11
  readonly custom: {
12
- to: (val: number) => "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Osmosis" | "Wormchain" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Sepolia";
13
- from: (val: "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Osmosis" | "Wormchain" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Sepolia") => number;
12
+ to: (val: number) => "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia";
13
+ from: (val: "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia") => number;
14
14
  };
15
15
  readonly binary: "uint";
16
16
  readonly size: 2;
@@ -71,8 +71,8 @@ declare const relayerPayloads: readonly [readonly ["DeliveryInstruction", readon
71
71
  readonly binary: "object";
72
72
  readonly layout: readonly [{
73
73
  readonly custom: {
74
- to: (val: number) => "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Osmosis" | "Wormchain" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Sepolia";
75
- from: (val: "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Osmosis" | "Wormchain" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Sepolia") => number;
74
+ to: (val: number) => "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia";
75
+ from: (val: "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia") => number;
76
76
  };
77
77
  readonly binary: "uint";
78
78
  readonly size: 2;
@@ -125,8 +125,8 @@ declare const relayerPayloads: readonly [readonly ["DeliveryInstruction", readon
125
125
  };
126
126
  }, {
127
127
  readonly custom: {
128
- to: (val: number) => "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Osmosis" | "Wormchain" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Sepolia";
129
- from: (val: "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Osmosis" | "Wormchain" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Sepolia") => number;
128
+ to: (val: number) => "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia";
129
+ from: (val: "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia") => number;
130
130
  };
131
131
  readonly binary: "uint";
132
132
  readonly size: 2;
@@ -163,8 +163,8 @@ declare const relayerPayloads: readonly [readonly ["DeliveryInstruction", readon
163
163
  };
164
164
  }, {
165
165
  readonly custom: {
166
- to: (val: number) => "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Osmosis" | "Wormchain" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Sepolia";
167
- from: (val: "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Osmosis" | "Wormchain" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Sepolia") => number;
166
+ to: (val: number) => "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia";
167
+ from: (val: "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia") => number;
168
168
  };
169
169
  readonly binary: "uint";
170
170
  readonly size: 2;
@@ -184,8 +184,8 @@ declare const relayerPayloads: readonly [readonly ["DeliveryInstruction", readon
184
184
  }];
185
185
  }, {
186
186
  readonly custom: {
187
- to: (val: number) => "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Osmosis" | "Wormchain" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Sepolia";
188
- from: (val: "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Osmosis" | "Wormchain" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Sepolia") => number;
187
+ to: (val: number) => "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia";
188
+ from: (val: "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia") => number;
189
189
  };
190
190
  readonly binary: "uint";
191
191
  readonly size: 2;
@@ -22,8 +22,8 @@ export declare const transferWithPayloadLayout: <const P extends Omit<LayoutItem
22
22
  readonly name: "address";
23
23
  }, {
24
24
  readonly custom: {
25
- to: (val: number) => "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Osmosis" | "Wormchain" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Sepolia";
26
- from: (val: "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Osmosis" | "Wormchain" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Sepolia") => number;
25
+ to: (val: number) => "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia";
26
+ from: (val: "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia") => number;
27
27
  };
28
28
  readonly binary: "uint";
29
29
  readonly size: 2;
@@ -42,8 +42,8 @@ export declare const transferWithPayloadLayout: <const P extends Omit<LayoutItem
42
42
  readonly name: "address";
43
43
  }, {
44
44
  readonly custom: {
45
- to: (val: number) => "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Osmosis" | "Wormchain" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Sepolia";
46
- from: (val: "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Osmosis" | "Wormchain" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Sepolia") => number;
45
+ to: (val: number) => "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia";
46
+ from: (val: "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia") => number;
47
47
  };
48
48
  readonly binary: "uint";
49
49
  readonly size: 2;
@@ -79,8 +79,8 @@ export declare const tokenBridgePayloads: readonly [readonly ["AttestMeta", read
79
79
  readonly name: "address";
80
80
  }, {
81
81
  readonly custom: {
82
- to: (val: number) => "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Osmosis" | "Wormchain" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Sepolia";
83
- from: (val: "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Osmosis" | "Wormchain" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Sepolia") => number;
82
+ to: (val: number) => "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia";
83
+ from: (val: "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia") => number;
84
84
  };
85
85
  readonly binary: "uint";
86
86
  readonly size: 2;
@@ -129,8 +129,8 @@ export declare const tokenBridgePayloads: readonly [readonly ["AttestMeta", read
129
129
  readonly name: "address";
130
130
  }, {
131
131
  readonly custom: {
132
- to: (val: number) => "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Osmosis" | "Wormchain" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Sepolia";
133
- from: (val: "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Osmosis" | "Wormchain" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Sepolia") => number;
132
+ to: (val: number) => "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia";
133
+ from: (val: "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia") => number;
134
134
  };
135
135
  readonly binary: "uint";
136
136
  readonly size: 2;
@@ -149,8 +149,8 @@ export declare const tokenBridgePayloads: readonly [readonly ["AttestMeta", read
149
149
  readonly name: "address";
150
150
  }, {
151
151
  readonly custom: {
152
- to: (val: number) => "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Osmosis" | "Wormchain" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Sepolia";
153
- from: (val: "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Osmosis" | "Wormchain" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Sepolia") => number;
152
+ to: (val: number) => "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia";
153
+ from: (val: "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia") => number;
154
154
  };
155
155
  readonly binary: "uint";
156
156
  readonly size: 2;
@@ -183,8 +183,8 @@ export declare const tokenBridgePayloads: readonly [readonly ["AttestMeta", read
183
183
  readonly name: "address";
184
184
  }, {
185
185
  readonly custom: {
186
- to: (val: number) => "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Osmosis" | "Wormchain" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Sepolia";
187
- from: (val: "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Osmosis" | "Wormchain" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Sepolia") => number;
186
+ to: (val: number) => "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia";
187
+ from: (val: "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia") => number;
188
188
  };
189
189
  readonly binary: "uint";
190
190
  readonly size: 2;
@@ -203,8 +203,8 @@ export declare const tokenBridgePayloads: readonly [readonly ["AttestMeta", read
203
203
  readonly name: "address";
204
204
  }, {
205
205
  readonly custom: {
206
- to: (val: number) => "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Osmosis" | "Wormchain" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Sepolia";
207
- from: (val: "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Osmosis" | "Wormchain" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Sepolia") => number;
206
+ to: (val: number) => "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia";
207
+ from: (val: "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia") => number;
208
208
  };
209
209
  readonly binary: "uint";
210
210
  readonly size: 2;
@@ -1,31 +1,26 @@
1
- import { PlatformName, ChainName } from "@wormhole-foundation/sdk-base";
1
+ import { PlatformName, ChainName, Network } from "@wormhole-foundation/sdk-base";
2
2
  import { ChainContext } from "./chain";
3
3
  import { RpcConnection } from "./rpc";
4
4
  import { ChainsConfig, TokenId, TxHash } from "./types";
5
5
  import { WormholeMessageId } from "./attestation";
6
6
  import { SignedTx } from "./types";
7
- import { TokenBridge, AutomaticTokenBridge } from "./protocols/tokenBridge";
8
- import { CircleBridge, AutomaticCircleBridge } from "./protocols/cctp";
9
- import { WormholeCore } from "./protocols/core";
10
- import { NativeAddress } from "./address";
11
- export type PlatformCtr<P extends PlatformName> = {
12
- _platform: P;
13
- new (conf: ChainsConfig): Platform<P>;
14
- };
15
- export interface Platform<P extends PlatformName> {
7
+ export interface PlatformUtils<P extends PlatformName> {
8
+ nativeTokenId(chain: ChainName): TokenId;
9
+ isSupportedChain(chain: ChainName): boolean;
10
+ isNativeTokenId(chain: ChainName, tokenId: TokenId): boolean;
11
+ getDecimals(chain: ChainName, rpc: RpcConnection<P>, token: TokenId | "native"): Promise<bigint>;
12
+ getBalance(chain: ChainName, rpc: RpcConnection<P>, walletAddr: string, token: TokenId | "native"): Promise<bigint | null>;
13
+ getCurrentBlock(rpc: RpcConnection<P>): Promise<number>;
14
+ sendWait(chain: ChainName, rpc: RpcConnection<P>, stxns: SignedTx[]): Promise<TxHash[]>;
15
+ chainFromRpc(rpc: RpcConnection<P>): Promise<[Network, ChainName]>;
16
+ }
17
+ export interface Platform<P extends PlatformName> extends PlatformUtils<P> {
16
18
  readonly platform: P;
17
19
  readonly conf: ChainsConfig;
20
+ readonly network: Network;
21
+ setConfig(network: Network, _conf?: ChainsConfig): Platform<P>;
18
22
  getChain(chain: ChainName): ChainContext<P>;
19
- getDecimals(chain: ChainName, rpc: RpcConnection<P>, token: TokenId | "native"): Promise<bigint>;
20
- getBalance(chain: ChainName, rpc: RpcConnection<P>, walletAddr: string, token: TokenId | "native"): Promise<bigint | null>;
21
23
  getRpc(chain: ChainName): RpcConnection<P>;
22
- sendWait(chain: ChainName, rpc: RpcConnection<P>, stxns: SignedTx[]): Promise<TxHash[]>;
23
24
  parseTransaction(chain: ChainName, rpc: RpcConnection<P>, txid: TxHash): Promise<WormholeMessageId[]>;
24
- parseAddress(chain: ChainName, address: string): NativeAddress<P>;
25
- getWormholeCore(rpc: RpcConnection<P>): Promise<WormholeCore<P>>;
26
- getTokenBridge(rpc: RpcConnection<P>): Promise<TokenBridge<P>>;
27
- getAutomaticTokenBridge(rpc: RpcConnection<P>): Promise<AutomaticTokenBridge<P>>;
28
- getAutomaticCircleBridge(rpc: RpcConnection<P>): Promise<AutomaticCircleBridge<P>>;
29
- getCircleBridge(rpc: RpcConnection<P>): Promise<CircleBridge<P>>;
30
25
  }
31
26
  //# sourceMappingURL=platform.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,YAAY,IAAI;IAChD,SAAS,EAAE,CAAC,CAAC;IACb,KAAK,IAAI,EAAE,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;CACvC,CAAC;AAGF,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,YAAY;IAC9C,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAG5C,WAAW,CACT,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EACrB,KAAK,EAAE,OAAO,GAAG,QAAQ,GACxB,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB,UAAU,CACR,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EACrB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,OAAO,GAAG,QAAQ,GACxB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC1B,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAG3C,QAAQ,CACN,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EACrB,KAAK,EAAE,QAAQ,EAAE,GAChB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACrB,gBAAgB,CACd,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EACrB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAChC,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAGlE,eAAe,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,cAAc,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,uBAAuB,CACrB,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,GACpB,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,wBAAwB,CACtB,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,GACpB,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,eAAe,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;CAClE"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,SAAS,EACT,OAAO,EACR,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,YAAY;IACnD,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC;IAEzC,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC;IAE5C,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;IAG7D,WAAW,CACT,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EACrB,KAAK,EAAE,OAAO,GAAG,QAAQ,GACxB,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB,UAAU,CACR,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EACrB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,OAAO,GAAG,QAAQ,GACxB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC1B,eAAe,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAGxD,QAAQ,CACN,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EACrB,KAAK,EAAE,QAAQ,EAAE,GAChB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAErB,YAAY,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;CACpE;AAGD,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,YAAY,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAC;IACxE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAG1B,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAG/D,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAE5C,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAE3C,gBAAgB,CACd,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EACrB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;CACjC"}
@@ -4,6 +4,15 @@ import { CircleMessageId } from "../attestation";
4
4
  import { UnsignedTransaction } from "../unsignedTransaction";
5
5
  import { TokenId, TxHash } from "../types";
6
6
  import "../payloads/connect";
7
+ import { RpcConnection } from "../rpc";
8
+ export interface SupportsCircleBridge<P extends PlatformName> {
9
+ getCircleBridge(rpc: RpcConnection<P>): Promise<CircleBridge<P>>;
10
+ }
11
+ export declare function supportsCircleBridge<P extends PlatformName>(thing: SupportsCircleBridge<P> | any): thing is SupportsCircleBridge<P>;
12
+ export interface SupportsAutomaticCircleBridge<P extends PlatformName> {
13
+ getAutomaticCircleBridge(rpc: RpcConnection<P>): Promise<AutomaticCircleBridge<P>>;
14
+ }
15
+ export declare function supportsAutomaticCircleBridge<P extends PlatformName>(thing: SupportsAutomaticCircleBridge<P> | any): thing is SupportsAutomaticCircleBridge<P>;
7
16
  export type CircleTransferDetails = {
8
17
  txid: TxHash;
9
18
  token: TokenId;
@@ -1 +1 @@
1
- {"version":3,"file":"cctp.d.ts","sourceRoot":"","sources":["../../../src/protocols/cctp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,qBAAqB,CAAC;AAI7B,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE;QACX,MAAM,EAAE,aAAa,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,SAAS,EAAE,eAAe,CAAC;CAC5B,CAAC;AAEF,MAAM,WAAW,qBAAqB,CAAC,CAAC,SAAS,YAAY;IAC3D,QAAQ,CACN,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC5B,SAAS,EAAE,YAAY,EACvB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB,cAAc,CAAC,mBAAmB,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,YAAY;IAClD,MAAM,CACJ,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC5B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAClB,cAAc,CAAC,mBAAmB,CAAC,CAAC;IACvC,QAAQ,CACN,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC5B,SAAS,EAAE,YAAY,EACvB,MAAM,EAAE,MAAM,GACb,cAAc,CAAC,mBAAmB,CAAC,CAAC;IACvC,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACvE"}
1
+ {"version":3,"file":"cctp.d.ts","sourceRoot":"","sources":["../../../src/protocols/cctp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAIvC,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,YAAY;IAC1D,eAAe,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;CAClE;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,YAAY,EACzD,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,GAAG,GACnC,KAAK,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAElC;AAED,MAAM,WAAW,6BAA6B,CAAC,CAAC,SAAS,YAAY;IACnE,wBAAwB,CACtB,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,GACpB,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;CACtC;AAED,wBAAgB,6BAA6B,CAAC,CAAC,SAAS,YAAY,EAClE,KAAK,EAAE,6BAA6B,CAAC,CAAC,CAAC,GAAG,GAAG,GAC5C,KAAK,IAAI,6BAA6B,CAAC,CAAC,CAAC,CAK3C;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE;QACX,MAAM,EAAE,aAAa,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,SAAS,EAAE,eAAe,CAAC;CAC5B,CAAC;AAEF,MAAM,WAAW,qBAAqB,CAAC,CAAC,SAAS,YAAY;IAC3D,QAAQ,CACN,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC5B,SAAS,EAAE,YAAY,EACvB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB,cAAc,CAAC,mBAAmB,CAAC,CAAC;CAExC;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,YAAY;IAClD,MAAM,CACJ,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC5B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAClB,cAAc,CAAC,mBAAmB,CAAC,CAAC;IACvC,QAAQ,CACN,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC5B,SAAS,EAAE,YAAY,EACvB,MAAM,EAAE,MAAM,GACb,cAAc,CAAC,mBAAmB,CAAC,CAAC;IACvC,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACvE"}
@@ -1,4 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.supportsAutomaticCircleBridge = exports.supportsCircleBridge = void 0;
3
4
  require("../payloads/connect");
5
+ function supportsCircleBridge(thing) {
6
+ return typeof thing.getCircleBridge === "function";
7
+ }
8
+ exports.supportsCircleBridge = supportsCircleBridge;
9
+ function supportsAutomaticCircleBridge(thing) {
10
+ return (typeof thing
11
+ .getAutomaticCircleBridge === "function");
12
+ }
13
+ exports.supportsAutomaticCircleBridge = supportsAutomaticCircleBridge;
4
14
  //# sourceMappingURL=cctp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cctp.js","sourceRoot":"","sources":["../../../src/protocols/cctp.ts"],"names":[],"mappings":";;AAKA,+BAA6B"}
1
+ {"version":3,"file":"cctp.js","sourceRoot":"","sources":["../../../src/protocols/cctp.ts"],"names":[],"mappings":";;;AAKA,+BAA6B;AAS7B,SAAgB,oBAAoB,CAClC,KAAoC;IAEpC,OAAO,OAAiC,KAAM,CAAC,eAAe,KAAK,UAAU,CAAC;AAChF,CAAC;AAJD,oDAIC;AAQD,SAAgB,6BAA6B,CAC3C,KAA6C;IAE7C,OAAO,CACL,OAA0C,KAAM;SAC7C,wBAAwB,KAAK,UAAU,CAC3C,CAAC;AACJ,CAAC;AAPD,sEAOC"}
@@ -1,6 +1,11 @@
1
1
  import { PlatformName } from "@wormhole-foundation/sdk-base";
2
2
  import { UniversalOrNative } from "../address";
3
3
  import { UnsignedTransaction } from "../unsignedTransaction";
4
+ import { RpcConnection } from "../rpc";
5
+ export interface SupportsWormholeCore<P extends PlatformName> {
6
+ getWormholeCore(rpc: RpcConnection<P>): Promise<WormholeCore<P>>;
7
+ }
8
+ export declare function supportsWormholeCore<P extends PlatformName>(thing: SupportsWormholeCore<P> | any): thing is SupportsWormholeCore<P>;
4
9
  export interface WormholeCore<P extends PlatformName> {
5
10
  publishMessage(sender: UniversalOrNative<P>, message: string | Uint8Array): AsyncGenerator<UnsignedTransaction>;
6
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/protocols/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,YAAY;IAClD,cAAc,CACZ,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC5B,OAAO,EAAE,MAAM,GAAG,UAAU,GAC3B,cAAc,CAAC,mBAAmB,CAAC,CAAC;CACxC"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/protocols/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,YAAY;IAC1D,eAAe,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;CAClE;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,YAAY,EACzD,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,GAAG,GACnC,KAAK,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAElC;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,YAAY;IAClD,cAAc,CACZ,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC5B,OAAO,EAAE,MAAM,GAAG,UAAU,GAC3B,cAAc,CAAC,mBAAmB,CAAC,CAAC;CAGxC"}
@@ -1,3 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.supportsWormholeCore = void 0;
4
+ function supportsWormholeCore(thing) {
5
+ return typeof thing.getWormholeCore === "function";
6
+ }
7
+ exports.supportsWormholeCore = supportsWormholeCore;
3
8
  //# sourceMappingURL=core.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/protocols/core.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/protocols/core.ts"],"names":[],"mappings":";;;AASA,SAAgB,oBAAoB,CAClC,KAAoC;IAEpC,OAAO,OAAiC,KAAM,CAAC,eAAe,KAAK,UAAU,CAAC;AAChF,CAAC;AAJD,oDAIC"}
@@ -4,7 +4,16 @@ import { TokenId } from "../types";
4
4
  import { VAA } from "../vaa";
5
5
  import { UnsignedTransaction } from "../unsignedTransaction";
6
6
  import "../payloads/tokenBridge";
7
+ import { RpcConnection } from "../rpc";
7
8
  export declare const ErrNotWrapped: (token: string) => Error;
9
+ export interface SupportsTokenBridge<P extends PlatformName> {
10
+ getTokenBridge(rpc: RpcConnection<P>): Promise<TokenBridge<P>>;
11
+ }
12
+ export declare function supportsTokenBridge<P extends PlatformName>(thing: SupportsTokenBridge<P> | any): thing is SupportsTokenBridge<P>;
13
+ export interface SupportsAutomaticTokenBridge<P extends PlatformName> {
14
+ getAutomaticTokenBridge(rpc: RpcConnection<P>): Promise<AutomaticTokenBridge<P>>;
15
+ }
16
+ export declare function supportsAutomaticTokenBridge<P extends PlatformName>(thing: SupportsAutomaticTokenBridge<P> | any): thing is SupportsAutomaticTokenBridge<P>;
8
17
  export interface TokenBridge<P extends PlatformName> {
9
18
  isWrappedAsset(nativeAddress: UniversalOrNative<P>): Promise<boolean>;
10
19
  getOriginalAsset(nativeAddress: UniversalOrNative<P>): Promise<TokenId>;
@@ -1 +1 @@
1
- {"version":3,"file":"tokenBridge.d.ts","sourceRoot":"","sources":["../../../src/protocols/tokenBridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,yBAAyB,CAAC;AAEjC,eAAO,MAAM,aAAa,UAAW,MAAM,UACS,CAAC;AAErD,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,YAAY;IAEjD,cAAc,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtE,gBAAgB,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAExE,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAG9C,eAAe,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEzD,eAAe,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAElE,mBAAmB,CACjB,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,qBAAqB,CAAC,GAChD,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB,iBAAiB,CACf,eAAe,EAAE,iBAAiB,CAAC,CAAC,CAAC,EACrC,KAAK,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC3B,cAAc,CAAC,mBAAmB,CAAC,CAAC;IACvC,iBAAiB,CACf,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,EACtB,KAAK,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC3B,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAEvC,QAAQ,CACN,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC5B,SAAS,EAAE,YAAY,EACvB,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,QAAQ,EACtC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,UAAU,GACnB,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAEvC,MAAM,CACJ,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC5B,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,qBAAqB,CAAC,EACjD,YAAY,CAAC,EAAE,OAAO,GACrB,cAAc,CAAC,mBAAmB,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,YAAY;IAC1D,QAAQ,CACN,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC5B,SAAS,EAAE,YAAY,EACvB,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,QAAQ,EACtC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,GACjB,cAAc,CAAC,mBAAmB,CAAC,CAAC;IACvC,MAAM,CACJ,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC5B,GAAG,EAAE,GAAG,CAAC,qBAAqB,CAAC,GAC9B,cAAc,CAAC,mBAAmB,CAAC,CAAC;IACvC,aAAa,CACX,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,YAAY,EACvB,KAAK,EAAE,OAAO,GAAG,QAAQ,GACxB,OAAO,CAAC,MAAM,CAAC,CAAC;CACpB"}
1
+ {"version":3,"file":"tokenBridge.d.ts","sourceRoot":"","sources":["../../../src/protocols/tokenBridge.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ErrNotWrapped = void 0;
3
+ exports.supportsAutomaticTokenBridge = exports.supportsTokenBridge = exports.ErrNotWrapped = void 0;
4
4
  require("../payloads/tokenBridge");
5
5
  const ErrNotWrapped = (token) => new Error(`Token ${token} is not a wrapped asset`);
6
6
  exports.ErrNotWrapped = ErrNotWrapped;
7
+ function supportsTokenBridge(thing) {
8
+ return typeof thing.getTokenBridge === "function";
9
+ }
10
+ exports.supportsTokenBridge = supportsTokenBridge;
11
+ function supportsAutomaticTokenBridge(thing) {
12
+ return (typeof thing.getAutomaticTokenBridge ===
13
+ "function");
14
+ }
15
+ exports.supportsAutomaticTokenBridge = supportsAutomaticTokenBridge;
7
16
  //# sourceMappingURL=tokenBridge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokenBridge.js","sourceRoot":"","sources":["../../../src/protocols/tokenBridge.ts"],"names":[],"mappings":";;;AAKA,mCAAiC;AAE1B,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,EAAE,CAC7C,IAAI,KAAK,CAAC,SAAS,KAAK,yBAAyB,CAAC,CAAC;AADxC,QAAA,aAAa,iBAC2B"}
1
+ {"version":3,"file":"tokenBridge.js","sourceRoot":"","sources":["../../../src/protocols/tokenBridge.ts"],"names":[],"mappings":";;;AAKA,mCAAiC;AAG1B,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,EAAE,CAC7C,IAAI,KAAK,CAAC,SAAS,KAAK,yBAAyB,CAAC,CAAC;AADxC,QAAA,aAAa,iBAC2B;AAMrD,SAAgB,mBAAmB,CACjC,KAAmC;IAEnC,OAAO,OAAgC,KAAM,CAAC,cAAc,KAAK,UAAU,CAAC;AAC9E,CAAC;AAJD,kDAIC;AAQD,SAAgB,4BAA4B,CAC1C,KAA4C;IAE5C,OAAO,CACL,OAAyC,KAAM,CAAC,uBAAuB;QACvE,UAAU,CACX,CAAC;AACJ,CAAC;AAPD,oEAOC"}
package/dist/cjs/rpc.d.ts CHANGED
@@ -1,11 +1,3 @@
1
1
  import { PlatformName } from "@wormhole-foundation/sdk-base";
2
- export interface EvmRpc {
3
- broadcastTransaction(stxns: string): Promise<any>;
4
- getBalance(address: string): Promise<bigint>;
5
- }
6
- export interface SolRpc {
7
- getBalance(publicKey: any, commitmentOrConfig: any): Promise<number>;
8
- getParsedAccountInfo(publickKey: any): Promise<any>;
9
- }
10
- export type RpcConnection<P extends PlatformName> = P extends "Evm" ? EvmRpc : P extends "Solana" ? SolRpc : never;
2
+ export type RpcConnection<P extends PlatformName> = any;
11
3
  //# sourceMappingURL=rpc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../src/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,MAAM,WAAW,MAAM;IACrB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAClD,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9C;AACD,MAAM,WAAW,MAAM;IACrB,UAAU,CAAC,SAAS,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACrE,oBAAoB,CAAC,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CACrD;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,YAAY,IAAI,CAAC,SAAS,KAAK,GAC/D,MAAM,GACN,CAAC,SAAS,QAAQ,GAClB,MAAM,GACN,KAAK,CAAC"}
1
+ {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../src/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,YAAY,IAAI,GAAG,CAAC"}
@@ -1,8 +1,9 @@
1
- import { ChainName, PlatformName } from "@wormhole-foundation/sdk-base";
2
- import { RpcConnection, ChainContext, Platform } from "../..";
3
- export declare function chainFactory<P extends PlatformName>(p: Platform<P>, chain: ChainName): ChainContext<P>;
1
+ import { ChainName, Network, PlatformName } from "@wormhole-foundation/sdk-base";
2
+ import { ChainContext, Platform } from "../..";
3
+ export declare function chainFactory<P extends PlatformName>(network: Network, p: Platform<P>, chain: ChainName): ChainContext<P>;
4
4
  export declare class MockChain<P extends PlatformName> extends ChainContext<P> {
5
- private rpc?;
6
- getRpc(): RpcConnection<P>;
5
+ readonly chain: ChainName;
6
+ readonly platform: Platform<P>;
7
+ constructor(network: Network, platform: PlatformName, chain: ChainName);
7
8
  }
8
9
  //# sourceMappingURL=chain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../../../src/testing/mocks/chain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE9D,wBAAgB,YAAY,CAAC,CAAC,SAAS,YAAY,EACjD,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EACd,KAAK,EAAE,SAAS,GACf,YAAY,CAAC,CAAC,CAAC,CAEjB;AAED,qBAAa,SAAS,CAAC,CAAC,SAAS,YAAY,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,CAAmB;IAE/B,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC;CAI3B"}
1
+ {"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../../../src/testing/mocks/chain.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,OAAO,EACP,YAAY,EACb,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAG/C,wBAAgB,YAAY,CAAC,CAAC,SAAS,YAAY,EACjD,OAAO,EAAE,OAAO,EAChB,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EACd,KAAK,EAAE,SAAS,GACf,YAAY,CAAC,CAAC,CAAC,CAEjB;AAED,qBAAa,SAAS,CAAC,CAAC,SAAS,YAAY,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;IAKlE,QAAQ,CAAC,KAAK,EAAE,SAAS;IAJ3B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAE7B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,YAAY,EACb,KAAK,EAAE,SAAS;CAK5B"}
@@ -2,15 +2,18 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MockChain = exports.chainFactory = void 0;
4
4
  const __1 = require("../..");
5
- function chainFactory(p, chain) {
6
- return new MockChain(p, chain);
5
+ const platform_1 = require("./platform");
6
+ function chainFactory(network, p, chain) {
7
+ return new MockChain(network, p.platform, chain);
7
8
  }
8
9
  exports.chainFactory = chainFactory;
9
10
  class MockChain extends __1.ChainContext {
10
- rpc;
11
- getRpc() {
12
- this.rpc = this.rpc ? this.rpc : this.platform.getRpc(this.chain);
13
- return this.rpc;
11
+ chain;
12
+ platform;
13
+ constructor(network, platform, chain) {
14
+ super(chain);
15
+ this.chain = chain;
16
+ this.platform = (0, platform_1.mockPlatformFactory)(network, platform, {});
14
17
  }
15
18
  }
16
19
  exports.MockChain = MockChain;
@@ -1 +1 @@
1
- {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../../src/testing/mocks/chain.ts"],"names":[],"mappings":";;;AACA,6BAA8D;AAE9D,SAAgB,YAAY,CAC1B,CAAc,EACd,KAAgB;IAEhB,OAAO,IAAI,SAAS,CAAI,CAAC,EAAE,KAAK,CAAC,CAAC;AACpC,CAAC;AALD,oCAKC;AAED,MAAa,SAAkC,SAAQ,gBAAe;IAC5D,GAAG,CAAoB;IAE/B,MAAM;QACJ,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,GAAI,CAAC;IACnB,CAAC;CACF;AAPD,8BAOC"}
1
+ {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../../src/testing/mocks/chain.ts"],"names":[],"mappings":";;;AAKA,6BAA+C;AAC/C,yCAAiD;AAEjD,SAAgB,YAAY,CAC1B,OAAgB,EAChB,CAAc,EACd,KAAgB;IAEhB,OAAO,IAAI,SAAS,CAAI,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACtD,CAAC;AAND,oCAMC;AAED,MAAa,SAAkC,SAAQ,gBAAe;IAKzD;IAJF,QAAQ,CAAc;IAC/B,YACE,OAAgB,EAChB,QAAsB,EACb,KAAgB;QAEzB,KAAK,CAAC,KAAK,CAAC,CAAC;QAFJ,UAAK,GAAL,KAAK,CAAW;QAGzB,IAAI,CAAC,QAAQ,GAAG,IAAA,8BAAmB,EAAI,OAAO,EAAE,QAAa,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;CACF;AAVD,8BAUC"}
@@ -1,20 +1,27 @@
1
- import { ChainName, PlatformName } from "@wormhole-foundation/sdk-base";
2
- import { ChainContext, Platform, TxHash, RpcConnection, TokenId, AutomaticTokenBridge, TokenBridge, WormholeMessageId, CircleBridge, AutomaticCircleBridge, ChainsConfig, PlatformCtr, NativeAddress } from "../..";
1
+ import { ChainName, Network, PlatformName } from "@wormhole-foundation/sdk-base";
2
+ import { ChainContext, Platform, TxHash, RpcConnection, TokenId, AutomaticTokenBridge, TokenBridge, WormholeMessageId, CircleBridge, AutomaticCircleBridge, ChainsConfig, NativeAddress } from "../..";
3
3
  import { WormholeCore } from "../../protocols/core";
4
- export declare function mockPlatformFactory(p: PlatformName): PlatformCtr<PlatformName>;
4
+ export declare function mockPlatformFactory<P extends PlatformName>(network: Network, p: P, config: ChainsConfig): Platform<P>;
5
5
  export declare class MockPlatform<P extends PlatformName> implements Platform<P> {
6
6
  readonly platform: P;
7
+ network: Network;
7
8
  conf: ChainsConfig;
8
- constructor(conf: ChainsConfig);
9
+ constructor(network: Network, conf: ChainsConfig);
10
+ setConfig(network: Network, _conf: ChainsConfig): MockPlatform<P>;
11
+ nativeTokenId(chain: ChainName): TokenId;
12
+ isNativeTokenId(chain: ChainName, tokenId: TokenId): boolean;
13
+ isSupportedChain(chain: ChainName): boolean;
9
14
  getDecimals(chain: ChainName, rpc: RpcConnection<P>, token: TokenId | "native"): Promise<bigint>;
10
15
  getBalance(chain: ChainName, rpc: RpcConnection<P>, walletAddr: string, token: TokenId | "native"): Promise<bigint | null>;
11
16
  getChain(chain: ChainName): ChainContext<P>;
12
17
  getRpc(chain: ChainName): RpcConnection<P>;
18
+ getCurrentBlock(rpc: any): Promise<number>;
13
19
  getWrappedAsset(chain: ChainName, rpc: RpcConnection<P>, token: TokenId): Promise<TokenId | null>;
14
20
  getTokenDecimals(rpc: RpcConnection<P>, token: TokenId): Promise<bigint>;
15
21
  getNativeBalance(rpc: RpcConnection<P>, walletAddr: string): Promise<bigint>;
16
22
  getTokenBalance(chain: ChainName, rpc: RpcConnection<P>, walletAddr: string, token: TokenId): Promise<bigint | null>;
17
23
  parseTransaction(chain: ChainName, rpc: RpcConnection<P>, txid: TxHash): Promise<WormholeMessageId[]>;
24
+ chainFromRpc(rpc: RpcConnection<P>): Promise<[Network, ChainName]>;
18
25
  parseAddress(chain: ChainName, address: string): NativeAddress<P>;
19
26
  sendWait(chain: ChainName, rpc: RpcConnection<P>, stxns: any[]): Promise<TxHash[]>;
20
27
  getWormholeCore(rpc: RpcConnection<P>): Promise<WormholeCore<P>>;
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../../../src/testing/mocks/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../../../src/testing/mocks/platform.ts"],"names":[],"mappings":"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"}
@@ -5,12 +5,11 @@ const __1 = require("../..");
5
5
  const rpc_1 = require("./rpc");
6
6
  const chain_1 = require("./chain");
7
7
  const tokenBridge_1 = require("./tokenBridge");
8
- function mockPlatformFactory(p) {
8
+ function mockPlatformFactory(network, p, config) {
9
9
  class ConcreteMockPlatform extends MockPlatform {
10
- static _platform = p;
11
- platform = ConcreteMockPlatform._platform;
10
+ platform = p;
12
11
  }
13
- return ConcreteMockPlatform;
12
+ return new ConcreteMockPlatform(network, config);
14
13
  }
15
14
  exports.mockPlatformFactory = mockPlatformFactory;
16
15
  // Note: don't use this directly, instead create a ConcreteMockPlatform with the
@@ -18,10 +17,26 @@ exports.mockPlatformFactory = mockPlatformFactory;
18
17
  class MockPlatform {
19
18
  // @ts-ignore
20
19
  platform;
20
+ network;
21
21
  conf;
22
- constructor(conf) {
22
+ constructor(network, conf) {
23
+ this.network = network;
23
24
  this.conf = conf;
24
25
  }
26
+ setConfig(network, _conf) {
27
+ this.network = network;
28
+ this.conf = _conf;
29
+ return this;
30
+ }
31
+ nativeTokenId(chain) {
32
+ throw new Error("Method not implemented.");
33
+ }
34
+ isNativeTokenId(chain, tokenId) {
35
+ throw new Error("Method not implemented.");
36
+ }
37
+ isSupportedChain(chain) {
38
+ throw new Error("Method not implemented.");
39
+ }
25
40
  getDecimals(chain, rpc, token) {
26
41
  throw new Error("Method not implemented.");
27
42
  }
@@ -29,12 +44,15 @@ class MockPlatform {
29
44
  throw new Error("Method not implemented.");
30
45
  }
31
46
  getChain(chain) {
32
- return new chain_1.MockChain(this, chain);
47
+ return new chain_1.MockChain(this.network, this.platform, chain);
33
48
  }
34
49
  getRpc(chain) {
35
50
  // @ts-ignore
36
51
  return new rpc_1.MockRpc(chain);
37
52
  }
53
+ getCurrentBlock(rpc) {
54
+ throw new Error("Method not implemented");
55
+ }
38
56
  async getWrappedAsset(chain, rpc, token) {
39
57
  throw new Error("Method not implemented.");
40
58
  }
@@ -50,6 +68,9 @@ class MockPlatform {
50
68
  async parseTransaction(chain, rpc, txid) {
51
69
  throw new Error("Method not implemented");
52
70
  }
71
+ async chainFromRpc(rpc) {
72
+ throw new Error("Not implemented");
73
+ }
53
74
  parseAddress(chain, address) {
54
75
  if (!(0, __1.nativeIsRegistered)(chain))
55
76
  throw new Error("Chain not registered");