@wormhole-foundation/sdk-solana-core 4.23.0 → 5.0.0-beta.1

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 (130) hide show
  1. package/package.json +11 -29
  2. package/dist/cjs/core.d.ts +0 -34
  3. package/dist/cjs/core.d.ts.map +0 -1
  4. package/dist/cjs/core.js +0 -252
  5. package/dist/cjs/core.js.map +0 -1
  6. package/dist/cjs/index.d.ts +0 -5
  7. package/dist/cjs/index.d.ts.map +0 -1
  8. package/dist/cjs/index.js +0 -38
  9. package/dist/cjs/index.js.map +0 -1
  10. package/dist/cjs/package.json +0 -1
  11. package/dist/cjs/postMessageLayout.d.ts +0 -67
  12. package/dist/cjs/postMessageLayout.d.ts.map +0 -1
  13. package/dist/cjs/postMessageLayout.js +0 -24
  14. package/dist/cjs/postMessageLayout.js.map +0 -1
  15. package/dist/cjs/types.d.ts +0 -613
  16. package/dist/cjs/types.d.ts.map +0 -1
  17. package/dist/cjs/types.js +0 -615
  18. package/dist/cjs/types.js.map +0 -1
  19. package/dist/cjs/utils/accounts/claim.d.ts +0 -6
  20. package/dist/cjs/utils/accounts/claim.d.ts.map +0 -1
  21. package/dist/cjs/utils/accounts/claim.js +0 -31
  22. package/dist/cjs/utils/accounts/claim.js.map +0 -1
  23. package/dist/cjs/utils/accounts/config.d.ts +0 -19
  24. package/dist/cjs/utils/accounts/config.d.ts.map +0 -1
  25. package/dist/cjs/utils/accounts/config.js +0 -52
  26. package/dist/cjs/utils/accounts/config.js.map +0 -1
  27. package/dist/cjs/utils/accounts/emitter.d.ts +0 -10
  28. package/dist/cjs/utils/accounts/emitter.d.ts.map +0 -1
  29. package/dist/cjs/utils/accounts/emitter.js +0 -22
  30. package/dist/cjs/utils/accounts/emitter.js.map +0 -1
  31. package/dist/cjs/utils/accounts/feeCollector.d.ts +0 -3
  32. package/dist/cjs/utils/accounts/feeCollector.d.ts.map +0 -1
  33. package/dist/cjs/utils/accounts/feeCollector.js +0 -9
  34. package/dist/cjs/utils/accounts/feeCollector.js.map +0 -1
  35. package/dist/cjs/utils/accounts/guardianSet.d.ts +0 -14
  36. package/dist/cjs/utils/accounts/guardianSet.d.ts.map +0 -1
  37. package/dist/cjs/utils/accounts/guardianSet.js +0 -49
  38. package/dist/cjs/utils/accounts/guardianSet.js.map +0 -1
  39. package/dist/cjs/utils/accounts/index.d.ts +0 -10
  40. package/dist/cjs/utils/accounts/index.d.ts.map +0 -1
  41. package/dist/cjs/utils/accounts/index.js +0 -26
  42. package/dist/cjs/utils/accounts/index.js.map +0 -1
  43. package/dist/cjs/utils/accounts/postedVaa.d.ts +0 -5
  44. package/dist/cjs/utils/accounts/postedVaa.d.ts.map +0 -1
  45. package/dist/cjs/utils/accounts/postedVaa.js +0 -9
  46. package/dist/cjs/utils/accounts/postedVaa.js.map +0 -1
  47. package/dist/cjs/utils/accounts/sequence.d.ts +0 -15
  48. package/dist/cjs/utils/accounts/sequence.d.ts.map +0 -1
  49. package/dist/cjs/utils/accounts/sequence.js +0 -42
  50. package/dist/cjs/utils/accounts/sequence.js.map +0 -1
  51. package/dist/cjs/utils/accounts/signatureSet.d.ts +0 -12
  52. package/dist/cjs/utils/accounts/signatureSet.d.ts.map +0 -1
  53. package/dist/cjs/utils/accounts/signatureSet.js +0 -31
  54. package/dist/cjs/utils/accounts/signatureSet.js.map +0 -1
  55. package/dist/cjs/utils/accounts/upgrade.d.ts +0 -3
  56. package/dist/cjs/utils/accounts/upgrade.d.ts.map +0 -1
  57. package/dist/cjs/utils/accounts/upgrade.js +0 -9
  58. package/dist/cjs/utils/accounts/upgrade.js.map +0 -1
  59. package/dist/cjs/utils/coder/accounts.d.ts +0 -27
  60. package/dist/cjs/utils/coder/accounts.d.ts.map +0 -1
  61. package/dist/cjs/utils/coder/accounts.js +0 -64
  62. package/dist/cjs/utils/coder/accounts.js.map +0 -1
  63. package/dist/cjs/utils/coder/events.d.ts +0 -7
  64. package/dist/cjs/utils/coder/events.d.ts.map +0 -1
  65. package/dist/cjs/utils/coder/events.js +0 -11
  66. package/dist/cjs/utils/coder/events.js.map +0 -1
  67. package/dist/cjs/utils/coder/idl.d.ts +0 -9
  68. package/dist/cjs/utils/coder/idl.d.ts.map +0 -1
  69. package/dist/cjs/utils/coder/idl.js +0 -120
  70. package/dist/cjs/utils/coder/idl.js.map +0 -1
  71. package/dist/cjs/utils/coder/index.d.ts +0 -16
  72. package/dist/cjs/utils/coder/index.d.ts.map +0 -1
  73. package/dist/cjs/utils/coder/index.js +0 -39
  74. package/dist/cjs/utils/coder/index.js.map +0 -1
  75. package/dist/cjs/utils/coder/instruction.d.ts +0 -27
  76. package/dist/cjs/utils/coder/instruction.d.ts.map +0 -1
  77. package/dist/cjs/utils/coder/instruction.js +0 -110
  78. package/dist/cjs/utils/coder/instruction.js.map +0 -1
  79. package/dist/cjs/utils/coder/state.d.ts +0 -9
  80. package/dist/cjs/utils/coder/state.d.ts.map +0 -1
  81. package/dist/cjs/utils/coder/state.js +0 -14
  82. package/dist/cjs/utils/coder/state.js.map +0 -1
  83. package/dist/cjs/utils/coder/types.d.ts +0 -9
  84. package/dist/cjs/utils/coder/types.d.ts.map +0 -1
  85. package/dist/cjs/utils/coder/types.js +0 -14
  86. package/dist/cjs/utils/coder/types.js.map +0 -1
  87. package/dist/cjs/utils/cpi.d.ts +0 -52
  88. package/dist/cjs/utils/cpi.d.ts.map +0 -1
  89. package/dist/cjs/utils/cpi.js +0 -48
  90. package/dist/cjs/utils/cpi.js.map +0 -1
  91. package/dist/cjs/utils/index.d.ts +0 -5
  92. package/dist/cjs/utils/index.d.ts.map +0 -1
  93. package/dist/cjs/utils/index.js +0 -21
  94. package/dist/cjs/utils/index.js.map +0 -1
  95. package/dist/cjs/utils/instructions/feeTransfer.d.ts +0 -3
  96. package/dist/cjs/utils/instructions/feeTransfer.d.ts.map +0 -1
  97. package/dist/cjs/utils/instructions/feeTransfer.js +0 -14
  98. package/dist/cjs/utils/instructions/feeTransfer.js.map +0 -1
  99. package/dist/cjs/utils/instructions/governance.d.ts +0 -53
  100. package/dist/cjs/utils/instructions/governance.d.ts.map +0 -1
  101. package/dist/cjs/utils/instructions/governance.js +0 -111
  102. package/dist/cjs/utils/instructions/governance.js.map +0 -1
  103. package/dist/cjs/utils/instructions/index.d.ts +0 -7
  104. package/dist/cjs/utils/instructions/index.d.ts.map +0 -1
  105. package/dist/cjs/utils/instructions/index.js +0 -23
  106. package/dist/cjs/utils/instructions/index.js.map +0 -1
  107. package/dist/cjs/utils/instructions/initialize.d.ts +0 -16
  108. package/dist/cjs/utils/instructions/initialize.d.ts.map +0 -1
  109. package/dist/cjs/utils/instructions/initialize.js +0 -37
  110. package/dist/cjs/utils/instructions/initialize.js.map +0 -1
  111. package/dist/cjs/utils/instructions/postMessage.d.ts +0 -17
  112. package/dist/cjs/utils/instructions/postMessage.d.ts.map +0 -1
  113. package/dist/cjs/utils/instructions/postMessage.js +0 -41
  114. package/dist/cjs/utils/instructions/postMessage.js.map +0 -1
  115. package/dist/cjs/utils/instructions/postVaa.d.ts +0 -29
  116. package/dist/cjs/utils/instructions/postVaa.d.ts.map +0 -1
  117. package/dist/cjs/utils/instructions/postVaa.js +0 -53
  118. package/dist/cjs/utils/instructions/postVaa.js.map +0 -1
  119. package/dist/cjs/utils/instructions/secp256k1.d.ts +0 -31
  120. package/dist/cjs/utils/instructions/secp256k1.d.ts.map +0 -1
  121. package/dist/cjs/utils/instructions/secp256k1.js +0 -111
  122. package/dist/cjs/utils/instructions/secp256k1.js.map +0 -1
  123. package/dist/cjs/utils/instructions/verifySignature.d.ts +0 -33
  124. package/dist/cjs/utils/instructions/verifySignature.d.ts.map +0 -1
  125. package/dist/cjs/utils/instructions/verifySignature.js +0 -91
  126. package/dist/cjs/utils/instructions/verifySignature.js.map +0 -1
  127. package/dist/cjs/utils/program.d.ts +0 -9
  128. package/dist/cjs/utils/program.d.ts.map +0 -1
  129. package/dist/cjs/utils/program.js +0 -21
  130. package/dist/cjs/utils/program.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wormhole-foundation/sdk-solana-core",
