@hyperlane-xyz/provider-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/altvm.d.ts +566 -0
- package/dist/altvm.d.ts.map +1 -0
- package/dist/altvm.js +65 -0
- package/dist/altvm.js.map +1 -0
- package/dist/chain.d.ts +43 -0
- package/dist/chain.d.ts.map +1 -0
- package/dist/chain.js +2 -0
- package/dist/chain.js.map +1 -0
- package/dist/core.d.ts +36 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js +2 -0
- package/dist/core.js.map +1 -0
- package/dist/hook.d.ts +34 -0
- package/dist/hook.d.ts.map +1 -0
- package/dist/hook.js +8 -0
- package/dist/hook.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/ism.d.ts +34 -0
- package/dist/ism.d.ts.map +1 -0
- package/dist/ism.js +5 -0
- package/dist/ism.js.map +1 -0
- package/dist/mingas.d.ts +13 -0
- package/dist/mingas.d.ts.map +1 -0
- package/dist/mingas.js +8 -0
- package/dist/mingas.js.map +1 -0
- package/dist/module.d.ts +37 -0
- package/dist/module.d.ts.map +1 -0
- package/dist/module.js +2 -0
- package/dist/module.js.map +1 -0
- package/dist/protocol.d.ts +70 -0
- package/dist/protocol.d.ts.map +1 -0
- package/dist/protocol.js +70 -0
- package/dist/protocol.js.map +1 -0
- package/dist/submitter.d.ts +23 -0
- package/dist/submitter.d.ts.map +1 -0
- package/dist/submitter.js +2 -0
- package/dist/submitter.js.map +1 -0
- package/dist/test/AltVMMockProvider.d.ts +57 -0
- package/dist/test/AltVMMockProvider.d.ts.map +1 -0
- package/dist/test/AltVMMockProvider.js +161 -0
- package/dist/test/AltVMMockProvider.js.map +1 -0
- package/dist/test/AltVMMockSigner.d.ts +43 -0
- package/dist/test/AltVMMockSigner.d.ts.map +1 -0
- package/dist/test/AltVMMockSigner.js +111 -0
- package/dist/test/AltVMMockSigner.js.map +1 -0
- package/dist/warp.d.ts +68 -0
- package/dist/warp.d.ts.map +1 -0
- package/dist/warp.js +6 -0
- package/dist/warp.js.map +1 -0
- package/package.json +45 -0
package/dist/chain.d.ts
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { ChainId, Domain } from '@hyperlane-xyz/utils';
|
|
2
|
+
type ChainNameOrId = string | number;
|
|
3
|
+
/**
|
|
4
|
+
* Consolidated chain metadata interface for all AltVM modules.
|
|
5
|
+
* Contains the union of all fields needed by Core, ISM, Hook, and Warp modules.
|
|
6
|
+
* Matches the subset of ChainMetadata that AltVM modules actually need.
|
|
7
|
+
*/
|
|
8
|
+
export interface ChainMetadataForAltVM {
|
|
9
|
+
name: string;
|
|
10
|
+
domainId: Domain;
|
|
11
|
+
chainId: ChainId;
|
|
12
|
+
nativeToken?: {
|
|
13
|
+
decimals?: number;
|
|
14
|
+
denom?: string;
|
|
15
|
+
};
|
|
16
|
+
blocks?: {
|
|
17
|
+
confirmations?: number;
|
|
18
|
+
estimateBlockTime?: number;
|
|
19
|
+
};
|
|
20
|
+
rpcUrls?: {
|
|
21
|
+
http: string;
|
|
22
|
+
}[];
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Function adapters for chain metadata lookups required by AltVM modules.
|
|
26
|
+
* These provide a lightweight alternative to ChainMetadataManager and MultiProvider.
|
|
27
|
+
*/
|
|
28
|
+
export type ChainMetadataLookup = (chain: ChainNameOrId) => ChainMetadataForAltVM;
|
|
29
|
+
export type ChainNameLookup = (domainId: Domain) => string | null;
|
|
30
|
+
export type DomainIdLookup = (chain: ChainNameOrId) => Domain | null;
|
|
31
|
+
export type GetKnownChainNames = () => string[];
|
|
32
|
+
/**
|
|
33
|
+
* Combined interface for all chain lookup operations.
|
|
34
|
+
* Pass this instead of individual function adapters for cleaner signatures.
|
|
35
|
+
*/
|
|
36
|
+
export interface ChainLookup {
|
|
37
|
+
getChainMetadata: ChainMetadataLookup;
|
|
38
|
+
getChainName: ChainNameLookup;
|
|
39
|
+
getDomainId: DomainIdLookup;
|
|
40
|
+
getKnownChainNames: GetKnownChainNames;
|
|
41
|
+
}
|
|
42
|
+
export {};
|
|
43
|
+
//# sourceMappingURL=chain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../src/chain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEvD,KAAK,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC;AAErC;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,MAAM,CAAC,EAAE;QACP,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;KACd,EAAE,CAAC;CACL;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAChC,KAAK,EAAE,aAAa,KACjB,qBAAqB,CAAC;AAE3B,MAAM,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;AAElE,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,MAAM,GAAG,IAAI,CAAC;AAErE,MAAM,MAAM,kBAAkB,GAAG,MAAM,MAAM,EAAE,CAAC;AAEhD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,gBAAgB,EAAE,mBAAmB,CAAC;IACtC,YAAY,EAAE,eAAe,CAAC;IAC9B,WAAW,EAAE,cAAc,CAAC;IAC5B,kBAAkB,EAAE,kBAAkB,CAAC;CACxC"}
|
package/dist/chain.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain.js","sourceRoot":"","sources":["../src/chain.ts"],"names":[],"mappings":""}
|
package/dist/core.d.ts
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { DerivedHookConfig, HookConfig } from './hook.js';
|
|
2
|
+
import type { DerivedIsmConfig, IsmConfig } from './ism.js';
|
|
3
|
+
export type CoreModuleType = {
|
|
4
|
+
config: CoreConfig;
|
|
5
|
+
derived: DerivedCoreConfig;
|
|
6
|
+
addresses: DeployedCoreAddresses;
|
|
7
|
+
};
|
|
8
|
+
export interface CoreConfig {
|
|
9
|
+
owner: string;
|
|
10
|
+
defaultIsm: IsmConfig | string;
|
|
11
|
+
defaultHook: HookConfig | string;
|
|
12
|
+
requiredHook: HookConfig | string;
|
|
13
|
+
}
|
|
14
|
+
export interface DerivedCoreConfig extends CoreConfig {
|
|
15
|
+
defaultIsm: DerivedIsmConfig;
|
|
16
|
+
defaultHook: DerivedHookConfig;
|
|
17
|
+
requiredHook: DerivedHookConfig;
|
|
18
|
+
}
|
|
19
|
+
export type DeployedCoreAddresses = {
|
|
20
|
+
staticMerkleRootMultisigIsmFactory: string;
|
|
21
|
+
staticMessageIdMultisigIsmFactory: string;
|
|
22
|
+
staticAggregationIsmFactory: string;
|
|
23
|
+
staticAggregationHookFactory: string;
|
|
24
|
+
domainRoutingIsmFactory: string;
|
|
25
|
+
staticMerkleRootWeightedMultisigIsmFactory: string;
|
|
26
|
+
staticMessageIdWeightedMultisigIsmFactory: string;
|
|
27
|
+
mailbox: string;
|
|
28
|
+
validatorAnnounce: string;
|
|
29
|
+
proxyAdmin: string;
|
|
30
|
+
testRecipient: string;
|
|
31
|
+
timelockController?: string;
|
|
32
|
+
interchainAccountRouter: string;
|
|
33
|
+
merkleTreeHook?: string;
|
|
34
|
+
interchainGasPaymaster?: string;
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE5D,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,SAAS,EAAE,qBAAqB,CAAC;CAClC,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,SAAS,GAAG,MAAM,CAAC;IAC/B,WAAW,EAAE,UAAU,GAAG,MAAM,CAAC;IACjC,YAAY,EAAE,UAAU,GAAG,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,iBAAkB,SAAQ,UAAU;IACnD,UAAU,EAAE,gBAAgB,CAAC;IAC7B,WAAW,EAAE,iBAAiB,CAAC;IAC/B,YAAY,EAAE,iBAAiB,CAAC;CACjC;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,kCAAkC,EAAE,MAAM,CAAC;IAC3C,iCAAiC,EAAE,MAAM,CAAC;IAC1C,2BAA2B,EAAE,MAAM,CAAC;IACpC,4BAA4B,EAAE,MAAM,CAAC;IACrC,uBAAuB,EAAE,MAAM,CAAC;IAChC,0CAA0C,EAAE,MAAM,CAAC;IACnD,yCAAyC,EAAE,MAAM,CAAC;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,uBAAuB,EAAE,MAAM,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC,CAAC"}
|
package/dist/core.js
ADDED
package/dist/core.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":""}
|
package/dist/hook.d.ts
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { WithAddress } from '@hyperlane-xyz/utils';
|
|
2
|
+
export type HookModuleType = {
|
|
3
|
+
config: HookConfig;
|
|
4
|
+
derived: DerivedHookConfig;
|
|
5
|
+
addresses: HookModuleAddresses;
|
|
6
|
+
};
|
|
7
|
+
export interface HookConfigs {
|
|
8
|
+
interchainGasPaymaster: IgpHookConfig;
|
|
9
|
+
merkleTreeHook: MerkleTreeHookConfig;
|
|
10
|
+
}
|
|
11
|
+
export type HookType = keyof HookConfigs;
|
|
12
|
+
export type HookConfig = HookConfigs[HookType];
|
|
13
|
+
export type DerivedHookConfig = WithAddress<HookConfig>;
|
|
14
|
+
export declare const MUTABLE_HOOK_TYPE: HookType[];
|
|
15
|
+
export interface IgpHookConfig {
|
|
16
|
+
type: 'interchainGasPaymaster';
|
|
17
|
+
owner: string;
|
|
18
|
+
beneficiary: string;
|
|
19
|
+
oracleKey: string;
|
|
20
|
+
overhead: Record<string, number>;
|
|
21
|
+
oracleConfig: Record<string, {
|
|
22
|
+
gasPrice: string;
|
|
23
|
+
tokenExchangeRate: string;
|
|
24
|
+
tokenDecimals?: number;
|
|
25
|
+
}>;
|
|
26
|
+
}
|
|
27
|
+
export interface MerkleTreeHookConfig {
|
|
28
|
+
type: 'merkleTreeHook';
|
|
29
|
+
}
|
|
30
|
+
export type HookModuleAddresses = {
|
|
31
|
+
deployedHook: string;
|
|
32
|
+
mailbox: string;
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=hook.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,SAAS,EAAE,mBAAmB,CAAC;CAChC,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,sBAAsB,EAAE,aAAa,CAAC;IACtC,cAAc,EAAE,oBAAoB,CAAC;CACtC;AACD,MAAM,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC;AACzC,MAAM,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;AAC/C,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;AAExD,eAAO,MAAM,iBAAiB,EAAE,QAAQ,EAMvC,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,wBAAwB,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,YAAY,EAAE,MAAM,CAClB,MAAM,EACN;QACE,QAAQ,EAAE,MAAM,CAAC;QACjB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CACF,CAAC;CACH;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,gBAAgB,CAAC;CACxB;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC"}
|
package/dist/hook.js
ADDED
package/dist/hook.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAC,MAAM,iBAAiB,GAAe;IAC3C,wBAAwB;IACxB,iBAAiB;IACjB,uBAAuB;IACvB,yBAAyB;IACzB,kBAAkB;CACnB,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * as AltVM from './altvm.js';
|
|
2
|
+
export { ChainMetadataForAltVM } from './chain.js';
|
|
3
|
+
export { MinimumRequiredGasByAction, GasAction } from './mingas.js';
|
|
4
|
+
export { ProtocolType, ProtocolTypeValue, ProtocolSmallestUnit, SignerConfig, ProtocolProvider, registerProtocol, getProtocolProvider, hasProtocol, listProtocols, } from './protocol.js';
|
|
5
|
+
export { ITransactionSubmitter, TransactionSubmitterConfig, JsonRpcSubmitterConfig, FileSubmitterConfig, } from './submitter.js';
|
|
6
|
+
export { MockProvider } from './test/AltVMMockProvider.js';
|
|
7
|
+
export { MockSigner } from './test/AltVMMockSigner.js';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,0BAA0B,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,WAAW,EACX,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * as AltVM from './altvm.js';
|
|
2
|
+
export { GasAction } from './mingas.js';
|
|
3
|
+
export { ProtocolType, ProtocolSmallestUnit, registerProtocol, getProtocolProvider, hasProtocol, listProtocols, } from './protocol.js';
|
|
4
|
+
export { MockProvider } from './test/AltVMMockProvider.js';
|
|
5
|
+
export { MockSigner } from './test/AltVMMockSigner.js';
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AAEpC,OAAO,EAA8B,SAAS,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EACL,YAAY,EAEZ,oBAAoB,EAGpB,gBAAgB,EAChB,mBAAmB,EACnB,WAAW,EACX,aAAa,GACd,MAAM,eAAe,CAAC;AAOvB,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC"}
|
package/dist/ism.d.ts
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { WithAddress } from '@hyperlane-xyz/utils';
|
|
2
|
+
export type IsmModuleType = {
|
|
3
|
+
config: IsmConfig;
|
|
4
|
+
derived: DerivedIsmConfig;
|
|
5
|
+
addresses: IsmModuleAddresses;
|
|
6
|
+
};
|
|
7
|
+
export interface IsmConfigs {
|
|
8
|
+
domainRoutingIsm: DomainRoutingIsmConfig;
|
|
9
|
+
merkleRootMultisigIsm: MultisigIsmConfig;
|
|
10
|
+
messageIdMultisigIsm: MultisigIsmConfig;
|
|
11
|
+
testIsm: TestIsmConfig;
|
|
12
|
+
}
|
|
13
|
+
export type IsmType = keyof IsmConfigs;
|
|
14
|
+
export type IsmConfig = IsmConfigs[IsmType];
|
|
15
|
+
export type DerivedIsmConfig = WithAddress<IsmConfig>;
|
|
16
|
+
export declare const STATIC_ISM_TYPES: IsmType[];
|
|
17
|
+
export interface MultisigIsmConfig {
|
|
18
|
+
type: 'merkleRootMultisigIsm' | 'messageIdMultisigIsm';
|
|
19
|
+
validators: string[];
|
|
20
|
+
threshold: number;
|
|
21
|
+
}
|
|
22
|
+
export interface TestIsmConfig {
|
|
23
|
+
type: 'testIsm';
|
|
24
|
+
}
|
|
25
|
+
export interface DomainRoutingIsmConfig {
|
|
26
|
+
type: 'domainRoutingIsm';
|
|
27
|
+
owner: string;
|
|
28
|
+
domains: Record<string, IsmConfig | string>;
|
|
29
|
+
}
|
|
30
|
+
export type IsmModuleAddresses = {
|
|
31
|
+
deployedIsm: string;
|
|
32
|
+
mailbox: string;
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=ism.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ism.d.ts","sourceRoot":"","sources":["../src/ism.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,SAAS,EAAE,kBAAkB,CAAC;CAC/B,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,qBAAqB,EAAE,iBAAiB,CAAC;IACzC,oBAAoB,EAAE,iBAAiB,CAAC;IACxC,OAAO,EAAE,aAAa,CAAC;CACxB;AAED,MAAM,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC;AACvC,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;AAC5C,MAAM,MAAM,gBAAgB,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;AAEtD,eAAO,MAAM,gBAAgB,EAAE,OAAO,EAGrC,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,uBAAuB,GAAG,sBAAsB,CAAC;IACvD,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,kBAAkB,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,CAAC;CAC7C;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC"}
|
package/dist/ism.js
ADDED
package/dist/ism.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ism.js","sourceRoot":"","sources":["../src/ism.ts"],"names":[],"mappings":"AAmBA,MAAM,CAAC,MAAM,gBAAgB,GAAc;IACzC,uBAAuB;IACvB,sBAAsB;CACvB,CAAC"}
|
package/dist/mingas.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare enum GasAction {
|
|
2
|
+
CORE_DEPLOY_GAS = "CORE_DEPLOY_GAS",
|
|
3
|
+
WARP_DEPLOY_GAS = "WARP_DEPLOY_GAS",
|
|
4
|
+
TEST_SEND_GAS = "TEST_SEND_GAS",
|
|
5
|
+
AVS_GAS = "AVS_GAS"
|
|
6
|
+
}
|
|
7
|
+
export type MinimumRequiredGasByAction = {
|
|
8
|
+
[GasAction.CORE_DEPLOY_GAS]: bigint;
|
|
9
|
+
[GasAction.WARP_DEPLOY_GAS]: bigint;
|
|
10
|
+
[GasAction.TEST_SEND_GAS]: bigint;
|
|
11
|
+
[GasAction.AVS_GAS]: bigint;
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=mingas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mingas.d.ts","sourceRoot":"","sources":["../src/mingas.ts"],"names":[],"mappings":"AAAA,oBAAY,SAAS;IACnB,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;IAC/B,OAAO,YAAY;CACpB;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IACpC,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IACpC,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAClC,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC"}
|
package/dist/mingas.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export var GasAction;
|
|
2
|
+
(function (GasAction) {
|
|
3
|
+
GasAction["CORE_DEPLOY_GAS"] = "CORE_DEPLOY_GAS";
|
|
4
|
+
GasAction["WARP_DEPLOY_GAS"] = "WARP_DEPLOY_GAS";
|
|
5
|
+
GasAction["TEST_SEND_GAS"] = "TEST_SEND_GAS";
|
|
6
|
+
GasAction["AVS_GAS"] = "AVS_GAS";
|
|
7
|
+
})(GasAction || (GasAction = {}));
|
|
8
|
+
//# sourceMappingURL=mingas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mingas.js","sourceRoot":"","sources":["../src/mingas.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,gDAAmC,CAAA;IACnC,gDAAmC,CAAA;IACnC,4CAA+B,CAAA;IAC/B,gCAAmB,CAAA;AACrB,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB"}
|
package/dist/module.d.ts
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { IProvider, ISigner } from './altvm.js';
|
|
2
|
+
type AddrMap = Record<string, unknown>;
|
|
3
|
+
export type AnnotatedTx = {
|
|
4
|
+
annotation?: string;
|
|
5
|
+
[key: string]: any;
|
|
6
|
+
};
|
|
7
|
+
export type TxReceipt = {
|
|
8
|
+
[key: string]: any;
|
|
9
|
+
};
|
|
10
|
+
export interface ModuleType {
|
|
11
|
+
config: unknown;
|
|
12
|
+
derived: unknown;
|
|
13
|
+
addresses: AddrMap;
|
|
14
|
+
}
|
|
15
|
+
export type Config<M extends ModuleType> = M['config'];
|
|
16
|
+
export type Derived<M extends ModuleType> = M['derived'];
|
|
17
|
+
export type Addresses<M extends ModuleType> = M['addresses'];
|
|
18
|
+
export interface HypModuleArgs<M extends ModuleType> {
|
|
19
|
+
addresses: Addresses<M>;
|
|
20
|
+
chain: string | number;
|
|
21
|
+
config: string | Config<M>;
|
|
22
|
+
}
|
|
23
|
+
export interface HypReader<M extends ModuleType> {
|
|
24
|
+
read(address: string): Promise<Derived<M>>;
|
|
25
|
+
}
|
|
26
|
+
export interface HypModule<M extends ModuleType> {
|
|
27
|
+
read(): Promise<Derived<M>>;
|
|
28
|
+
serialize(): Addresses<M>;
|
|
29
|
+
update(config: Config<M>): Promise<AnnotatedTx[]>;
|
|
30
|
+
}
|
|
31
|
+
export interface ModuleProvider<M extends ModuleType> {
|
|
32
|
+
connectReader: (provider: IProvider) => HypReader<M>;
|
|
33
|
+
connectModule: (signer: ISigner<AnnotatedTx, TxReceipt>, args: HypModuleArgs<M>) => HypModule<M>;
|
|
34
|
+
createModule: (signer: ISigner<AnnotatedTx, TxReceipt>, config: Config<M>) => Promise<HypModule<M>>;
|
|
35
|
+
}
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAEhD,KAAK,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACvC,MAAM,MAAM,WAAW,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAC;AACtE,MAAM,MAAM,SAAS,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAC;AAE/C,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,UAAU,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AACvD,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,UAAU,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AACzD,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,UAAU,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC;AAE7D,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,UAAU;IACjD,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;CAC5B;AAED,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,UAAU;IAC7C,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,UAAU;IAC7C,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,UAAU;IAClD,aAAa,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC;IACrD,aAAa,EAAE,CACb,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,EACvC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,KACnB,SAAS,CAAC,CAAC,CAAC,CAAC;IAClB,YAAY,EAAE,CACZ,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,EACvC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,KACd,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;CAC5B"}
|
package/dist/module.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { IProvider, ISigner } from './altvm.js';
|
|
2
|
+
import { ChainMetadataForAltVM } from './chain.js';
|
|
3
|
+
import { AnnotatedTx, TxReceipt } from './module.js';
|
|
4
|
+
import { ITransactionSubmitter, JsonRpcSubmitterConfig, TransactionSubmitterConfig } from './submitter.js';
|
|
5
|
+
export declare enum ProtocolType {
|
|
6
|
+
Ethereum = "ethereum",
|
|
7
|
+
Sealevel = "sealevel",
|
|
8
|
+
Cosmos = "cosmos",
|
|
9
|
+
CosmosNative = "cosmosnative",
|
|
10
|
+
Starknet = "starknet",
|
|
11
|
+
Radix = "radix"
|
|
12
|
+
}
|
|
13
|
+
export type ProtocolTypeValue = `${ProtocolType}`;
|
|
14
|
+
export declare const ProtocolSmallestUnit: {
|
|
15
|
+
ethereum: string;
|
|
16
|
+
sealevel: string;
|
|
17
|
+
cosmos: string;
|
|
18
|
+
cosmosnative: string;
|
|
19
|
+
starknet: string;
|
|
20
|
+
radix: string;
|
|
21
|
+
};
|
|
22
|
+
export type SignerConfig = Pick<JsonRpcSubmitterConfig, 'privateKey' | 'accountAddress'>;
|
|
23
|
+
/**
|
|
24
|
+
* Interface describing the artifacts that should be implemented in a specific protocol
|
|
25
|
+
* implementation
|
|
26
|
+
*/
|
|
27
|
+
export interface ProtocolProvider {
|
|
28
|
+
createProvider(chainMetadata: ChainMetadataForAltVM): Promise<IProvider>;
|
|
29
|
+
createSigner(chainMetadata: ChainMetadataForAltVM, config: SignerConfig): Promise<ISigner<AnnotatedTx, TxReceipt>>;
|
|
30
|
+
createSubmitter<TConfig extends TransactionSubmitterConfig>(chainMetadata: ChainMetadataForAltVM, config: TConfig): Promise<ITransactionSubmitter>;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Registry for managing protocol providers.
|
|
34
|
+
*/
|
|
35
|
+
export declare class ProtocolProviderRegistry {
|
|
36
|
+
private protocols;
|
|
37
|
+
hasProtocol(protocol: ProtocolType): boolean;
|
|
38
|
+
listProtocols(): ProtocolType[];
|
|
39
|
+
registerProtocol(protocol: ProtocolType, factory: () => ProtocolProvider): void;
|
|
40
|
+
getProtocolProvider(protocol: ProtocolType): ProtocolProvider;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Register a protocol provider implementation.
|
|
44
|
+
*
|
|
45
|
+
* @param protocol The protocol type to register
|
|
46
|
+
* @param factory Factory function that creates a ProtocolProvider instance
|
|
47
|
+
*/
|
|
48
|
+
export declare const registerProtocol: (protocol: ProtocolType, factory: () => ProtocolProvider) => void;
|
|
49
|
+
/**
|
|
50
|
+
* Get a protocol provider instance by protocol type.
|
|
51
|
+
*
|
|
52
|
+
* @param protocol The protocol type (e.g., ProtocolType.Ethereum, ProtocolType.Sealevel, ProtocolType.Radix)
|
|
53
|
+
* @returns A new {@link ProtocolProvider} instance
|
|
54
|
+
* @throws Error if the protocol is not registered
|
|
55
|
+
*/
|
|
56
|
+
export declare const getProtocolProvider: (protocol: ProtocolType) => ProtocolProvider;
|
|
57
|
+
/**
|
|
58
|
+
* Check if a protocol provider is registered.
|
|
59
|
+
*
|
|
60
|
+
* @param protocol The protocol type
|
|
61
|
+
* @returns true if the protocol is registered
|
|
62
|
+
*/
|
|
63
|
+
export declare const hasProtocol: (protocol: ProtocolType) => boolean;
|
|
64
|
+
/**
|
|
65
|
+
* List all registered protocol provider types.
|
|
66
|
+
*
|
|
67
|
+
* @returns Array of protocol types
|
|
68
|
+
*/
|
|
69
|
+
export declare const listProtocols: () => ProtocolType[];
|
|
70
|
+
//# sourceMappingURL=protocol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,0BAA0B,EAC3B,MAAM,gBAAgB,CAAC;AAExB,oBAAY,YAAY;IACtB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,YAAY,iBAAiB;IAC7B,QAAQ,aAAa;IACrB,KAAK,UAAU;CAChB;AAGD,MAAM,MAAM,iBAAiB,GAAG,GAAG,YAAY,EAAE,CAAC;AAElD,eAAO,MAAM,oBAAoB;;;;;;;CAOhC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,IAAI,CAC7B,sBAAsB,EACtB,YAAY,GAAG,gBAAgB,CAChC,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,cAAc,CAAC,aAAa,EAAE,qBAAqB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACzE,YAAY,CACV,aAAa,EAAE,qBAAqB,EACpC,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;IAE5C,eAAe,CAAC,OAAO,SAAS,0BAA0B,EACxD,aAAa,EAAE,qBAAqB,EACpC,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,SAAS,CAAmD;IAEpE,WAAW,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO;IAI5C,aAAa,IAAI,YAAY,EAAE;IAI/B,gBAAgB,CACd,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,MAAM,gBAAgB,GAC9B,IAAI;IASP,mBAAmB,CAAC,QAAQ,EAAE,YAAY,GAAG,gBAAgB;CAS9D;AAKD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,aA/Bf,YAAY,WACb,MAAM,gBAAgB,KAC9B,IA8BqD,CAAC;AAE3D;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,aA9BA,YAAY,KAAG,gBA+Bc,CAAC;AAE9D;;;;;GAKG;AACH,eAAO,MAAM,WAAW,aA3DA,YAAY,KAAG,OA2DuC,CAAC;AAE/E;;;;GAIG;AACH,eAAO,MAAM,aAAa,QA9DP,YAAY,EA+DwB,CAAC"}
|
package/dist/protocol.js
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { assert } from '@hyperlane-xyz/utils';
|
|
2
|
+
export var ProtocolType;
|
|
3
|
+
(function (ProtocolType) {
|
|
4
|
+
ProtocolType["Ethereum"] = "ethereum";
|
|
5
|
+
ProtocolType["Sealevel"] = "sealevel";
|
|
6
|
+
ProtocolType["Cosmos"] = "cosmos";
|
|
7
|
+
ProtocolType["CosmosNative"] = "cosmosnative";
|
|
8
|
+
ProtocolType["Starknet"] = "starknet";
|
|
9
|
+
ProtocolType["Radix"] = "radix";
|
|
10
|
+
})(ProtocolType || (ProtocolType = {}));
|
|
11
|
+
export const ProtocolSmallestUnit = {
|
|
12
|
+
[ProtocolType.Ethereum]: 'wei',
|
|
13
|
+
[ProtocolType.Sealevel]: 'lamports',
|
|
14
|
+
[ProtocolType.Cosmos]: 'uATOM',
|
|
15
|
+
[ProtocolType.CosmosNative]: 'uATOM',
|
|
16
|
+
[ProtocolType.Starknet]: 'fri',
|
|
17
|
+
[ProtocolType.Radix]: 'attos',
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Registry for managing protocol providers.
|
|
21
|
+
*/
|
|
22
|
+
export class ProtocolProviderRegistry {
|
|
23
|
+
protocols = new Map();
|
|
24
|
+
hasProtocol(protocol) {
|
|
25
|
+
return this.protocols.has(protocol);
|
|
26
|
+
}
|
|
27
|
+
listProtocols() {
|
|
28
|
+
return Array.from(this.protocols.keys());
|
|
29
|
+
}
|
|
30
|
+
registerProtocol(protocol, factory) {
|
|
31
|
+
assert(!this.hasProtocol(protocol), `Protocol '${protocol}' is already registered`);
|
|
32
|
+
this.protocols.set(protocol, factory);
|
|
33
|
+
}
|
|
34
|
+
getProtocolProvider(protocol) {
|
|
35
|
+
const factory = this.protocols.get(protocol);
|
|
36
|
+
assert(factory, `Protocol '${protocol}' is not registered. Available protocols: ${this.listProtocols().join(', ') || 'none'}`);
|
|
37
|
+
return factory();
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
// Singleton registry instance
|
|
41
|
+
const protocolRegistry = new ProtocolProviderRegistry();
|
|
42
|
+
/**
|
|
43
|
+
* Register a protocol provider implementation.
|
|
44
|
+
*
|
|
45
|
+
* @param protocol The protocol type to register
|
|
46
|
+
* @param factory Factory function that creates a ProtocolProvider instance
|
|
47
|
+
*/
|
|
48
|
+
export const registerProtocol = protocolRegistry.registerProtocol.bind(protocolRegistry);
|
|
49
|
+
/**
|
|
50
|
+
* Get a protocol provider instance by protocol type.
|
|
51
|
+
*
|
|
52
|
+
* @param protocol The protocol type (e.g., ProtocolType.Ethereum, ProtocolType.Sealevel, ProtocolType.Radix)
|
|
53
|
+
* @returns A new {@link ProtocolProvider} instance
|
|
54
|
+
* @throws Error if the protocol is not registered
|
|
55
|
+
*/
|
|
56
|
+
export const getProtocolProvider = protocolRegistry.getProtocolProvider.bind(protocolRegistry);
|
|
57
|
+
/**
|
|
58
|
+
* Check if a protocol provider is registered.
|
|
59
|
+
*
|
|
60
|
+
* @param protocol The protocol type
|
|
61
|
+
* @returns true if the protocol is registered
|
|
62
|
+
*/
|
|
63
|
+
export const hasProtocol = protocolRegistry.hasProtocol.bind(protocolRegistry);
|
|
64
|
+
/**
|
|
65
|
+
* List all registered protocol provider types.
|
|
66
|
+
*
|
|
67
|
+
* @returns Array of protocol types
|
|
68
|
+
*/
|
|
69
|
+
export const listProtocols = protocolRegistry.listProtocols.bind(protocolRegistry);
|
|
70
|
+
//# sourceMappingURL=protocol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAW9C,MAAM,CAAN,IAAY,YAOX;AAPD,WAAY,YAAY;IACtB,qCAAqB,CAAA;IACrB,qCAAqB,CAAA;IACrB,iCAAiB,CAAA;IACjB,6CAA6B,CAAA;IAC7B,qCAAqB,CAAA;IACrB,+BAAe,CAAA;AACjB,CAAC,EAPW,YAAY,KAAZ,YAAY,QAOvB;AAKD,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,KAAK;IAC9B,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,UAAU;IACnC,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,OAAO;IAC9B,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,OAAO;IACpC,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,KAAK;IAC9B,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,OAAO;CAC9B,CAAC;AAwBF;;GAEG;AACH,MAAM,OAAO,wBAAwB;IAC3B,SAAS,GAAG,IAAI,GAAG,EAAwC,CAAC;IAEpE,WAAW,CAAC,QAAsB;QAChC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,aAAa;QACX,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,gBAAgB,CACd,QAAsB,EACtB,OAA+B;QAE/B,MAAM,CACJ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAC3B,aAAa,QAAQ,yBAAyB,CAC/C,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,mBAAmB,CAAC,QAAsB;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,CACJ,OAAO,EACP,aAAa,QAAQ,6CAA6C,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAC9G,CAAC;QAEF,OAAO,OAAO,EAAE,CAAC;IACnB,CAAC;CACF;AAED,8BAA8B;AAC9B,MAAM,gBAAgB,GAAG,IAAI,wBAAwB,EAAE,CAAC;AAExD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAC3B,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAE3D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAC9B,gBAAgB,CAAC,mBAAmB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAE9D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAE/E;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GACxB,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { AnnotatedTx, TxReceipt } from './module.js';
|
|
2
|
+
export interface TransactionSubmitterConfigs {
|
|
3
|
+
jsonRpc: JsonRpcSubmitterConfig;
|
|
4
|
+
file: FileSubmitterConfig;
|
|
5
|
+
}
|
|
6
|
+
export type TransactionSubmitterType = keyof TransactionSubmitterConfigs;
|
|
7
|
+
export type TransactionSubmitterConfig = TransactionSubmitterConfigs[TransactionSubmitterType];
|
|
8
|
+
interface BaseSubmitterConfig<T extends keyof TransactionSubmitterConfigs> {
|
|
9
|
+
type: T;
|
|
10
|
+
chain: string;
|
|
11
|
+
}
|
|
12
|
+
export interface JsonRpcSubmitterConfig extends BaseSubmitterConfig<'jsonRpc'> {
|
|
13
|
+
privateKey: string;
|
|
14
|
+
accountAddress?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface FileSubmitterConfig extends BaseSubmitterConfig<'file'> {
|
|
17
|
+
filepath: string;
|
|
18
|
+
}
|
|
19
|
+
export interface ITransactionSubmitter {
|
|
20
|
+
submit(...transactions: AnnotatedTx[]): Promise<TxReceipt[]>;
|
|
21
|
+
}
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=submitter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"submitter.d.ts","sourceRoot":"","sources":["../src/submitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAErD,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,sBAAsB,CAAC;IAChC,IAAI,EAAE,mBAAmB,CAAC;CAC3B;AAED,MAAM,MAAM,wBAAwB,GAAG,MAAM,2BAA2B,CAAC;AACzE,MAAM,MAAM,0BAA0B,GACpC,2BAA2B,CAAC,wBAAwB,CAAC,CAAC;AAExD,UAAU,mBAAmB,CAAC,CAAC,SAAS,MAAM,2BAA2B;IACvE,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB,CAAC,SAAS,CAAC;IAC5E,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB,CAAC,MAAM,CAAC;IACtE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,GAAG,YAAY,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;CAC9D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"submitter.js","sourceRoot":"","sources":["../src/submitter.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import * as AltVM from '../altvm.js';
|
|
2
|
+
type MockTransaction = any;
|
|
3
|
+
export declare class MockProvider implements AltVM.IProvider {
|
|
4
|
+
static connect(): Promise<MockProvider>;
|
|
5
|
+
isHealthy(): Promise<boolean>;
|
|
6
|
+
getRpcUrls(): string[];
|
|
7
|
+
getHeight(): Promise<number>;
|
|
8
|
+
getBalance(_req: AltVM.ReqGetBalance): Promise<bigint>;
|
|
9
|
+
getTotalSupply(_req: AltVM.ReqGetTotalSupply): Promise<bigint>;
|
|
10
|
+
estimateTransactionFee(_req: AltVM.ReqEstimateTransactionFee<MockTransaction>): Promise<AltVM.ResEstimateTransactionFee>;
|
|
11
|
+
getMailbox(_req: AltVM.ReqGetMailbox): Promise<AltVM.ResGetMailbox>;
|
|
12
|
+
isMessageDelivered(_req: AltVM.ReqIsMessageDelivered): Promise<boolean>;
|
|
13
|
+
getIsmType(_req: AltVM.ReqGetIsmType): Promise<AltVM.IsmType>;
|
|
14
|
+
getMessageIdMultisigIsm(_req: AltVM.ReqMessageIdMultisigIsm): Promise<AltVM.ResMessageIdMultisigIsm>;
|
|
15
|
+
getMerkleRootMultisigIsm(_req: AltVM.ReqMerkleRootMultisigIsm): Promise<AltVM.ResMerkleRootMultisigIsm>;
|
|
16
|
+
getRoutingIsm(_req: AltVM.ReqRoutingIsm): Promise<AltVM.ResRoutingIsm>;
|
|
17
|
+
getNoopIsm(_req: AltVM.ReqNoopIsm): Promise<AltVM.ResNoopIsm>;
|
|
18
|
+
getHookType(_req: AltVM.ReqGetHookType): Promise<AltVM.HookType>;
|
|
19
|
+
getInterchainGasPaymasterHook(_req: AltVM.ReqGetInterchainGasPaymasterHook): Promise<AltVM.ResGetInterchainGasPaymasterHook>;
|
|
20
|
+
getMerkleTreeHook(_req: AltVM.ReqGetMerkleTreeHook): Promise<AltVM.ResGetMerkleTreeHook>;
|
|
21
|
+
getNoopHook(_req: AltVM.ReqGetNoopHook): Promise<AltVM.ResGetNoopHook>;
|
|
22
|
+
getToken(_req: AltVM.ReqGetToken): Promise<AltVM.ResGetToken>;
|
|
23
|
+
getRemoteRouters(_req: AltVM.ReqGetRemoteRouters): Promise<AltVM.ResGetRemoteRouters>;
|
|
24
|
+
getBridgedSupply(_req: AltVM.ReqGetBridgedSupply): Promise<bigint>;
|
|
25
|
+
quoteRemoteTransfer(_req: AltVM.ReqQuoteRemoteTransfer): Promise<AltVM.ResQuoteRemoteTransfer>;
|
|
26
|
+
getCreateMailboxTransaction(_req: AltVM.ReqCreateMailbox): Promise<MockTransaction>;
|
|
27
|
+
getSetDefaultIsmTransaction(_req: AltVM.ReqSetDefaultIsm): Promise<MockTransaction>;
|
|
28
|
+
getSetDefaultHookTransaction(_req: AltVM.ReqSetDefaultHook): Promise<MockTransaction>;
|
|
29
|
+
getSetRequiredHookTransaction(_req: AltVM.ReqSetRequiredHook): Promise<MockTransaction>;
|
|
30
|
+
getSetMailboxOwnerTransaction(_req: AltVM.ReqSetMailboxOwner): Promise<MockTransaction>;
|
|
31
|
+
getCreateMerkleRootMultisigIsmTransaction(_req: AltVM.ReqCreateMerkleRootMultisigIsm): Promise<MockTransaction>;
|
|
32
|
+
getCreateMessageIdMultisigIsmTransaction(_req: AltVM.ReqCreateMessageIdMultisigIsm): Promise<MockTransaction>;
|
|
33
|
+
getCreateRoutingIsmTransaction(_req: AltVM.ReqCreateRoutingIsm): Promise<MockTransaction>;
|
|
34
|
+
getSetRoutingIsmRouteTransaction(_req: AltVM.ReqSetRoutingIsmRoute): Promise<MockTransaction>;
|
|
35
|
+
getRemoveRoutingIsmRouteTransaction(_req: AltVM.ReqRemoveRoutingIsmRoute): Promise<MockTransaction>;
|
|
36
|
+
getSetRoutingIsmOwnerTransaction(_req: AltVM.ReqSetRoutingIsmOwner): Promise<MockTransaction>;
|
|
37
|
+
getCreateNoopIsmTransaction(_req: AltVM.ReqCreateNoopIsm): Promise<MockTransaction>;
|
|
38
|
+
getCreateMerkleTreeHookTransaction(_req: AltVM.ReqCreateMerkleTreeHook): Promise<MockTransaction>;
|
|
39
|
+
getCreateInterchainGasPaymasterHookTransaction(_req: AltVM.ReqCreateInterchainGasPaymasterHook): Promise<MockTransaction>;
|
|
40
|
+
getSetInterchainGasPaymasterHookOwnerTransaction(_req: AltVM.ReqSetInterchainGasPaymasterHookOwner): Promise<MockTransaction>;
|
|
41
|
+
getSetDestinationGasConfigTransaction(_req: AltVM.ReqSetDestinationGasConfig): Promise<MockTransaction>;
|
|
42
|
+
getRemoveDestinationGasConfigTransaction(_req: AltVM.ReqRemoveDestinationGasConfig): Promise<MockTransaction>;
|
|
43
|
+
getCreateNoopHookTransaction(_req: AltVM.ReqCreateNoopHook): Promise<MockTransaction>;
|
|
44
|
+
getCreateValidatorAnnounceTransaction(_req: AltVM.ReqCreateValidatorAnnounce): Promise<MockTransaction>;
|
|
45
|
+
getCreateNativeTokenTransaction(_req: AltVM.ReqCreateNativeToken): Promise<MockTransaction>;
|
|
46
|
+
getCreateCollateralTokenTransaction(_req: AltVM.ReqCreateCollateralToken): Promise<MockTransaction>;
|
|
47
|
+
getCreateSyntheticTokenTransaction(_req: AltVM.ReqCreateSyntheticToken): Promise<MockTransaction>;
|
|
48
|
+
getSetTokenOwnerTransaction(_req: AltVM.ReqSetTokenOwner): Promise<MockTransaction>;
|
|
49
|
+
getSetTokenIsmTransaction(_req: AltVM.ReqSetTokenIsm): Promise<MockTransaction>;
|
|
50
|
+
getSetTokenHookTransaction(_req: AltVM.ReqSetTokenHook): Promise<MockTransaction>;
|
|
51
|
+
getEnrollRemoteRouterTransaction(_req: AltVM.ReqEnrollRemoteRouter): Promise<MockTransaction>;
|
|
52
|
+
getUnenrollRemoteRouterTransaction(_req: AltVM.ReqUnenrollRemoteRouter): Promise<MockTransaction>;
|
|
53
|
+
getTransferTransaction(_req: AltVM.ReqTransfer): Promise<MockTransaction>;
|
|
54
|
+
getRemoteTransferTransaction(_req: AltVM.ReqRemoteTransfer): Promise<MockTransaction>;
|
|
55
|
+
}
|
|
56
|
+
export {};
|
|
57
|
+
//# sourceMappingURL=AltVMMockProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AltVMMockProvider.d.ts","sourceRoot":"","sources":["../../src/test/AltVMMockProvider.ts"],"names":[],"mappings":"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"}
|