@hyperlane-xyz/deploy-sdk 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AltVMCoreModule.d.ts +94 -0
- package/dist/AltVMCoreModule.d.ts.map +1 -0
- package/dist/AltVMCoreModule.js +328 -0
- package/dist/AltVMCoreModule.js.map +1 -0
- package/dist/AltVMCoreReader.d.ts +17 -0
- package/dist/AltVMCoreReader.d.ts.map +1 -0
- package/dist/AltVMCoreReader.js +31 -0
- package/dist/AltVMCoreReader.js.map +1 -0
- package/dist/AltVMHookModule.d.ts +41 -0
- package/dist/AltVMHookModule.d.ts.map +1 -0
- package/dist/AltVMHookModule.js +176 -0
- package/dist/AltVMHookModule.js.map +1 -0
- package/dist/AltVMHookReader.d.ts +17 -0
- package/dist/AltVMHookReader.d.ts.map +1 -0
- package/dist/AltVMHookReader.js +76 -0
- package/dist/AltVMHookReader.js.map +1 -0
- package/dist/AltVMIsmModule.d.ts +41 -0
- package/dist/AltVMIsmModule.d.ts.map +1 -0
- package/dist/AltVMIsmModule.js +255 -0
- package/dist/AltVMIsmModule.js.map +1 -0
- package/dist/AltVMIsmReader.d.ts +19 -0
- package/dist/AltVMIsmReader.d.ts.map +1 -0
- package/dist/AltVMIsmReader.js +101 -0
- package/dist/AltVMIsmReader.js.map +1 -0
- package/dist/AltVMWarpDeployer.d.ts +14 -0
- package/dist/AltVMWarpDeployer.d.ts.map +1 -0
- package/dist/AltVMWarpDeployer.js +69 -0
- package/dist/AltVMWarpDeployer.js.map +1 -0
- package/dist/AltVMWarpModule.d.ts +96 -0
- package/dist/AltVMWarpModule.d.ts.map +1 -0
- package/dist/AltVMWarpModule.js +329 -0
- package/dist/AltVMWarpModule.js.map +1 -0
- package/dist/AltVMWarpModule.test.d.ts +2 -0
- package/dist/AltVMWarpModule.test.d.ts.map +1 -0
- package/dist/AltVMWarpModule.test.js +403 -0
- package/dist/AltVMWarpModule.test.js.map +1 -0
- package/dist/AltVMWarpRouteReader.d.ts +52 -0
- package/dist/AltVMWarpRouteReader.d.ts.map +1 -0
- package/dist/AltVMWarpRouteReader.js +145 -0
- package/dist/AltVMWarpRouteReader.js.map +1 -0
- package/dist/core-module.d.ts +5 -0
- package/dist/core-module.d.ts.map +1 -0
- package/dist/core-module.js +28 -0
- package/dist/core-module.js.map +1 -0
- package/dist/hook-module.d.ts +5 -0
- package/dist/hook-module.d.ts.map +1 -0
- package/dist/hook-module.js +35 -0
- package/dist/hook-module.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -0
- package/dist/ism-module.d.ts +5 -0
- package/dist/ism-module.d.ts.map +1 -0
- package/dist/ism-module.js +35 -0
- package/dist/ism-module.js.map +1 -0
- package/dist/protocol.d.ts +3 -0
- package/dist/protocol.d.ts.map +1 -0
- package/dist/protocol.js +23 -0
- package/dist/protocol.js.map +1 -0
- package/dist/utils/validation.d.ts +37 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +66 -0
- package/dist/utils/validation.js.map +1 -0
- package/dist/warp-module.d.ts +5 -0
- package/dist/warp-module.d.ts.map +1 -0
- package/dist/warp-module.js +28 -0
- package/dist/warp-module.js.map +1 -0
- package/package.json +46 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { AltVMCoreModule } from './AltVMCoreModule.js';
|
|
2
|
+
import { AltVMCoreReader } from './AltVMCoreReader.js';
|
|
3
|
+
class CoreModuleProvider {
|
|
4
|
+
chainLookup;
|
|
5
|
+
chainName;
|
|
6
|
+
constructor(chainLookup, chainName) {
|
|
7
|
+
this.chainLookup = chainLookup;
|
|
8
|
+
this.chainName = chainName;
|
|
9
|
+
}
|
|
10
|
+
async createModule(signer, config) {
|
|
11
|
+
return await AltVMCoreModule.create({
|
|
12
|
+
chainLookup: this.chainLookup,
|
|
13
|
+
chain: this.chainName,
|
|
14
|
+
signer,
|
|
15
|
+
config,
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
connectModule(signer, args) {
|
|
19
|
+
return new AltVMCoreModule(this.chainLookup, signer, args);
|
|
20
|
+
}
|
|
21
|
+
connectReader(provider) {
|
|
22
|
+
return new AltVMCoreReader(this.chainLookup, provider);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export function coreModuleProvider(chainLookup, chainName) {
|
|
26
|
+
return new CoreModuleProvider(chainLookup, chainName);
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=core-module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core-module.js","sourceRoot":"","sources":["../src/core-module.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,kBAAkB;IAEZ;IACA;IAFV,YACU,WAAwB,EACxB,SAAiB;QADjB,gBAAW,GAAX,WAAW,CAAa;QACxB,cAAS,GAAT,SAAS,CAAQ;IACxB,CAAC;IAEJ,KAAK,CAAC,YAAY,CAChB,MAAuC,EACvC,MAAkB;QAElB,OAAO,MAAM,eAAe,CAAC,MAAM,CAAC;YAClC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,MAAM;YACN,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CACX,MAAuC,EACvC,IAAmC;QAEnC,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,aAAa,CAAC,QAAwB;QACpC,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACzD,CAAC;CACF;AAED,MAAM,UAAU,kBAAkB,CAChC,WAAwB,EACxB,SAAiB;IAEjB,OAAO,IAAI,kBAAkB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AACxD,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ChainLookup } from '@hyperlane-xyz/provider-sdk/chain';
|
|
2
|
+
import { HookModuleType } from '@hyperlane-xyz/provider-sdk/hook';
|
|
3
|
+
import { ModuleProvider } from '@hyperlane-xyz/provider-sdk/module';
|
|
4
|
+
export declare function hookModuleProvider(chainLookup: ChainLookup, chainName: string, mailboxAddress: string): ModuleProvider<HookModuleType>;
|
|
5
|
+
//# sourceMappingURL=hook-module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hook-module.d.ts","sourceRoot":"","sources":["../src/hook-module.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAGL,cAAc,EACf,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAKL,cAAc,EAEf,MAAM,oCAAoC,CAAC;AA0C5C,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,GACrB,cAAc,CAAC,cAAc,CAAC,CAEhC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { AltVMHookModule } from './AltVMHookModule.js';
|
|
2
|
+
import { AltVMHookReader } from './AltVMHookReader.js';
|
|
3
|
+
class HookModuleProvider {
|
|
4
|
+
chainLookup;
|
|
5
|
+
chainName;
|
|
6
|
+
mailboxAddress;
|
|
7
|
+
constructor(chainLookup, chainName, mailboxAddress) {
|
|
8
|
+
this.chainLookup = chainLookup;
|
|
9
|
+
this.chainName = chainName;
|
|
10
|
+
this.mailboxAddress = mailboxAddress;
|
|
11
|
+
}
|
|
12
|
+
async createModule(signer, config) {
|
|
13
|
+
const addresses = {
|
|
14
|
+
deployedHook: '', // Will be populated by the module
|
|
15
|
+
mailbox: this.mailboxAddress,
|
|
16
|
+
};
|
|
17
|
+
return await AltVMHookModule.create({
|
|
18
|
+
chainLookup: this.chainLookup,
|
|
19
|
+
chain: this.chainName,
|
|
20
|
+
signer,
|
|
21
|
+
config,
|
|
22
|
+
addresses,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
connectModule(signer, args) {
|
|
26
|
+
return new AltVMHookModule(this.chainLookup, args, signer);
|
|
27
|
+
}
|
|
28
|
+
connectReader(provider) {
|
|
29
|
+
return new AltVMHookReader(this.chainLookup.getChainMetadata, provider);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export function hookModuleProvider(chainLookup, chainName, mailboxAddress) {
|
|
33
|
+
return new HookModuleProvider(chainLookup, chainName, mailboxAddress);
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=hook-module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hook-module.js","sourceRoot":"","sources":["../src/hook-module.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,kBAAkB;IAEZ;IACA;IACA;IAHV,YACU,WAAwB,EACxB,SAAiB,EACjB,cAAsB;QAFtB,gBAAW,GAAX,WAAW,CAAa;QACxB,cAAS,GAAT,SAAS,CAAQ;QACjB,mBAAc,GAAd,cAAc,CAAQ;IAC7B,CAAC;IAEJ,KAAK,CAAC,YAAY,CAChB,MAAuC,EACvC,MAAkB;QAElB,MAAM,SAAS,GAAwB;YACrC,YAAY,EAAE,EAAE,EAAE,kCAAkC;YACpD,OAAO,EAAE,IAAI,CAAC,cAAc;SAC7B,CAAC;QAEF,OAAO,MAAM,eAAe,CAAC,MAAM,CAAC;YAClC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,MAAM;YACN,MAAM;YACN,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CACX,MAAuC,EACvC,IAAmC;QAEnC,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC;IAED,aAAa,CAAC,QAAwB;QACpC,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IAC1E,CAAC;CACF;AAED,MAAM,UAAU,kBAAkB,CAChC,WAAwB,EACxB,SAAiB,EACjB,cAAsB;IAEtB,OAAO,IAAI,kBAAkB,CAAC,WAAW,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;AACxE,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export { AltVMCoreModule } from './AltVMCoreModule.js';
|
|
2
|
+
export { AltVMCoreReader } from './AltVMCoreReader.js';
|
|
3
|
+
export { AltVMHookModule } from './AltVMHookModule.js';
|
|
4
|
+
export { AltVMHookReader } from './AltVMHookReader.js';
|
|
5
|
+
export { AltVMIsmModule } from './AltVMIsmModule.js';
|
|
6
|
+
export { AltVMIsmReader } from './AltVMIsmReader.js';
|
|
7
|
+
export { AltVMWarpModule } from './AltVMWarpModule.js';
|
|
8
|
+
export { AltVMWarpRouteReader } from './AltVMWarpRouteReader.js';
|
|
9
|
+
export { AltVMDeployer } from './AltVMWarpDeployer.js';
|
|
10
|
+
export { coreModuleProvider } from './core-module.js';
|
|
11
|
+
export { hookModuleProvider } from './hook-module.js';
|
|
12
|
+
export { ismModuleProvider } from './ism-module.js';
|
|
13
|
+
export { warpModuleProvider } from './warp-module.js';
|
|
14
|
+
export { validateIsmConfig, validateIsmType, UnsupportedIsmTypeError, } from './utils/validation.js';
|
|
15
|
+
export { loadProtocolProviders } from './protocol.js';
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export { AltVMCoreModule } from './AltVMCoreModule.js';
|
|
2
|
+
export { AltVMCoreReader } from './AltVMCoreReader.js';
|
|
3
|
+
export { AltVMHookModule } from './AltVMHookModule.js';
|
|
4
|
+
export { AltVMHookReader } from './AltVMHookReader.js';
|
|
5
|
+
export { AltVMIsmModule } from './AltVMIsmModule.js';
|
|
6
|
+
export { AltVMIsmReader } from './AltVMIsmReader.js';
|
|
7
|
+
export { AltVMWarpModule } from './AltVMWarpModule.js';
|
|
8
|
+
export { AltVMWarpRouteReader } from './AltVMWarpRouteReader.js';
|
|
9
|
+
export { AltVMDeployer } from './AltVMWarpDeployer.js';
|
|
10
|
+
export { coreModuleProvider } from './core-module.js';
|
|
11
|
+
export { hookModuleProvider } from './hook-module.js';
|
|
12
|
+
export { ismModuleProvider } from './ism-module.js';
|
|
13
|
+
export { warpModuleProvider } from './warp-module.js';
|
|
14
|
+
export { validateIsmConfig, validateIsmType, UnsupportedIsmTypeError, } from './utils/validation.js';
|
|
15
|
+
export { loadProtocolProviders } from './protocol.js';
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ChainLookup } from '@hyperlane-xyz/provider-sdk/chain';
|
|
2
|
+
import { IsmModuleType } from '@hyperlane-xyz/provider-sdk/ism';
|
|
3
|
+
import { ModuleProvider } from '@hyperlane-xyz/provider-sdk/module';
|
|
4
|
+
export declare function ismModuleProvider(chainLookup: ChainLookup, chainName: string, mailboxAddress: string): ModuleProvider<IsmModuleType>;
|
|
5
|
+
//# sourceMappingURL=ism-module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ism-module.d.ts","sourceRoot":"","sources":["../src/ism-module.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAGL,aAAa,EACd,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAKL,cAAc,EAEf,MAAM,oCAAoC,CAAC;AA0C5C,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,GACrB,cAAc,CAAC,aAAa,CAAC,CAE/B"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { AltVMIsmModule } from './AltVMIsmModule.js';
|
|
2
|
+
import { AltVMIsmReader } from './AltVMIsmReader.js';
|
|
3
|
+
class IsmModuleProvider {
|
|
4
|
+
chainLookup;
|
|
5
|
+
chainName;
|
|
6
|
+
mailboxAddress;
|
|
7
|
+
constructor(chainLookup, chainName, mailboxAddress) {
|
|
8
|
+
this.chainLookup = chainLookup;
|
|
9
|
+
this.chainName = chainName;
|
|
10
|
+
this.mailboxAddress = mailboxAddress;
|
|
11
|
+
}
|
|
12
|
+
async createModule(signer, config) {
|
|
13
|
+
const addresses = {
|
|
14
|
+
deployedIsm: '', // Will be populated by the module
|
|
15
|
+
mailbox: this.mailboxAddress,
|
|
16
|
+
};
|
|
17
|
+
return await AltVMIsmModule.create({
|
|
18
|
+
chainLookup: this.chainLookup,
|
|
19
|
+
chain: this.chainName,
|
|
20
|
+
signer,
|
|
21
|
+
config,
|
|
22
|
+
addresses,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
connectModule(signer, args) {
|
|
26
|
+
return new AltVMIsmModule(this.chainLookup, args, signer);
|
|
27
|
+
}
|
|
28
|
+
connectReader(provider) {
|
|
29
|
+
return new AltVMIsmReader(this.chainLookup.getChainName, provider);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export function ismModuleProvider(chainLookup, chainName, mailboxAddress) {
|
|
33
|
+
return new IsmModuleProvider(chainLookup, chainName, mailboxAddress);
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=ism-module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ism-module.js","sourceRoot":"","sources":["../src/ism-module.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,iBAAiB;IAEX;IACA;IACA;IAHV,YACU,WAAwB,EACxB,SAAiB,EACjB,cAAsB;QAFtB,gBAAW,GAAX,WAAW,CAAa;QACxB,cAAS,GAAT,SAAS,CAAQ;QACjB,mBAAc,GAAd,cAAc,CAAQ;IAC7B,CAAC;IAEJ,KAAK,CAAC,YAAY,CAChB,MAAuC,EACvC,MAAiB;QAEjB,MAAM,SAAS,GAAuB;YACpC,WAAW,EAAE,EAAE,EAAE,kCAAkC;YACnD,OAAO,EAAE,IAAI,CAAC,cAAc;SAC7B,CAAC;QAEF,OAAO,MAAM,cAAc,CAAC,MAAM,CAAC;YACjC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,MAAM;YACN,MAAM;YACN,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CACX,MAAuC,EACvC,IAAkC;QAElC,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5D,CAAC;IAED,aAAa,CAAC,QAAwB;QACpC,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACrE,CAAC;CACF;AAED,MAAM,UAAU,iBAAiB,CAC/B,WAAwB,EACxB,SAAiB,EACjB,cAAsB;IAEtB,OAAO,IAAI,iBAAiB,CAAC,WAAW,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;AACvE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAGb,MAAM,6BAA6B,CAAC;AAGrC,wBAAsB,qBAAqB,CACzC,eAAe,EAAE,GAAG,CAAC,YAAY,CAAC,iBAwBnC"}
|
package/dist/protocol.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ProtocolType, hasProtocol, registerProtocol, } from '@hyperlane-xyz/provider-sdk';
|
|
2
|
+
import { rootLogger } from '@hyperlane-xyz/utils';
|
|
3
|
+
export async function loadProtocolProviders(neededProtocols) {
|
|
4
|
+
for (const protocol of neededProtocols) {
|
|
5
|
+
if (hasProtocol(protocol)) {
|
|
6
|
+
rootLogger.debug(`${protocol} already loaded`);
|
|
7
|
+
continue;
|
|
8
|
+
}
|
|
9
|
+
switch (protocol) {
|
|
10
|
+
case ProtocolType.CosmosNative: {
|
|
11
|
+
const { CosmosNativeProtocolProvider } = await import('@hyperlane-xyz/cosmos-sdk');
|
|
12
|
+
registerProtocol(protocol, () => new CosmosNativeProtocolProvider());
|
|
13
|
+
break;
|
|
14
|
+
}
|
|
15
|
+
case ProtocolType.Radix: {
|
|
16
|
+
const { RadixProtocolProvider } = await import('@hyperlane-xyz/radix-sdk');
|
|
17
|
+
registerProtocol(protocol, () => new RadixProtocolProvider());
|
|
18
|
+
break;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=protocol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,WAAW,EACX,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,eAAkC;IAElC,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;QACvC,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,UAAU,CAAC,KAAK,CAAC,GAAG,QAAQ,iBAAiB,CAAC,CAAC;YAC/C,SAAS;QACX,CAAC;QACD,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC/B,MAAM,EAAE,4BAA4B,EAAE,GAAG,MAAM,MAAM,CACnD,2BAA2B,CAC5B,CAAC;gBACF,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,4BAA4B,EAAE,CAAC,CAAC;gBACrE,MAAM;YACR,CAAC;YACD,KAAK,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;gBACxB,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAC5C,0BAA0B,CAC3B,CAAC;gBACF,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;gBAC9D,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validation utilities for Alt-VM ISM configurations.
|
|
3
|
+
*
|
|
4
|
+
* The provider-sdk has a limited subset of ISM types compared to the full SDK.
|
|
5
|
+
* These utilities validate ISM configs and provide clear error messages for unsupported types.
|
|
6
|
+
*/
|
|
7
|
+
import { IsmConfig } from '@hyperlane-xyz/provider-sdk/ism';
|
|
8
|
+
/**
|
|
9
|
+
* Validates that an ISM type is supported by provider-sdk.
|
|
10
|
+
*
|
|
11
|
+
* @param ismType - The ISM type string to validate
|
|
12
|
+
* @param chain - Chain name for error messages
|
|
13
|
+
* @param context - Context string for error messages (e.g., "warp route", "core")
|
|
14
|
+
* @throws UnsupportedIsmTypeError if ISM type is not supported
|
|
15
|
+
*/
|
|
16
|
+
export declare function validateIsmType(ismType: string, chain: string, context?: string): void;
|
|
17
|
+
/**
|
|
18
|
+
* Validates that an ISM configuration is supported by provider-sdk.
|
|
19
|
+
*
|
|
20
|
+
* @param config - ISM configuration (can be string address or config object)
|
|
21
|
+
* @param chain - Chain name for error messages
|
|
22
|
+
* @param context - Context string for error messages (e.g., "warp route", "core")
|
|
23
|
+
* @throws UnsupportedIsmTypeError if ISM type is not supported
|
|
24
|
+
*/
|
|
25
|
+
export declare function validateIsmConfig(config: IsmConfig | string, chain: string, context?: string): void;
|
|
26
|
+
/**
|
|
27
|
+
* Custom error class for unsupported ISM types.
|
|
28
|
+
* Provides concise error messages.
|
|
29
|
+
*/
|
|
30
|
+
export declare class UnsupportedIsmTypeError extends Error {
|
|
31
|
+
readonly ismType: string;
|
|
32
|
+
readonly chain: string;
|
|
33
|
+
readonly context: string;
|
|
34
|
+
readonly supportedTypes: string;
|
|
35
|
+
constructor(ismType: string, chain: string, context: string, supportedTypes: string);
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,SAAS,EAAW,MAAM,iCAAiC,CAAC;AAarE;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,MAAwB,GAChC,IAAI,CAKN;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,SAAS,GAAG,MAAM,EAC1B,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,MAAwB,GAChC,IAAI,CAmBN;AAED;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;aAE9B,OAAO,EAAE,MAAM;aACf,KAAK,EAAE,MAAM;aACb,OAAO,EAAE,MAAM;aACf,cAAc,EAAE,MAAM;gBAHtB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM;CAQzC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ISM types supported by provider-sdk for Alt-VM chains.
|
|
3
|
+
* These correspond to the types defined in provider-sdk/src/ism.ts
|
|
4
|
+
*/
|
|
5
|
+
const SUPPORTED_ISM_TYPES = new Set([
|
|
6
|
+
'domainRoutingIsm',
|
|
7
|
+
'merkleRootMultisigIsm',
|
|
8
|
+
'messageIdMultisigIsm',
|
|
9
|
+
'testIsm',
|
|
10
|
+
]);
|
|
11
|
+
/**
|
|
12
|
+
* Validates that an ISM type is supported by provider-sdk.
|
|
13
|
+
*
|
|
14
|
+
* @param ismType - The ISM type string to validate
|
|
15
|
+
* @param chain - Chain name for error messages
|
|
16
|
+
* @param context - Context string for error messages (e.g., "warp route", "core")
|
|
17
|
+
* @throws UnsupportedIsmTypeError if ISM type is not supported
|
|
18
|
+
*/
|
|
19
|
+
export function validateIsmType(ismType, chain, context = 'configuration') {
|
|
20
|
+
if (!SUPPORTED_ISM_TYPES.has(ismType)) {
|
|
21
|
+
const supportedTypes = Array.from(SUPPORTED_ISM_TYPES).join(', ');
|
|
22
|
+
throw new UnsupportedIsmTypeError(ismType, chain, context, supportedTypes);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Validates that an ISM configuration is supported by provider-sdk.
|
|
27
|
+
*
|
|
28
|
+
* @param config - ISM configuration (can be string address or config object)
|
|
29
|
+
* @param chain - Chain name for error messages
|
|
30
|
+
* @param context - Context string for error messages (e.g., "warp route", "core")
|
|
31
|
+
* @throws UnsupportedIsmTypeError if ISM type is not supported
|
|
32
|
+
*/
|
|
33
|
+
export function validateIsmConfig(config, chain, context = 'configuration') {
|
|
34
|
+
// If it's a string address, it's valid (pre-deployed ISM)
|
|
35
|
+
if (typeof config === 'string') {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
// Validate the ISM type
|
|
39
|
+
validateIsmType(config.type, chain, context);
|
|
40
|
+
// Recursively validate nested ISMs in routing configs
|
|
41
|
+
if (config.type === 'domainRoutingIsm') {
|
|
42
|
+
for (const [domain, domainConfig] of Object.entries(config.domains)) {
|
|
43
|
+
validateIsmConfig(domainConfig, chain, `${context} (domain routing for ${domain})`);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Custom error class for unsupported ISM types.
|
|
49
|
+
* Provides concise error messages.
|
|
50
|
+
*/
|
|
51
|
+
export class UnsupportedIsmTypeError extends Error {
|
|
52
|
+
ismType;
|
|
53
|
+
chain;
|
|
54
|
+
context;
|
|
55
|
+
supportedTypes;
|
|
56
|
+
constructor(ismType, chain, context, supportedTypes) {
|
|
57
|
+
super(`Unsupported ISM type '${ismType}' for Alt-VM chain '${chain}' in ${context}. ` +
|
|
58
|
+
`Supported types: ${supportedTypes}`);
|
|
59
|
+
this.ismType = ismType;
|
|
60
|
+
this.chain = chain;
|
|
61
|
+
this.context = context;
|
|
62
|
+
this.supportedTypes = supportedTypes;
|
|
63
|
+
this.name = 'UnsupportedIsmTypeError';
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AAQA;;;GAGG;AACH,MAAM,mBAAmB,GAAiB,IAAI,GAAG,CAAC;IAChD,kBAAkB;IAClB,uBAAuB;IACvB,sBAAsB;IACtB,SAAS;CACV,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAe,EACf,KAAa,EACb,UAAkB,eAAe;IAEjC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAkB,CAAC,EAAE,CAAC;QACjD,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClE,MAAM,IAAI,uBAAuB,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAA0B,EAC1B,KAAa,EACb,UAAkB,eAAe;IAEjC,0DAA0D;IAC1D,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,wBAAwB;IACxB,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAE7C,sDAAsD;IACtD,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACvC,KAAK,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YACpE,iBAAiB,CACf,YAAY,EACZ,KAAK,EACL,GAAG,OAAO,wBAAwB,MAAM,GAAG,CAC5C,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAE9B;IACA;IACA;IACA;IAJlB,YACkB,OAAe,EACf,KAAa,EACb,OAAe,EACf,cAAsB;QAEtC,KAAK,CACH,yBAAyB,OAAO,uBAAuB,KAAK,QAAQ,OAAO,IAAI;YAC7E,oBAAoB,cAAc,EAAE,CACvC,CAAC;QARc,YAAO,GAAP,OAAO,CAAQ;QACf,UAAK,GAAL,KAAK,CAAQ;QACb,YAAO,GAAP,OAAO,CAAQ;QACf,mBAAc,GAAd,cAAc,CAAQ;QAMtC,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ChainLookup } from '@hyperlane-xyz/provider-sdk/chain';
|
|
2
|
+
import { ModuleProvider } from '@hyperlane-xyz/provider-sdk/module';
|
|
3
|
+
import { TokenRouterModuleType } from '@hyperlane-xyz/provider-sdk/warp';
|
|
4
|
+
export declare function warpModuleProvider(chainLookup: ChainLookup, chainName: string): ModuleProvider<TokenRouterModuleType>;
|
|
5
|
+
//# sourceMappingURL=warp-module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"warp-module.d.ts","sourceRoot":"","sources":["../src/warp-module.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAKL,cAAc,EAEf,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,qBAAqB,EAEtB,MAAM,kCAAkC,CAAC;AAmC1C,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,GAChB,cAAc,CAAC,qBAAqB,CAAC,CAEvC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { AltVMWarpModule } from './AltVMWarpModule.js';
|
|
2
|
+
import { AltVMWarpRouteReader } from './AltVMWarpRouteReader.js';
|
|
3
|
+
class WarpModuleProvider {
|
|
4
|
+
chainLookup;
|
|
5
|
+
chainName;
|
|
6
|
+
constructor(chainLookup, chainName) {
|
|
7
|
+
this.chainLookup = chainLookup;
|
|
8
|
+
this.chainName = chainName;
|
|
9
|
+
}
|
|
10
|
+
async createModule(signer, config) {
|
|
11
|
+
return await AltVMWarpModule.create({
|
|
12
|
+
chainLookup: this.chainLookup,
|
|
13
|
+
chain: this.chainName,
|
|
14
|
+
signer,
|
|
15
|
+
config,
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
connectModule(signer, args) {
|
|
19
|
+
return new AltVMWarpModule(this.chainLookup, signer, args);
|
|
20
|
+
}
|
|
21
|
+
connectReader(provider) {
|
|
22
|
+
return new AltVMWarpRouteReader(this.chainLookup, provider);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export function warpModuleProvider(chainLookup, chainName) {
|
|
26
|
+
return new WarpModuleProvider(chainLookup, chainName);
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=warp-module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"warp-module.js","sourceRoot":"","sources":["../src/warp-module.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,kBAAkB;IAEZ;IACA;IAFV,YACU,WAAwB,EACxB,SAAiB;QADjB,gBAAW,GAAX,WAAW,CAAa;QACxB,cAAS,GAAT,SAAS,CAAQ;IACxB,CAAC;IAEJ,KAAK,CAAC,YAAY,CAChB,MAAuC,EACvC,MAAkB;QAElB,OAAO,MAAM,eAAe,CAAC,MAAM,CAAC;YAClC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,MAAM;YACN,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CACX,MAAuC,EACvC,IAA0C;QAE1C,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,aAAa,CAAC,QAAwB;QACpC,OAAO,IAAI,oBAAoB,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC;CACF;AAED,MAAM,UAAU,kBAAkB,CAChC,WAAwB,EACxB,SAAiB;IAEjB,OAAO,IAAI,kBAAkB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AACxD,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@hyperlane-xyz/deploy-sdk",
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "Deployer SDK for the Hyperlane Protocol",
|
|
5
|
+
"repository": "https://github.com/hyperlane-xyz/hyperlane-monorepo",
|
|
6
|
+
"license": "Apache-2.0",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist"
|
|
10
|
+
],
|
|
11
|
+
"exports": {
|
|
12
|
+
".": "./dist/index.js"
|
|
13
|
+
},
|
|
14
|
+
"scripts": {
|
|
15
|
+
"build": "tsc",
|
|
16
|
+
"check": "tsc --noEmit",
|
|
17
|
+
"dev": "tsc --watch",
|
|
18
|
+
"lint": "eslint",
|
|
19
|
+
"clean": "rm -rf ./dist",
|
|
20
|
+
"prettier": "prettier --write .",
|
|
21
|
+
"test": "mocha --config .mocharc.json './src/**/*.test.ts' --exit"
|
|
22
|
+
},
|
|
23
|
+
"dependencies": {
|
|
24
|
+
"@hyperlane-xyz/cosmos-sdk": "19.10.0",
|
|
25
|
+
"@hyperlane-xyz/provider-sdk": "0.2.0",
|
|
26
|
+
"@hyperlane-xyz/radix-sdk": "19.10.0",
|
|
27
|
+
"@hyperlane-xyz/utils": "19.10.0",
|
|
28
|
+
"zod": "^3.21.2"
|
|
29
|
+
},
|
|
30
|
+
"devDependencies": {
|
|
31
|
+
"@hyperlane-xyz/eslint-config": "workspace:^",
|
|
32
|
+
"@hyperlane-xyz/tsconfig": "workspace:^",
|
|
33
|
+
"@types/chai-as-promised": "^8",
|
|
34
|
+
"@types/mocha": "^10.0.1",
|
|
35
|
+
"@types/node": "^18.14.5",
|
|
36
|
+
"@types/sinon": "^17.0.1",
|
|
37
|
+
"@types/sinon-chai": "^3.2.12",
|
|
38
|
+
"chai": "^4.5.0",
|
|
39
|
+
"chai-as-promised": "^8.0.1",
|
|
40
|
+
"eslint": "^9.31.0",
|
|
41
|
+
"mocha": "^11.5.0",
|
|
42
|
+
"sinon": "^13.0.2",
|
|
43
|
+
"tsx": "^4.19.1",
|
|
44
|
+
"typescript": "5.3.3"
|
|
45
|
+
}
|
|
46
|
+
}
|