3
- "version": "4.23.0",
3
+ "version": "5.0.0-beta.1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/wormhole-foundation/wormhole-sdk-ts.git"
@@ -13,13 +13,12 @@
13
13
  "test": "__tests__"
14
14
  },
15
15
  "license": "Apache-2.0",
16
- "main": "./dist/cjs/index.js",
17
- "types": "./dist/cjs/index.d.ts",
16
+ "main": "./dist/esm/index.js",
17
+ "types": "./dist/esm/index.d.ts",
18
18
  "module": "./dist/esm/index.js",
19
19
  "description": "SDK for Solana, used in conjunction with @wormhole-foundation/sdk",
20
20
  "files": [
21
- "dist/esm",
22
- "dist/cjs"
21
+ "dist/esm"
23
22
  ],
24
23
  "keywords": [
25
24
  "wormhole",
@@ -29,24 +28,22 @@
29
28
  "solana"
30
29
  ],
31
30
  "engines": {
32
- "node": ">=16"
31
+ "node": ">=20.19"
33
32
  },
34
33
  "sideEffects": [
35
- "./dist/cjs/index.js",
36
34
  "./dist/esm/index.js"
37
35
  ],
38
36
  "scripts": {
39
- "build:cjs": "tsc -p ./tsconfig.cjs.json && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json",
40
37
  "build:esm": "tsc -p ./tsconfig.esm.json",
41
- "build": "npm run build:esm && npm run build:cjs",
38
+ "build": "npm run build:esm",
42
39
  "rebuild": "npm run clean && npm run build",
43
40
  "clean": "rm -rf ./dist && rm -rf ./.turbo",
44
41
  "lint": "npm run prettier && eslint --fix ./src --ext .ts",
45
42
  "prettier": "prettier --write ./src"
46
43
  },
