@hyperlane-xyz/cosmos-sdk 27.0.0 → 28.0.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.
@@ -2,8 +2,10 @@ import { type AltVM, type ChainMetadataForAltVM, type ITransactionSubmitter, typ
2
2
  import { type IProvider } from '@hyperlane-xyz/provider-sdk/altvm';
3
3
  import { type IRawHookArtifactManager } from '@hyperlane-xyz/provider-sdk/hook';
4
4
  import { type IRawIsmArtifactManager } from '@hyperlane-xyz/provider-sdk/ism';
5
+ import { type IRawMailboxArtifactManager } from '@hyperlane-xyz/provider-sdk/mailbox';
5
6
  import { type AnnotatedTx, type TxReceipt } from '@hyperlane-xyz/provider-sdk/module';
6
7
  import { type IRawWarpArtifactManager } from '@hyperlane-xyz/provider-sdk/warp';
8
+ import { type IRawValidatorAnnounceArtifactManager } from '@hyperlane-xyz/provider-sdk/validator-announce';
7
9
  export declare class CosmosNativeProtocolProvider implements ProtocolProvider {
8
10
  createProvider(chainMetadata: ChainMetadataForAltVM): Promise<IProvider>;
9
11
  createSigner(chainMetadata: ChainMetadataForAltVM, config: SignerConfig): Promise<AltVM.ISigner<AnnotatedTx, TxReceipt>>;
@@ -15,6 +17,8 @@ export declare class CosmosNativeProtocolProvider implements ProtocolProvider {
15
17
  createWarpArtifactManager(chainMetadata: ChainMetadataForAltVM, _context?: {
16
18
  mailbox?: string;
17
19
  }): IRawWarpArtifactManager;
20
+ createMailboxArtifactManager(chainMetadata: ChainMetadataForAltVM): IRawMailboxArtifactManager;
21
+ createValidatorAnnounceArtifactManager(_chainMetadata: ChainMetadataForAltVM): IRawValidatorAnnounceArtifactManager | null;
18
22
  getMinGas(): MinimumRequiredGasByAction;
19
23
  }
20
24
  //# sourceMappingURL=protocol.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/clients/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,KAAK,EACV,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,EAC/B,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAChC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,SAAS,EACf,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAUhF,qBAAa,4BAA6B,YAAW,gBAAgB;IACnE,cAAc,CAAC,aAAa,EAAE,qBAAqB,GAAG,OAAO,CAAC,SAAS,CAAC;IAMlE,YAAY,CAChB,aAAa,EAAE,qBAAqB,EACpC,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAWjD,eAAe,CAAC,OAAO,SAAS,0BAA0B,EACxD,cAAc,EAAE,qBAAqB,EACrC,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,qBAAqB,CAAC;IAKjC,wBAAwB,CACtB,aAAa,EAAE,qBAAqB,GACnC,sBAAsB;IAOzB,yBAAyB,CACvB,aAAa,EAAE,qBAAqB,EACpC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7B,uBAAuB;IAkB1B,yBAAyB,CACvB,aAAa,EAAE,qBAAqB,EACpC,QAAQ,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAC9B,uBAAuB;IAM1B,SAAS,IAAI,0BAA0B;CASxC"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/clients/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,KAAK,EACV,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,EAC/B,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAChC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACtF,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,SAAS,EACf,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,KAAK,oCAAoC,EAAE,MAAM,gDAAgD,CAAC;AAW3G,qBAAa,4BAA6B,YAAW,gBAAgB;IACnE,cAAc,CAAC,aAAa,EAAE,qBAAqB,GAAG,OAAO,CAAC,SAAS,CAAC;IAMlE,YAAY,CAChB,aAAa,EAAE,qBAAqB,EACpC,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAWjD,eAAe,CAAC,OAAO,SAAS,0BAA0B,EACxD,cAAc,EAAE,qBAAqB,EACrC,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,qBAAqB,CAAC;IAKjC,wBAAwB,CACtB,aAAa,EAAE,qBAAqB,GACnC,sBAAsB;IAOzB,yBAAyB,CACvB,aAAa,EAAE,qBAAqB,EACpC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7B,uBAAuB;IAkB1B,yBAAyB,CACvB,aAAa,EAAE,qBAAqB,EACpC,QAAQ,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAC9B,uBAAuB;IAM1B,4BAA4B,CAC1B,aAAa,EAAE,qBAAqB,GACnC,0BAA0B;IAc7B,sCAAsC,CACpC,cAAc,EAAE,qBAAqB,GACpC,oCAAoC,GAAG,IAAI;IAK9C,SAAS,IAAI,0BAA0B;CASxC"}
@@ -4,6 +4,7 @@ import { CosmosIsmArtifactManager } from '../ism/ism-artifact-manager.js';
4
4
  import { CosmosWarpArtifactManager } from '../warp/warp-artifact-manager.js';
5
5
  import { CosmosNativeProvider } from './provider.js';
6
6
  import { CosmosNativeSigner } from './signer.js';
7
+ import { CosmosMailboxArtifactManager } from '../mailbox/mailbox-artifact-manager.js';
7
8
  export class CosmosNativeProtocolProvider {
8
9
  createProvider(chainMetadata) {
9
10
  assert(chainMetadata.rpcUrls, 'rpc urls undefined');
@@ -44,6 +45,18 @@ export class CosmosNativeProtocolProvider {
44
45
  const rpcUrls = chainMetadata.rpcUrls.map((rpc) => rpc.http);
45
46
  return new CosmosWarpArtifactManager(rpcUrls);
46
47
  }
48
+ createMailboxArtifactManager(chainMetadata) {
49
+ const [rpcUrl, ...otherRpcUrls] = chainMetadata.rpcUrls?.map((rpc) => rpc.http) ?? [];
50
+ assert(rpcUrl, `Expected at least one rpc url for chain ${chainMetadata.name}`);
51
+ return new CosmosMailboxArtifactManager({
52
+ domainId: chainMetadata.domainId,
53
+ rpcUrls: [rpcUrl, ...otherRpcUrls],
54
+ });
55
+ }
56
+ createValidatorAnnounceArtifactManager(_chainMetadata) {
57
+ // Cosmos does not support validator announce
58
+ return null;
59
+ }
47
60
  getMinGas() {
48
61
  return {
49
62
  CORE_DEPLOY_GAS: BigInt(1e6),
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/clients/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/clients/protocol.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,6 +2,14 @@ export * from './clients/protocol.js';
2
2
  export * from './clients/provider.js';
3
3
  export * from './clients/signer.js';
4
4
  export * from './registry.js';
5
+ export * from './hyperlane/core/messages.js';
6
+ export * from './hyperlane/core/query.js';
7
+ export * from './hyperlane/interchain_security/messages.js';
8
+ export * from './hyperlane/interchain_security/query.js';
9
+ export * from './hyperlane/post_dispatch/messages.js';
10
+ export * from './hyperlane/post_dispatch/query.js';
11
+ export * from './hyperlane/warp/messages.js';
12
+ export * from './hyperlane/warp/query.js';
5
13
  export { CosmosIsmArtifactManager } from './ism/ism-artifact-manager.js';
6
14
  export { getIsmType, getNoopIsmConfig, getMessageIdMultisigIsmConfig, getMerkleRootMultisigIsmConfig, getRoutingIsmConfig, type CosmosIsmQueryClient, } from './ism/ism-query.js';
7
15
  export { CosmosTestIsmReader } from './ism/test-ism.js';
@@ -15,12 +23,8 @@ export { CosmosMerkleTreeHookReader, CosmosMerkleTreeHookWriter, } from './hook/
15
23
  export { CosmosWarpArtifactManager } from './warp/warp-artifact-manager.js';
16
24
  export { CosmosCollateralTokenReader, CosmosCollateralTokenWriter, } from './warp/collateral-token.js';
17
25
  export { CosmosSyntheticTokenReader, CosmosSyntheticTokenWriter, } from './warp/synthetic-token.js';
18
- export * from './hyperlane/core/messages.js';
19
- export * from './hyperlane/core/query.js';
20
- export * from './hyperlane/interchain_security/messages.js';
21
- export * from './hyperlane/interchain_security/query.js';
22
- export * from './hyperlane/post_dispatch/messages.js';
23
- export * from './hyperlane/post_dispatch/query.js';
24
- export * from './hyperlane/warp/messages.js';
25
- export * from './hyperlane/warp/query.js';
26
+ export { CosmosMailboxArtifactManager } from './mailbox/mailbox-artifact-manager.js';
27
+ export { type CosmosMailboxQueryClient, getMailboxConfig, } from './mailbox/mailbox-query.js';
28
+ export { CosmosMailboxReader, CosmosMailboxWriter } from './mailbox/mailbox.js';
29
+ export { getCreateMailboxTx, getSetMailboxOwnerTx, getSetMailboxDefaultIsmTx, getSetMailboxDefaultHookTx, getSetMailboxRequiredHookTx, } from './mailbox/mailbox-tx.js';
26
30
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,eAAe,CAAC;AAG9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,6BAA6B,EAC7B,8BAA8B,EAC9B,mBAAmB,EACnB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EACL,gCAAgC,EAChC,iCAAiC,GAClC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAGjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,KAAK,qBAAqB,GAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,yBAAyB,EACzB,cAAc,EACd,gBAAgB,EAChB,+BAA+B,GAChC,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,2BAA2B,CAAC;AAEnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAE1C,cAAc,6CAA6C,CAAC;AAC5D,cAAc,0CAA0C,CAAC;AAEzD,cAAc,uCAAuC,CAAC;AACtD,cAAc,oCAAoC,CAAC;AAEnD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,eAAe,CAAC;AAE9B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAE1C,cAAc,6CAA6C,CAAC;AAC5D,cAAc,0CAA0C,CAAC;AAEzD,cAAc,uCAAuC,CAAC;AACtD,cAAc,oCAAoC,CAAC;AAEnD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAG1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,6BAA6B,EAC7B,8BAA8B,EAC9B,mBAAmB,EACnB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EACL,gCAAgC,EAChC,iCAAiC,GAClC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAGjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,KAAK,qBAAqB,GAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,yBAAyB,EACzB,cAAc,EACd,gBAAgB,EAChB,+BAA+B,GAChC,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AACrF,OAAO,EACL,KAAK,wBAAwB,EAC7B,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhF,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,yBAAyB,CAAC"}
package/dist/index.js CHANGED
@@ -2,6 +2,14 @@ export * from './clients/protocol.js';
2
2
  export * from './clients/provider.js';
3
3
  export * from './clients/signer.js';
4
4
  export * from './registry.js';
5
+ export * from './hyperlane/core/messages.js';
6
+ export * from './hyperlane/core/query.js';
7
+ export * from './hyperlane/interchain_security/messages.js';
8
+ export * from './hyperlane/interchain_security/query.js';
9
+ export * from './hyperlane/post_dispatch/messages.js';
10
+ export * from './hyperlane/post_dispatch/query.js';
11
+ export * from './hyperlane/warp/messages.js';
12
+ export * from './hyperlane/warp/query.js';
5
13
  // ISM Artifact Management
6
14
  export { CosmosIsmArtifactManager } from './ism/ism-artifact-manager.js';
7
15
  export { getIsmType, getNoopIsmConfig, getMessageIdMultisigIsmConfig, getMerkleRootMultisigIsmConfig, getRoutingIsmConfig, } from './ism/ism-query.js';
@@ -20,12 +28,9 @@ export { CosmosMerkleTreeHookReader, CosmosMerkleTreeHookWriter, } from './hook/
20
28
  export { CosmosWarpArtifactManager } from './warp/warp-artifact-manager.js';
21
29
  export { CosmosCollateralTokenReader, CosmosCollateralTokenWriter, } from './warp/collateral-token.js';
22
30
  export { CosmosSyntheticTokenReader, CosmosSyntheticTokenWriter, } from './warp/synthetic-token.js';
23
- export * from './hyperlane/core/messages.js';
24
- export * from './hyperlane/core/query.js';
25
- export * from './hyperlane/interchain_security/messages.js';
26
- export * from './hyperlane/interchain_security/query.js';
27
- export * from './hyperlane/post_dispatch/messages.js';
28
- export * from './hyperlane/post_dispatch/query.js';
29
- export * from './hyperlane/warp/messages.js';
30
- export * from './hyperlane/warp/query.js';
31
+ // Mailbox Artifact Management
32
+ export { CosmosMailboxArtifactManager } from './mailbox/mailbox-artifact-manager.js';
33
+ export { getMailboxConfig, } from './mailbox/mailbox-query.js';
34
+ export { CosmosMailboxReader, CosmosMailboxWriter } from './mailbox/mailbox.js';
35
+ export { getCreateMailboxTx, getSetMailboxOwnerTx, getSetMailboxDefaultIsmTx, getSetMailboxDefaultHookTx, getSetMailboxRequiredHookTx, } from './mailbox/mailbox-tx.js';
31
36
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,eAAe,CAAC;AAE9B,0BAA0B;AAC1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,6BAA6B,EAC7B,8BAA8B,EAC9B,mBAAmB,GAEpB,MAAM,oBAAoB,CAAC;AAE5B,cAAc;AACd,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EACL,gCAAgC,EAChC,iCAAiC,GAClC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,2BAA2B;AAC3B,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EACL,gBAAgB,EAChB,uBAAuB,GAExB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,yBAAyB,EACzB,cAAc,EACd,gBAAgB,EAChB,+BAA+B,GAChC,MAAM,mBAAmB,CAAC;AAE3B,2BAA2B;AAC3B,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AAEpC,2BAA2B;AAC3B,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,2BAA2B,CAAC;AAEnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAE1C,cAAc,6CAA6C,CAAC;AAC5D,cAAc,0CAA0C,CAAC;AAEzD,cAAc,uCAAuC,CAAC;AACtD,cAAc,oCAAoC,CAAC;AAEnD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,eAAe,CAAC;AAE9B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAE1C,cAAc,6CAA6C,CAAC;AAC5D,cAAc,0CAA0C,CAAC;AAEzD,cAAc,uCAAuC,CAAC;AACtD,cAAc,oCAAoC,CAAC;AAEnD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAE1C,0BAA0B;AAC1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,6BAA6B,EAC7B,8BAA8B,EAC9B,mBAAmB,GAEpB,MAAM,oBAAoB,CAAC;AAE5B,cAAc;AACd,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EACL,gCAAgC,EAChC,iCAAiC,GAClC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,2BAA2B;AAC3B,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EACL,gBAAgB,EAChB,uBAAuB,GAExB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,yBAAyB,EACzB,cAAc,EACd,gBAAgB,EAChB,+BAA+B,GAChC,MAAM,mBAAmB,CAAC;AAE3B,2BAA2B;AAC3B,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AAEpC,2BAA2B;AAC3B,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,2BAA2B,CAAC;AAEnC,8BAA8B;AAC9B,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AACrF,OAAO,EAEL,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhF,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,48 @@
1
+ import { type ArtifactReader, type ArtifactWriter } from '@hyperlane-xyz/provider-sdk/artifact';
2
+ import { type DeployedMailboxAddress, type DeployedRawMailboxArtifact, type IRawMailboxArtifactManager, type MailboxType, type RawMailboxArtifactConfigs } from '@hyperlane-xyz/provider-sdk/mailbox';
3
+ import { type CosmosNativeSigner } from '../clients/signer.js';
4
+ /**
5
+ * Cosmos Mailbox Artifact Manager implementing IRawMailboxArtifactManager.
6
+ *
7
+ * This manager:
8
+ * - Lazily initializes the query client on first use
9
+ * - Provides factory methods for creating readers and writers
10
+ *
11
+ * Design: Uses lazy initialization to keep the constructor synchronous while
12
+ * deferring the async query client creation until actually needed.
13
+ */
14
+ export declare class CosmosMailboxArtifactManager implements IRawMailboxArtifactManager {
15
+ private readonly config;
16
+ private readonly query;
17
+ constructor(config: {
18
+ rpcUrls: [string, ...string[]];
19
+ domainId: number;
20
+ });
21
+ /**
22
+ * Creates a Cosmos query client with Core extension.
23
+ */
24
+ private createQuery;
25
+ /**
26
+ * Read a mailbox from the blockchain.
27
+ *
28
+ * @param address - Address of the mailbox to read
29
+ * @returns Deployed mailbox artifact with configuration
30
+ */
31
+ readMailbox(address: string): Promise<DeployedRawMailboxArtifact>;
32
+ /**
33
+ * Factory method to create mailbox readers.
34
+ *
35
+ * @param _type - Mailbox type (currently only 'mailbox')
36
+ * @returns Mailbox reader
37
+ */
38
+ createReader<T extends MailboxType>(_type: T): ArtifactReader<RawMailboxArtifactConfigs[T], DeployedMailboxAddress>;
39
+ /**
40
+ * Factory method to create mailbox writers.
41
+ *
42
+ * @param _type - Mailbox type (currently only 'mailbox')
43
+ * @param signer - Signer to use for writing transactions
44
+ * @returns Mailbox writer
45
+ */
46
+ createWriter<T extends MailboxType>(_type: T, signer: CosmosNativeSigner): ArtifactWriter<RawMailboxArtifactConfigs[T], DeployedMailboxAddress>;
47
+ }
48
+ //# sourceMappingURL=mailbox-artifact-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mailbox-artifact-manager.d.ts","sourceRoot":"","sources":["../../src/mailbox/mailbox-artifact-manager.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAC/B,KAAK,WAAW,EAChB,KAAK,yBAAyB,EAC/B,MAAM,qCAAqC,CAAC;AAG7C,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAM/D;;;;;;;;;GASG;AACH,qBAAa,4BAA6B,YAAW,0BAA0B;IAI3E,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA2C;gBAG9C,MAAM,EAAE;QACvB,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QAC/B,QAAQ,EAAE,MAAM,CAAC;KAClB;IAGH;;OAEG;YACW,WAAW;IAKzB;;;;;OAKG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAMvE;;;;;OAKG;IACH,YAAY,CAAC,CAAC,SAAS,WAAW,EAChC,KAAK,EAAE,CAAC,GACP,cAAc,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,sBAAsB,CAAC;IAavE;;;;;;OAMG;IACH,YAAY,CAAC,CAAC,SAAS,WAAW,EAChC,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,kBAAkB,GACzB,cAAc,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,sBAAsB,CAAC;CAkCxE"}
@@ -0,0 +1,82 @@
1
+ import { QueryClient } from '@cosmjs/stargate';
2
+ import { connectComet } from '@cosmjs/tendermint-rpc';
3
+ import { LazyAsync } from '@hyperlane-xyz/utils';
4
+ import { setupCoreExtension } from '../hyperlane/core/query.js';
5
+ import { CosmosMailboxReader, CosmosMailboxWriter } from './mailbox.js';
6
+ /**
7
+ * Cosmos Mailbox Artifact Manager implementing IRawMailboxArtifactManager.
8
+ *
9
+ * This manager:
10
+ * - Lazily initializes the query client on first use
11
+ * - Provides factory methods for creating readers and writers
12
+ *
13
+ * Design: Uses lazy initialization to keep the constructor synchronous while
14
+ * deferring the async query client creation until actually needed.
15
+ */
16
+ export class CosmosMailboxArtifactManager {
17
+ config;
18
+ query = new LazyAsync(() => this.createQuery());
19
+ constructor(config) {
20
+ this.config = config;
21
+ }
22
+ /**
23
+ * Creates a Cosmos query client with Core extension.
24
+ */
25
+ async createQuery() {
26
+ const cometClient = await connectComet(this.config.rpcUrls[0]);
27
+ return QueryClient.withExtensions(cometClient, setupCoreExtension);
28
+ }
29
+ /**
30
+ * Read a mailbox from the blockchain.
31
+ *
32
+ * @param address - Address of the mailbox to read
33
+ * @returns Deployed mailbox artifact with configuration
34
+ */
35
+ async readMailbox(address) {
36
+ const query = await this.query.get();
37
+ const reader = new CosmosMailboxReader(query);
38
+ return reader.read(address);
39
+ }
40
+ /**
41
+ * Factory method to create mailbox readers.
42
+ *
43
+ * @param _type - Mailbox type (currently only 'mailbox')
44
+ * @returns Mailbox reader
45
+ */
46
+ createReader(_type) {
47
+ return {
48
+ read: async (address) => {
49
+ const query = await this.query.get();
50
+ const reader = new CosmosMailboxReader(query);
51
+ return reader.read(address);
52
+ },
53
+ };
54
+ }
55
+ /**
56
+ * Factory method to create mailbox writers.
57
+ *
58
+ * @param _type - Mailbox type (currently only 'mailbox')
59
+ * @param signer - Signer to use for writing transactions
60
+ * @returns Mailbox writer
61
+ */
62
+ createWriter(_type, signer) {
63
+ return {
64
+ read: async (address) => {
65
+ const query = await this.query.get();
66
+ const writer = new CosmosMailboxWriter(query, signer, this.config.domainId);
67
+ return writer.read(address);
68
+ },
69
+ create: async (artifact) => {
70
+ const query = await this.query.get();
71
+ const writer = new CosmosMailboxWriter(query, signer, this.config.domainId);
72
+ return writer.create(artifact);
73
+ },
74
+ update: async (artifact) => {
75
+ const query = await this.query.get();
76
+ const writer = new CosmosMailboxWriter(query, signer, this.config.domainId);
77
+ return writer.update(artifact);
78
+ },
79
+ };
80
+ }
81
+ }
82
+ //# sourceMappingURL=mailbox-artifact-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mailbox-artifact-manager.js","sourceRoot":"","sources":["../../src/mailbox/mailbox-artifact-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAatD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGhE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExE;;;;;;;;;GASG;AACH,MAAM,OAAO,4BAA4B;IAIpB;IAHF,KAAK,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAEjE,YACmB,MAGhB;QAHgB,WAAM,GAAN,MAAM,CAGtB;IACA,CAAC;IAEJ;;OAEG;IACK,KAAK,CAAC,WAAW;QACvB,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,OAAO,WAAW,CAAC,cAAc,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;IACrE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CAAC,OAAe;QAC/B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACH,YAAY,CACV,KAAQ;QAER,OAAO;YACL,IAAI,EAAE,KAAK,EAAE,OAAe,EAAE,EAAE;gBAC9B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;gBACrC,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBAC9C,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;SAIF,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,YAAY,CACV,KAAQ,EACR,MAA0B;QAE1B,OAAO;YACL,IAAI,EAAE,KAAK,EAAE,OAAe,EAAE,EAAE;gBAC9B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;gBACrC,MAAM,MAAM,GAAG,IAAI,mBAAmB,CACpC,KAAK,EACL,MAAM,EACN,IAAI,CAAC,MAAM,CAAC,QAAQ,CACrB,CAAC;gBACF,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;gBACzB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;gBACrC,MAAM,MAAM,GAAG,IAAI,mBAAmB,CACpC,KAAK,EACL,MAAM,EACN,IAAI,CAAC,MAAM,CAAC,QAAQ,CACrB,CAAC;gBACF,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjC,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;gBACzB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;gBACrC,MAAM,MAAM,GAAG,IAAI,mBAAmB,CACpC,KAAK,EACL,MAAM,EACN,IAAI,CAAC,MAAM,CAAC,QAAQ,CACrB,CAAC;gBACF,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjC,CAAC;SAIF,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,12 @@
1
+ import { type QueryClient } from '@cosmjs/stargate';
2
+ import { type CoreExtension } from '../hyperlane/core/query.js';
3
+ import { type CosmosMailboxConfig } from '../utils/types.js';
4
+ /**
5
+ * Type alias for query client with Core extension.
6
+ */
7
+ export type CosmosMailboxQueryClient = QueryClient & CoreExtension;
8
+ /**
9
+ * Query mailbox configuration from the chain.
10
+ */
11
+ export declare function getMailboxConfig(query: CosmosMailboxQueryClient, mailboxAddress: string): Promise<CosmosMailboxConfig>;
12
+ //# sourceMappingURL=mailbox-query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mailbox-query.d.ts","sourceRoot":"","sources":["../../src/mailbox/mailbox-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIpD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,WAAW,GAAG,aAAa,CAAC;AAEnE;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,wBAAwB,EAC/B,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,mBAAmB,CAAC,CAuB9B"}
@@ -0,0 +1,29 @@
1
+ import { ZERO_ADDRESS_HEX_32, assert } from '@hyperlane-xyz/utils';
2
+ /**
3
+ * Query mailbox configuration from the chain.
4
+ */
5
+ export async function getMailboxConfig(query, mailboxAddress) {
6
+ try {
7
+ const { mailbox } = await query.core.Mailbox({
8
+ id: mailboxAddress,
9
+ });
10
+ assert(mailbox, `No mailbox found at address ${mailboxAddress}`);
11
+ return {
12
+ address: mailbox.id,
13
+ owner: mailbox.owner,
14
+ localDomain: mailbox.local_domain,
15
+ defaultIsm: mailbox.default_ism,
16
+ // Even if the Mailbox type defines these 2 fields as non-nullable
17
+ // if the hooks are not set they are returned as an empty string
18
+ // instead of a proper address
19
+ defaultHook: mailbox.default_hook || ZERO_ADDRESS_HEX_32,
20
+ requiredHook: mailbox.required_hook || ZERO_ADDRESS_HEX_32,
21
+ };
22
+ }
23
+ catch (error) {
24
+ throw new Error(`Failed to query mailbox config at ${mailboxAddress}`, {
25
+ cause: error,
26
+ });
27
+ }
28
+ }
29
+ //# sourceMappingURL=mailbox-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mailbox-query.js","sourceRoot":"","sources":["../../src/mailbox/mailbox-query.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAUnE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAA+B,EAC/B,cAAsB;IAEtB,IAAI,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;YAC3C,EAAE,EAAE,cAAc;SACnB,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,EAAE,+BAA+B,cAAc,EAAE,CAAC,CAAC;QAEjE,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,EAAE;YACnB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,WAAW,EAAE,OAAO,CAAC,YAAY;YACjC,UAAU,EAAE,OAAO,CAAC,WAAW;YAC/B,kEAAkE;YAClE,gEAAgE;YAChE,8BAA8B;YAC9B,WAAW,EAAE,OAAO,CAAC,YAAY,IAAI,mBAAmB;YACxD,YAAY,EAAE,OAAO,CAAC,aAAa,IAAI,mBAAmB;SAC3D,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,qCAAqC,cAAc,EAAE,EAAE;YACrE,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { type MsgCreateMailboxEncodeObject, type MsgSetMailboxEncodeObject } from '../hyperlane/core/messages.js';
2
+ /**
3
+ * Create transaction to deploy a new mailbox.
4
+ */
5
+ export declare function getCreateMailboxTx(fromAddress: string, config: {
6
+ domainId: number;
7
+ defaultIsmAddress: string;
8
+ }): MsgCreateMailboxEncodeObject;
9
+ /**
10
+ * Create transaction to set mailbox owner.
11
+ */
12
+ export declare function getSetMailboxOwnerTx(fromAddress: string, config: {
13
+ mailboxAddress: string;
14
+ newOwner: string;
15
+ }): MsgSetMailboxEncodeObject;
16
+ /**
17
+ * Create transaction to set mailbox default ISM.
18
+ */
19
+ export declare function getSetMailboxDefaultIsmTx(fromAddress: string, config: {
20
+ mailboxAddress: string;
21
+ ismAddress: string;
22
+ }): MsgSetMailboxEncodeObject;
23
+ /**
24
+ * Create transaction to set mailbox default hook.
25
+ */
26
+ export declare function getSetMailboxDefaultHookTx(fromAddress: string, config: {
27
+ mailboxAddress: string;
28
+ hookAddress: string;
29
+ }): MsgSetMailboxEncodeObject;
30
+ /**
31
+ * Create transaction to set mailbox required hook.
32
+ */
33
+ export declare function getSetMailboxRequiredHookTx(fromAddress: string, config: {
34
+ mailboxAddress: string;
35
+ hookAddress: string;
36
+ }): MsgSetMailboxEncodeObject;
37
+ //# sourceMappingURL=mailbox-tx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mailbox-tx.d.ts","sourceRoot":"","sources":["../../src/mailbox/mailbox-tx.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,4BAA4B,EACjC,KAAK,yBAAyB,EAC/B,MAAM,+BAA+B,CAAC;AAGvC;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE;IACN,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,GACA,4BAA4B,CAS9B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE;IACN,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB,GACA,yBAAyB,CAU3B;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE;IACN,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB,GACA,yBAAyB,CAS3B;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE;IACN,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB,GACA,yBAAyB,CAS3B;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE;IACN,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB,GACA,yBAAyB,CAS3B"}
@@ -0,0 +1,68 @@
1
+ import { COSMOS_MODULE_MESSAGE_REGISTRY as MessageRegistry } from '../registry.js';
2
+ /**
3
+ * Create transaction to deploy a new mailbox.
4
+ */
5
+ export function getCreateMailboxTx(fromAddress, config) {
6
+ return {
7
+ typeUrl: MessageRegistry.MsgCreateMailbox.proto.type,
8
+ value: MessageRegistry.MsgCreateMailbox.proto.converter.create({
9
+ local_domain: config.domainId,
10
+ owner: fromAddress,
11
+ default_ism: config.defaultIsmAddress,
12
+ }),
13
+ };
14
+ }
15
+ /**
16
+ * Create transaction to set mailbox owner.
17
+ */
18
+ export function getSetMailboxOwnerTx(fromAddress, config) {
19
+ return {
20
+ typeUrl: MessageRegistry.MsgSetMailbox.proto.type,
21
+ value: MessageRegistry.MsgSetMailbox.proto.converter.create({
22
+ owner: fromAddress,
23
+ mailbox_id: config.mailboxAddress,
24
+ new_owner: config.newOwner,
25
+ renounce_ownership: !config.newOwner,
26
+ }),
27
+ };
28
+ }
29
+ /**
30
+ * Create transaction to set mailbox default ISM.
31
+ */
32
+ export function getSetMailboxDefaultIsmTx(fromAddress, config) {
33
+ return {
34
+ typeUrl: MessageRegistry.MsgSetMailbox.proto.type,
35
+ value: MessageRegistry.MsgSetMailbox.proto.converter.create({
36
+ mailbox_id: config.mailboxAddress,
37
+ default_ism: config.ismAddress,
38
+ owner: fromAddress,
39
+ }),
40
+ };
41
+ }
42
+ /**
43
+ * Create transaction to set mailbox default hook.
44
+ */
45
+ export function getSetMailboxDefaultHookTx(fromAddress, config) {
46
+ return {
47
+ typeUrl: MessageRegistry.MsgSetMailbox.proto.type,
48
+ value: MessageRegistry.MsgSetMailbox.proto.converter.create({
49
+ mailbox_id: config.mailboxAddress,
50
+ default_hook: config.hookAddress,
51
+ owner: fromAddress,
52
+ }),
53
+ };
54
+ }
55
+ /**
56
+ * Create transaction to set mailbox required hook.
57
+ */
58
+ export function getSetMailboxRequiredHookTx(fromAddress, config) {
59
+ return {
60
+ typeUrl: MessageRegistry.MsgSetMailbox.proto.type,
61
+ value: MessageRegistry.MsgSetMailbox.proto.converter.create({
62
+ mailbox_id: config.mailboxAddress,
63
+ required_hook: config.hookAddress,
64
+ owner: fromAddress,
65
+ }),
66
+ };
67
+ }
68
+ //# sourceMappingURL=mailbox-tx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mailbox-tx.js","sourceRoot":"","sources":["../../src/mailbox/mailbox-tx.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,8BAA8B,IAAI,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEnF;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,WAAmB,EACnB,MAGC;IAED,OAAO;QACL,OAAO,EAAE,eAAe,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI;QACpD,KAAK,EAAE,eAAe,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;YAC7D,YAAY,EAAE,MAAM,CAAC,QAAQ;YAC7B,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,MAAM,CAAC,iBAAiB;SACtC,CAAC;KACH,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,WAAmB,EACnB,MAGC;IAED,OAAO;QACL,OAAO,EAAE,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI;QACjD,KAAK,EAAE,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;YAC1D,KAAK,EAAE,WAAW;YAClB,UAAU,EAAE,MAAM,CAAC,cAAc;YACjC,SAAS,EAAE,MAAM,CAAC,QAAQ;YAC1B,kBAAkB,EAAE,CAAC,MAAM,CAAC,QAAQ;SACrC,CAAC;KACH,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACvC,WAAmB,EACnB,MAGC;IAED,OAAO;QACL,OAAO,EAAE,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI;QACjD,KAAK,EAAE,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;YAC1D,UAAU,EAAE,MAAM,CAAC,cAAc;YACjC,WAAW,EAAE,MAAM,CAAC,UAAU;YAC9B,KAAK,EAAE,WAAW;SACnB,CAAC;KACH,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,WAAmB,EACnB,MAGC;IAED,OAAO;QACL,OAAO,EAAE,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI;QACjD,KAAK,EAAE,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;YAC1D,UAAU,EAAE,MAAM,CAAC,cAAc;YACjC,YAAY,EAAE,MAAM,CAAC,WAAW;YAChC,KAAK,EAAE,WAAW;SACnB,CAAC;KACH,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CACzC,WAAmB,EACnB,MAGC;IAED,OAAO;QACL,OAAO,EAAE,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI;QACjD,KAAK,EAAE,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;YAC1D,UAAU,EAAE,MAAM,CAAC,cAAc;YACjC,aAAa,EAAE,MAAM,CAAC,WAAW;YACjC,KAAK,EAAE,WAAW;SACnB,CAAC;KACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { type DeliverTxResponse } from '@cosmjs/stargate';
2
+ import { type ArtifactDeployed, type ArtifactNew, type ArtifactReader, type ArtifactWriter } from '@hyperlane-xyz/provider-sdk/artifact';
3
+ import { type DeployedMailboxAddress, type MailboxOnChain } from '@hyperlane-xyz/provider-sdk/mailbox';
4
+ import { type CosmosNativeSigner } from '../clients/signer.js';
5
+ import { type AnnotatedEncodeObject } from '../utils/types.js';
6
+ import { type CosmosMailboxQueryClient } from './mailbox-query.js';
7
+ /**
8
+ * Reader for Cosmos Mailbox.
9
+ * Reads deployed mailbox configuration from the chain.
10
+ */
11
+ export declare class CosmosMailboxReader implements ArtifactReader<MailboxOnChain, DeployedMailboxAddress> {
12
+ protected readonly query: CosmosMailboxQueryClient;
13
+ constructor(query: CosmosMailboxQueryClient);
14
+ read(address: string): Promise<ArtifactDeployed<MailboxOnChain, DeployedMailboxAddress>>;
15
+ }
16
+ /**
17
+ * Writer for Cosmos Mailbox.
18
+ * Handles deployment and updates.
19
+ */
20
+ export declare class CosmosMailboxWriter extends CosmosMailboxReader implements ArtifactWriter<MailboxOnChain, DeployedMailboxAddress> {
21
+ private readonly signer;
22
+ private readonly domainId;
23
+ constructor(query: CosmosMailboxQueryClient, signer: CosmosNativeSigner, domainId: number);
24
+ create(artifact: ArtifactNew<MailboxOnChain>): Promise<[
25
+ ArtifactDeployed<MailboxOnChain, DeployedMailboxAddress>,
26
+ DeliverTxResponse[]
27
+ ]>;
28
+ update(artifact: ArtifactDeployed<MailboxOnChain, DeployedMailboxAddress>): Promise<AnnotatedEncodeObject[]>;
29
+ }
30
+ //# sourceMappingURL=mailbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mailbox.d.ts","sourceRoot":"","sources":["../../src/mailbox/mailbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,cAAc,EAEnB,KAAK,cAAc,EACpB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACpB,MAAM,qCAAqC,CAAC;AAO7C,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE/D,OAAO,EACL,KAAK,wBAAwB,EAE9B,MAAM,oBAAoB,CAAC;AAS5B;;;GAGG;AACH,qBAAa,mBAAoB,YAAW,cAAc,CACxD,cAAc,EACd,sBAAsB,CACvB;IACa,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,wBAAwB;gBAA/B,KAAK,EAAE,wBAAwB;IAExD,IAAI,CACR,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,gBAAgB,CAAC,cAAc,EAAE,sBAAsB,CAAC,CAAC;CAgCrE;AAED;;;GAGG;AACH,qBAAa,mBACX,SAAQ,mBACR,YAAW,cAAc,CAAC,cAAc,EAAE,sBAAsB,CAAC;IAI/D,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAFzB,KAAK,EAAE,wBAAwB,EACd,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,MAAM;IAK7B,MAAM,CACV,QAAQ,EAAE,WAAW,CAAC,cAAc,CAAC,GACpC,OAAO,CACR;QACE,gBAAgB,CAAC,cAAc,EAAE,sBAAsB,CAAC;QACxD,iBAAiB,EAAE;KACpB,CACF;IA2EK,MAAM,CACV,QAAQ,EAAE,gBAAgB,CAAC,cAAc,EAAE,sBAAsB,CAAC,GACjE,OAAO,CAAC,qBAAqB,EAAE,CAAC;CAwFpC"}
@@ -0,0 +1,168 @@
1
+ import { ArtifactState, } from '@hyperlane-xyz/provider-sdk/artifact';
2
+ import { ZERO_ADDRESS_HEX_32, eqAddressCosmos, eqOptionalAddress, } from '@hyperlane-xyz/utils';
3
+ import { getNewContractAddress } from '../utils/base.js';
4
+ import { getMailboxConfig, } from './mailbox-query.js';
5
+ import { getCreateMailboxTx, getSetMailboxDefaultHookTx, getSetMailboxDefaultIsmTx, getSetMailboxOwnerTx, getSetMailboxRequiredHookTx, } from './mailbox-tx.js';
6
+ /**
7
+ * Reader for Cosmos Mailbox.
8
+ * Reads deployed mailbox configuration from the chain.
9
+ */
10
+ export class CosmosMailboxReader {
11
+ query;
12
+ constructor(query) {
13
+ this.query = query;
14
+ }
15
+ async read(address) {
16
+ const mailboxConfig = await getMailboxConfig(this.query, address);
17
+ return {
18
+ artifactState: ArtifactState.DEPLOYED,
19
+ config: {
20
+ owner: mailboxConfig.owner,
21
+ defaultIsm: {
22
+ artifactState: ArtifactState.UNDERIVED,
23
+ deployed: {
24
+ address: mailboxConfig.defaultIsm,
25
+ },
26
+ },
27
+ defaultHook: {
28
+ artifactState: ArtifactState.UNDERIVED,
29
+ deployed: {
30
+ address: mailboxConfig.defaultHook,
31
+ },
32
+ },
33
+ requiredHook: {
34
+ artifactState: ArtifactState.UNDERIVED,
35
+ deployed: {
36
+ address: mailboxConfig.requiredHook,
37
+ },
38
+ },
39
+ },
40
+ deployed: {
41
+ address: mailboxConfig.address,
42
+ domainId: mailboxConfig.localDomain,
43
+ },
44
+ };
45
+ }
46
+ }
47
+ /**
48
+ * Writer for Cosmos Mailbox.
49
+ * Handles deployment and updates.
50
+ */
51
+ export class CosmosMailboxWriter extends CosmosMailboxReader {
52
+ signer;
53
+ domainId;
54
+ constructor(query, signer, domainId) {
55
+ super(query);
56
+ this.signer = signer;
57
+ this.domainId = domainId;
58
+ }
59
+ async create(artifact) {
60
+ const { config } = artifact;
61
+ const allReceipts = [];
62
+ const signerAddress = this.signer.getSignerAddress();
63
+ // Extract addresses from artifacts (can be UNDERIVED or DEPLOYED)
64
+ const defaultIsmAddress = config.defaultIsm.deployed.address;
65
+ const defaultHookAddress = config.defaultHook.deployed.address;
66
+ const requiredHookAddress = config.requiredHook.deployed.address;
67
+ // 1. Create mailbox with signer as initial owner
68
+ const createTx = getCreateMailboxTx(signerAddress, {
69
+ domainId: this.domainId,
70
+ defaultIsmAddress,
71
+ });
72
+ const createReceipt = await this.signer.sendAndConfirmTransaction(createTx);
73
+ const mailboxAddress = getNewContractAddress(createReceipt);
74
+ allReceipts.push(createReceipt);
75
+ // 2. Set default hook if provided
76
+ if (!eqOptionalAddress(defaultHookAddress, ZERO_ADDRESS_HEX_32, eqAddressCosmos)) {
77
+ const setDefaultHookTx = getSetMailboxDefaultHookTx(signerAddress, {
78
+ mailboxAddress,
79
+ hookAddress: defaultHookAddress,
80
+ });
81
+ const hookReceipt = await this.signer.sendAndConfirmTransaction(setDefaultHookTx);
82
+ allReceipts.push(hookReceipt);
83
+ }
84
+ // 3. Set required hook if provided
85
+ if (!eqOptionalAddress(requiredHookAddress, ZERO_ADDRESS_HEX_32, eqAddressCosmos)) {
86
+ const setRequiredHookTx = getSetMailboxRequiredHookTx(signerAddress, {
87
+ mailboxAddress,
88
+ hookAddress: requiredHookAddress,
89
+ });
90
+ const hookReceipt = await this.signer.sendAndConfirmTransaction(setRequiredHookTx);
91
+ allReceipts.push(hookReceipt);
92
+ }
93
+ // Note: Ownership is NOT transferred during creation. The deployer retains
94
+ // ownership to allow setting ISM and hooks after initial deployment, which
95
+ // require owner permissions. Use update() to transfer ownership to the
96
+ // intended owner once all configuration is complete.
97
+ const deployedArtifact = {
98
+ artifactState: ArtifactState.DEPLOYED,
99
+ config: { ...config, owner: signerAddress },
100
+ deployed: {
101
+ address: mailboxAddress,
102
+ domainId: this.domainId,
103
+ },
104
+ };
105
+ return [deployedArtifact, allReceipts];
106
+ }
107
+ async update(artifact) {
108
+ const { config, deployed } = artifact;
109
+ const updateTxs = [];
110
+ // Read current state
111
+ const currentState = await this.read(deployed.address);
112
+ const currentConfig = currentState.config;
113
+ const currentOwner = currentConfig.owner;
114
+ const expectedDefaultIsmAddress = config.defaultIsm.deployed.address;
115
+ const expectedDefaultHookAddress = config.defaultHook.deployed.address;
116
+ const expectedRequiredHookAddress = config.requiredHook.deployed.address;
117
+ const currentDefaultIsmAddress = currentConfig.defaultIsm.deployed.address;
118
+ const currentDefaultHookAddress = currentConfig.defaultHook.deployed.address;
119
+ const currentRequiredHookAddress = currentConfig.requiredHook.deployed.address;
120
+ // Compare and generate update transactions
121
+ // 1. Update default ISM
122
+ if (!eqOptionalAddress(currentDefaultIsmAddress, expectedDefaultIsmAddress, eqAddressCosmos)) {
123
+ const setIsmTx = getSetMailboxDefaultIsmTx(currentOwner, {
124
+ mailboxAddress: deployed.address,
125
+ ismAddress: expectedDefaultIsmAddress,
126
+ });
127
+ updateTxs.push({
128
+ annotation: `Update mailbox default ISM to ${expectedDefaultIsmAddress}`,
129
+ ...setIsmTx,
130
+ });
131
+ }
132
+ // 2. Update default hook
133
+ if (!eqOptionalAddress(currentDefaultHookAddress, expectedDefaultHookAddress, eqAddressCosmos)) {
134
+ const setDefaultHookTx = getSetMailboxDefaultHookTx(currentOwner, {
135
+ mailboxAddress: deployed.address,
136
+ hookAddress: expectedDefaultHookAddress,
137
+ });
138
+ updateTxs.push({
139
+ annotation: `Update mailbox default hook to ${expectedDefaultHookAddress}`,
140
+ ...setDefaultHookTx,
141
+ });
142
+ }
143
+ // 3. Update required hook
144
+ if (!eqOptionalAddress(currentRequiredHookAddress, expectedRequiredHookAddress, eqAddressCosmos)) {
145
+ const setRequiredHookTx = getSetMailboxRequiredHookTx(currentOwner, {
146
+ mailboxAddress: deployed.address,
147
+ hookAddress: expectedRequiredHookAddress,
148
+ });
149
+ updateTxs.push({
150
+ annotation: `Update mailbox required hook to ${expectedRequiredHookAddress}`,
151
+ ...setRequiredHookTx,
152
+ });
153
+ }
154
+ // 4. Update owner (LAST to avoid permission issues)
155
+ if (!eqOptionalAddress(currentOwner, config.owner, eqAddressCosmos)) {
156
+ const setOwnerTx = getSetMailboxOwnerTx(currentOwner, {
157
+ mailboxAddress: deployed.address,
158
+ newOwner: config.owner,
159
+ });
160
+ updateTxs.push({
161
+ annotation: `Transfer mailbox ownership to ${config.owner}`,
162
+ ...setOwnerTx,
163
+ });
164
+ }
165
+ return updateTxs;
166
+ }
167
+ }
168
+ //# sourceMappingURL=mailbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mailbox.js","sourceRoot":"","sources":["../../src/mailbox/mailbox.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=mailbox.e2e-test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mailbox.e2e-test.d.ts","sourceRoot":"","sources":["../../src/tests/mailbox.e2e-test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,355 @@
1
+ import chai, { expect } from 'chai';
2
+ import chaiAsPromised from 'chai-as-promised';
3
+ import { AltVM } from '@hyperlane-xyz/provider-sdk';
4
+ import { ArtifactState, } from '@hyperlane-xyz/provider-sdk/artifact';
5
+ import { ZERO_ADDRESS_HEX_32, assert } from '@hyperlane-xyz/utils';
6
+ import { CosmosHookArtifactManager } from '../hook/hook-artifact-manager.js';
7
+ import { CosmosIsmArtifactManager } from '../ism/ism-artifact-manager.js';
8
+ import { CosmosMailboxArtifactManager } from '../mailbox/mailbox-artifact-manager.js';
9
+ import { COSMOS_MODULE_MESSAGE_REGISTRY as MessageRegistry } from '../registry.js';
10
+ import { createSigner } from '../testing/utils.js';
11
+ chai.use(chaiAsPromised);
12
+ describe('Cosmos Mailbox Artifact API (e2e)', function () {
13
+ this.timeout(100_000);
14
+ let signer;
15
+ let cosmosSigner;
16
+ let mailboxArtifactManager;
17
+ let ismArtifactManager;
18
+ let hookArtifactManager;
19
+ const domainId = 1234;
20
+ const denom = 'uhyp';
21
+ before(async () => {
22
+ signer = await createSigner('alice');
23
+ cosmosSigner = signer;
24
+ const [rpc, ...otherRpcUrls] = cosmosSigner.getRpcUrls();
25
+ assert(rpc, 'At least one rpc is required');
26
+ mailboxArtifactManager = new CosmosMailboxArtifactManager({
27
+ rpcUrls: [rpc, ...otherRpcUrls],
28
+ domainId,
29
+ });
30
+ ismArtifactManager = new CosmosIsmArtifactManager([rpc, ...otherRpcUrls]);
31
+ // Create temp mailbox for hook manager
32
+ const ismWriter = ismArtifactManager.createWriter(AltVM.IsmType.TEST_ISM, cosmosSigner);
33
+ const [tempIsm] = await ismWriter.create({
34
+ config: { type: AltVM.IsmType.TEST_ISM },
35
+ });
36
+ const tempMailboxWriter = mailboxArtifactManager.createWriter('mailbox', cosmosSigner);
37
+ const [tempMailbox] = await tempMailboxWriter.create({
38
+ config: {
39
+ owner: cosmosSigner.getSignerAddress(),
40
+ defaultIsm: tempIsm,
41
+ defaultHook: {
42
+ artifactState: ArtifactState.UNDERIVED,
43
+ deployed: { address: ZERO_ADDRESS_HEX_32 },
44
+ },
45
+ requiredHook: {
46
+ artifactState: ArtifactState.UNDERIVED,
47
+ deployed: { address: ZERO_ADDRESS_HEX_32 },
48
+ },
49
+ },
50
+ });
51
+ hookArtifactManager = new CosmosHookArtifactManager({
52
+ rpcUrls: [rpc, ...otherRpcUrls],
53
+ mailboxAddress: tempMailbox.deployed.address,
54
+ nativeTokenDenom: denom,
55
+ });
56
+ });
57
+ describe('Mailbox Creation', () => {
58
+ it('should create a mailbox with all hooks and ISM', async () => {
59
+ const ismWriter = ismArtifactManager.createWriter(AltVM.IsmType.TEST_ISM, cosmosSigner);
60
+ const [ism] = await ismWriter.create({
61
+ config: { type: AltVM.IsmType.TEST_ISM },
62
+ });
63
+ const merkleTreeHookWriter = hookArtifactManager.createWriter(AltVM.HookType.MERKLE_TREE, cosmosSigner);
64
+ const [defaultHook] = await merkleTreeHookWriter.create({
65
+ config: { type: AltVM.HookType.MERKLE_TREE },
66
+ });
67
+ const merkleTreeHookWriter2 = hookArtifactManager.createWriter(AltVM.HookType.MERKLE_TREE, cosmosSigner);
68
+ const [requiredHook] = await merkleTreeHookWriter2.create({
69
+ config: { type: AltVM.HookType.MERKLE_TREE },
70
+ });
71
+ const config = {
72
+ owner: cosmosSigner.getSignerAddress(),
73
+ defaultIsm: {
74
+ artifactState: ArtifactState.UNDERIVED,
75
+ deployed: { address: ism.deployed.address },
76
+ },
77
+ defaultHook: {
78
+ artifactState: ArtifactState.UNDERIVED,
79
+ deployed: { address: defaultHook.deployed.address },
80
+ },
81
+ requiredHook: {
82
+ artifactState: ArtifactState.UNDERIVED,
83
+ deployed: { address: requiredHook.deployed.address },
84
+ },
85
+ };
86
+ const writer = mailboxArtifactManager.createWriter('mailbox', cosmosSigner);
87
+ const [result, receipts] = await writer.create({ config });
88
+ expect(result.artifactState).to.equal(ArtifactState.DEPLOYED);
89
+ expect(result.deployed.address).to.be.a('string').and.not.be.empty;
90
+ expect(result.deployed.domainId).to.equal(domainId);
91
+ expect(receipts).to.be.an('array').with.length.greaterThan(0);
92
+ receipts.forEach((receipt) => {
93
+ expect(receipt.code).to.equal(0);
94
+ });
95
+ const reader = mailboxArtifactManager.createReader('mailbox');
96
+ const readMailbox = await reader.read(result.deployed.address);
97
+ expect(readMailbox.config.owner).to.equal(cosmosSigner.getSignerAddress());
98
+ expect(readMailbox.config.defaultIsm.deployed.address).to.equal(ism.deployed.address);
99
+ expect(readMailbox.config.defaultHook.deployed.address).to.equal(defaultHook.deployed.address);
100
+ expect(readMailbox.config.requiredHook.deployed.address).to.equal(requiredHook.deployed.address);
101
+ });
102
+ it('should create a mailbox with minimal config (only ISM)', async () => {
103
+ const ismWriter = ismArtifactManager.createWriter(AltVM.IsmType.TEST_ISM, cosmosSigner);
104
+ const [ism] = await ismWriter.create({
105
+ config: { type: AltVM.IsmType.TEST_ISM },
106
+ });
107
+ const config = {
108
+ owner: cosmosSigner.getSignerAddress(),
109
+ defaultIsm: {
110
+ artifactState: ArtifactState.UNDERIVED,
111
+ deployed: { address: ism.deployed.address },
112
+ },
113
+ defaultHook: {
114
+ artifactState: ArtifactState.UNDERIVED,
115
+ deployed: { address: ZERO_ADDRESS_HEX_32 },
116
+ },
117
+ requiredHook: {
118
+ artifactState: ArtifactState.UNDERIVED,
119
+ deployed: { address: ZERO_ADDRESS_HEX_32 },
120
+ },
121
+ };
122
+ const writer = mailboxArtifactManager.createWriter('mailbox', cosmosSigner);
123
+ const [result, receipts] = await writer.create({ config });
124
+ expect(result.artifactState).to.equal(ArtifactState.DEPLOYED);
125
+ expect(result.deployed.address).to.be.a('string').and.not.be.empty;
126
+ expect(receipts).to.be.an('array').with.length(1);
127
+ receipts.forEach((receipt) => {
128
+ expect(receipt.code).to.equal(0);
129
+ });
130
+ });
131
+ it('should NOT transfer ownership during creation', async () => {
132
+ const ismWriter = ismArtifactManager.createWriter(AltVM.IsmType.TEST_ISM, cosmosSigner);
133
+ const [ism] = await ismWriter.create({
134
+ config: { type: AltVM.IsmType.TEST_ISM },
135
+ });
136
+ const bobSigner = await createSigner('bob');
137
+ const bobAddress = bobSigner.getSignerAddress();
138
+ const aliceAddress = cosmosSigner.getSignerAddress();
139
+ const config = {
140
+ owner: bobAddress,
141
+ defaultIsm: {
142
+ artifactState: ArtifactState.UNDERIVED,
143
+ deployed: { address: ism.deployed.address },
144
+ },
145
+ defaultHook: {
146
+ artifactState: ArtifactState.UNDERIVED,
147
+ deployed: { address: ZERO_ADDRESS_HEX_32 },
148
+ },
149
+ requiredHook: {
150
+ artifactState: ArtifactState.UNDERIVED,
151
+ deployed: { address: ZERO_ADDRESS_HEX_32 },
152
+ },
153
+ };
154
+ const writer = mailboxArtifactManager.createWriter('mailbox', cosmosSigner);
155
+ const [result, receipts] = await writer.create({ config });
156
+ expect(result.artifactState).to.equal(ArtifactState.DEPLOYED);
157
+ expect(receipts).to.be.an('array').with.length(1);
158
+ const reader = mailboxArtifactManager.createReader('mailbox');
159
+ const readMailbox = await reader.read(result.deployed.address);
160
+ expect(readMailbox.config.owner).to.equal(aliceAddress);
161
+ expect(readMailbox.config.owner).to.not.equal(bobAddress);
162
+ });
163
+ });
164
+ describe('Mailbox Reading', () => {
165
+ it('should read a deployed mailbox', async () => {
166
+ const ismWriter = ismArtifactManager.createWriter(AltVM.IsmType.TEST_ISM, cosmosSigner);
167
+ const [ism] = await ismWriter.create({
168
+ config: { type: AltVM.IsmType.TEST_ISM },
169
+ });
170
+ const config = {
171
+ owner: cosmosSigner.getSignerAddress(),
172
+ defaultIsm: {
173
+ artifactState: ArtifactState.UNDERIVED,
174
+ deployed: { address: ism.deployed.address },
175
+ },
176
+ defaultHook: {
177
+ artifactState: ArtifactState.UNDERIVED,
178
+ deployed: { address: ZERO_ADDRESS_HEX_32 },
179
+ },
180
+ requiredHook: {
181
+ artifactState: ArtifactState.UNDERIVED,
182
+ deployed: { address: ZERO_ADDRESS_HEX_32 },
183
+ },
184
+ };
185
+ const writer = mailboxArtifactManager.createWriter('mailbox', cosmosSigner);
186
+ const [deployedMailbox] = await writer.create({ config });
187
+ const reader = mailboxArtifactManager.createReader('mailbox');
188
+ const readMailbox = await reader.read(deployedMailbox.deployed.address);
189
+ expect(readMailbox.artifactState).to.equal(ArtifactState.DEPLOYED);
190
+ expect(readMailbox.deployed.address).to.equal(deployedMailbox.deployed.address);
191
+ expect(readMailbox.deployed.domainId).to.equal(domainId);
192
+ expect(readMailbox.config.owner).to.equal(config.owner);
193
+ expect(readMailbox.config.defaultIsm.deployed.address).to.equal(ism.deployed.address);
194
+ });
195
+ it('should read mailbox via readMailbox method', async () => {
196
+ const ismWriter = ismArtifactManager.createWriter(AltVM.IsmType.TEST_ISM, cosmosSigner);
197
+ const [ism] = await ismWriter.create({
198
+ config: { type: AltVM.IsmType.TEST_ISM },
199
+ });
200
+ const config = {
201
+ owner: cosmosSigner.getSignerAddress(),
202
+ defaultIsm: {
203
+ artifactState: ArtifactState.UNDERIVED,
204
+ deployed: { address: ism.deployed.address },
205
+ },
206
+ defaultHook: {
207
+ artifactState: ArtifactState.UNDERIVED,
208
+ deployed: { address: ZERO_ADDRESS_HEX_32 },
209
+ },
210
+ requiredHook: {
211
+ artifactState: ArtifactState.UNDERIVED,
212
+ deployed: { address: ZERO_ADDRESS_HEX_32 },
213
+ },
214
+ };
215
+ const writer = mailboxArtifactManager.createWriter('mailbox', cosmosSigner);
216
+ const [deployedMailbox] = await writer.create({ config });
217
+ const readMailbox = await mailboxArtifactManager.readMailbox(deployedMailbox.deployed.address);
218
+ expect(readMailbox.artifactState).to.equal(ArtifactState.DEPLOYED);
219
+ expect(readMailbox.deployed.address).to.equal(deployedMailbox.deployed.address);
220
+ expect(readMailbox.config.owner).to.equal(config.owner);
221
+ });
222
+ });
223
+ describe('Mailbox Updates', () => {
224
+ let deployedMailbox;
225
+ let writer;
226
+ beforeEach(async () => {
227
+ const ismWriter = ismArtifactManager.createWriter(AltVM.IsmType.TEST_ISM, cosmosSigner);
228
+ const [ism] = await ismWriter.create({
229
+ config: { type: AltVM.IsmType.TEST_ISM },
230
+ });
231
+ const hookWriter = hookArtifactManager.createWriter(AltVM.HookType.MERKLE_TREE, cosmosSigner);
232
+ const [hook] = await hookWriter.create({
233
+ config: { type: AltVM.HookType.MERKLE_TREE },
234
+ });
235
+ const config = {
236
+ owner: cosmosSigner.getSignerAddress(),
237
+ defaultIsm: {
238
+ artifactState: ArtifactState.UNDERIVED,
239
+ deployed: { address: ism.deployed.address },
240
+ },
241
+ defaultHook: {
242
+ artifactState: ArtifactState.UNDERIVED,
243
+ deployed: { address: hook.deployed.address },
244
+ },
245
+ requiredHook: {
246
+ artifactState: ArtifactState.UNDERIVED,
247
+ deployed: { address: ZERO_ADDRESS_HEX_32 },
248
+ },
249
+ };
250
+ writer = mailboxArtifactManager.createWriter('mailbox', cosmosSigner);
251
+ [deployedMailbox] = await writer.create({ config });
252
+ });
253
+ function verifyFullConfig(readMailbox, expectedConfig) {
254
+ expect(readMailbox.config.owner).to.equal(expectedConfig.owner);
255
+ expect(readMailbox.config.defaultIsm.deployed.address).to.equal(expectedConfig.defaultIsm.deployed.address);
256
+ expect(readMailbox.config.defaultHook.deployed.address).to.equal(expectedConfig.defaultHook.deployed.address);
257
+ expect(readMailbox.config.requiredHook.deployed.address).to.equal(expectedConfig.requiredHook.deployed.address);
258
+ }
259
+ const updateTestCases = [
260
+ {
261
+ name: 'default ISM',
262
+ setupNewValue: async () => {
263
+ const ismWriter = ismArtifactManager.createWriter(AltVM.IsmType.TEST_ISM, cosmosSigner);
264
+ const [newIsm] = await ismWriter.create({
265
+ config: { type: AltVM.IsmType.TEST_ISM },
266
+ });
267
+ return newIsm.deployed.address;
268
+ },
269
+ updateConfig: (mailbox, newValue) => ({
270
+ ...mailbox,
271
+ config: {
272
+ ...mailbox.config,
273
+ defaultIsm: {
274
+ artifactState: ArtifactState.UNDERIVED,
275
+ deployed: { address: newValue },
276
+ },
277
+ },
278
+ }),
279
+ },
280
+ {
281
+ name: 'default hook',
282
+ setupNewValue: async () => {
283
+ const hookWriter = hookArtifactManager.createWriter(AltVM.HookType.MERKLE_TREE, cosmosSigner);
284
+ const [newHook] = await hookWriter.create({
285
+ config: { type: AltVM.HookType.MERKLE_TREE },
286
+ });
287
+ return newHook.deployed.address;
288
+ },
289
+ updateConfig: (mailbox, newValue) => ({
290
+ ...mailbox,
291
+ config: {
292
+ ...mailbox.config,
293
+ defaultHook: {
294
+ artifactState: ArtifactState.UNDERIVED,
295
+ deployed: { address: newValue },
296
+ },
297
+ },
298
+ }),
299
+ },
300
+ {
301
+ name: 'required hook',
302
+ setupNewValue: async () => {
303
+ const hookWriter = hookArtifactManager.createWriter(AltVM.HookType.MERKLE_TREE, cosmosSigner);
304
+ const [newHook] = await hookWriter.create({
305
+ config: { type: AltVM.HookType.MERKLE_TREE },
306
+ });
307
+ return newHook.deployed.address;
308
+ },
309
+ updateConfig: (mailbox, newValue) => ({
310
+ ...mailbox,
311
+ config: {
312
+ ...mailbox.config,
313
+ requiredHook: {
314
+ artifactState: ArtifactState.UNDERIVED,
315
+ deployed: { address: newValue },
316
+ },
317
+ },
318
+ }),
319
+ },
320
+ {
321
+ name: 'owner',
322
+ setupNewValue: async () => {
323
+ const bobSigner = await createSigner('bob');
324
+ return bobSigner.getSignerAddress();
325
+ },
326
+ updateConfig: (mailbox, newValue) => ({
327
+ ...mailbox,
328
+ config: {
329
+ ...mailbox.config,
330
+ owner: newValue,
331
+ },
332
+ }),
333
+ },
334
+ ];
335
+ updateTestCases.forEach(({ name, setupNewValue, updateConfig }) => {
336
+ it(`should update ${name}`, async () => {
337
+ const newValue = await setupNewValue();
338
+ const updatedArtifact = updateConfig(deployedMailbox, newValue);
339
+ const txs = await writer.update(updatedArtifact);
340
+ expect(txs).to.be.an('array').with.length(1);
341
+ expect(txs[0].typeUrl).to.equal(MessageRegistry.MsgSetMailbox.proto.type);
342
+ const receipt = await signer.sendAndConfirmTransaction(txs[0]);
343
+ expect(receipt.code).to.equal(0);
344
+ const reader = mailboxArtifactManager.createReader('mailbox');
345
+ const readMailbox = await reader.read(deployedMailbox.deployed.address);
346
+ verifyFullConfig(readMailbox, updatedArtifact.config);
347
+ });
348
+ });
349
+ it('should return no transactions when no updates needed', async () => {
350
+ const txs = await writer.update(deployedMailbox);
351
+ expect(txs).to.be.an('array').with.length(0);
352
+ });
353
+ });
354
+ });
355
+ //# sourceMappingURL=mailbox.e2e-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mailbox.e2e-test.js","sourceRoot":"","sources":["../../src/tests/mailbox.e2e-test.ts"],"names":[],"mappings":"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"}
@@ -33,4 +33,12 @@ export interface CosmosSyntheticWarpTokenConfig extends BaseCosmosWarpTokenConfi
33
33
  type: AltVM.TokenType.synthetic;
34
34
  }
35
35
  export type CosmosWarpTokenConfig = CosmosCollateralWarpTokenConfig | CosmosSyntheticWarpTokenConfig;
36
+ export interface CosmosMailboxConfig {
37
+ address: string;
38
+ owner: string;
39
+ localDomain: number;
40
+ defaultIsm: string;
41
+ defaultHook: string;
42
+ requiredHook: string;
43
+ }
36
44
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;AAE5D;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,+BAAgC,SAAQ,yBAAyB;IAChF,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,8BAA+B,SAAQ,yBAAyB;IAC/E,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC;CACjC;AAED,MAAM,MAAM,qBAAqB,GAC7B,+BAA+B,GAC/B,8BAA8B,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;AAE5D;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,+BAAgC,SAAQ,yBAAyB;IAChF,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,8BAA+B,SAAQ,yBAAyB;IAC/E,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC;CACjC;AAED,MAAM,MAAM,qBAAqB,GAC7B,+BAA+B,GAC/B,8BAA8B,CAAC;AAKnC,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hyperlane-xyz/cosmos-sdk",
3
- "version": "27.0.0",
3
+ "version": "28.0.0",
4
4
  "description": "Hyperlane TypeScript SDK for the Cosmos Hyperlane SDK module",
5
5
  "keywords": [
6
6
  "blockchain",
@@ -32,9 +32,9 @@
32
32
  "@cosmjs/proto-signing": "^0.32.4",
33
33
  "@cosmjs/stargate": "^0.32.4",
34
34
  "@cosmjs/tendermint-rpc": "^0.32.4",
35
- "@hyperlane-xyz/cosmos-types": "27.0.0",
36
- "@hyperlane-xyz/provider-sdk": "3.0.1",
37
- "@hyperlane-xyz/utils": "27.0.0"
35
+ "@hyperlane-xyz/cosmos-types": "28.0.0",
36
+ "@hyperlane-xyz/provider-sdk": "4.0.0",
37
+ "@hyperlane-xyz/utils": "28.0.0"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@eslint/js": "^9.39.2",
@@ -51,13 +51,13 @@
51
51
  "eslint-plugin-import": "^2.32.0",
52
52
  "mocha": "^11.5.0",
53
53
  "mocha-steps": "^1.3.0",
54
- "oxfmt": "^0.32.0",
55
- "testcontainers": "11.7.0",
54
+ "oxfmt": "^0.40.0",
55
+ "testcontainers": "11.12.0",
56
56
  "ts-node": "^10.9.2",
57
57
  "typescript": "5.8.3",
58
58
  "typescript-eslint": "^8.54.0",
59
- "@hyperlane-xyz/eslint-config": "^27.0.0",
60
- "@hyperlane-xyz/tsconfig": "^27.0.0"
59
+ "@hyperlane-xyz/eslint-config": "^28.0.0",
60
+ "@hyperlane-xyz/tsconfig": "^28.0.0"
61
61
  },
62
62
  "scripts": {
63
63
  "build": "rm -rf ./dist && tsc",