@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.
Files changed (53) hide show
  1. package/dist/altvm.d.ts +566 -0
  2. package/dist/altvm.d.ts.map +1 -0
  3. package/dist/altvm.js +65 -0
  4. package/dist/altvm.js.map +1 -0
  5. package/dist/chain.d.ts +43 -0
  6. package/dist/chain.d.ts.map +1 -0
  7. package/dist/chain.js +2 -0
  8. package/dist/chain.js.map +1 -0
  9. package/dist/core.d.ts +36 -0
  10. package/dist/core.d.ts.map +1 -0
  11. package/dist/core.js +2 -0
  12. package/dist/core.js.map +1 -0
  13. package/dist/hook.d.ts +34 -0
  14. package/dist/hook.d.ts.map +1 -0
  15. package/dist/hook.js +8 -0
  16. package/dist/hook.js.map +1 -0
  17. package/dist/index.d.ts +8 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +6 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/ism.d.ts +34 -0
  22. package/dist/ism.d.ts.map +1 -0
  23. package/dist/ism.js +5 -0
  24. package/dist/ism.js.map +1 -0
  25. package/dist/mingas.d.ts +13 -0
  26. package/dist/mingas.d.ts.map +1 -0
  27. package/dist/mingas.js +8 -0
  28. package/dist/mingas.js.map +1 -0
  29. package/dist/module.d.ts +37 -0
  30. package/dist/module.d.ts.map +1 -0
  31. package/dist/module.js +2 -0
  32. package/dist/module.js.map +1 -0
  33. package/dist/protocol.d.ts +70 -0
  34. package/dist/protocol.d.ts.map +1 -0
  35. package/dist/protocol.js +70 -0
  36. package/dist/protocol.js.map +1 -0
  37. package/dist/submitter.d.ts +23 -0
  38. package/dist/submitter.d.ts.map +1 -0
  39. package/dist/submitter.js +2 -0
  40. package/dist/submitter.js.map +1 -0
  41. package/dist/test/AltVMMockProvider.d.ts +57 -0
  42. package/dist/test/AltVMMockProvider.d.ts.map +1 -0
  43. package/dist/test/AltVMMockProvider.js +161 -0
  44. package/dist/test/AltVMMockProvider.js.map +1 -0
  45. package/dist/test/AltVMMockSigner.d.ts +43 -0
  46. package/dist/test/AltVMMockSigner.d.ts.map +1 -0
  47. package/dist/test/AltVMMockSigner.js +111 -0
  48. package/dist/test/AltVMMockSigner.js.map +1 -0
  49. package/dist/warp.d.ts +68 -0
  50. package/dist/warp.d.ts.map +1 -0
  51. package/dist/warp.js +6 -0
  52. package/dist/warp.js.map +1 -0
  53. package/package.json +45 -0
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=chain.js.map
@@ -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
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=core.js.map
@@ -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
@@ -0,0 +1,8 @@
1
+ export const MUTABLE_HOOK_TYPE = [
2
+ 'interchainGasPaymaster',
3
+ // 'protocolFee',
4
+ // 'domainRoutingHook',
5
+ // 'fallbackRoutingHook',
6
+ // 'pausableHook',
7
+ ];
8
+ //# sourceMappingURL=hook.js.map
@@ -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"}
@@ -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
@@ -0,0 +1,5 @@
1
+ export const STATIC_ISM_TYPES = [
2
+ 'merkleRootMultisigIsm',
3
+ 'messageIdMultisigIsm',
4
+ ];
5
+ //# sourceMappingURL=ism.js.map
@@ -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"}
@@ -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"}
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=module.js.map
@@ -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"}
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=submitter.js.map
@@ -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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"}