47
44
  "dependencies": {
48
- "@wormhole-foundation/sdk-connect": "4.23.0",
49
- "@wormhole-foundation/sdk-solana": "4.23.0",
45
+ "@wormhole-foundation/sdk-connect": "5.0.0-beta.1",
46
+ "@wormhole-foundation/sdk-solana": "5.0.0-beta.1",
50
47
  "@coral-xyz/borsh": "0.29.0",
51
48
  "@coral-xyz/anchor": "0.29.0",
52
49
  "@solana/web3.js": "^1.95.8"
@@ -54,24 +51,9 @@
54
51
  "type": "module",
55
52
  "exports": {
56
53
  ".": {
57
- "react-native": {
58
- "import": "./dist/esm/index.js",
59
- "require": "./dist/cjs/index.js",
60
- "types": "./dist/cjs/index.d.ts",
61
- "default": "./dist/cjs/index.js"
62
- },
63
- "import": {
64
- "types": "./dist/esm/index.d.ts",
65
- "default": "./dist/esm/index.js"
66
- },
67
- "require": {
68
- "types": "./dist/cjs/index.d.ts",
69
- "default": "./dist/cjs/index.js"
70
- },
71
- "default": {
72
- "types": "./dist/cjs/index.d.ts",
73
- "default": "./dist/cjs/index.js"
74
- }
54
+ "types": "./dist/esm/index.d.ts",
55
+ "import": "./dist/esm/index.js",
56
+ "default": "./dist/esm/index.js"
75
57
  }
76
58
  }
77
59
  }
