@humanode-hyperlane/radix-sdk 0.0.0-stage → 30.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.
- package/LICENSE.md +193 -0
- package/README.md +42 -2
- package/dist/clients/protocol.d.ts +29 -0
- package/dist/clients/protocol.d.ts.map +1 -0
- package/dist/clients/protocol.js +95 -0
- package/dist/clients/protocol.js.map +1 -0
- package/dist/clients/provider.d.ts +100 -0
- package/dist/clients/provider.d.ts.map +1 -0
- package/dist/clients/provider.js +481 -0
- package/dist/clients/provider.js.map +1 -0
- package/dist/clients/signer.d.ts +66 -0
- package/dist/clients/signer.d.ts.map +1 -0
- package/dist/clients/signer.js +368 -0
- package/dist/clients/signer.js.map +1 -0
- package/dist/hook/hook-artifact-manager.d.ts +17 -0
- package/dist/hook/hook-artifact-manager.d.ts.map +1 -0
- package/dist/hook/hook-artifact-manager.js +60 -0
- package/dist/hook/hook-artifact-manager.js.map +1 -0
- package/dist/hook/hook-query.d.ts +22 -0
- package/dist/hook/hook-query.d.ts.map +1 -0
- package/dist/hook/hook-query.js +79 -0
- package/dist/hook/hook-query.js.map +1 -0
- package/dist/hook/hook-tx.d.ts +21 -0
- package/dist/hook/hook-tx.d.ts.map +1 -0
- package/dist/hook/hook-tx.js +26 -0
- package/dist/hook/hook-tx.js.map +1 -0
- package/dist/hook/igp-hook.d.ts +24 -0
- package/dist/hook/igp-hook.d.ts.map +1 -0
- package/dist/hook/igp-hook.js +148 -0
- package/dist/hook/igp-hook.js.map +1 -0
- package/dist/hook/merkle-tree-hook.d.ts +24 -0
- package/dist/hook/merkle-tree-hook.d.ts.map +1 -0
- package/dist/hook/merkle-tree-hook.js +51 -0
- package/dist/hook/merkle-tree-hook.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/ism/ism-artifact-manager.d.ts +14 -0
- package/dist/ism/ism-artifact-manager.d.ts.map +1 -0
- package/dist/ism/ism-artifact-manager.js +67 -0
- package/dist/ism/ism-artifact-manager.js.map +1 -0
- package/dist/ism/ism-query.d.ts +23 -0
- package/dist/ism/ism-query.d.ts.map +1 -0
- package/dist/ism/ism-query.js +84 -0
- package/dist/ism/ism-query.js.map +1 -0
- package/dist/ism/ism-tx.d.ts +31 -0
- package/dist/ism/ism-tx.d.ts.map +1 -0
- package/dist/ism/ism-tx.js +43 -0
- package/dist/ism/ism-tx.js.map +1 -0
- package/dist/ism/multisig-ism.d.ts +38 -0
- package/dist/ism/multisig-ism.d.ts.map +1 -0
- package/dist/ism/multisig-ism.js +107 -0
- package/dist/ism/multisig-ism.js.map +1 -0
- package/dist/ism/routing-ism.d.ts +23 -0
- package/dist/ism/routing-ism.d.ts.map +1 -0
- package/dist/ism/routing-ism.js +129 -0
- package/dist/ism/routing-ism.js.map +1 -0
- package/dist/ism/test-ism.d.ts +23 -0
- package/dist/ism/test-ism.d.ts.map +1 -0
- package/dist/ism/test-ism.js +49 -0
- package/dist/ism/test-ism.js.map +1 -0
- package/dist/mailbox/mailbox-artifact-manager.d.ts +15 -0
- package/dist/mailbox/mailbox-artifact-manager.d.ts.map +1 -0
- package/dist/mailbox/mailbox-artifact-manager.js +29 -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 +72 -0
- package/dist/mailbox/mailbox-query.js.map +1 -0
- package/dist/mailbox/mailbox-query.test.d.ts +2 -0
- package/dist/mailbox/mailbox-query.test.d.ts.map +1 -0
- package/dist/mailbox/mailbox-query.test.js +65 -0
- package/dist/mailbox/mailbox-query.test.js.map +1 -0
- package/dist/mailbox/mailbox-tx.d.ts +21 -0
- package/dist/mailbox/mailbox-tx.d.ts.map +1 -0
- package/dist/mailbox/mailbox-tx.js +27 -0
- package/dist/mailbox/mailbox-tx.js.map +1 -0
- package/dist/mailbox/mailbox.d.ts +24 -0
- package/dist/mailbox/mailbox.d.ts.map +1 -0
- package/dist/mailbox/mailbox.js +171 -0
- package/dist/mailbox/mailbox.js.map +1 -0
- package/dist/testing/constants.d.ts +61 -0
- package/dist/testing/constants.d.ts.map +1 -0
- package/dist/testing/constants.js +65 -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 +11 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/node.d.ts +13 -0
- package/dist/testing/node.d.ts.map +1 -0
- package/dist/testing/node.js +42 -0
- package/dist/testing/node.js.map +1 -0
- package/dist/testing/setup.d.ts +20 -0
- package/dist/testing/setup.d.ts.map +1 -0
- package/dist/testing/setup.js +61 -0
- package/dist/testing/setup.js.map +1 -0
- package/dist/tests/e2e-test.setup.d.ts +3 -0
- package/dist/tests/e2e-test.setup.d.ts.map +1 -0
- package/dist/tests/e2e-test.setup.js +32 -0
- package/dist/tests/e2e-test.setup.js.map +1 -0
- package/dist/tests/hook.e2e-test.d.ts +2 -0
- package/dist/tests/hook.e2e-test.d.ts.map +1 -0
- package/dist/tests/hook.e2e-test.js +369 -0
- package/dist/tests/hook.e2e-test.js.map +1 -0
- package/dist/tests/ism.e2e-test.d.ts +2 -0
- package/dist/tests/ism.e2e-test.d.ts.map +1 -0
- package/dist/tests/ism.e2e-test.js +250 -0
- package/dist/tests/ism.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 +254 -0
- package/dist/tests/mailbox.e2e-test.js.map +1 -0
- package/dist/tests/validator-announce.e2e-test.d.ts +2 -0
- package/dist/tests/validator-announce.e2e-test.d.ts.map +1 -0
- package/dist/tests/validator-announce.e2e-test.js +116 -0
- package/dist/tests/validator-announce.e2e-test.js.map +1 -0
- package/dist/tests/warp.e2e-test.d.ts +2 -0
- package/dist/tests/warp.e2e-test.d.ts.map +1 -0
- package/dist/tests/warp.e2e-test.js +602 -0
- package/dist/tests/warp.e2e-test.js.map +1 -0
- package/dist/utils/base-query.d.ts +188 -0
- package/dist/utils/base-query.d.ts.map +1 -0
- package/dist/utils/base-query.js +207 -0
- package/dist/utils/base-query.js.map +1 -0
- package/dist/utils/base.d.ts +67 -0
- package/dist/utils/base.d.ts.map +1 -0
- package/dist/utils/base.js +353 -0
- package/dist/utils/base.js.map +1 -0
- package/dist/utils/constants.d.ts +20 -0
- package/dist/utils/constants.d.ts.map +1 -0
- package/dist/utils/constants.js +20 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/signer.d.ts +17 -0
- package/dist/utils/signer.d.ts.map +1 -0
- package/dist/utils/signer.js +60 -0
- package/dist/utils/signer.js.map +1 -0
- package/dist/utils/types.d.ts +139 -0
- package/dist/utils/types.d.ts.map +1 -0
- package/dist/utils/types.js +39 -0
- package/dist/utils/types.js.map +1 -0
- package/dist/utils/utils.d.ts +8 -0
- package/dist/utils/utils.d.ts.map +1 -0
- package/dist/utils/utils.js +47 -0
- package/dist/utils/utils.js.map +1 -0
- package/dist/utils/utils.test.d.ts +2 -0
- package/dist/utils/utils.test.d.ts.map +1 -0
- package/dist/utils/utils.test.js +27 -0
- package/dist/utils/utils.test.js.map +1 -0
- package/dist/validator-announce/validator-announce-artifact-manager.d.ts +14 -0
- package/dist/validator-announce/validator-announce-artifact-manager.d.ts.map +1 -0
- package/dist/validator-announce/validator-announce-artifact-manager.js +21 -0
- package/dist/validator-announce/validator-announce-artifact-manager.js.map +1 -0
- package/dist/validator-announce/validator-announce-query.d.ts +6 -0
- package/dist/validator-announce/validator-announce-query.d.ts.map +1 -0
- package/dist/validator-announce/validator-announce-query.js +10 -0
- package/dist/validator-announce/validator-announce-query.js.map +1 -0
- package/dist/validator-announce/validator-announce-tx.d.ts +4 -0
- package/dist/validator-announce/validator-announce-tx.d.ts.map +1 -0
- package/dist/validator-announce/validator-announce-tx.js +6 -0
- package/dist/validator-announce/validator-announce-tx.js.map +1 -0
- package/dist/validator-announce/validator-announce.d.ts +23 -0
- package/dist/validator-announce/validator-announce.d.ts.map +1 -0
- package/dist/validator-announce/validator-announce.js +52 -0
- package/dist/validator-announce/validator-announce.js.map +1 -0
- package/dist/warp/collateral-token.d.ts +23 -0
- package/dist/warp/collateral-token.d.ts.map +1 -0
- package/dist/warp/collateral-token.js +130 -0
- package/dist/warp/collateral-token.js.map +1 -0
- package/dist/warp/populate.d.ts +71 -0
- package/dist/warp/populate.d.ts.map +1 -0
- package/dist/warp/populate.js +110 -0
- package/dist/warp/populate.js.map +1 -0
- package/dist/warp/query.d.ts +44 -0
- package/dist/warp/query.d.ts.map +1 -0
- package/dist/warp/query.js +154 -0
- package/dist/warp/query.js.map +1 -0
- package/dist/warp/synthetic-token.d.ts +23 -0
- package/dist/warp/synthetic-token.d.ts.map +1 -0
- package/dist/warp/synthetic-token.js +131 -0
- package/dist/warp/synthetic-token.js.map +1 -0
- package/dist/warp/tx.d.ts +54 -0
- package/dist/warp/tx.d.ts.map +1 -0
- package/dist/warp/tx.js +85 -0
- package/dist/warp/tx.js.map +1 -0
- package/dist/warp/warp-artifact-manager.d.ts +15 -0
- package/dist/warp/warp-artifact-manager.d.ts.map +1 -0
- package/dist/warp/warp-artifact-manager.js +49 -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 +130 -0
- package/dist/warp/warp-query.js.map +1 -0
- package/dist/warp/warp-tx.d.ts +48 -0
- package/dist/warp/warp-tx.d.ts.map +1 -0
- package/dist/warp/warp-tx.js +125 -0
- package/dist/warp/warp-tx.js.map +1 -0
- package/docker-compose.yml +139 -0
- package/package.json +64 -3
|
@@ -0,0 +1,481 @@
|
|
|
1
|
+
import { GatewayApiClient } from '@radixdlt/babylon-gateway-api-sdk';
|
|
2
|
+
import { NetworkId } from '@radixdlt/radix-engine-toolkit';
|
|
3
|
+
import { AltVM } from '@humanode-hyperlane/provider-sdk';
|
|
4
|
+
import { ZERO_ADDRESS_HEX_32, assert } from '@humanode-hyperlane/utils';
|
|
5
|
+
import { getHookType, getIgpHookConfig, getMerkleTreeHookConfig, } from '../hook/hook-query.js';
|
|
6
|
+
import { getCreateIgpTx, getCreateMerkleTreeHookTx, getSetIgpDestinationGasConfigTx, getSetIgpOwnerTx, } from '../hook/hook-tx.js';
|
|
7
|
+
import { getDomainRoutingIsmConfig, getIsmType, getMultisigIsmConfig, getTestIsmConfig, } from '../ism/ism-query.js';
|
|
8
|
+
import { getCreateMerkleRootMultisigIsmTx, getCreateMessageIdMultisigIsmTx, getCreateNoopIsmTx, getCreateRoutingIsmTx, getRemoveRoutingIsmDomainIsmTx, getSetRoutingIsmDomainIsmTx, getSetRoutingIsmOwnerTx, } from '../ism/ism-tx.js';
|
|
9
|
+
import { getMailboxConfig, isMessageDelivered, } from '../mailbox/mailbox-query.js';
|
|
10
|
+
import { getCreateMailboxTx, getSetMailboxDefaultHookTx, getSetMailboxDefaultIsmTx, getSetMailboxOwnerTx, getSetMailboxRequiredHookTx, } from '../mailbox/mailbox-tx.js';
|
|
11
|
+
import { RadixBase } from '../utils/base.js';
|
|
12
|
+
import { RadixHookTypes, RadixIsmTypes, } from '../utils/types.js';
|
|
13
|
+
import { getCreateValidatorAnnounceTx } from '../validator-announce/validator-announce-tx.js';
|
|
14
|
+
import { RadixWarpPopulate } from '../warp/populate.js';
|
|
15
|
+
import { RadixWarpQuery } from '../warp/query.js';
|
|
16
|
+
const DEFAULT_GAS_MULTIPLIER = 1.2;
|
|
17
|
+
export const NETWORKS = {
|
|
18
|
+
[NetworkId.Stokenet]: {
|
|
19
|
+
applicationName: 'hyperlane',
|
|
20
|
+
packageAddress: 'package_tdx_2_1pkn2zdcw8q8rax6mxetdkgp7493mf379afhq7a7peh4wnftz3zej4h',
|
|
21
|
+
},
|
|
22
|
+
[NetworkId.Mainnet]: {
|
|
23
|
+
applicationName: 'hyperlane',
|
|
24
|
+
packageAddress: 'package_rdx1pkzmcj4mtal34ddx9jrt8um6u3yqheqpfvcj4s0ulmgyt094fw0jzh',
|
|
25
|
+
},
|
|
26
|
+
[NetworkId.LocalNet]: {
|
|
27
|
+
applicationName: 'hyperlane',
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
export class RadixProvider {
|
|
31
|
+
rpcUrls;
|
|
32
|
+
networkId;
|
|
33
|
+
gateway;
|
|
34
|
+
applicationName;
|
|
35
|
+
packageAddress;
|
|
36
|
+
base;
|
|
37
|
+
query;
|
|
38
|
+
populate;
|
|
39
|
+
static async connect(rpcUrls, chainId, extraParams) {
|
|
40
|
+
const networkId = parseInt(chainId.toString());
|
|
41
|
+
const metadata = extraParams?.metadata;
|
|
42
|
+
if (metadata?.chainId != null) {
|
|
43
|
+
const metadataChainId = parseInt(metadata.chainId.toString());
|
|
44
|
+
assert(metadataChainId === networkId, `mismatched chainId: arg ${chainId} vs metadata ${metadata.chainId}`);
|
|
45
|
+
}
|
|
46
|
+
return new RadixProvider({
|
|
47
|
+
rpcUrls,
|
|
48
|
+
networkId,
|
|
49
|
+
gatewayUrls: metadata?.gatewayUrls?.map(({ http }) => http),
|
|
50
|
+
packageAddress: metadata?.packageAddress,
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
constructor(options) {
|
|
54
|
+
this.rpcUrls = options.rpcUrls;
|
|
55
|
+
this.networkId = options.networkId ?? NetworkId.Mainnet;
|
|
56
|
+
const networkBaseConfig = NETWORKS[this.networkId];
|
|
57
|
+
assert(networkBaseConfig, `Network with id ${this.networkId} not supported with the Hyperlane RadixSDK. Supported network ids: ${Object.keys(NETWORKS).join(', ')}`);
|
|
58
|
+
this.applicationName = networkBaseConfig.applicationName;
|
|
59
|
+
const packageAddress = options.packageAddress ?? networkBaseConfig.packageAddress;
|
|
60
|
+
assert(packageAddress, `Expected package address to be defined for radix network with id ${this.networkId}`);
|
|
61
|
+
this.packageAddress = packageAddress;
|
|
62
|
+
this.gateway = GatewayApiClient.initialize({
|
|
63
|
+
applicationName: this.applicationName,
|
|
64
|
+
basePath: options.gatewayUrls?.[0],
|
|
65
|
+
networkId: this.networkId,
|
|
66
|
+
});
|
|
67
|
+
this.base = new RadixBase(this.networkId, this.gateway, options.gasMultiplier ?? DEFAULT_GAS_MULTIPLIER, this.packageAddress);
|
|
68
|
+
this.query = {
|
|
69
|
+
warp: new RadixWarpQuery(this.networkId, this.gateway, this.base),
|
|
70
|
+
};
|
|
71
|
+
this.populate = {
|
|
72
|
+
warp: new RadixWarpPopulate(this.gateway, this.base, this.query.warp, this.packageAddress),
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
// ### QUERY BASE ###
|
|
76
|
+
async isHealthy() {
|
|
77
|
+
return this.base.isGatewayHealthy();
|
|
78
|
+
}
|
|
79
|
+
getRpcUrls() {
|
|
80
|
+
return this.rpcUrls;
|
|
81
|
+
}
|
|
82
|
+
// in RadixDLT there are no blocks, but we can use the ledger state version
|
|
83
|
+
// which has a similar concept
|
|
84
|
+
async getHeight() {
|
|
85
|
+
return this.base.getStateVersion();
|
|
86
|
+
}
|
|
87
|
+
async getBalance(req) {
|
|
88
|
+
assert(req.denom, `denom required by ${RadixProvider.name}`);
|
|
89
|
+
return this.base.getBalance({
|
|
90
|
+
address: req.address,
|
|
91
|
+
resource: req.denom,
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
async getTotalSupply(req) {
|
|
95
|
+
assert(req.denom, `denom required by ${RadixProvider.name}`);
|
|
96
|
+
return this.base.getTotalSupply({
|
|
97
|
+
resource: req.denom,
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
async estimateTransactionFee(req) {
|
|
101
|
+
return this.base.estimateTransactionFee({
|
|
102
|
+
transactionManifest: req.transaction.manifest,
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
// ### QUERY CORE ###
|
|
106
|
+
async getMailbox(req) {
|
|
107
|
+
const config = await getMailboxConfig(this.gateway, req.mailboxAddress);
|
|
108
|
+
return {
|
|
109
|
+
...config,
|
|
110
|
+
defaultIsm: config.defaultIsm ?? ZERO_ADDRESS_HEX_32,
|
|
111
|
+
defaultHook: config.defaultHook ?? ZERO_ADDRESS_HEX_32,
|
|
112
|
+
requiredHook: config.requiredHook ?? ZERO_ADDRESS_HEX_32,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
async isMessageDelivered(req) {
|
|
116
|
+
return isMessageDelivered(this.gateway, req.mailboxAddress, req.messageId);
|
|
117
|
+
}
|
|
118
|
+
async getIsmType(req) {
|
|
119
|
+
const ismType = await getIsmType(this.gateway, req.ismAddress);
|
|
120
|
+
switch (ismType) {
|
|
121
|
+
case RadixIsmTypes.MERKLE_ROOT_MULTISIG: {
|
|
122
|
+
return AltVM.IsmType.MERKLE_ROOT_MULTISIG;
|
|
123
|
+
}
|
|
124
|
+
case RadixIsmTypes.MESSAGE_ID_MULTISIG: {
|
|
125
|
+
return AltVM.IsmType.MESSAGE_ID_MULTISIG;
|
|
126
|
+
}
|
|
127
|
+
case RadixIsmTypes.ROUTING_ISM: {
|
|
128
|
+
return AltVM.IsmType.ROUTING;
|
|
129
|
+
}
|
|
130
|
+
case RadixIsmTypes.NOOP_ISM: {
|
|
131
|
+
return AltVM.IsmType.TEST_ISM;
|
|
132
|
+
}
|
|
133
|
+
default:
|
|
134
|
+
throw new Error(`Unknown ISM ModuleType: ${ismType}`);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
async getMessageIdMultisigIsm(req) {
|
|
138
|
+
const ism = await getMultisigIsmConfig(this.gateway, req.ismAddress);
|
|
139
|
+
assert(ism.type === RadixIsmTypes.MESSAGE_ID_MULTISIG, `ism with address ${req.ismAddress} is no ${RadixIsmTypes.MESSAGE_ID_MULTISIG}`);
|
|
140
|
+
return {
|
|
141
|
+
address: ism.address,
|
|
142
|
+
validators: ism.validators,
|
|
143
|
+
threshold: ism.threshold,
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
async getMerkleRootMultisigIsm(req) {
|
|
147
|
+
const ism = await getMultisigIsmConfig(this.gateway, req.ismAddress);
|
|
148
|
+
assert(ism.type === RadixIsmTypes.MERKLE_ROOT_MULTISIG, `ism with address ${req.ismAddress} is no ${RadixIsmTypes.MERKLE_ROOT_MULTISIG}`);
|
|
149
|
+
return {
|
|
150
|
+
address: ism.address,
|
|
151
|
+
validators: ism.validators,
|
|
152
|
+
threshold: ism.threshold,
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
async getRoutingIsm(req) {
|
|
156
|
+
const ism = await getDomainRoutingIsmConfig(this.gateway, req.ismAddress);
|
|
157
|
+
return {
|
|
158
|
+
address: ism.address,
|
|
159
|
+
owner: ism.owner,
|
|
160
|
+
routes: ism.routes,
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
async getNoopIsm(req) {
|
|
164
|
+
const ism = await getTestIsmConfig(this.gateway, req.ismAddress);
|
|
165
|
+
return {
|
|
166
|
+
address: ism.address,
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
async getHookType(req) {
|
|
170
|
+
const hookType = await getHookType(this.gateway, req.hookAddress);
|
|
171
|
+
switch (hookType) {
|
|
172
|
+
case RadixHookTypes.IGP: {
|
|
173
|
+
return AltVM.HookType.INTERCHAIN_GAS_PAYMASTER;
|
|
174
|
+
}
|
|
175
|
+
case RadixHookTypes.MERKLE_TREE: {
|
|
176
|
+
return AltVM.HookType.MERKLE_TREE;
|
|
177
|
+
}
|
|
178
|
+
default:
|
|
179
|
+
throw new Error(`Unknown Hook Type: ${hookType}`);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
async getInterchainGasPaymasterHook(req) {
|
|
183
|
+
const { address, destinationGasConfigs, owner } = await getIgpHookConfig(this.gateway, req.hookAddress);
|
|
184
|
+
return {
|
|
185
|
+
address,
|
|
186
|
+
destinationGasConfigs,
|
|
187
|
+
owner,
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
async getMerkleTreeHook(req) {
|
|
191
|
+
const { address } = await getMerkleTreeHookConfig(this.gateway, req.hookAddress);
|
|
192
|
+
return {
|
|
193
|
+
address,
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
async getNoopHook(_req) {
|
|
197
|
+
throw new Error(`Noop Hook is currently not supported on Radix`);
|
|
198
|
+
}
|
|
199
|
+
// ### QUERY WARP ###
|
|
200
|
+
async getToken(req) {
|
|
201
|
+
const token = await this.query.warp.getToken({ token: req.tokenAddress });
|
|
202
|
+
switch (token.tokenType) {
|
|
203
|
+
case 'Collateral':
|
|
204
|
+
return {
|
|
205
|
+
...token,
|
|
206
|
+
tokenType: AltVM.TokenType.collateral,
|
|
207
|
+
};
|
|
208
|
+
case 'Synthetic':
|
|
209
|
+
return {
|
|
210
|
+
...token,
|
|
211
|
+
tokenType: AltVM.TokenType.synthetic,
|
|
212
|
+
};
|
|
213
|
+
default:
|
|
214
|
+
throw new Error(`Unknown Token Type: ${token.tokenType}`);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
async getRemoteRouters(req) {
|
|
218
|
+
return this.query.warp.getRemoteRouters({ token: req.tokenAddress });
|
|
219
|
+
}
|
|
220
|
+
async getBridgedSupply(req) {
|
|
221
|
+
return this.query.warp.getBridgedSupply({ token: req.tokenAddress });
|
|
222
|
+
}
|
|
223
|
+
async quoteRemoteTransfer(req) {
|
|
224
|
+
return this.query.warp.quoteRemoteTransfer({
|
|
225
|
+
token: req.tokenAddress,
|
|
226
|
+
destination_domain: req.destinationDomainId,
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
// ### GET CORE TXS ###
|
|
230
|
+
async getCreateMailboxTransaction(req) {
|
|
231
|
+
return {
|
|
232
|
+
networkId: this.networkId,
|
|
233
|
+
manifest: await getCreateMailboxTx(this.base, req.signer, req.domainId),
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
async getSetDefaultIsmTransaction(req) {
|
|
237
|
+
return {
|
|
238
|
+
networkId: this.networkId,
|
|
239
|
+
manifest: await getSetMailboxDefaultIsmTx(this.base, req.signer, {
|
|
240
|
+
mailboxAddress: req.mailboxAddress,
|
|
241
|
+
ismAddress: req.ismAddress,
|
|
242
|
+
}),
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
async getSetDefaultHookTransaction(req) {
|
|
246
|
+
return {
|
|
247
|
+
networkId: this.networkId,
|
|
248
|
+
manifest: await getSetMailboxDefaultHookTx(this.base, req.signer, {
|
|
249
|
+
mailboxAddress: req.mailboxAddress,
|
|
250
|
+
hookAddress: req.hookAddress,
|
|
251
|
+
}),
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
async getSetRequiredHookTransaction(req) {
|
|
255
|
+
return {
|
|
256
|
+
networkId: this.networkId,
|
|
257
|
+
manifest: await getSetMailboxRequiredHookTx(this.base, req.signer, {
|
|
258
|
+
mailboxAddress: req.mailboxAddress,
|
|
259
|
+
hookAddress: req.hookAddress,
|
|
260
|
+
}),
|
|
261
|
+
};
|
|
262
|
+
}
|
|
263
|
+
async getSetMailboxOwnerTransaction(req) {
|
|
264
|
+
return {
|
|
265
|
+
networkId: this.networkId,
|
|
266
|
+
manifest: await getSetMailboxOwnerTx(this.base, this.gateway, req.signer, {
|
|
267
|
+
mailboxAddress: req.mailboxAddress,
|
|
268
|
+
newOwner: req.newOwner,
|
|
269
|
+
}),
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
async getCreateMerkleRootMultisigIsmTransaction(req) {
|
|
273
|
+
return {
|
|
274
|
+
networkId: this.networkId,
|
|
275
|
+
manifest: await getCreateMerkleRootMultisigIsmTx(this.base, req.signer, {
|
|
276
|
+
validators: req.validators,
|
|
277
|
+
threshold: req.threshold,
|
|
278
|
+
}),
|
|
279
|
+
};
|
|
280
|
+
}
|
|
281
|
+
async getCreateMessageIdMultisigIsmTransaction(req) {
|
|
282
|
+
return {
|
|
283
|
+
networkId: this.networkId,
|
|
284
|
+
manifest: await getCreateMessageIdMultisigIsmTx(this.base, req.signer, {
|
|
285
|
+
validators: req.validators,
|
|
286
|
+
threshold: req.threshold,
|
|
287
|
+
}),
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
async getCreateRoutingIsmTransaction(req) {
|
|
291
|
+
return {
|
|
292
|
+
networkId: this.networkId,
|
|
293
|
+
manifest: await getCreateRoutingIsmTx(this.base, req.signer, req.routes),
|
|
294
|
+
};
|
|
295
|
+
}
|
|
296
|
+
async getSetRoutingIsmRouteTransaction(req) {
|
|
297
|
+
return {
|
|
298
|
+
networkId: this.networkId,
|
|
299
|
+
manifest: await getSetRoutingIsmDomainIsmTx(this.base, req.signer, {
|
|
300
|
+
ismAddress: req.ismAddress,
|
|
301
|
+
domainIsm: req.route,
|
|
302
|
+
}),
|
|
303
|
+
};
|
|
304
|
+
}
|
|
305
|
+
async getRemoveRoutingIsmRouteTransaction(req) {
|
|
306
|
+
return {
|
|
307
|
+
networkId: this.networkId,
|
|
308
|
+
manifest: await getRemoveRoutingIsmDomainIsmTx(this.base, req.signer, {
|
|
309
|
+
ismAddress: req.ismAddress,
|
|
310
|
+
domainId: req.domainId,
|
|
311
|
+
}),
|
|
312
|
+
};
|
|
313
|
+
}
|
|
314
|
+
async getSetRoutingIsmOwnerTransaction(req) {
|
|
315
|
+
return {
|
|
316
|
+
networkId: this.networkId,
|
|
317
|
+
manifest: await getSetRoutingIsmOwnerTx(this.base, this.gateway, req.signer, {
|
|
318
|
+
ismAddress: req.ismAddress,
|
|
319
|
+
newOwner: req.newOwner,
|
|
320
|
+
}),
|
|
321
|
+
};
|
|
322
|
+
}
|
|
323
|
+
async getCreateNoopIsmTransaction(req) {
|
|
324
|
+
return {
|
|
325
|
+
networkId: this.networkId,
|
|
326
|
+
manifest: await getCreateNoopIsmTx(this.base, req.signer),
|
|
327
|
+
};
|
|
328
|
+
}
|
|
329
|
+
async getCreateMerkleTreeHookTransaction(req) {
|
|
330
|
+
return {
|
|
331
|
+
networkId: this.networkId,
|
|
332
|
+
manifest: await getCreateMerkleTreeHookTx(this.base, req.signer, req.mailboxAddress),
|
|
333
|
+
};
|
|
334
|
+
}
|
|
335
|
+
async getCreateInterchainGasPaymasterHookTransaction(req) {
|
|
336
|
+
assert(req.denom, `denom required by ${RadixProvider.name}`);
|
|
337
|
+
return {
|
|
338
|
+
networkId: this.networkId,
|
|
339
|
+
manifest: await getCreateIgpTx(this.base, req.signer, req.denom),
|
|
340
|
+
};
|
|
341
|
+
}
|
|
342
|
+
async getSetInterchainGasPaymasterHookOwnerTransaction(req) {
|
|
343
|
+
return {
|
|
344
|
+
networkId: this.networkId,
|
|
345
|
+
manifest: await getSetIgpOwnerTx(this.base, this.gateway, req.signer, {
|
|
346
|
+
igpAddress: req.hookAddress,
|
|
347
|
+
newOwner: req.newOwner,
|
|
348
|
+
}),
|
|
349
|
+
};
|
|
350
|
+
}
|
|
351
|
+
async getSetDestinationGasConfigTransaction(req) {
|
|
352
|
+
return {
|
|
353
|
+
networkId: this.networkId,
|
|
354
|
+
manifest: await getSetIgpDestinationGasConfigTx(this.base, req.signer, {
|
|
355
|
+
igpAddress: req.hookAddress,
|
|
356
|
+
destinationGasConfig: req.destinationGasConfig,
|
|
357
|
+
}),
|
|
358
|
+
};
|
|
359
|
+
}
|
|
360
|
+
async getRemoveDestinationGasConfigTransaction(_req) {
|
|
361
|
+
throw new Error(`RemoveDestinationGasConfig is currently not supported on Radix`);
|
|
362
|
+
}
|
|
363
|
+
async getCreateNoopHookTransaction(_req) {
|
|
364
|
+
throw new Error(`CreateNoopHook is currently not supported on Radix`);
|
|
365
|
+
}
|
|
366
|
+
async getCreateValidatorAnnounceTransaction(req) {
|
|
367
|
+
return {
|
|
368
|
+
networkId: this.networkId,
|
|
369
|
+
manifest: await getCreateValidatorAnnounceTx(this.base, req.signer, req.mailboxAddress),
|
|
370
|
+
};
|
|
371
|
+
}
|
|
372
|
+
async getCreateProxyAdminTransaction(_req) {
|
|
373
|
+
throw new Error('ProxyAdmin is not supported on Radix');
|
|
374
|
+
}
|
|
375
|
+
async getSetProxyAdminOwnerTransaction(_req) {
|
|
376
|
+
throw new Error('ProxyAdmin is not supported on Radix');
|
|
377
|
+
}
|
|
378
|
+
// ### GET WARP TXS ###
|
|
379
|
+
async getCreateNativeTokenTransaction(_req) {
|
|
380
|
+
throw new Error(`Native Token is not supported on Radix`);
|
|
381
|
+
}
|
|
382
|
+
async getCreateCollateralTokenTransaction(req) {
|
|
383
|
+
return {
|
|
384
|
+
networkId: this.networkId,
|
|
385
|
+
manifest: await this.populate.warp.createCollateralToken({
|
|
386
|
+
from_address: req.signer,
|
|
387
|
+
mailbox: req.mailboxAddress,
|
|
388
|
+
origin_denom: req.collateralDenom,
|
|
389
|
+
}),
|
|
390
|
+
};
|
|
391
|
+
}
|
|
392
|
+
async getCreateSyntheticTokenTransaction(req) {
|
|
393
|
+
return {
|
|
394
|
+
networkId: this.networkId,
|
|
395
|
+
manifest: await this.populate.warp.createSyntheticToken({
|
|
396
|
+
from_address: req.signer,
|
|
397
|
+
mailbox: req.mailboxAddress,
|
|
398
|
+
name: req.name,
|
|
399
|
+
symbol: req.denom,
|
|
400
|
+
divisibility: req.decimals,
|
|
401
|
+
}),
|
|
402
|
+
};
|
|
403
|
+
}
|
|
404
|
+
async getSetTokenOwnerTransaction(req) {
|
|
405
|
+
return {
|
|
406
|
+
networkId: this.networkId,
|
|
407
|
+
manifest: await this.populate.warp.setTokenOwner({
|
|
408
|
+
from_address: req.signer,
|
|
409
|
+
token: req.tokenAddress,
|
|
410
|
+
new_owner: req.newOwner,
|
|
411
|
+
}),
|
|
412
|
+
};
|
|
413
|
+
}
|
|
414
|
+
async getSetTokenIsmTransaction(req) {
|
|
415
|
+
return {
|
|
416
|
+
networkId: this.networkId,
|
|
417
|
+
manifest: await this.populate.warp.setTokenIsm({
|
|
418
|
+
from_address: req.signer,
|
|
419
|
+
token: req.tokenAddress,
|
|
420
|
+
ism: req.ismAddress,
|
|
421
|
+
}),
|
|
422
|
+
};
|
|
423
|
+
}
|
|
424
|
+
async getSetTokenHookTransaction(_req) {
|
|
425
|
+
throw new Error(`SetTokenHook is currently not supported on Radix`);
|
|
426
|
+
}
|
|
427
|
+
async getEnrollRemoteRouterTransaction(req) {
|
|
428
|
+
return {
|
|
429
|
+
networkId: this.networkId,
|
|
430
|
+
manifest: await this.populate.warp.enrollRemoteRouter({
|
|
431
|
+
from_address: req.signer,
|
|
432
|
+
token: req.tokenAddress,
|
|
433
|
+
receiver_domain: req.remoteRouter.receiverDomainId,
|
|
434
|
+
receiver_address: req.remoteRouter.receiverAddress,
|
|
435
|
+
gas: req.remoteRouter.gas,
|
|
436
|
+
}),
|
|
437
|
+
};
|
|
438
|
+
}
|
|
439
|
+
async getUnenrollRemoteRouterTransaction(req) {
|
|
440
|
+
return {
|
|
441
|
+
networkId: this.networkId,
|
|
442
|
+
manifest: await this.populate.warp.unenrollRemoteRouter({
|
|
443
|
+
from_address: req.signer,
|
|
444
|
+
token: req.tokenAddress,
|
|
445
|
+
receiver_domain: req.receiverDomainId,
|
|
446
|
+
}),
|
|
447
|
+
};
|
|
448
|
+
}
|
|
449
|
+
async getTransferTransaction(req) {
|
|
450
|
+
assert(req.denom, `denom required by ${RadixProvider.name}`);
|
|
451
|
+
return {
|
|
452
|
+
networkId: this.networkId,
|
|
453
|
+
manifest: await this.base.transfer({
|
|
454
|
+
from_address: req.signer,
|
|
455
|
+
to_address: req.recipient,
|
|
456
|
+
amount: req.amount,
|
|
457
|
+
resource_address: req.denom,
|
|
458
|
+
}),
|
|
459
|
+
};
|
|
460
|
+
}
|
|
461
|
+
async getRemoteTransferTransaction(req) {
|
|
462
|
+
return {
|
|
463
|
+
networkId: this.networkId,
|
|
464
|
+
manifest: await this.populate.warp.remoteTransfer({
|
|
465
|
+
from_address: req.signer,
|
|
466
|
+
token: req.tokenAddress,
|
|
467
|
+
destination_domain: req.destinationDomainId,
|
|
468
|
+
recipient: req.recipient,
|
|
469
|
+
amount: req.amount,
|
|
470
|
+
custom_hook_id: req.customHookAddress || '',
|
|
471
|
+
gas_limit: req.gasLimit,
|
|
472
|
+
custom_hook_metadata: req.customHookMetadata || '',
|
|
473
|
+
max_fee: {
|
|
474
|
+
amount: req.maxFee.amount,
|
|
475
|
+
denom: req.maxFee.denom,
|
|
476
|
+
},
|
|
477
|
+
}),
|
|
478
|
+
};
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
//# sourceMappingURL=provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/clients/provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { AltVM } from '@humanode-hyperlane/provider-sdk';
|
|
2
|
+
import { RadixBaseSigner } from '../utils/signer.js';
|
|
3
|
+
import { RadixSDKReceipt, RadixSDKTransaction } from '../utils/types.js';
|
|
4
|
+
import { RadixProvider } from './provider.js';
|
|
5
|
+
type RadixSignerMetadata = {
|
|
6
|
+
chainId?: string | number;
|
|
7
|
+
gatewayUrls?: {
|
|
8
|
+
http: string;
|
|
9
|
+
}[];
|
|
10
|
+
packageAddress?: string;
|
|
11
|
+
};
|
|
12
|
+
type RadixSignerConnectionParams = {
|
|
13
|
+
metadata?: RadixSignerMetadata;
|
|
14
|
+
};
|
|
15
|
+
export declare class RadixSigner extends RadixProvider implements AltVM.ISigner<RadixSDKTransaction, RadixSDKReceipt> {
|
|
16
|
+
private account;
|
|
17
|
+
private tx;
|
|
18
|
+
private signer;
|
|
19
|
+
private constructor();
|
|
20
|
+
static connectWithSigner(rpcUrls: string[], privateKey: string, extraParams?: RadixSignerConnectionParams): Promise<RadixSigner>;
|
|
21
|
+
getSignerAddress(): string;
|
|
22
|
+
supportsTransactionBatching(): boolean;
|
|
23
|
+
getBaseSigner(): RadixBaseSigner;
|
|
24
|
+
getGatewayClient(): import("@radixdlt/babylon-gateway-api-sdk").GatewayApiClient;
|
|
25
|
+
getBaseClient(): import("../utils/base.js").RadixBase;
|
|
26
|
+
transactionToPrintableJson(transaction: RadixSDKTransaction): Promise<object>;
|
|
27
|
+
sendAndConfirmTransaction(transaction: RadixSDKTransaction): Promise<RadixSDKReceipt>;
|
|
28
|
+
sendAndConfirmBatchTransactions(_transactions: RadixSDKTransaction[]): Promise<RadixSDKReceipt>;
|
|
29
|
+
createMailbox(req: Omit<AltVM.ReqCreateMailbox, 'signer'>): Promise<AltVM.ResCreateMailbox>;
|
|
30
|
+
setDefaultIsm(req: Omit<AltVM.ReqSetDefaultIsm, 'signer'>): Promise<AltVM.ResSetDefaultIsm>;
|
|
31
|
+
setDefaultHook(req: Omit<AltVM.ReqSetDefaultHook, 'signer'>): Promise<AltVM.ResSetDefaultHook>;
|
|
32
|
+
setRequiredHook(req: Omit<AltVM.ReqSetRequiredHook, 'signer'>): Promise<AltVM.ResSetRequiredHook>;
|
|
33
|
+
setMailboxOwner(req: Omit<AltVM.ReqSetMailboxOwner, 'signer'>): Promise<AltVM.ResSetMailboxOwner>;
|
|
34
|
+
createMerkleRootMultisigIsm(req: Omit<AltVM.ReqCreateMerkleRootMultisigIsm, 'signer'>): Promise<AltVM.ResCreateMerkleRootMultisigIsm>;
|
|
35
|
+
createMessageIdMultisigIsm(req: Omit<AltVM.ReqCreateMessageIdMultisigIsm, 'signer'>): Promise<AltVM.ResCreateMessageIdMultisigIsm>;
|
|
36
|
+
createRoutingIsm(req: Omit<AltVM.ReqCreateRoutingIsm, 'signer'>): Promise<AltVM.ResCreateRoutingIsm>;
|
|
37
|
+
setRoutingIsmRoute(req: Omit<AltVM.ReqSetRoutingIsmRoute, 'signer'>): Promise<AltVM.ResSetRoutingIsmRoute>;
|
|
38
|
+
removeRoutingIsmRoute(req: Omit<AltVM.ReqRemoveRoutingIsmRoute, 'signer'>): Promise<AltVM.ResRemoveRoutingIsmRoute>;
|
|
39
|
+
setRoutingIsmOwner(req: Omit<AltVM.ReqSetRoutingIsmOwner, 'signer'>): Promise<AltVM.ResSetRoutingIsmOwner>;
|
|
40
|
+
createNoopIsm(_req: Omit<AltVM.ReqCreateNoopIsm, 'signer'>): Promise<AltVM.ResCreateNoopIsm>;
|
|
41
|
+
createMerkleTreeHook(req: Omit<AltVM.ReqCreateMerkleTreeHook, 'signer'>): Promise<AltVM.ResCreateMerkleTreeHook>;
|
|
42
|
+
createInterchainGasPaymasterHook(req: Omit<AltVM.ReqCreateInterchainGasPaymasterHook, 'signer'>): Promise<AltVM.ResCreateInterchainGasPaymasterHook>;
|
|
43
|
+
setInterchainGasPaymasterHookOwner(req: Omit<AltVM.ReqSetInterchainGasPaymasterHookOwner, 'signer'>): Promise<AltVM.ResSetInterchainGasPaymasterHookOwner>;
|
|
44
|
+
setDestinationGasConfig(req: Omit<AltVM.ReqSetDestinationGasConfig, 'signer'>): Promise<AltVM.ResSetDestinationGasConfig>;
|
|
45
|
+
removeDestinationGasConfig(_req: Omit<AltVM.ReqRemoveDestinationGasConfig, 'signer'>): Promise<AltVM.ResRemoveDestinationGasConfig>;
|
|
46
|
+
createNoopHook(_req: Omit<AltVM.ReqCreateNoopHook, 'signer'>): Promise<AltVM.ResCreateNoopHook>;
|
|
47
|
+
createValidatorAnnounce(req: Omit<AltVM.ReqCreateValidatorAnnounce, 'signer'>): Promise<AltVM.ResCreateValidatorAnnounce>;
|
|
48
|
+
createProxyAdmin(_req: Omit<AltVM.ReqCreateProxyAdmin, 'signer'>): Promise<AltVM.ResCreateProxyAdmin>;
|
|
49
|
+
setProxyAdminOwner(_req: Omit<AltVM.ReqSetProxyAdminOwner, 'signer'>): Promise<AltVM.ResSetProxyAdminOwner>;
|
|
50
|
+
createNativeToken(_req: Omit<AltVM.ReqCreateNativeToken, 'signer'>): Promise<AltVM.ResCreateNativeToken>;
|
|
51
|
+
createCollateralToken(req: Omit<AltVM.ReqCreateCollateralToken, 'signer'>): Promise<AltVM.ResCreateCollateralToken>;
|
|
52
|
+
createSyntheticToken(req: Omit<AltVM.ReqCreateSyntheticToken, 'signer'>): Promise<AltVM.ResCreateSyntheticToken>;
|
|
53
|
+
setTokenOwner(req: Omit<AltVM.ReqSetTokenOwner, 'signer'>): Promise<AltVM.ResSetTokenOwner>;
|
|
54
|
+
setTokenIsm(req: Omit<AltVM.ReqSetTokenIsm, 'signer'>): Promise<AltVM.ResSetTokenIsm>;
|
|
55
|
+
setTokenHook(_req: Omit<AltVM.ReqSetTokenHook, 'signer'>): Promise<AltVM.ResSetTokenHook>;
|
|
56
|
+
enrollRemoteRouter(req: Omit<AltVM.ReqEnrollRemoteRouter, 'signer'>): Promise<AltVM.ResEnrollRemoteRouter>;
|
|
57
|
+
unenrollRemoteRouter(req: Omit<AltVM.ReqUnenrollRemoteRouter, 'signer'>): Promise<AltVM.ResUnenrollRemoteRouter>;
|
|
58
|
+
transfer(req: Omit<AltVM.ReqTransfer, 'signer'>): Promise<AltVM.ResTransfer>;
|
|
59
|
+
remoteTransfer(req: Omit<AltVM.ReqRemoteTransfer, 'signer'>): Promise<AltVM.ResRemoteTransfer>;
|
|
60
|
+
publishPackage(params: {
|
|
61
|
+
code: Uint8Array;
|
|
62
|
+
packageDefinition: Uint8Array;
|
|
63
|
+
}): Promise<string>;
|
|
64
|
+
}
|
|
65
|
+
export {};
|
|
66
|
+
//# sourceMappingURL=signer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../src/clients/signer.ts"],"names":[],"mappings":"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"}
|