@wormhole-foundation/sdk-evm-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.
- package/package.json +11 -29
- package/dist/cjs/core.d.ts +0 -26
- package/dist/cjs/core.d.ts.map +0 -1
- package/dist/cjs/core.js +0 -125
- package/dist/cjs/core.js.map +0 -1
- package/dist/cjs/ethers-contracts/Implementation.d.ts +0 -551
- package/dist/cjs/ethers-contracts/Implementation.d.ts.map +0 -1
- package/dist/cjs/ethers-contracts/Implementation.js +0 -3
- package/dist/cjs/ethers-contracts/Implementation.js.map +0 -1
- package/dist/cjs/ethers-contracts/common.d.ts +0 -51
- package/dist/cjs/ethers-contracts/common.d.ts.map +0 -1
- package/dist/cjs/ethers-contracts/common.js +0 -3
- package/dist/cjs/ethers-contracts/common.js.map +0 -1
- package/dist/cjs/ethers-contracts/factories/Implementation__factory.d.ts +0 -820
- package/dist/cjs/ethers-contracts/factories/Implementation__factory.d.ts.map +0 -1
- package/dist/cjs/ethers-contracts/factories/Implementation__factory.js +0 -1078
- package/dist/cjs/ethers-contracts/factories/Implementation__factory.js.map +0 -1
- package/dist/cjs/ethers-contracts/factories/index.d.ts +0 -2
- package/dist/cjs/ethers-contracts/factories/index.d.ts.map +0 -1
- package/dist/cjs/ethers-contracts/factories/index.js +0 -18
- package/dist/cjs/ethers-contracts/factories/index.js.map +0 -1
- package/dist/cjs/ethers-contracts/index.d.ts +0 -3
- package/dist/cjs/ethers-contracts/index.d.ts.map +0 -1
- package/dist/cjs/ethers-contracts/index.js +0 -19
- package/dist/cjs/ethers-contracts/index.js.map +0 -1
- package/dist/cjs/index.d.ts +0 -3
- package/dist/cjs/index.d.ts.map +0 -1
- package/dist/cjs/index.js +0 -36
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/package.json +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wormhole-foundation/sdk-evm-core",
|
|
3
|
-
"version": "
|
|
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/
|
|
17
|
-
"types": "./dist/
|
|
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 EVM chains, 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",
|
|
@@ -35,47 +34,30 @@
|
|
|
35
34
|
"evm"
|
|
36
35
|
],
|
|
37
36
|
"engines": {
|
|
38
|
-
"node": ">=
|
|
37
|
+
"node": ">=20.19"
|
|
39
38
|
},
|
|
40
39
|
"sideEffects": [
|
|
41
|
-
"./dist/cjs/index.js",
|
|
42
40
|
"./dist/esm/index.js"
|
|
43
41
|
],
|
|
44
42
|
"scripts": {
|
|
45
|
-
"build:cjs": "tsc -p ./tsconfig.cjs.json && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json",
|
|
46
43
|
"build:esm": "tsc -p ./tsconfig.esm.json",
|
|
47
|
-
"build": "npm run build:esm
|
|
44
|
+
"build": "npm run build:esm",
|
|
48
45
|
"rebuild": "npm run clean && npm run build",
|
|
49
46
|
"clean": "rm -rf ./dist && rm -rf ./.turbo",
|
|
50
47
|
"lint": "npm run prettier && eslint --fix ./src --ext .ts",
|
|
51
48
|
"prettier": "prettier --write ./src"
|
|
52
49
|
},
|
|
53
50
|
"dependencies": {
|
|
54
|
-
"@wormhole-foundation/sdk-connect": "
|
|
55
|
-
"@wormhole-foundation/sdk-evm": "
|
|
51
|
+
"@wormhole-foundation/sdk-connect": "5.0.0-beta.1",
|
|
52
|
+
"@wormhole-foundation/sdk-evm": "5.0.0-beta.1",
|
|
56
53
|
"ethers": "^6.5.1"
|
|
57
54
|
},
|
|
58
55
|
"type": "module",
|
|
59
56
|
"exports": {
|
|
60
57
|
".": {
|
|
61
|
-
"
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
"types": "./dist/cjs/index.d.ts",
|
|
65
|
-
"default": "./dist/cjs/index.js"
|
|
66
|
-
},
|
|
67
|
-
"import": {
|
|
68
|
-
"types": "./dist/esm/index.d.ts",
|
|
69
|
-
"default": "./dist/esm/index.js"
|
|
70
|
-
},
|
|
71
|
-
"require": {
|
|
72
|
-
"types": "./dist/cjs/index.d.ts",
|
|
73
|
-
"default": "./dist/cjs/index.js"
|
|
74
|
-
},
|
|
75
|
-
"default": {
|
|
76
|
-
"types": "./dist/cjs/index.d.ts",
|
|
77
|
-
"default": "./dist/cjs/index.js"
|
|
78
|
-
}
|
|
58
|
+
"types": "./dist/esm/index.d.ts",
|
|
59
|
+
"import": "./dist/esm/index.js",
|
|
60
|
+
"default": "./dist/esm/index.js"
|
|
79
61
|
}
|
|
80
62
|
}
|
|
81
63
|
}
|
package/dist/cjs/core.d.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type { ChainsConfig, Contracts, Network, TxHash, VAA, WormholeCore, WormholeMessageId } from '@wormhole-foundation/sdk-connect';
|
|
2
|
-
import type { Provider } from 'ethers';
|
|
3
|
-
import type { Implementation, ImplementationInterface } from './ethers-contracts/index.js';
|
|
4
|
-
import type { AnyEvmAddress, EvmChains, EvmPlatformType } from '@wormhole-foundation/sdk-evm';
|
|
5
|
-
import { EvmUnsignedTransaction } from '@wormhole-foundation/sdk-evm';
|
|
6
|
-
export declare class EvmWormholeCore<N extends Network, C extends EvmChains> implements WormholeCore<N, C> {
|
|
7
|
-
readonly network: N;
|
|
8
|
-
readonly chain: C;
|
|
9
|
-
readonly provider: Provider;
|
|
10
|
-
readonly contracts: Contracts;
|
|
11
|
-
readonly chainId: bigint;
|
|
12
|
-
readonly coreAddress: string;
|
|
13
|
-
readonly core: Implementation;
|
|
14
|
-
readonly coreIface: ImplementationInterface;
|
|
15
|
-
constructor(network: N, chain: C, provider: Provider, contracts: Contracts);
|
|
16
|
-
getMessageFee(): Promise<bigint>;
|
|
17
|
-
getGuardianSetIndex(): Promise<number>;
|
|
18
|
-
getGuardianSet(index: number): Promise<WormholeCore.GuardianSet>;
|
|
19
|
-
static fromRpc<N extends Network>(provider: Provider, config: ChainsConfig<N, EvmPlatformType>): Promise<EvmWormholeCore<N, EvmChains>>;
|
|
20
|
-
publishMessage(sender: AnyEvmAddress, message: Uint8Array, nonce: number, consistencyLevel: number): AsyncGenerator<EvmUnsignedTransaction<N, C>, void, unknown>;
|
|
21
|
-
verifyMessage(sender: AnyEvmAddress, vaa: VAA): AsyncGenerator<EvmUnsignedTransaction<N, C>, void, unknown>;
|
|
22
|
-
parseTransaction(txid: TxHash): Promise<WormholeMessageId[]>;
|
|
23
|
-
parseMessages(txid: string): Promise<VAA<"Uint8Array">[]>;
|
|
24
|
-
private createUnsignedTx;
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=core.d.ts.map
|
package/dist/cjs/core.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EACT,OAAO,EACP,MAAM,EACN,GAAG,EACH,YAAY,EACZ,iBAAiB,EAClB,MAAM,kCAAkC,CAAC;AAQ1C,OAAO,KAAK,EAAE,QAAQ,EAAsB,MAAM,QAAQ,CAAC;AAE3D,OAAO,KAAK,EACV,cAAc,EACd,uBAAuB,EACxB,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,eAAe,EAChB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAGL,sBAAsB,EAGvB,MAAM,8BAA8B,CAAC;AAEtC,qBAAa,eAAe,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,SAAS,CACjE,YAAW,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IAU3B,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,QAAQ,CAAC,QAAQ,EAAE,QAAQ;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS;IAX/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAC;gBAGjC,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS;IAmBzB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAIhC,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAItC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC;WASzD,OAAO,CAAC,CAAC,SAAS,OAAO,EACpC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,YAAY,CAAC,CAAC,EAAE,eAAe,CAAC,GACvC,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAelC,cAAc,CACnB,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,UAAU,EACnB,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,MAAM;IAoBnB,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG;IAW9C,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IA0B5D,aAAa,CAAC,IAAI,EAAE,MAAM;IAiChC,OAAO,CAAC,gBAAgB;CAazB"}
|
package/dist/cjs/core.js
DELETED
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EvmWormholeCore = void 0;
|
|
4
|
-
const sdk_connect_1 = require("@wormhole-foundation/sdk-connect");
|
|
5
|
-
const index_js_1 = require("./index.js");
|
|
6
|
-
const sdk_evm_1 = require("@wormhole-foundation/sdk-evm");
|
|
7
|
-
class EvmWormholeCore {
|
|
8
|
-
network;
|
|
9
|
-
chain;
|
|
10
|
-
provider;
|
|
11
|
-
contracts;
|
|
12
|
-
chainId;
|
|
13
|
-
coreAddress;
|
|
14
|
-
core;
|
|
15
|
-
coreIface;
|
|
16
|
-
constructor(network, chain, provider, contracts) {
|
|
17
|
-
this.network = network;
|
|
18
|
-
this.chain = chain;
|
|
19
|
-
this.provider = provider;
|
|
20
|
-
this.contracts = contracts;
|
|
21
|
-
this.chainId = sdk_connect_1.nativeChainIds.networkChainToNativeChainId.get(network, chain);
|
|
22
|
-
this.coreIface = index_js_1.ethers_contracts.Implementation__factory.createInterface();
|
|
23
|
-
const address = this.contracts.coreBridge;
|
|
24
|
-
if (!address)
|
|
25
|
-
throw new Error('Core bridge address not found');
|
|
26
|
-
this.coreAddress = address;
|
|
27
|
-
this.core = index_js_1.ethers_contracts.Implementation__factory.connect(address, provider);
|
|
28
|
-
}
|
|
29
|
-
async getMessageFee() {
|
|
30
|
-
return await this.core.messageFee.staticCall();
|
|
31
|
-
}
|
|
32
|
-
async getGuardianSetIndex() {
|
|
33
|
-
return Number(await this.core.getCurrentGuardianSetIndex.staticCall());
|
|
34
|
-
}
|
|
35
|
-
async getGuardianSet(index) {
|
|
36
|
-
const guardianSet = await this.core.getGuardianSet(index);
|
|
37
|
-
return {
|
|
38
|
-
index: index,
|
|
39
|
-
keys: guardianSet[0],
|
|
40
|
-
expiry: guardianSet[1],
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
static async fromRpc(provider, config) {
|
|
44
|
-
const [network, chain] = await sdk_evm_1.EvmPlatform.chainFromRpc(provider);
|
|
45
|
-
const conf = config[chain];
|
|
46
|
-
if (conf.network !== network)
|
|
47
|
-
throw new Error(`Network mismatch: ${conf.network} != ${network}`);
|
|
48
|
-
return new EvmWormholeCore(network, chain, provider, conf.contracts);
|
|
49
|
-
}
|
|
50
|
-
async *publishMessage(sender, message, nonce, consistencyLevel) {
|
|
51
|
-
const senderAddr = new sdk_evm_1.EvmAddress(sender).toString();
|
|
52
|
-
const messageFee = await this.getMessageFee();
|
|
53
|
-
const txReq = await this.core.publishMessage.populateTransaction(nonce, message, consistencyLevel, {
|
|
54
|
-
value: messageFee,
|
|
55
|
-
});
|
|
56
|
-
yield this.createUnsignedTx((0, sdk_evm_1.addFrom)(txReq, senderAddr), 'WormholeCore.publishMessage');
|
|
57
|
-
}
|
|
58
|
-
async *verifyMessage(sender, vaa) {
|
|
59
|
-
const senderAddr = new sdk_evm_1.EvmAddress(sender).toString();
|
|
60
|
-
const txReq = await this.core.parseAndVerifyVM.populateTransaction((0, sdk_connect_1.serialize)(vaa));
|
|
61
|
-
yield this.createUnsignedTx((0, sdk_evm_1.addFrom)(txReq, senderAddr), 'WormholeCore.verifyMessage');
|
|
62
|
-
}
|
|
63
|
-
async parseTransaction(txid) {
|
|
64
|
-
const receipt = await this.provider.getTransactionReceipt(txid);
|
|
65
|
-
if (receipt === null)
|
|
66
|
-
return [];
|
|
67
|
-
return receipt.logs
|
|
68
|
-
.filter((l) => {
|
|
69
|
-
return l.address === this.coreAddress;
|
|
70
|
-
})
|
|
71
|
-
.map((log) => {
|
|
72
|
-
const { topics, data } = log;
|
|
73
|
-
const parsed = this.coreIface.parseLog({
|
|
74
|
-
topics: topics.slice(),
|
|
75
|
-
data,
|
|
76
|
-
});
|
|
77
|
-
if (parsed === null)
|
|
78
|
-
return undefined;
|
|
79
|
-
const emitterAddress = new sdk_evm_1.EvmAddress(parsed.args['sender']);
|
|
80
|
-
return {
|
|
81
|
-
chain: this.chain,
|
|
82
|
-
emitter: emitterAddress.toUniversalAddress(),
|
|
83
|
-
sequence: parsed.args['sequence'],
|
|
84
|
-
};
|
|
85
|
-
})
|
|
86
|
-
.filter(sdk_connect_1.isWormholeMessageId);
|
|
87
|
-
}
|
|
88
|
-
async parseMessages(txid) {
|
|
89
|
-
const receipt = await this.provider.getTransactionReceipt(txid);
|
|
90
|
-
if (receipt === null)
|
|
91
|
-
throw new Error('Could not get transaction receipt');
|
|
92
|
-
const gsIdx = await this.getGuardianSetIndex();
|
|
93
|
-
return receipt.logs
|
|
94
|
-
.filter((l) => {
|
|
95
|
-
return l.address === this.coreAddress;
|
|
96
|
-
})
|
|
97
|
-
.map((log) => {
|
|
98
|
-
const { topics, data } = log;
|
|
99
|
-
const parsed = this.coreIface.parseLog({
|
|
100
|
-
topics: topics.slice(),
|
|
101
|
-
data,
|
|
102
|
-
});
|
|
103
|
-
if (parsed === null)
|
|
104
|
-
return null;
|
|
105
|
-
const emitterAddress = new sdk_evm_1.EvmAddress(parsed.args['sender']);
|
|
106
|
-
return (0, sdk_connect_1.createVAA)('Uint8Array', {
|
|
107
|
-
guardianSet: gsIdx, // TODO: should we get this from the contract on init?
|
|
108
|
-
timestamp: 0, // TODO: Would need to get the full block to get the timestamp
|
|
109
|
-
emitterChain: this.chain,
|
|
110
|
-
emitterAddress: emitterAddress.toUniversalAddress(),
|
|
111
|
-
consistencyLevel: Number(parsed.args['consistencyLevel']),
|
|
112
|
-
sequence: BigInt(parsed.args['sequence']),
|
|
113
|
-
nonce: Number(parsed.args['nonce']),
|
|
114
|
-
signatures: [],
|
|
115
|
-
payload: sdk_connect_1.encoding.hex.decode(parsed.args['payload']),
|
|
116
|
-
});
|
|
117
|
-
})
|
|
118
|
-
.filter((vaa) => !!vaa);
|
|
119
|
-
}
|
|
120
|
-
createUnsignedTx(txReq, description, parallelizable = false) {
|
|
121
|
-
return new sdk_evm_1.EvmUnsignedTransaction((0, sdk_evm_1.addChainId)(txReq, this.chainId), this.network, this.chain, description, parallelizable);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
exports.EvmWormholeCore = EvmWormholeCore;
|
|
125
|
-
//# sourceMappingURL=core.js.map
|
package/dist/cjs/core.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/core.ts"],"names":[],"mappings":"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"}
|