@@ -1,34 +0,0 @@
1
- import type { Program } from '@coral-xyz/anchor';
2
- import type { Connection, PublicKey, TransactionResponse, VersionedTransactionResponse } from '@solana/web3.js';
3
- import type { ChainId, ChainsConfig, Contracts, Network, Platform, UniversalAddress, VAA, WormholeCore, WormholeMessageId } from '@wormhole-foundation/sdk-connect';
4
- import type { AnySolanaAddress, SolanaChains } from '@wormhole-foundation/sdk-solana';
5
- import { SolanaUnsignedTransaction } from '@wormhole-foundation/sdk-solana';
6
- import type { Wormhole as WormholeCoreContract } from './types.js';
7
- import type { BridgeData } from './utils/index.js';
8
- export declare class SolanaWormholeCore<N extends Network, C extends SolanaChains> implements WormholeCore<N, C> {
9
- readonly network: N;
10
- readonly chain: C;
11
- readonly connection: Connection;
12
- readonly contracts: Contracts;
13
- readonly chainId: ChainId;
14
- readonly coreBridge: Program<WormholeCoreContract>;
15
- readonly address: string;
16
- protected bridgeData?: BridgeData;
17
- constructor(network: N, chain: C, connection: Connection, contracts: Contracts);
18
- getGuardianSet(index: number): Promise<WormholeCore.GuardianSet>;
19
- static fromRpc<N extends Network>(connection: Connection, config: ChainsConfig<N, Platform>): Promise<SolanaWormholeCore<N, "Solana" | "Pythnet" | "Fogo">>;
20
- private ensureBridgeConfig;
21
- getMessageFee(): Promise<bigint>;
22
- getGuardianSetIndex(): Promise<number>;
23
- publishMessage(sender: AnySolanaAddress, message: Uint8Array, nonce: number, consistencyLevel: number): AsyncGenerator<SolanaUnsignedTransaction<N, C>, void, unknown>;
24
- verifyMessage(sender: AnySolanaAddress, vaa: VAA): AsyncGenerator<SolanaUnsignedTransaction<N, C>, void, unknown>;
25
- postVaa(sender: AnySolanaAddress, vaa: VAA): AsyncGenerator<SolanaUnsignedTransaction<N, C>, void, unknown>;
26
- static parseSequenceFromLog(coreBridgeAddress: string, transaction: VersionedTransactionResponse | TransactionResponse): [UniversalAddress, bigint][];
27
- private getMessageAccountKeys;
28
- private findInstructions;
29
- parsePostMessageAccount(messageAccount: PublicKey): Promise<VAA<"Uint8Array">>;
30
- parseTransaction(txid: string): Promise<WormholeMessageId[]>;
31
- parseMessages(txid: string): Promise<VAA<"Uint8Array">[]>;
32
- private createUnsignedTx;
33
- }
34
- //# sourceMappingURL=core.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAEV,UAAU,EAGV,SAAS,EACT,mBAAmB,EACnB,4BAA4B,EAC7B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EACZ,SAAS,EACT,OAAO,EACP,QAAQ,EACR,gBAAgB,EAChB,GAAG,EACH,YAAY,EACZ,iBAAiB,EAClB,MAAM,kCAAkC,CAAC;AAM1C,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EAEb,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAGL,yBAAyB,EAC1B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,KAAK,EAAE,QAAQ,IAAI,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAcnD,qBAAa,kBAAkB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,YAAY,CACvE,YAAW,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IAQ3B,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,QAAQ,CAAC,UAAU,EAAE,UAAU;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS;IAT/B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACnD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;gBAGvB,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,EACR,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS;IAkBzB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC;WAazD,OAAO,CAAC,CAAC,SAAS,OAAO,EACpC,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC;YAiBrB,kBAAkB;IAS1B,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAKhC,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAKrC,cAAc,CACnB,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,UAAU,EACnB,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,MAAM;IA8BnB,aAAa,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,GAAG;IAIhD,OAAO,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,GAAG;IAkDjD,MAAM,CAAC,oBAAoB,CACzB,iBAAiB,EAAE,MAAM,EACzB,WAAW,EAAE,4BAA4B,GAAG,mBAAmB,GAC9D,CAAC,gBAAgB,EAAE,MAAM,CAAC,EAAE;YAgDjB,qBAAqB;YAoCrB,gBAAgB;IAqCxB,uBAAuB,CAAC,cAAc,EAAE,SAAS;IA2BjD,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAmD5D,aAAa,CAAC,IAAI,EAAE,MAAM;IAwBhC,OAAO,CAAC,gBAAgB;CAazB"}
package/dist/cjs/core.js DELETED
@@ -1,252 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SolanaWormholeCore = void 0;
4
- const web3_js_1 = require("@solana/web3.js");
5
- const sdk_connect_1 = require("@wormhole-foundation/sdk-connect");
6
- const sdk_solana_1 = require("@wormhole-foundation/sdk-solana");
7
- const postMessageLayout_js_1 = require("./postMessageLayout.js");
8
- const index_js_1 = require("./utils/index.js");
9
- const SOLANA_SEQ_LOG = 'Program log: Sequence: ';
10
- class SolanaWormholeCore {
11
- network;
12
- chain;
13
- connection;
14
- contracts;
15
- chainId;
16
- coreBridge;
17
- address;
18
- bridgeData;
19
- constructor(network, chain, connection, contracts) {
20
- this.network = network;
21
- this.chain = chain;
22
- this.connection = connection;
23
- this.contracts = contracts;
24
- this.chainId = (0, sdk_connect_1.toChainId)(chain);
25
- const coreBridgeAddress = contracts.coreBridge;
26
- if (!coreBridgeAddress)
27
- throw new Error(`CoreBridge contract Address for chain ${chain} not found`);
28
- this.address = coreBridgeAddress;
29
- this.coreBridge = (0, index_js_1.createReadOnlyWormholeProgramInterface)(coreBridgeAddress, connection);
30
- }
31
- async getGuardianSet(index) {
32
- const gs = await (0, index_js_1.getGuardianSet)(this.connection, this.coreBridge.programId, index);
33
- return {
34
- index: gs.index,
35
- keys: gs.keys.map((k) => k.toString('hex')),
36
- expiry: BigInt(gs.expirationTime),
37
- };
38
- }
39
- static async fromRpc(connection, config) {
40
- const [network, chain] = await sdk_solana_1.SolanaPlatform.chainFromRpc(connection);
41
- const conf = config[chain];
42
- if (conf.network !== network)
43
- throw new Error(`Network mismatch for chain ${chain}: ${conf.network} != ${network}`);
44
- return new SolanaWormholeCore(network, chain, connection, config[chain].contracts);
45
- }
46
- async ensureBridgeConfig() {
47
- // cache lookups since this should not change frequently
48
- if (!this.bridgeData)
49
- this.bridgeData = await (0, index_js_1.getWormholeBridgeData)(this.connection, this.coreBridge.programId);
50
- }
51
- async getMessageFee() {
52
- await this.ensureBridgeConfig();
53
- return this.bridgeData.config.fee;
54
- }
55
- async getGuardianSetIndex() {
56
- await this.ensureBridgeConfig();
57
- return this.bridgeData.guardianSetIndex;
58
- }
59
- async *publishMessage(sender, message, nonce, consistencyLevel) {
60
- const messageAccount = web3_js_1.Keypair.generate();
61
- const payer = new sdk_solana_1.SolanaAddress(sender).unwrap();
62
- const postMsgIx = (0, index_js_1.createPostMessageInstruction)(this.connection, this.coreBridge.programId, payer, messageAccount.publicKey, message, nonce, consistencyLevel);
63
- const fee = await this.getMessageFee();
64
- const feeTransferIx = (0, index_js_1.createBridgeFeeTransferInstruction)(this.coreBridge.programId, payer, fee);
65
- const transaction = new web3_js_1.Transaction();
66
- transaction.feePayer = payer;
67
- transaction.add(feeTransferIx, postMsgIx);
68
- yield this.createUnsignedTx({ transaction, signers: [messageAccount] }, 'Core.PublishMessage');
69
- }
70
- async *verifyMessage(sender, vaa) {
71
- yield* this.postVaa(sender, vaa);
72
- }
73
- async *postVaa(sender, vaa) {
74
- const postedVaaAddress = (0, index_js_1.derivePostedVaaKey)(this.coreBridge.programId, Buffer.from(vaa.hash));
75
- // no need to do anything else, this vaa is posted
76
- const isPosted = await this.connection.getAccountInfo(postedVaaAddress);
77
- if (isPosted)
78
- return;
79
- const senderAddr = new sdk_solana_1.SolanaAddress(sender).unwrap();
80
- const signatureSet = web3_js_1.Keypair.generate();
81
- const verifySignaturesInstructions = await (0, index_js_1.createVerifySignaturesInstructions)(this.connection, this.coreBridge.programId, senderAddr, vaa, signatureSet.publicKey);
82
- // Create a new transaction for every 2 instructions
83
- for (let i = 0; i < verifySignaturesInstructions.length; i += 2) {
84
- const verifySigTx = new web3_js_1.Transaction().add(...verifySignaturesInstructions.slice(i, i + 2));
85
- verifySigTx.feePayer = senderAddr;
86
- yield this.createUnsignedTx({ transaction: verifySigTx, signers: [signatureSet] }, 'Core.VerifySignature', true);
87
- }
88
- // Finally create the VAA posting transaction
89
- const postVaaTx = new web3_js_1.Transaction().add((0, index_js_1.createPostVaaInstruction)(this.connection, this.coreBridge.programId, senderAddr, vaa, signatureSet.publicKey));
90
- postVaaTx.feePayer = senderAddr;
91
- yield this.createUnsignedTx({ transaction: postVaaTx }, 'Core.PostVAA');
92
- }
93
- static parseSequenceFromLog(coreBridgeAddress, transaction) {
94
- const { meta, transaction: { message }, } = transaction;
95
- if (!meta?.innerInstructions?.length)
96
- return [];
97
- // Only consider transactions where the core bridge is in static keys
98
- const accounts = message.staticAccountKeys;
99
- if (accounts.filter((pk) => pk.toString() === coreBridgeAddress).length === 0)
100
- return [];
101
- // Do we have a sequence in the log?
102
- const sequence = meta?.logMessages
103
- ?.filter((msg) => msg.startsWith(SOLANA_SEQ_LOG))?.[0]
104
- ?.replace(SOLANA_SEQ_LOG, '');
105
- if (!sequence)
106
- return [];
107
- const bridgeIx = [];
108
- for (const inner of meta?.innerInstructions) {
109
- const instructions = inner.instructions;
110
- // find the instruction where the programId equals the
111
- // Wormhole ProgramId
112
- bridgeIx.push(...instructions.filter((i) => {
113
- return (i.programIdIndex in accounts &&
114
- accounts[i.programIdIndex].toString() === coreBridgeAddress);
115
- }));
116
- }
117
- if (bridgeIx.length < 1)
118
- return [];
119
- if (accounts.length < 3)
120
- return [];
121
- return bridgeIx
122
- .map((ix) => {
123
- const emitter = new sdk_solana_1.SolanaAddress(accounts[ix.accounts[2]]).toUniversalAddress();
124
- return [emitter, BigInt(sequence)];
125
- })
126
- .filter((x) => x !== null);
127
- }
128
- async getMessageAccountKeys(response) {
129
- // Resolve any LUT accounts if necessary
130
- let accounts;
131
- // a string type is indicative of a 'legacy' transaction
132
- if (typeof response.transaction.message.version !== 'string') {
133
- if (response.meta.loadedAddresses) {
134
- accounts = response.transaction.message.getAccountKeys({
135
- accountKeysFromLookups: response.meta.loadedAddresses,
136
- });
137
- }
138
- else {
139
- const atls = await Promise.all(response.transaction.message.addressTableLookups.map(async (atl) => {
140
- const lut = await this.connection.getAddressLookupTable(atl.accountKey);
141
- if (!lut || !lut.value)
142
- throw new Error('Could not resolve lookup table: ' + atl.accountKey.toBase58());
143
- return lut.value;
144
- }));
145
- accounts = response.transaction.message.getAccountKeys({
146
- addressLookupTableAccounts: atls,
147
- });
148
- }
149
- }
150
- else {
151
- accounts = response.transaction.message.getAccountKeys();
152
- }
153
- return accounts;
154
- }
155
- async findInstructions(accounts, response) {
156
- const { meta, transaction: { message }, } = response;
157
- const programId = this.coreBridge.programId;
158
- const iix = meta.innerInstructions
159
- ?.flatMap((ix) => ix.instructions.filter(
160
- // find the instructions where the programId equals the Wormhole ProgramId
161
- (i) => programId.toString() === accounts.get(i.programIdIndex).toString()))
162
- .map((ix) => {
163
- // map over inner ixs to put it in the same format as the compiled instructions
164
- // from the message
165
- return {
166
- programIdIndex: ix.programIdIndex,
167
- accountKeyIndexes: ix.accounts,
168
- };
169
- });
170
- const cix = message.compiledInstructions.filter((i) => programId.toString() === accounts.get(i.programIdIndex).toString());
171
- // find the instruction where the programId equals the Wormhole ProgramId
172
- return [...iix, ...cix];
173
- }
174
- async parsePostMessageAccount(messageAccount) {
175
- const acctInfo = await this.connection.getAccountInfo(messageAccount);
176
- if (!acctInfo?.data)
177
- throw new Error('No data found in message account');
178
- const { timestamp, emitterAddress, emitterChain, consistencyLevel, sequence, nonce, payload, } = (0, postMessageLayout_js_1.deserializePostMessage)(new Uint8Array(acctInfo?.data));
179
- return (0, sdk_connect_1.createVAA)('Uint8Array', {
180
- guardianSet: await this.getGuardianSetIndex(),
181
- emitterChain: (0, sdk_connect_1.toChain)(emitterChain),
182
- timestamp,
183
- emitterAddress,
184
- consistencyLevel,
185
- sequence,
186
- nonce,
187
- payload,
188
- signatures: [],
189
- });
190
- }
191
- async parseTransaction(txid) {
192
- const response = await this.connection.getTransaction(txid, {
193
- maxSupportedTransactionVersion: 0,
194
- });
195
- if (!response || !response.meta || !response.meta.innerInstructions)
196
- throw new Error('transaction not found');
197
- try {
198
- // The sequence is frequently found in the log, pull from there if we can
199
- const loggedSeqs = SolanaWormholeCore.parseSequenceFromLog(this.coreBridge.programId.toBase58(), response);
200
- if (loggedSeqs.length > 0) {
201
- const [emitter, seq] = loggedSeqs[0];
202
- return [
203
- {
204
- chain: this.chain,
205
- emitter: emitter,
206
- sequence: seq,
207
- },
208
- ];
209
- }
210
- }
211
- catch {
212
- // but since the account keys may need to be resolved, it could fail
213
- }
214
- const accounts = await this.getMessageAccountKeys(response);
215
- // Otherwise we need to get it from the message account
216
- const bridgeInstructions = await this.findInstructions(accounts, response);
217
- if (!bridgeInstructions || bridgeInstructions.length === 0)
218
- throw new Error('no bridge messages found');
219
- const messagePromises = bridgeInstructions.map(async (bi) => {
220
- const messageAcct = accounts.get(bi.accountKeyIndexes[1]);
221
- const vaa = await this.parsePostMessageAccount(messageAcct);
222
- return {
223
- chain: vaa.emitterChain,
224
- emitter: vaa.emitterAddress,
225
- sequence: vaa.sequence,
226
- };
227
- });
228
- return await Promise.all(messagePromises);
229
- }
230
- async parseMessages(txid) {
231
- const response = await this.connection.getTransaction(txid, {
232
- maxSupportedTransactionVersion: 0,
233
- });
234
- if (!response || !response.meta || !response.meta.innerInstructions)
235
- throw new Error('transaction not found');
236
- // Otherwise we need to get it from the message account
237
- const accounts = await this.getMessageAccountKeys(response);
238
- const bridgeInstructions = await this.findInstructions(accounts, response);
239
- if (!bridgeInstructions || bridgeInstructions.length === 0)
240
- throw new Error('no bridge messages found');
241
- const messagePromises = bridgeInstructions.map(async (bi) => {
242
- const messageAcct = accounts.get(bi.accountKeyIndexes[1]);
243
- return await this.parsePostMessageAccount(messageAcct);
244
- });
245
- return await Promise.all(messagePromises);
246
- }
247
- createUnsignedTx(txReq, description, parallelizable = false) {
248
- return new sdk_solana_1.SolanaUnsignedTransaction(txReq, this.network, this.chain, description, parallelizable);
249
- }
250
- }
251
- exports.SolanaWormholeCore = SolanaWormholeCore;
252
- //# sourceMappingURL=core.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/core.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- export * from './core.js';
2
- export * from './types.js';
3
- export * as utils from './utils/index.js';
4
- export * from './postMessageLayout.js';
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAMA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,cAAc,wBAAwB,CAAC"}
package/dist/cjs/index.js DELETED
@@ -1,38 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
- };
21
- var __importStar = (this && this.__importStar) || function (mod) {
22
- if (mod && mod.__esModule) return mod;
23
- var result = {};
24
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
- __setModuleDefault(result, mod);
26
- return result;
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.utils = void 0;
30
- const sdk_solana_1 = require("@wormhole-foundation/sdk-solana");
31
- const sdk_connect_1 = require("@wormhole-foundation/sdk-connect");
32
- const core_js_1 = require("./core.js");
33
- (0, sdk_connect_1.registerProtocol)(sdk_solana_1._platform, 'WormholeCore', core_js_1.SolanaWormholeCore);
34
- __exportStar(require("./core.js"), exports);
35
- __exportStar(require("./types.js"), exports);
36
- exports.utils = __importStar(require("./utils/index.js"));
37
- __exportStar(require("./postMessageLayout.js"), exports);
38
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gEAA4D;AAC5D,kEAAoE;AACpE,uCAA+C;AAE/C,IAAA,8BAAgB,EAAC,sBAAS,EAAE,cAAc,EAAE,4BAAkB,CAAC,CAAC;AAEhE,4CAA0B;AAC1B,6CAA2B;AAC3B,0DAA0C;AAC1C,yDAAuC"}
@@ -1 +0,0 @@
1
- {"type":"commonjs"}
@@ -1,67 +0,0 @@
1
- import type { LayoutToType } from '@wormhole-foundation/sdk-connect';
2
- /** Binary layout for postMessage account */
3
- export declare const postMessageLayout: readonly [{
4
- readonly name: "discriminator";
5
- readonly binary: "bytes";
6
- readonly size: 4;
7
- }, {
8
- readonly name: "consistencyLevel";
9
- readonly binary: "uint";
10
- readonly size: 1;
11
- readonly endianness: "little";
12
- }, {
13
- readonly binary: "bytes";
14
- readonly size: 32;
15
- readonly custom: {
16
- to: (val: Uint8Array) => import("@wormhole-foundation/sdk-connect").UniversalAddress;
17
- from: (val: import("@wormhole-foundation/sdk-connect").UniversalAddress) => Uint8Array;
18
- };
19
- readonly name: "emitterAuthority";
20
- }, {
21
- readonly name: "messageStatus";
22
- readonly binary: "uint";
23
- readonly size: 1;
24
- readonly endianness: "little";
25
- }, {
26
- readonly name: "gap";
27
- readonly binary: "uint";
28
- readonly size: 3;
29
- }, {
30
- readonly name: "timestamp";
31
- readonly binary: "uint";
32
- readonly size: 4;
33
- readonly endianness: "little";
34
- }, {
35
- readonly name: "nonce";
36
- readonly binary: "uint";
37
- readonly size: 4;
38
- readonly endianness: "little";
39
- }, {
40
- readonly name: "sequence";
41
- readonly binary: "uint";
42
- readonly size: 8;
43
- readonly endianness: "little";
44
- }, {
45
- readonly name: "emitterChain";
46
- readonly binary: "uint";
47
- readonly size: 2;
48
- readonly endianness: "little";
49
- }, {
50
- readonly binary: "bytes";
51
- readonly size: 32;
52
- readonly custom: {
53
- to: (val: Uint8Array) => import("@wormhole-foundation/sdk-connect").UniversalAddress;
54
- from: (val: import("@wormhole-foundation/sdk-connect").UniversalAddress) => Uint8Array;
55
- };
56
- readonly name: "emitterAddress";
57
- }, {
58
- readonly name: "payloadLength";
59
- readonly binary: "uint";
60
- readonly size: 4;
61
- readonly endianness: "little";
62
- }, {
63
- readonly name: "payload";
64
- readonly binary: "bytes";
65
- }];
66
- export declare function deserializePostMessage(data: Uint8Array): LayoutToType<typeof postMessageLayout>;
67
- //# sourceMappingURL=postMessageLayout.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"postMessageLayout.d.ts","sourceRoot":"","sources":["../../src/postMessageLayout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAM7E,4CAA4C;AAC5C,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAaH,CAAC;AAE5B,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,UAAU,GACf,YAAY,CAAC,OAAO,iBAAiB,CAAC,CAExC"}
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deserializePostMessage = exports.postMessageLayout = void 0;
4
- const sdk_connect_1 = require("@wormhole-foundation/sdk-connect");
5
- /** Binary layout for postMessage account */
6
- exports.postMessageLayout = [
7
- { name: 'discriminator', binary: 'bytes', size: 4 },
8
- { name: 'consistencyLevel', binary: 'uint', size: 1, endianness: 'little' },
9
- { name: 'emitterAuthority', ...sdk_connect_1.layoutItems.universalAddressItem },
10
- { name: 'messageStatus', binary: 'uint', size: 1, endianness: 'little' },
11
- { name: 'gap', binary: 'uint', size: 3 },
12
- { name: 'timestamp', binary: 'uint', size: 4, endianness: 'little' },
13
- { name: 'nonce', binary: 'uint', size: 4, endianness: 'little' },
14
- { name: 'sequence', binary: 'uint', size: 8, endianness: 'little' },
15
- { name: 'emitterChain', binary: 'uint', size: 2, endianness: 'little' },
16
- { name: 'emitterAddress', ...sdk_connect_1.layoutItems.universalAddressItem },
17
- { name: 'payloadLength', binary: 'uint', size: 4, endianness: 'little' },
18
- { name: 'payload', binary: 'bytes' },
19
- ];
20
- function deserializePostMessage(data) {
21
- return (0, sdk_connect_1.deserializeLayout)(exports.postMessageLayout, data);
22
- }
23
- exports.deserializePostMessage = deserializePostMessage;
24
- //# sourceMappingURL=postMessageLayout.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"postMessageLayout.js","sourceRoot":"","sources":["../../src/postMessageLayout.ts"],"names":[],"mappings":";;;AACA,kEAG0C;AAE1C,4CAA4C;AAC/B,QAAA,iBAAiB,GAAG;IAC/B,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE;IACnD,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE;IAC3E,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,yBAAW,CAAC,oBAAoB,EAAE;IACjE,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE;IACxE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE;IACxC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE;IACpE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE;IAChE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE;IACnE,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE;IACvE,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,yBAAW,CAAC,oBAAoB,EAAE;IAC/D,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE;IACxE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE;CACX,CAAC;AAE5B,SAAgB,sBAAsB,CACpC,IAAgB;IAEhB,OAAO,IAAA,+BAAiB,EAAC,yBAAiB,EAAE,IAAI,CAAC,CAAC;AACpD,CAAC;AAJD,wDAIC"}