@humanode-hyperlane/cosmos-sdk 0.0.0-stage → 30.0.0-humanode.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +193 -0
- package/README.md +82 -2
- package/dist/clients/protocol.d.ts +24 -0
- package/dist/clients/protocol.d.ts.map +1 -0
- package/dist/clients/protocol.js +70 -0
- package/dist/clients/protocol.js.map +1 -0
- package/dist/clients/provider.d.ts +70 -0
- package/dist/clients/provider.d.ts.map +1 -0
- package/dist/clients/provider.js +397 -0
- package/dist/clients/provider.js.map +1 -0
- package/dist/clients/signer.d.ts +55 -0
- package/dist/clients/signer.d.ts.map +1 -0
- package/dist/clients/signer.js +377 -0
- package/dist/clients/signer.js.map +1 -0
- package/dist/hook/hook-artifact-manager.d.ts +72 -0
- package/dist/hook/hook-artifact-manager.d.ts.map +1 -0
- package/dist/hook/hook-artifact-manager.js +139 -0
- package/dist/hook/hook-artifact-manager.js.map +1 -0
- package/dist/hook/hook-query.d.ts +42 -0
- package/dist/hook/hook-query.d.ts.map +1 -0
- package/dist/hook/hook-query.js +95 -0
- package/dist/hook/hook-query.js.map +1 -0
- package/dist/hook/hook-tx.d.ts +47 -0
- package/dist/hook/hook-tx.d.ts.map +1 -0
- package/dist/hook/hook-tx.js +76 -0
- package/dist/hook/hook-tx.js.map +1 -0
- package/dist/hook/igp-hook.d.ts +30 -0
- package/dist/hook/igp-hook.d.ts.map +1 -0
- package/dist/hook/igp-hook.js +150 -0
- package/dist/hook/igp-hook.js.map +1 -0
- package/dist/hook/merkle-tree-hook.d.ts +32 -0
- package/dist/hook/merkle-tree-hook.d.ts.map +1 -0
- package/dist/hook/merkle-tree-hook.js +60 -0
- package/dist/hook/merkle-tree-hook.js.map +1 -0
- package/dist/hyperlane/core/messages.d.ts +16 -0
- package/dist/hyperlane/core/messages.d.ts.map +1 -0
- package/dist/hyperlane/core/messages.js +2 -0
- package/dist/hyperlane/core/messages.js.map +1 -0
- package/dist/hyperlane/core/query.d.ts +18 -0
- package/dist/hyperlane/core/query.d.ts.map +1 -0
- package/dist/hyperlane/core/query.js +18 -0
- package/dist/hyperlane/core/query.js.map +1 -0
- package/dist/hyperlane/interchain_security/messages.d.ts +36 -0
- package/dist/hyperlane/interchain_security/messages.d.ts.map +1 -0
- package/dist/hyperlane/interchain_security/messages.js +2 -0
- package/dist/hyperlane/interchain_security/messages.js.map +1 -0
- package/dist/hyperlane/interchain_security/query.d.ts +36 -0
- package/dist/hyperlane/interchain_security/query.d.ts.map +1 -0
- package/dist/hyperlane/interchain_security/query.js +49 -0
- package/dist/hyperlane/interchain_security/query.js.map +1 -0
- package/dist/hyperlane/post_dispatch/messages.d.ts +32 -0
- package/dist/hyperlane/post_dispatch/messages.d.ts.map +1 -0
- package/dist/hyperlane/post_dispatch/messages.js +2 -0
- package/dist/hyperlane/post_dispatch/messages.js.map +1 -0
- package/dist/hyperlane/post_dispatch/query.d.ts +24 -0
- package/dist/hyperlane/post_dispatch/query.d.ts.map +1 -0
- package/dist/hyperlane/post_dispatch/query.js +21 -0
- package/dist/hyperlane/post_dispatch/query.js.map +1 -0
- package/dist/hyperlane/warp/messages.d.ts +28 -0
- package/dist/hyperlane/warp/messages.d.ts.map +1 -0
- package/dist/hyperlane/warp/messages.js +2 -0
- package/dist/hyperlane/warp/messages.js.map +1 -0
- package/dist/hyperlane/warp/query.d.ts +18 -0
- package/dist/hyperlane/warp/query.d.ts.map +1 -0
- package/dist/hyperlane/warp/query.js +16 -0
- package/dist/hyperlane/warp/query.js.map +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +36 -0
- package/dist/index.js.map +1 -0
- package/dist/ism/ism-artifact-manager.d.ts +69 -0
- package/dist/ism/ism-artifact-manager.d.ts.map +1 -0
- package/dist/ism/ism-artifact-manager.js +144 -0
- package/dist/ism/ism-artifact-manager.js.map +1 -0
- package/dist/ism/ism-query.d.ts +71 -0
- package/dist/ism/ism-query.d.ts.map +1 -0
- package/dist/ism/ism-query.js +133 -0
- package/dist/ism/ism-query.js.map +1 -0
- package/dist/ism/ism-tx.d.ts +30 -0
- package/dist/ism/ism-tx.d.ts.map +1 -0
- package/dist/ism/ism-tx.js +76 -0
- package/dist/ism/ism-tx.js.map +1 -0
- package/dist/ism/multisig-ism.d.ts +51 -0
- package/dist/ism/multisig-ism.d.ts.map +1 -0
- package/dist/ism/multisig-ism.js +120 -0
- package/dist/ism/multisig-ism.js.map +1 -0
- package/dist/ism/routing-ism.d.ts +30 -0
- package/dist/ism/routing-ism.d.ts.map +1 -0
- package/dist/ism/routing-ism.js +126 -0
- package/dist/ism/routing-ism.js.map +1 -0
- package/dist/ism/test-ism.d.ts +29 -0
- package/dist/ism/test-ism.d.ts.map +1 -0
- package/dist/ism/test-ism.js +56 -0
- package/dist/ism/test-ism.js.map +1 -0
- package/dist/mailbox/mailbox-artifact-manager.d.ts +48 -0
- package/dist/mailbox/mailbox-artifact-manager.d.ts.map +1 -0
- package/dist/mailbox/mailbox-artifact-manager.js +82 -0
- package/dist/mailbox/mailbox-artifact-manager.js.map +1 -0
- package/dist/mailbox/mailbox-query.d.ts +12 -0
- package/dist/mailbox/mailbox-query.d.ts.map +1 -0
- package/dist/mailbox/mailbox-query.js +29 -0
- package/dist/mailbox/mailbox-query.js.map +1 -0
- package/dist/mailbox/mailbox-tx.d.ts +37 -0
- package/dist/mailbox/mailbox-tx.d.ts.map +1 -0
- package/dist/mailbox/mailbox-tx.js +68 -0
- package/dist/mailbox/mailbox-tx.js.map +1 -0
- package/dist/mailbox/mailbox.d.ts +30 -0
- package/dist/mailbox/mailbox.d.ts.map +1 -0
- package/dist/mailbox/mailbox.js +168 -0
- package/dist/mailbox/mailbox.js.map +1 -0
- package/dist/registry.d.ts +21 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +373 -0
- package/dist/registry.js.map +1 -0
- package/dist/testing/constants.d.ts +10 -0
- package/dist/testing/constants.d.ts.map +1 -0
- package/dist/testing/constants.js +30 -0
- package/dist/testing/constants.js.map +1 -0
- package/dist/testing/index.d.ts +8 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +10 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/node.d.ts +4 -0
- package/dist/testing/node.d.ts.map +1 -0
- package/dist/testing/node.js +35 -0
- package/dist/testing/node.js.map +1 -0
- package/dist/testing/utils.d.ts +10 -0
- package/dist/testing/utils.d.ts.map +1 -0
- package/dist/testing/utils.js +29 -0
- package/dist/testing/utils.js.map +1 -0
- package/dist/tests/1_interchain_security.e2e-test.d.ts +2 -0
- package/dist/tests/1_interchain_security.e2e-test.d.ts.map +1 -0
- package/dist/tests/1_interchain_security.e2e-test.js +171 -0
- package/dist/tests/1_interchain_security.e2e-test.js.map +1 -0
- package/dist/tests/2_core.e2e-test.d.ts +2 -0
- package/dist/tests/2_core.e2e-test.d.ts.map +1 -0
- package/dist/tests/2_core.e2e-test.js +120 -0
- package/dist/tests/2_core.e2e-test.js.map +1 -0
- package/dist/tests/3_post_dispatch.e2e-test.d.ts +2 -0
- package/dist/tests/3_post_dispatch.e2e-test.d.ts.map +1 -0
- package/dist/tests/3_post_dispatch.e2e-test.js +130 -0
- package/dist/tests/3_post_dispatch.e2e-test.js.map +1 -0
- package/dist/tests/4_warp.e2e-test.d.ts +2 -0
- package/dist/tests/4_warp.e2e-test.d.ts.map +1 -0
- package/dist/tests/4_warp.e2e-test.js +284 -0
- package/dist/tests/4_warp.e2e-test.js.map +1 -0
- package/dist/tests/5_warp_artifact.e2e-test.d.ts +2 -0
- package/dist/tests/5_warp_artifact.e2e-test.d.ts.map +1 -0
- package/dist/tests/5_warp_artifact.e2e-test.js +520 -0
- package/dist/tests/5_warp_artifact.e2e-test.js.map +1 -0
- package/dist/tests/e2e-test.setup.d.ts +2 -0
- package/dist/tests/e2e-test.setup.d.ts.map +1 -0
- package/dist/tests/e2e-test.setup.js +13 -0
- package/dist/tests/e2e-test.setup.js.map +1 -0
- package/dist/tests/hooks.e2e-test.d.ts +2 -0
- package/dist/tests/hooks.e2e-test.d.ts.map +1 -0
- package/dist/tests/hooks.e2e-test.js +314 -0
- package/dist/tests/hooks.e2e-test.js.map +1 -0
- package/dist/tests/mailbox.e2e-test.d.ts +2 -0
- package/dist/tests/mailbox.e2e-test.d.ts.map +1 -0
- package/dist/tests/mailbox.e2e-test.js +355 -0
- package/dist/tests/mailbox.e2e-test.js.map +1 -0
- package/dist/utils/base.d.ts +22 -0
- package/dist/utils/base.d.ts.map +1 -0
- package/dist/utils/base.js +35 -0
- package/dist/utils/base.js.map +1 -0
- package/dist/utils/types.d.ts +44 -0
- package/dist/utils/types.d.ts.map +1 -0
- package/dist/utils/types.js +2 -0
- package/dist/utils/types.js.map +1 -0
- package/dist/warp/collateral-token.d.ts +21 -0
- package/dist/warp/collateral-token.d.ts.map +1 -0
- package/dist/warp/collateral-token.js +119 -0
- package/dist/warp/collateral-token.js.map +1 -0
- package/dist/warp/synthetic-token.d.ts +21 -0
- package/dist/warp/synthetic-token.d.ts.map +1 -0
- package/dist/warp/synthetic-token.js +98 -0
- package/dist/warp/synthetic-token.js.map +1 -0
- package/dist/warp/warp-artifact-manager.d.ts +17 -0
- package/dist/warp/warp-artifact-manager.d.ts.map +1 -0
- package/dist/warp/warp-artifact-manager.js +101 -0
- package/dist/warp/warp-artifact-manager.js.map +1 -0
- package/dist/warp/warp-query.d.ts +9 -0
- package/dist/warp/warp-query.d.ts.map +1 -0
- package/dist/warp/warp-query.js +105 -0
- package/dist/warp/warp-query.js.map +1 -0
- package/dist/warp/warp-tx.d.ts +31 -0
- package/dist/warp/warp-tx.d.ts.map +1 -0
- package/dist/warp/warp-tx.js +127 -0
- package/dist/warp/warp-tx.js.map +1 -0
- package/package.json +61 -3
|
@@ -0,0 +1,377 @@
|
|
|
1
|
+
import { DirectSecp256k1HdWallet, DirectSecp256k1Wallet, } from '@cosmjs/proto-signing';
|
|
2
|
+
import { AminoTypes, GasPrice, SigningStargateClient, assertIsDeliverTxSuccess, } from '@cosmjs/stargate';
|
|
3
|
+
import { connectComet } from '@cosmjs/tendermint-rpc';
|
|
4
|
+
import { assert, isUrl, strip0x } from '@humanode-hyperlane/utils';
|
|
5
|
+
import { COSMOS_MODULE_MESSAGE_REGISTRY as R } from '../registry.js';
|
|
6
|
+
import { getProtoConverter } from '../utils/base.js';
|
|
7
|
+
import { CosmosNativeProvider } from './provider.js';
|
|
8
|
+
export class CosmosNativeSigner extends CosmosNativeProvider {
|
|
9
|
+
signer;
|
|
10
|
+
account;
|
|
11
|
+
options;
|
|
12
|
+
static async connectWithSigner(rpcUrls, privateKey, extraParams) {
|
|
13
|
+
assert(rpcUrls.length > 0, `got no rpcUrls`);
|
|
14
|
+
assert(rpcUrls.every((rpc) => isUrl(rpc)), `invalid rpc urls: ${rpcUrls.join(', ')}`);
|
|
15
|
+
assert(extraParams, `extra params not defined`);
|
|
16
|
+
assert(extraParams.metadata, `metadata not defined in extra params`);
|
|
17
|
+
assert(extraParams.metadata.gasPrice, `gasPrice not defined in metadata extra params`);
|
|
18
|
+
let wallet;
|
|
19
|
+
if (typeof privateKey === 'string') {
|
|
20
|
+
assert(extraParams.metadata.bech32Prefix, `bech32Prefix not defined in metadata extra params`);
|
|
21
|
+
const isPrivateKey = new RegExp(/(^|\b)(0x)?[0-9a-fA-F]{64}(\b|$)/).test(privateKey);
|
|
22
|
+
if (isPrivateKey) {
|
|
23
|
+
wallet = await DirectSecp256k1Wallet.fromKey(new Uint8Array(Buffer.from(strip0x(privateKey), 'hex')), extraParams.metadata.bech32Prefix);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
wallet = await DirectSecp256k1HdWallet.fromMnemonic(privateKey, {
|
|
27
|
+
prefix: extraParams.metadata.bech32Prefix,
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
wallet = privateKey;
|
|
33
|
+
}
|
|
34
|
+
// register all the custom amino tx types
|
|
35
|
+
const aminoTypes = Object.values(R)
|
|
36
|
+
.filter((r) => !!r.amino?.type) // filter out tx responses which have no amino type
|
|
37
|
+
.reduce((types, { proto, amino }) => ({
|
|
38
|
+
...types,
|
|
39
|
+
[proto.type]: {
|
|
40
|
+
aminoType: amino?.type,
|
|
41
|
+
toAmino: amino?.converter?.toJSON ?? proto.converter.toJSON,
|
|
42
|
+
fromAmino: amino?.converter?.fromJSON ?? proto.converter.fromJSON,
|
|
43
|
+
},
|
|
44
|
+
}), {});
|
|
45
|
+
const signer = await SigningStargateClient.connectWithSigner(rpcUrls[0], wallet, {
|
|
46
|
+
aminoTypes: new AminoTypes({
|
|
47
|
+
...aminoTypes,
|
|
48
|
+
}),
|
|
49
|
+
gasPrice: GasPrice.fromString(`${extraParams.metadata.gasPrice.amount}${extraParams.metadata.gasPrice.denom}`),
|
|
50
|
+
});
|
|
51
|
+
// register all the custom tx types
|
|
52
|
+
Object.values(R).forEach(({ proto }) => {
|
|
53
|
+
signer.registry.register(proto.type, proto.converter);
|
|
54
|
+
});
|
|
55
|
+
const cometClient = await connectComet(rpcUrls[0]);
|
|
56
|
+
const account = await wallet.getAccounts();
|
|
57
|
+
return new CosmosNativeSigner(cometClient, signer, account[0], rpcUrls, {
|
|
58
|
+
fee: 2,
|
|
59
|
+
memo: '',
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
constructor(cometClient, signer, account, rpcUrls, options) {
|
|
63
|
+
super(cometClient, rpcUrls);
|
|
64
|
+
this.signer = signer;
|
|
65
|
+
this.account = account;
|
|
66
|
+
this.options = options;
|
|
67
|
+
}
|
|
68
|
+
async submitTx(msg) {
|
|
69
|
+
const receipt = await this.signer.signAndBroadcast(this.account.address, [msg], this.options.fee, this.options.memo);
|
|
70
|
+
assertIsDeliverTxSuccess(receipt);
|
|
71
|
+
const msgResponse = receipt.msgResponses[0];
|
|
72
|
+
return getProtoConverter(msgResponse.typeUrl).decode(msgResponse.value);
|
|
73
|
+
}
|
|
74
|
+
getSignerAddress() {
|
|
75
|
+
return this.account.address;
|
|
76
|
+
}
|
|
77
|
+
supportsTransactionBatching() {
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
async transactionToPrintableJson(transaction) {
|
|
81
|
+
return transaction;
|
|
82
|
+
}
|
|
83
|
+
async sendAndConfirmTransaction(transaction) {
|
|
84
|
+
const receipt = await this.signer.signAndBroadcast(this.account.address, [transaction], this.options.fee, this.options.memo);
|
|
85
|
+
assertIsDeliverTxSuccess(receipt);
|
|
86
|
+
return receipt;
|
|
87
|
+
}
|
|
88
|
+
async sendAndConfirmBatchTransactions(transactions) {
|
|
89
|
+
const receipt = await this.signer.signAndBroadcast(this.account.address, transactions, this.options.fee, this.options.memo);
|
|
90
|
+
assertIsDeliverTxSuccess(receipt);
|
|
91
|
+
return receipt;
|
|
92
|
+
}
|
|
93
|
+
// ### TX CORE ###
|
|
94
|
+
async createMailbox(req) {
|
|
95
|
+
if (req.proxyAdminAddress) {
|
|
96
|
+
throw new Error('ProxyAdmin is not supported on Cosmos. Remove proxyAdmin from config.');
|
|
97
|
+
}
|
|
98
|
+
const msg = await this.getCreateMailboxTransaction({
|
|
99
|
+
...req,
|
|
100
|
+
signer: this.account.address,
|
|
101
|
+
});
|
|
102
|
+
const result = await this.submitTx(msg);
|
|
103
|
+
return {
|
|
104
|
+
mailboxAddress: result.id,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
async setDefaultIsm(req) {
|
|
108
|
+
const msg = await this.getSetDefaultIsmTransaction({
|
|
109
|
+
...req,
|
|
110
|
+
signer: this.account.address,
|
|
111
|
+
});
|
|
112
|
+
await this.submitTx(msg);
|
|
113
|
+
return {
|
|
114
|
+
ismAddress: req.ismAddress,
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
async setDefaultHook(req) {
|
|
118
|
+
const msg = await this.getSetDefaultHookTransaction({
|
|
119
|
+
...req,
|
|
120
|
+
signer: this.account.address,
|
|
121
|
+
});
|
|
122
|
+
await this.submitTx(msg);
|
|
123
|
+
return {
|
|
124
|
+
hookAddress: req.hookAddress,
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
async setRequiredHook(req) {
|
|
128
|
+
const msg = await this.getSetRequiredHookTransaction({
|
|
129
|
+
...req,
|
|
130
|
+
signer: this.account.address,
|
|
131
|
+
});
|
|
132
|
+
await this.submitTx(msg);
|
|
133
|
+
return {
|
|
134
|
+
hookAddress: req.hookAddress,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
async setMailboxOwner(req) {
|
|
138
|
+
const msg = await this.getSetMailboxOwnerTransaction({
|
|
139
|
+
...req,
|
|
140
|
+
signer: this.account.address,
|
|
141
|
+
});
|
|
142
|
+
await this.submitTx(msg);
|
|
143
|
+
return {
|
|
144
|
+
newOwner: req.newOwner,
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
async createMerkleRootMultisigIsm(req) {
|
|
148
|
+
const msg = await this.getCreateMerkleRootMultisigIsmTransaction({
|
|
149
|
+
...req,
|
|
150
|
+
signer: this.account.address,
|
|
151
|
+
});
|
|
152
|
+
const result = await this.submitTx(msg);
|
|
153
|
+
return {
|
|
154
|
+
ismAddress: result.id,
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
async createMessageIdMultisigIsm(req) {
|
|
158
|
+
const msg = await this.getCreateMessageIdMultisigIsmTransaction({
|
|
159
|
+
...req,
|
|
160
|
+
signer: this.account.address,
|
|
161
|
+
});
|
|
162
|
+
const result = await this.submitTx(msg);
|
|
163
|
+
return {
|
|
164
|
+
ismAddress: result.id,
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
async createRoutingIsm(req) {
|
|
168
|
+
const msg = await this.getCreateRoutingIsmTransaction({
|
|
169
|
+
...req,
|
|
170
|
+
signer: this.account.address,
|
|
171
|
+
});
|
|
172
|
+
const result = await this.submitTx(msg);
|
|
173
|
+
return {
|
|
174
|
+
ismAddress: result.id,
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
async setRoutingIsmRoute(req) {
|
|
178
|
+
const msg = await this.getSetRoutingIsmRouteTransaction({
|
|
179
|
+
...req,
|
|
180
|
+
signer: this.account.address,
|
|
181
|
+
});
|
|
182
|
+
await this.submitTx(msg);
|
|
183
|
+
return {
|
|
184
|
+
route: req.route,
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
async removeRoutingIsmRoute(req) {
|
|
188
|
+
const msg = await this.getRemoveRoutingIsmRouteTransaction({
|
|
189
|
+
...req,
|
|
190
|
+
signer: this.account.address,
|
|
191
|
+
});
|
|
192
|
+
await this.submitTx(msg);
|
|
193
|
+
return {
|
|
194
|
+
domainId: req.domainId,
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
async setRoutingIsmOwner(req) {
|
|
198
|
+
const msg = await this.getSetRoutingIsmOwnerTransaction({
|
|
199
|
+
...req,
|
|
200
|
+
signer: this.account.address,
|
|
201
|
+
});
|
|
202
|
+
await this.submitTx(msg);
|
|
203
|
+
return {
|
|
204
|
+
newOwner: req.newOwner,
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
async createNoopIsm(req) {
|
|
208
|
+
const msg = await this.getCreateNoopIsmTransaction({
|
|
209
|
+
...req,
|
|
210
|
+
signer: this.account.address,
|
|
211
|
+
});
|
|
212
|
+
const result = await this.submitTx(msg);
|
|
213
|
+
return {
|
|
214
|
+
ismAddress: result.id,
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
async createMerkleTreeHook(req) {
|
|
218
|
+
const msg = await this.getCreateMerkleTreeHookTransaction({
|
|
219
|
+
...req,
|
|
220
|
+
signer: this.account.address,
|
|
221
|
+
});
|
|
222
|
+
const result = await this.submitTx(msg);
|
|
223
|
+
return {
|
|
224
|
+
hookAddress: result.id,
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
async createInterchainGasPaymasterHook(req) {
|
|
228
|
+
assert(req.denom, `denom required by ${CosmosNativeSigner.name}`);
|
|
229
|
+
const msg = await this.getCreateInterchainGasPaymasterHookTransaction({
|
|
230
|
+
...req,
|
|
231
|
+
signer: this.account.address,
|
|
232
|
+
});
|
|
233
|
+
const result = await this.submitTx(msg);
|
|
234
|
+
return {
|
|
235
|
+
hookAddress: result.id,
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
async setInterchainGasPaymasterHookOwner(req) {
|
|
239
|
+
const msg = await this.getSetInterchainGasPaymasterHookOwnerTransaction({
|
|
240
|
+
...req,
|
|
241
|
+
signer: this.account.address,
|
|
242
|
+
});
|
|
243
|
+
await this.submitTx(msg);
|
|
244
|
+
return {
|
|
245
|
+
newOwner: req.newOwner,
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
async setDestinationGasConfig(req) {
|
|
249
|
+
const msg = await this.getSetDestinationGasConfigTransaction({
|
|
250
|
+
...req,
|
|
251
|
+
signer: this.account.address,
|
|
252
|
+
});
|
|
253
|
+
await this.submitTx(msg);
|
|
254
|
+
return {
|
|
255
|
+
destinationGasConfig: req.destinationGasConfig,
|
|
256
|
+
};
|
|
257
|
+
}
|
|
258
|
+
async removeDestinationGasConfig(_req) {
|
|
259
|
+
throw new Error(`RemoveDestinationGasConfig is currently not supported on Cosmos Native`);
|
|
260
|
+
}
|
|
261
|
+
async createNoopHook(req) {
|
|
262
|
+
const msg = await this.getCreateNoopHookTransaction({
|
|
263
|
+
...req,
|
|
264
|
+
signer: this.account.address,
|
|
265
|
+
});
|
|
266
|
+
const result = await this.submitTx(msg);
|
|
267
|
+
return {
|
|
268
|
+
hookAddress: result.id,
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
async createValidatorAnnounce(_req) {
|
|
272
|
+
// Cosmos Native has no validator announce
|
|
273
|
+
return { validatorAnnounceId: '' };
|
|
274
|
+
}
|
|
275
|
+
async createProxyAdmin(_req) {
|
|
276
|
+
throw new Error('ProxyAdmin is not supported on Cosmos Native');
|
|
277
|
+
}
|
|
278
|
+
async setProxyAdminOwner(_req) {
|
|
279
|
+
throw new Error('ProxyAdmin is not supported on Cosmos Native');
|
|
280
|
+
}
|
|
281
|
+
// ### TX WARP ###
|
|
282
|
+
async createNativeToken(_req) {
|
|
283
|
+
throw new Error(`Native Token is not supported on Cosmos Native`);
|
|
284
|
+
}
|
|
285
|
+
async createCollateralToken(req) {
|
|
286
|
+
if (req.proxyAdminAddress) {
|
|
287
|
+
throw new Error('ProxyAdmin is not supported on Cosmos Native. Remove proxyAdmin from config.');
|
|
288
|
+
}
|
|
289
|
+
const msg = await this.getCreateCollateralTokenTransaction({
|
|
290
|
+
...req,
|
|
291
|
+
signer: this.account.address,
|
|
292
|
+
});
|
|
293
|
+
const result = await this.submitTx(msg);
|
|
294
|
+
return {
|
|
295
|
+
tokenAddress: result.id,
|
|
296
|
+
};
|
|
297
|
+
}
|
|
298
|
+
async createSyntheticToken(req) {
|
|
299
|
+
if (req.proxyAdminAddress) {
|
|
300
|
+
throw new Error('ProxyAdmin is not supported on Cosmos Native. Remove proxyAdmin from config.');
|
|
301
|
+
}
|
|
302
|
+
const msg = await this.getCreateSyntheticTokenTransaction({
|
|
303
|
+
...req,
|
|
304
|
+
signer: this.account.address,
|
|
305
|
+
});
|
|
306
|
+
const result = await this.submitTx(msg);
|
|
307
|
+
return {
|
|
308
|
+
tokenAddress: result.id,
|
|
309
|
+
};
|
|
310
|
+
}
|
|
311
|
+
async setTokenOwner(req) {
|
|
312
|
+
const msg = await this.getSetTokenOwnerTransaction({
|
|
313
|
+
...req,
|
|
314
|
+
signer: this.account.address,
|
|
315
|
+
});
|
|
316
|
+
await this.submitTx(msg);
|
|
317
|
+
return {
|
|
318
|
+
newOwner: req.newOwner,
|
|
319
|
+
};
|
|
320
|
+
}
|
|
321
|
+
async setTokenIsm(req) {
|
|
322
|
+
assert(req.ismAddress, 'Cosmos does not support setting ism to the default ism yet');
|
|
323
|
+
const msg = await this.getSetTokenIsmTransaction({
|
|
324
|
+
...req,
|
|
325
|
+
signer: this.account.address,
|
|
326
|
+
});
|
|
327
|
+
await this.submitTx(msg);
|
|
328
|
+
return {
|
|
329
|
+
ismAddress: req.ismAddress,
|
|
330
|
+
};
|
|
331
|
+
}
|
|
332
|
+
async setTokenHook(_req) {
|
|
333
|
+
throw new Error(`SetTokenHook is currently not supported on Cosmos Native`);
|
|
334
|
+
}
|
|
335
|
+
async enrollRemoteRouter(req) {
|
|
336
|
+
const msg = await this.getEnrollRemoteRouterTransaction({
|
|
337
|
+
...req,
|
|
338
|
+
signer: this.account.address,
|
|
339
|
+
});
|
|
340
|
+
await this.submitTx(msg);
|
|
341
|
+
return {
|
|
342
|
+
receiverDomainId: req.remoteRouter.receiverDomainId,
|
|
343
|
+
};
|
|
344
|
+
}
|
|
345
|
+
async unenrollRemoteRouter(req) {
|
|
346
|
+
const msg = await this.getUnenrollRemoteRouterTransaction({
|
|
347
|
+
...req,
|
|
348
|
+
signer: this.account.address,
|
|
349
|
+
});
|
|
350
|
+
await this.submitTx(msg);
|
|
351
|
+
return {
|
|
352
|
+
receiverDomainId: req.receiverDomainId,
|
|
353
|
+
};
|
|
354
|
+
}
|
|
355
|
+
async transfer(req) {
|
|
356
|
+
assert(req.denom, `denom required by ${CosmosNativeSigner.name}`);
|
|
357
|
+
const msg = await this.getTransferTransaction({
|
|
358
|
+
...req,
|
|
359
|
+
signer: this.account.address,
|
|
360
|
+
});
|
|
361
|
+
await this.submitTx(msg);
|
|
362
|
+
return {
|
|
363
|
+
recipient: req.recipient,
|
|
364
|
+
};
|
|
365
|
+
}
|
|
366
|
+
async remoteTransfer(req) {
|
|
367
|
+
const msg = await this.getRemoteTransferTransaction({
|
|
368
|
+
...req,
|
|
369
|
+
signer: this.account.address,
|
|
370
|
+
});
|
|
371
|
+
await this.submitTx(msg);
|
|
372
|
+
return {
|
|
373
|
+
tokenAddress: req.tokenAddress,
|
|
374
|
+
};
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
//# sourceMappingURL=signer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signer.js","sourceRoot":"","sources":["../../src/clients/signer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { type ArtifactReader, type ArtifactWriter } from '@humanode-hyperlane/provider-sdk/artifact';
|
|
2
|
+
import { type DeployedHookAddress, type DeployedHookArtifact, type HookType, type IRawHookArtifactManager, type RawHookArtifactConfigs } from '@humanode-hyperlane/provider-sdk/hook';
|
|
3
|
+
import { type CosmosNativeSigner } from '../clients/signer.js';
|
|
4
|
+
/**
|
|
5
|
+
* Cosmos Hook Artifact Manager implementing IRawHookArtifactManager.
|
|
6
|
+
*
|
|
7
|
+
* This manager:
|
|
8
|
+
* - Lazily initializes the query client on first use
|
|
9
|
+
* - Provides factory methods for creating readers and writers
|
|
10
|
+
* - Supports IGP and MerkleTree hook types
|
|
11
|
+
*
|
|
12
|
+
* Design: Uses lazy initialization to keep the constructor synchronous while
|
|
13
|
+
* deferring the async query client creation until actually needed.
|
|
14
|
+
*/
|
|
15
|
+
export declare class CosmosHookArtifactManager implements IRawHookArtifactManager {
|
|
16
|
+
private readonly config;
|
|
17
|
+
private readonly query;
|
|
18
|
+
constructor(config: {
|
|
19
|
+
rpcUrls: [string, ...string[]];
|
|
20
|
+
mailboxAddress?: string;
|
|
21
|
+
nativeTokenDenom: string;
|
|
22
|
+
});
|
|
23
|
+
/**
|
|
24
|
+
* Lazy initialization - creates query client on first use.
|
|
25
|
+
* Subsequent calls return the cached promise.
|
|
26
|
+
*/
|
|
27
|
+
private getQuery;
|
|
28
|
+
/**
|
|
29
|
+
* Creates a Cosmos query client with PostDispatch extension.
|
|
30
|
+
*/
|
|
31
|
+
private createQuery;
|
|
32
|
+
/**
|
|
33
|
+
* Read a hook of unknown type from the blockchain.
|
|
34
|
+
*
|
|
35
|
+
* @param address - Address of the hook to read
|
|
36
|
+
* @returns Deployed hook artifact with configuration
|
|
37
|
+
*/
|
|
38
|
+
readHook(address: string): Promise<DeployedHookArtifact>;
|
|
39
|
+
/**
|
|
40
|
+
* Factory method to create type-specific hook readers.
|
|
41
|
+
*
|
|
42
|
+
* @param type - Hook type to create reader for
|
|
43
|
+
* @returns Type-specific hook reader
|
|
44
|
+
*/
|
|
45
|
+
createReader<T extends HookType>(type: T): ArtifactReader<RawHookArtifactConfigs[T], DeployedHookAddress>;
|
|
46
|
+
/**
|
|
47
|
+
* Internal helper to create type-specific hook readers with query client.
|
|
48
|
+
*
|
|
49
|
+
* @param type - Hook type to create reader for
|
|
50
|
+
* @param query - Query client to use for reading
|
|
51
|
+
* @returns Type-specific hook reader
|
|
52
|
+
*/
|
|
53
|
+
private createReaderWithQuery;
|
|
54
|
+
/**
|
|
55
|
+
* Factory method to create type-specific hook writers.
|
|
56
|
+
*
|
|
57
|
+
* @param type - Hook type to create writer for
|
|
58
|
+
* @param signer - Signer to use for writing transactions
|
|
59
|
+
* @returns Type-specific hook writer
|
|
60
|
+
*/
|
|
61
|
+
createWriter<T extends HookType>(type: T, signer: CosmosNativeSigner): ArtifactWriter<RawHookArtifactConfigs[T], DeployedHookAddress>;
|
|
62
|
+
/**
|
|
63
|
+
* Internal helper to create type-specific hook writers with query client and signer.
|
|
64
|
+
*
|
|
65
|
+
* @param type - Hook type to create writer for
|
|
66
|
+
* @param query - Query client to use for reading
|
|
67
|
+
* @param signer - Signer to use for writing
|
|
68
|
+
* @returns Type-specific hook writer
|
|
69
|
+
*/
|
|
70
|
+
private createWriterWithQuery;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=hook-artifact-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hook-artifact-manager.d.ts","sourceRoot":"","sources":["../../src/hook/hook-artifact-manager.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACb,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAG5B,MAAM,uCAAuC,CAAC;AAG/C,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAU/D;;;;;;;;;;GAUG;AACH,qBAAa,yBAA0B,YAAW,uBAAuB;IAIrE,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;QAE/B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,gBAAgB,EAAE,MAAM,CAAC;KAC1B;IAGH;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAIhB;;OAEG;YACW,WAAW;IAKzB;;;;;OAKG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAU9D;;;;;OAKG;IACH,YAAY,CAAC,CAAC,SAAS,QAAQ,EAC7B,IAAI,EAAE,CAAC,GACN,cAAc,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC;IAWjE;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAsB7B;;;;;;OAMG;IACH,YAAY,CAAC,CAAC,SAAS,QAAQ,EAC7B,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,kBAAkB,GACzB,cAAc,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC;IAqBjE;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;CAqC9B"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { QueryClient } from '@cosmjs/stargate';
|
|
2
|
+
import { connectComet } from '@cosmjs/tendermint-rpc';
|
|
3
|
+
import { AltVM } from '@humanode-hyperlane/provider-sdk';
|
|
4
|
+
import { altVmHookTypeToProviderHookType, throwUnsupportedHookType, } from '@humanode-hyperlane/provider-sdk/hook';
|
|
5
|
+
import { LazyAsync, assert } from '@humanode-hyperlane/utils';
|
|
6
|
+
import { setupPostDispatchExtension } from '../hyperlane/post_dispatch/query.js';
|
|
7
|
+
import { getHookType } from './hook-query.js';
|
|
8
|
+
import { CosmosIgpHookReader, CosmosIgpHookWriter } from './igp-hook.js';
|
|
9
|
+
import { CosmosMerkleTreeHookReader, CosmosMerkleTreeHookWriter, } from './merkle-tree-hook.js';
|
|
10
|
+
/**
|
|
11
|
+
* Cosmos Hook Artifact Manager implementing IRawHookArtifactManager.
|
|
12
|
+
*
|
|
13
|
+
* This manager:
|
|
14
|
+
* - Lazily initializes the query client on first use
|
|
15
|
+
* - Provides factory methods for creating readers and writers
|
|
16
|
+
* - Supports IGP and MerkleTree hook types
|
|
17
|
+
*
|
|
18
|
+
* Design: Uses lazy initialization to keep the constructor synchronous while
|
|
19
|
+
* deferring the async query client creation until actually needed.
|
|
20
|
+
*/
|
|
21
|
+
export class CosmosHookArtifactManager {
|
|
22
|
+
config;
|
|
23
|
+
query = new LazyAsync(() => this.createQuery());
|
|
24
|
+
constructor(config) {
|
|
25
|
+
this.config = config;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Lazy initialization - creates query client on first use.
|
|
29
|
+
* Subsequent calls return the cached promise.
|
|
30
|
+
*/
|
|
31
|
+
getQuery() {
|
|
32
|
+
return this.query.get();
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Creates a Cosmos query client with PostDispatch extension.
|
|
36
|
+
*/
|
|
37
|
+
async createQuery() {
|
|
38
|
+
const cometClient = await connectComet(this.config.rpcUrls[0]);
|
|
39
|
+
return QueryClient.withExtensions(cometClient, setupPostDispatchExtension);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Read a hook of unknown type from the blockchain.
|
|
43
|
+
*
|
|
44
|
+
* @param address - Address of the hook to read
|
|
45
|
+
* @returns Deployed hook artifact with configuration
|
|
46
|
+
*/
|
|
47
|
+
async readHook(address) {
|
|
48
|
+
const query = await this.getQuery();
|
|
49
|
+
const altVMType = await getHookType(query, address);
|
|
50
|
+
const reader = this.createReaderWithQuery(altVmHookTypeToProviderHookType(altVMType), query);
|
|
51
|
+
return reader.read(address);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Factory method to create type-specific hook readers.
|
|
55
|
+
*
|
|
56
|
+
* @param type - Hook type to create reader for
|
|
57
|
+
* @returns Type-specific hook reader
|
|
58
|
+
*/
|
|
59
|
+
createReader(type) {
|
|
60
|
+
// For synchronous createReader, we return a wrapper that will initialize lazily
|
|
61
|
+
return {
|
|
62
|
+
read: async (address) => {
|
|
63
|
+
const query = await this.getQuery();
|
|
64
|
+
const reader = this.createReaderWithQuery(type, query);
|
|
65
|
+
return reader.read(address);
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Internal helper to create type-specific hook readers with query client.
|
|
71
|
+
*
|
|
72
|
+
* @param type - Hook type to create reader for
|
|
73
|
+
* @param query - Query client to use for reading
|
|
74
|
+
* @returns Type-specific hook reader
|
|
75
|
+
*/
|
|
76
|
+
createReaderWithQuery(type, query) {
|
|
77
|
+
const readers = {
|
|
78
|
+
[AltVM.HookType.MERKLE_TREE]: () => new CosmosMerkleTreeHookReader(query),
|
|
79
|
+
[AltVM.HookType.INTERCHAIN_GAS_PAYMASTER]: () => new CosmosIgpHookReader(query),
|
|
80
|
+
};
|
|
81
|
+
const reader = readers[type];
|
|
82
|
+
if (!reader) {
|
|
83
|
+
return throwUnsupportedHookType(type, 'Cosmos');
|
|
84
|
+
}
|
|
85
|
+
return reader();
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Factory method to create type-specific hook writers.
|
|
89
|
+
*
|
|
90
|
+
* @param type - Hook type to create writer for
|
|
91
|
+
* @param signer - Signer to use for writing transactions
|
|
92
|
+
* @returns Type-specific hook writer
|
|
93
|
+
*/
|
|
94
|
+
createWriter(type, signer) {
|
|
95
|
+
// For synchronous createWriter, we return a wrapper that will initialize lazily
|
|
96
|
+
return {
|
|
97
|
+
read: async (address) => {
|
|
98
|
+
const query = await this.getQuery();
|
|
99
|
+
const writer = this.createWriterWithQuery(type, query, signer);
|
|
100
|
+
return writer.read(address);
|
|
101
|
+
},
|
|
102
|
+
create: async (artifact) => {
|
|
103
|
+
const query = await this.getQuery();
|
|
104
|
+
const writer = this.createWriterWithQuery(type, query, signer);
|
|
105
|
+
return writer.create(artifact);
|
|
106
|
+
},
|
|
107
|
+
update: async (artifact) => {
|
|
108
|
+
const query = await this.getQuery();
|
|
109
|
+
const writer = this.createWriterWithQuery(type, query, signer);
|
|
110
|
+
return writer.update(artifact);
|
|
111
|
+
},
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Internal helper to create type-specific hook writers with query client and signer.
|
|
116
|
+
*
|
|
117
|
+
* @param type - Hook type to create writer for
|
|
118
|
+
* @param query - Query client to use for reading
|
|
119
|
+
* @param signer - Signer to use for writing
|
|
120
|
+
* @returns Type-specific hook writer
|
|
121
|
+
*/
|
|
122
|
+
createWriterWithQuery(type, query, signer) {
|
|
123
|
+
const writers = {
|
|
124
|
+
[AltVM.HookType.MERKLE_TREE]: () => {
|
|
125
|
+
assert(this.config.mailboxAddress, `Mailbox needs to be defined to deploy a ${AltVM.HookType.MERKLE_TREE} hook`);
|
|
126
|
+
return new CosmosMerkleTreeHookWriter(query, signer, this.config.mailboxAddress);
|
|
127
|
+
},
|
|
128
|
+
[AltVM.HookType.INTERCHAIN_GAS_PAYMASTER]: () => {
|
|
129
|
+
return new CosmosIgpHookWriter(query, signer, this.config.nativeTokenDenom);
|
|
130
|
+
},
|
|
131
|
+
};
|
|
132
|
+
const writer = writers[type];
|
|
133
|
+
if (!writer) {
|
|
134
|
+
return throwUnsupportedHookType(type, 'Cosmos');
|
|
135
|
+
}
|
|
136
|
+
return writer();
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=hook-artifact-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hook-artifact-manager.js","sourceRoot":"","sources":["../../src/hook/hook-artifact-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { type QueryClient } from '@cosmjs/stargate';
|
|
2
|
+
import { AltVM } from '@humanode-hyperlane/provider-sdk';
|
|
3
|
+
import { type PostDispatchExtension } from '../hyperlane/post_dispatch/query.js';
|
|
4
|
+
/**
|
|
5
|
+
* Type alias for query client with PostDispatch extension.
|
|
6
|
+
* Used throughout hook readers to ensure type safety.
|
|
7
|
+
*/
|
|
8
|
+
export type CosmosHookQueryClient = QueryClient & PostDispatchExtension;
|
|
9
|
+
export declare function getHookType(query: CosmosHookQueryClient, hookAddress: string): Promise<AltVM.HookType>;
|
|
10
|
+
/**
|
|
11
|
+
* Query IGP hook configuration from chain.
|
|
12
|
+
*
|
|
13
|
+
* @param query - Query client with PostDispatchExtension
|
|
14
|
+
* @param hookId - ID of the IGP hook to query
|
|
15
|
+
* @returns IGP hook configuration with address, owner, and destination gas configs
|
|
16
|
+
* @throws Error if IGP hook not found
|
|
17
|
+
*/
|
|
18
|
+
export declare function getIgpHookConfig(query: CosmosHookQueryClient, hookId: string): Promise<{
|
|
19
|
+
address: string;
|
|
20
|
+
owner: string;
|
|
21
|
+
destinationGasConfigs: {
|
|
22
|
+
[domainId: string]: {
|
|
23
|
+
gasOracle: {
|
|
24
|
+
tokenExchangeRate: string;
|
|
25
|
+
gasPrice: string;
|
|
26
|
+
};
|
|
27
|
+
gasOverhead: string;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
}>;
|
|
31
|
+
/**
|
|
32
|
+
* Query MerkleTree hook configuration from chain.
|
|
33
|
+
*
|
|
34
|
+
* @param query - Query client with PostDispatchExtension
|
|
35
|
+
* @param hookId - ID of the MerkleTree hook to query
|
|
36
|
+
* @returns MerkleTree hook configuration with address
|
|
37
|
+
* @throws Error if MerkleTree hook not found
|
|
38
|
+
*/
|
|
39
|
+
export declare function getMerkleTreeHookConfig(query: CosmosHookQueryClient, hookId: string): Promise<{
|
|
40
|
+
address: string;
|
|
41
|
+
}>;
|
|
42
|
+
//# sourceMappingURL=hook-query.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hook-query.d.ts","sourceRoot":"","sources":["../../src/hook/hook-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAGzD,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAEjF;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,WAAW,GAAG,qBAAqB,CAAC;AAsBxE,wBAAsB,WAAW,CAC/B,KAAK,EAAE,qBAAqB,EAC5B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAgBzB;AAED;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,qBAAqB,EAC5B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IACT,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB,EAAE;QACrB,CAAC,QAAQ,EAAE,MAAM,GAAG;YAClB,SAAS,EAAE;gBACT,iBAAiB,EAAE,MAAM,CAAC;gBAC1B,QAAQ,EAAE,MAAM,CAAC;aAClB,CAAC;YACF,WAAW,EAAE,MAAM,CAAC;SACrB,CAAC;KACH,CAAC;CACH,CAAC,CA2CD;AAED;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,qBAAqB,EAC5B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IACT,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC,CAeD"}
|