@recoillink/radix-sdk 0.0.0-stage → 45.0.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 +42 -2
- package/dist/clients/protocol.d.ts +31 -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 +60 -0
- package/dist/clients/provider.d.ts.map +1 -0
- package/dist/clients/provider.js +187 -0
- package/dist/clients/provider.js.map +1 -0
- package/dist/clients/signer.d.ts +24 -0
- package/dist/clients/signer.d.ts.map +1 -0
- package/dist/clients/signer.js +86 -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/runtime.d.ts +7 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +6 -0
- package/dist/runtime.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 +57 -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 +374 -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 +256 -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 +250 -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 +107 -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 +597 -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 +209 -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 +355 -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 +141 -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 +163 -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/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 +74 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mCAAmC,EAAE,MAAM,mCAAmC,CAAC;AACxF,OAAO,EACL,UAAU,EACV,SAAS,EACT,mBAAmB,EACpB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,mBAAmB,GAAG,MAAM,CAAC;CACxC;AAED,MAAM,MAAM,yBAAyB,GAAG,SAAS,CAAC,mBAAmB,CAAC,CAAC;AAEvE,MAAM,WAAW,eAAgB,SAAQ,mCAAmC;IAC1E,eAAe,EAAE,MAAM,CAAC;CACzB;AAGD,oBAAY,YAAY;IACtB,QAAQ,aAAa;IACrB,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;IACrB,0BAA0B,+BAA+B;IACzD,oBAAoB,yBAAyB;IAC7C,sBAAsB,2BAA2B;CAClD;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,qBAAqB,CAAC;CACtC;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,oBAAY,aAAa;IACvB,oBAAoB,0BAA0B;IAC9C,mBAAmB,yBAAyB;IAC5C,WAAW,eAAe;IAC1B,QAAQ,YAAY;CACrB;AAED,MAAM,MAAM,YAAY,GACpB,aAAa,CAAC,oBAAoB,GAClC,aAAa,CAAC,mBAAmB,CAAC;AAEtC,oBAAY,cAAc;IACxB,GAAG,2BAA2B;IAC9B,WAAW,mBAAmB;CAC/B;AAED,eAAO,MAAM,qBAAqB;aAChC,SAAS,EAAE,UAAU;CACb,CAAC;AAEX,eAAO,MAAM,4BAA4B;aACvC,UAAU,EAAE,YAAY;aACxB,OAAO,EAAE,SAAS;aAClB,GAAG,EAAE,KAAK;aACV,gBAAgB,EAAE,kBAAkB;aACpC,gBAAgB,EAAE,kBAAkB;aACpC,SAAS,EAAE,WAAW;aACtB,GAAG,EAAE,KAAK;CACF,CAAC;AAEX,eAAO,MAAM,kBAAkB;aAC7B,UAAU,EAAE,YAAY;aACxB,SAAS,EAAE,WAAW;CACd,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAC5B,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAE/D,MAAM,WAAW,wBAAwB,CAAC,KAAK,SAAS,kBAAkB;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,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,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,KAAK,CAAC;CACb;AAED,MAAM,WAAW,6BAA8B,SAAQ,wBAAwB,CAAC,WAAW,CAAC;IAC1F,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,8BAA+B,SAAQ,wBAAwB,CAAC,YAAY,CAAC;IAC5F,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,oBAAoB,GAC5B,6BAA6B,GAC7B,8BAA8B,CAAC;AAEnC,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE;QACL,MAAM,EAAE,WAAW,EAAE,CAAC;KACvB,CAAC;IACF,gBAAgB,EAAE;QAChB,KAAK,EAAE;YACL,IAAI,EAAE;gBACJ,WAAW,EAAE;oBACX,UAAU,EAAE;wBACV,WAAW,EAAE;4BACX,QAAQ,EAAE,MAAM,CAAC;yBAClB,CAAC;qBACH,CAAC;iBACH,CAAC;aACH,CAAC;SACH,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE;QACN,iBAAiB,EACb;YACE,OAAO,EAAE;gBACP,GAAG,EAAE;oBACH,KAAK,EAAE,GAAG,CAAC;iBACZ,CAAC;gBACF,KAAK,EAAE;oBACL,KAAK,EAAE,GAAG,CAAC;iBACZ,CAAC;aACH,EAAE,CAAC;SACL,GACD;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,GAAG,CAAA;SAAE,CAAC;KAClC,EAAE,CAAC;IACJ,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// https://docs.radixdlt.com/docs/manifest-instructions
|
|
2
|
+
export var INSTRUCTIONS;
|
|
3
|
+
(function (INSTRUCTIONS) {
|
|
4
|
+
INSTRUCTIONS["LOCK_FEE"] = "lock_fee";
|
|
5
|
+
INSTRUCTIONS["INSTANTIATE"] = "instantiate";
|
|
6
|
+
INSTRUCTIONS["WITHDRAW"] = "withdraw";
|
|
7
|
+
INSTRUCTIONS["TRY_DEPOSIT_BATCH_OR_ABORT"] = "try_deposit_batch_or_abort";
|
|
8
|
+
INSTRUCTIONS["TRY_DEPOSIT_OR_ABORT"] = "try_deposit_or_abort";
|
|
9
|
+
INSTRUCTIONS["CREATE_PROOF_OF_AMOUNT"] = "create_proof_of_amount";
|
|
10
|
+
})(INSTRUCTIONS || (INSTRUCTIONS = {}));
|
|
11
|
+
export var RadixIsmTypes;
|
|
12
|
+
(function (RadixIsmTypes) {
|
|
13
|
+
RadixIsmTypes["MERKLE_ROOT_MULTISIG"] = "MerkleRootMultisigIsm";
|
|
14
|
+
RadixIsmTypes["MESSAGE_ID_MULTISIG"] = "MessageIdMultisigIsm";
|
|
15
|
+
RadixIsmTypes["ROUTING_ISM"] = "RoutingIsm";
|
|
16
|
+
RadixIsmTypes["NOOP_ISM"] = "NoopIsm";
|
|
17
|
+
})(RadixIsmTypes || (RadixIsmTypes = {}));
|
|
18
|
+
export var RadixHookTypes;
|
|
19
|
+
(function (RadixHookTypes) {
|
|
20
|
+
RadixHookTypes["IGP"] = "InterchainGasPaymaster";
|
|
21
|
+
RadixHookTypes["MERKLE_TREE"] = "MerkleTreeHook";
|
|
22
|
+
})(RadixHookTypes || (RadixHookTypes = {}));
|
|
23
|
+
export const RADIX_COMPONENT_NAMES = {
|
|
24
|
+
HYP_TOKEN: 'HypToken',
|
|
25
|
+
};
|
|
26
|
+
export const RADIX_WARP_TOKEN_FIELD_NAMES = {
|
|
27
|
+
TOKEN_TYPE: 'token_type',
|
|
28
|
+
MAILBOX: 'mailbox',
|
|
29
|
+
ISM: 'ism',
|
|
30
|
+
ENROLLED_ROUTERS: 'enrolled_routers',
|
|
31
|
+
RESOURCE_MANAGER: 'resource_manager',
|
|
32
|
+
RECIPIENT: 'recipient',
|
|
33
|
+
GAS: 'gas',
|
|
34
|
+
};
|
|
35
|
+
export const RadixWarpTokenType = {
|
|
36
|
+
COLLATERAL: 'Collateral',
|
|
37
|
+
SYNTHETIC: 'Synthetic',
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AAqBA,uDAAuD;AACvD,MAAM,CAAN,IAAY,YAOX;AAPD,WAAY,YAAY;IACtB,qCAAqB,CAAA;IACrB,2CAA2B,CAAA;IAC3B,qCAAqB,CAAA;IACrB,yEAAyD,CAAA;IACzD,6DAA6C,CAAA;IAC7C,iEAAiD,CAAA;AACnD,CAAC,EAPW,YAAY,KAAZ,YAAY,QAOvB;AAsBD,MAAM,CAAN,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,+DAA8C,CAAA;IAC9C,6DAA4C,CAAA;IAC5C,2CAA0B,CAAA;IAC1B,qCAAoB,CAAA;AACtB,CAAC,EALW,aAAa,KAAb,aAAa,QAKxB;AAMD,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,gDAA8B,CAAA;IAC9B,gDAA8B,CAAA;AAChC,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,SAAS,EAAE,UAAU;CACb,CAAC;AAEX,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,SAAS;IAClB,GAAG,EAAE,KAAK;IACV,gBAAgB,EAAE,kBAAkB;IACpC,gBAAgB,EAAE,kBAAkB;IACpC,SAAS,EAAE,WAAW;IACtB,GAAG,EAAE,KAAK;CACF,CAAC;AAEX,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,UAAU,EAAE,YAAY;IACxB,SAAS,EAAE,WAAW;CACd,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TransactionManifest, Value } from '@radixdlt/radix-engine-toolkit';
|
|
2
|
+
import { Account } from './types.js';
|
|
3
|
+
export declare const bytes: (hex: string) => Value;
|
|
4
|
+
export declare const getAccountPrefix: (networkId: number) => string;
|
|
5
|
+
export declare const generateNewEd25519VirtualAccount: (privateKey: string, networkId: number) => Promise<Account>;
|
|
6
|
+
export declare function stringToTransactionManifest(tx: string, networkId: number): Promise<TransactionManifest>;
|
|
7
|
+
export declare function transactionManifestToString(tx: TransactionManifest, networkId: number): Promise<string>;
|
|
8
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,mBAAmB,EACnB,KAAK,EAIN,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,eAAO,MAAM,KAAK,QAAS,MAAM,KAAG,KAOnC,CAAC;AAEF,eAAO,MAAM,gBAAgB,cAAe,MAAM,WAmBjD,CAAC;AAEF,eAAO,MAAM,gCAAgC,eAC/B,MAAM,aACP,MAAM,KAChB,OAAO,CAAC,OAAO,CAcjB,CAAC;AAEF,wBAAsB,2BAA2B,CAC/C,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,mBAAmB,CAAC,CAc9B;AAED,wBAAsB,2BAA2B,CAC/C,EAAE,EAAE,mBAAmB,EACvB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CAQjB"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Convert, InstructionsKind, LTSRadixEngineToolkit, PrivateKey, RadixEngineToolkit, ValueKind, array, u8, } from '@radixdlt/radix-engine-toolkit';
|
|
2
|
+
export const bytes = (hex) => {
|
|
3
|
+
return array(ValueKind.U8, ...Array.from(Convert.HexString.toUint8Array(hex).values()).map((item) => u8(item)));
|
|
4
|
+
};
|
|
5
|
+
export const getAccountPrefix = (networkId) => {
|
|
6
|
+
// https://docs.radixdlt.com/docs/concepts-addresses#network-specifiers
|
|
7
|
+
let prefix = 'account_';
|
|
8
|
+
switch (networkId) {
|
|
9
|
+
case 1:
|
|
10
|
+
prefix += 'rdx';
|
|
11
|
+
break;
|
|
12
|
+
case 2:
|
|
13
|
+
prefix += 'tdx_2_';
|
|
14
|
+
break;
|
|
15
|
+
case 242:
|
|
16
|
+
prefix += 'sim';
|
|
17
|
+
break;
|
|
18
|
+
default:
|
|
19
|
+
prefix += `tdx_${networkId.toString(16)}_`;
|
|
20
|
+
}
|
|
21
|
+
return prefix;
|
|
22
|
+
};
|
|
23
|
+
export const generateNewEd25519VirtualAccount = async (privateKey, networkId) => {
|
|
24
|
+
const pk = new PrivateKey.Ed25519(new Uint8Array(Buffer.from(privateKey, 'hex')));
|
|
25
|
+
const publicKey = pk.publicKey();
|
|
26
|
+
const address = await LTSRadixEngineToolkit.Derive.virtualAccountAddress(publicKey, networkId);
|
|
27
|
+
return {
|
|
28
|
+
privateKey: pk,
|
|
29
|
+
publicKey,
|
|
30
|
+
address,
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
export async function stringToTransactionManifest(tx, networkId) {
|
|
34
|
+
const res = await RadixEngineToolkit.Instructions.convert({
|
|
35
|
+
kind: InstructionsKind.String,
|
|
36
|
+
value: tx,
|
|
37
|
+
}, networkId, InstructionsKind.Parsed);
|
|
38
|
+
return {
|
|
39
|
+
instructions: res,
|
|
40
|
+
blobs: [],
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
export async function transactionManifestToString(tx, networkId) {
|
|
44
|
+
const res = await RadixEngineToolkit.Instructions.convert(tx.instructions, networkId, InstructionsKind.String);
|
|
45
|
+
return res.value;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,gBAAgB,EAChB,qBAAqB,EACrB,UAAU,EACV,kBAAkB,EAGlB,SAAS,EACT,KAAK,EACL,EAAE,GACH,MAAM,gCAAgC,CAAC;AAIxC,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,GAAW,EAAS,EAAE;IAC1C,OAAO,KAAK,CACV,SAAS,CAAC,EAAE,EACZ,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACvE,EAAE,CAAC,IAAI,CAAC,CACT,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAAiB,EAAE,EAAE;IACpD,uEAAuE;IACvE,IAAI,MAAM,GAAG,UAAU,CAAC;IAExB,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC;YAChB,MAAM;QACR,KAAK,CAAC;YACJ,MAAM,IAAI,QAAQ,CAAC;YACnB,MAAM;QACR,KAAK,GAAG;YACN,MAAM,IAAI,KAAK,CAAC;YAChB,MAAM;QACR;YACE,MAAM,IAAI,OAAO,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC;IAC/C,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gCAAgC,GAAG,KAAK,EACnD,UAAkB,EAClB,SAAiB,EACC,EAAE;IACpB,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,OAAO,CAC/B,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAC/C,CAAC;IACF,MAAM,SAAS,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,qBAAqB,CACtE,SAAS,EACT,SAAS,CACV,CAAC;IACF,OAAO;QACL,UAAU,EAAE,EAAE;QACd,SAAS;QACT,OAAO;KACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,EAAU,EACV,SAAiB;IAEjB,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,YAAY,CAAC,OAAO,CACvD;QACE,IAAI,EAAE,gBAAgB,CAAC,MAAM;QAC7B,KAAK,EAAE,EAAE;KACV,EACD,SAAS,EACT,gBAAgB,CAAC,MAAM,CACxB,CAAC;IAEF,OAAO;QACL,YAAY,EAAE,GAAG;QACjB,KAAK,EAAE,EAAE;KACV,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,EAAuB,EACvB,SAAiB;IAEjB,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,YAAY,CAAC,OAAO,CACvD,EAAE,CAAC,YAAY,EACf,SAAS,EACT,gBAAgB,CAAC,MAAM,CACxB,CAAC;IAEF,OAAO,GAAG,CAAC,KAAe,CAAC;AAC7B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.test.d.ts","sourceRoot":"","sources":["../../src/utils/utils.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { InstructionsKind } from '@radixdlt/radix-engine-toolkit';
|
|
2
|
+
import { expect } from 'chai';
|
|
3
|
+
import { addressToBytes32, assert, strip0x } from '@recoillink/utils';
|
|
4
|
+
import { getTransferRemoteManifest } from '../warp/populate.js';
|
|
5
|
+
import { stringToTransactionManifest } from './utils.js';
|
|
6
|
+
describe(stringToTransactionManifest.name, function () {
|
|
7
|
+
it('should convert a string manifest to an object manifest', async function () {
|
|
8
|
+
const stringManifest = getTransferRemoteManifest({
|
|
9
|
+
destination_domain: 1,
|
|
10
|
+
from_address: 'account_rdx12yfx5atksn0ctreywz9l72j25a90nxp0et2ufhf6hf0rd57vxfwtwk',
|
|
11
|
+
max_fee: {
|
|
12
|
+
amount: '1',
|
|
13
|
+
denom: 'resource_rdx1tknxxxxxxxxxradxrdxxxxxxxxx009923554798xxxxxxxxxradxrd',
|
|
14
|
+
},
|
|
15
|
+
origin_denom: 'resource_rdx1tknxxxxxxxxxradxrdxxxxxxxxx009923554798xxxxxxxxxradxrd',
|
|
16
|
+
recipient: strip0x(addressToBytes32('0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE')),
|
|
17
|
+
token: 'resource_rdx1tknxxxxxxxxxradxrdxxxxxxxxx009923554798xxxxxxxxxradxrd',
|
|
18
|
+
tokenAmount: '1',
|
|
19
|
+
});
|
|
20
|
+
const res = await stringToTransactionManifest(stringManifest, 1);
|
|
21
|
+
expect(res.instructions.kind).to.eq(InstructionsKind.Parsed);
|
|
22
|
+
expect(res.instructions.value).to.be.an('array');
|
|
23
|
+
assert(res.instructions.kind === InstructionsKind.Parsed, `Expected instruction to be of kind ${InstructionsKind.Parsed}`);
|
|
24
|
+
expect(res.instructions.value).to.have.length.greaterThan(0);
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
//# sourceMappingURL=utils.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../src/utils/utils.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAEzD,QAAQ,CAAC,2BAA2B,CAAC,IAAI,EAAE;IACzC,EAAE,CAAC,wDAAwD,EAAE,KAAK;QAChE,MAAM,cAAc,GAAG,yBAAyB,CAAC;YAC/C,kBAAkB,EAAE,CAAC;YACrB,YAAY,EACV,oEAAoE;YACtE,OAAO,EAAE;gBACP,MAAM,EAAE,GAAG;gBACX,KAAK,EACH,qEAAqE;aACxE;YACD,YAAY,EACV,qEAAqE;YACvE,SAAS,EAAE,OAAO,CAChB,gBAAgB,CAAC,4CAA4C,CAAC,CAC/D;YACD,KAAK,EACH,qEAAqE;YACvE,WAAW,EAAE,GAAG;SACjB,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,MAAM,2BAA2B,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAEjE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QAEjD,MAAM,CACJ,GAAG,CAAC,YAAY,CAAC,IAAI,KAAK,gBAAgB,CAAC,MAAM,EACjD,sCAAsC,gBAAgB,CAAC,MAAM,EAAE,CAChE,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { GatewayApiClient } from '@radixdlt/babylon-gateway-api-sdk';
|
|
2
|
+
import { ArtifactReader, ArtifactWriter } from '@recoillink/provider-sdk/artifact';
|
|
3
|
+
import { DeployedValidatorAnnounceAddress, IRawValidatorAnnounceArtifactManager, RawValidatorAnnounceArtifactConfigs, ValidatorAnnounceType } from '@recoillink/provider-sdk/validator-announce';
|
|
4
|
+
import { RadixSigner } from '../clients/signer.js';
|
|
5
|
+
import { RadixBase } from '../utils/base.js';
|
|
6
|
+
export declare class RadixValidatorAnnounceArtifactManager implements IRawValidatorAnnounceArtifactManager {
|
|
7
|
+
private readonly gateway;
|
|
8
|
+
private readonly base;
|
|
9
|
+
constructor(gateway: GatewayApiClient, base: RadixBase);
|
|
10
|
+
readValidatorAnnounce(address: string): Promise<import("@recoillink/provider-sdk/artifact").ArtifactDeployed<import("@recoillink/provider-sdk/validator-announce").RawValidatorAnnounceConfig, DeployedValidatorAnnounceAddress>>;
|
|
11
|
+
createReader<T extends ValidatorAnnounceType>(_type: T): ArtifactReader<RawValidatorAnnounceArtifactConfigs[T], DeployedValidatorAnnounceAddress>;
|
|
12
|
+
createWriter<T extends ValidatorAnnounceType>(_type: T, signer: RadixSigner): ArtifactWriter<RawValidatorAnnounceArtifactConfigs[T], DeployedValidatorAnnounceAddress>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=validator-announce-artifact-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validator-announce-artifact-manager.d.ts","sourceRoot":"","sources":["../../src/validator-announce/validator-announce-artifact-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,OAAO,EACL,cAAc,EACd,cAAc,EACf,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,gCAAgC,EAChC,oCAAoC,EACpC,mCAAmC,EACnC,qBAAqB,EACtB,MAAM,6CAA6C,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAO7C,qBAAa,qCAAsC,YAAW,oCAAoC;IAE9F,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFvB,YACmB,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,SAAS,EAC9B;IAEE,qBAAqB,CAAC,OAAO,EAAE,MAAM,6LAG1C;IAED,YAAY,CAAC,CAAC,SAAS,qBAAqB,EAC1C,KAAK,EAAE,CAAC,GACP,cAAc,CACf,mCAAmC,CAAC,CAAC,CAAC,EACtC,gCAAgC,CACjC,CAEA;IAED,YAAY,CAAC,CAAC,SAAS,qBAAqB,EAC1C,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,WAAW,GAClB,cAAc,CACf,mCAAmC,CAAC,CAAC,CAAC,EACtC,gCAAgC,CACjC,CAOA;CACF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { RadixValidatorAnnounceReader, RadixValidatorAnnounceWriter, } from './validator-announce.js';
|
|
2
|
+
export class RadixValidatorAnnounceArtifactManager {
|
|
3
|
+
gateway;
|
|
4
|
+
base;
|
|
5
|
+
constructor(gateway, base) {
|
|
6
|
+
this.gateway = gateway;
|
|
7
|
+
this.base = base;
|
|
8
|
+
}
|
|
9
|
+
async readValidatorAnnounce(address) {
|
|
10
|
+
const reader = this.createReader('validatorAnnounce');
|
|
11
|
+
return reader.read(address);
|
|
12
|
+
}
|
|
13
|
+
createReader(_type) {
|
|
14
|
+
return new RadixValidatorAnnounceReader(this.gateway);
|
|
15
|
+
}
|
|
16
|
+
createWriter(_type, signer) {
|
|
17
|
+
const baseSigner = signer.getBaseSigner();
|
|
18
|
+
return new RadixValidatorAnnounceWriter(this.gateway, baseSigner, this.base);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=validator-announce-artifact-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validator-announce-artifact-manager.js","sourceRoot":"","sources":["../../src/validator-announce/validator-announce-artifact-manager.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,GAC7B,MAAM,yBAAyB,CAAC;AAEjC,MAAM,OAAO,qCAAqC;IAE7B,OAAO;IACP,IAAI;IAFvB,YACmB,OAAyB,EACzB,IAAe;uBADf,OAAO;oBACP,IAAI;IACpB,CAAC;IAEJ,KAAK,CAAC,qBAAqB,CAAC,OAAe;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;QACtD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,YAAY,CACV,KAAQ;QAKR,OAAO,IAAI,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,YAAY,CACV,KAAQ,EACR,MAAmB;QAKnB,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;QAC1C,OAAO,IAAI,4BAA4B,CACrC,IAAI,CAAC,OAAO,EACZ,UAAU,EACV,IAAI,CAAC,IAAI,CACV,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { GatewayApiClient } from '@radixdlt/babylon-gateway-api-sdk';
|
|
2
|
+
export declare function getValidatorAnnounceConfig(gateway: Readonly<GatewayApiClient>, validatorAnnounceAddress: string): Promise<{
|
|
3
|
+
address: string;
|
|
4
|
+
mailboxAddress: string;
|
|
5
|
+
}>;
|
|
6
|
+
//# sourceMappingURL=validator-announce-query.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validator-announce-query.d.ts","sourceRoot":"","sources":["../../src/validator-announce/validator-announce-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAQrE,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EACnC,wBAAwB,EAAE,MAAM,GAC/B,OAAO,CAAC;IACT,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC,CAoBD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { getComponentState, getFieldValueFromEntityState, getRadixComponentDetails, } from '../utils/base-query.js';
|
|
2
|
+
export async function getValidatorAnnounceConfig(gateway, validatorAnnounceAddress) {
|
|
3
|
+
const validatorAnnounceDetails = await getRadixComponentDetails(gateway, validatorAnnounceAddress, 'validator_announce');
|
|
4
|
+
const validatorAnnounceState = getComponentState(validatorAnnounceAddress, validatorAnnounceDetails);
|
|
5
|
+
return {
|
|
6
|
+
address: validatorAnnounceAddress,
|
|
7
|
+
mailboxAddress: getFieldValueFromEntityState('mailbox', validatorAnnounceAddress, validatorAnnounceState),
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=validator-announce-query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validator-announce-query.js","sourceRoot":"","sources":["../../src/validator-announce/validator-announce-query.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,iBAAiB,EACjB,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,OAAmC,EACnC,wBAAgC;IAKhC,MAAM,wBAAwB,GAAG,MAAM,wBAAwB,CAC7D,OAAO,EACP,wBAAwB,EACxB,oBAAoB,CACrB,CAAC;IAEF,MAAM,sBAAsB,GAAG,iBAAiB,CAC9C,wBAAwB,EACxB,wBAAwB,CACzB,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,wBAAwB;QACjC,cAAc,EAAE,4BAA4B,CAC1C,SAAS,EACT,wBAAwB,EACxB,sBAAsB,CACvB;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { TransactionManifest } from '@radixdlt/radix-engine-toolkit';
|
|
2
|
+
import { RadixBase } from '../utils/base.js';
|
|
3
|
+
export declare function getCreateValidatorAnnounceTx(base: Readonly<RadixBase>, fromAddress: string, mailboxAddress: string): Promise<TransactionManifest>;
|
|
4
|
+
//# sourceMappingURL=validator-announce-tx.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validator-announce-tx.d.ts","sourceRoot":"","sources":["../../src/validator-announce/validator-announce-tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAW,MAAM,gCAAgC,CAAC;AAE9E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,EACzB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,mBAAmB,CAAC,CAQ9B"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { address } from '@radixdlt/radix-engine-toolkit';
|
|
2
|
+
import { INSTRUCTIONS } from '../utils/types.js';
|
|
3
|
+
export async function getCreateValidatorAnnounceTx(base, fromAddress, mailboxAddress) {
|
|
4
|
+
return base.createCallFunctionManifest(fromAddress, base.getHyperlanePackageDefAddress(), 'ValidatorAnnounce', INSTRUCTIONS.INSTANTIATE, [address(mailboxAddress)]);
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=validator-announce-tx.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validator-announce-tx.js","sourceRoot":"","sources":["../../src/validator-announce/validator-announce-tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAG9E,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,IAAyB,EACzB,WAAmB,EACnB,cAAsB;IAEtB,OAAO,IAAI,CAAC,0BAA0B,CACpC,WAAW,EACX,IAAI,CAAC,6BAA6B,EAAE,EACpC,mBAAmB,EACnB,YAAY,CAAC,WAAW,EACxB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAC1B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { GatewayApiClient } from '@radixdlt/babylon-gateway-api-sdk';
|
|
2
|
+
import { ArtifactDeployed, ArtifactNew, ArtifactReader, ArtifactWriter } from '@recoillink/provider-sdk/artifact';
|
|
3
|
+
import { TxReceipt } from '@recoillink/provider-sdk/module';
|
|
4
|
+
import { DeployedValidatorAnnounceAddress, RawValidatorAnnounceConfig } from '@recoillink/provider-sdk/validator-announce';
|
|
5
|
+
import { RadixBase } from '../utils/base.js';
|
|
6
|
+
import { RadixBaseSigner } from '../utils/signer.js';
|
|
7
|
+
import { AnnotatedRadixTransaction } from '../utils/types.js';
|
|
8
|
+
export declare class RadixValidatorAnnounceReader implements ArtifactReader<RawValidatorAnnounceConfig, DeployedValidatorAnnounceAddress> {
|
|
9
|
+
protected readonly gateway: Readonly<GatewayApiClient>;
|
|
10
|
+
constructor(gateway: Readonly<GatewayApiClient>);
|
|
11
|
+
read(address: string): Promise<ArtifactDeployed<RawValidatorAnnounceConfig, DeployedValidatorAnnounceAddress>>;
|
|
12
|
+
}
|
|
13
|
+
export declare class RadixValidatorAnnounceWriter extends RadixValidatorAnnounceReader implements ArtifactWriter<RawValidatorAnnounceConfig, DeployedValidatorAnnounceAddress> {
|
|
14
|
+
private readonly signer;
|
|
15
|
+
private readonly base;
|
|
16
|
+
constructor(gateway: Readonly<GatewayApiClient>, signer: RadixBaseSigner, base: RadixBase);
|
|
17
|
+
create(artifact: ArtifactNew<RawValidatorAnnounceConfig>): Promise<[
|
|
18
|
+
ArtifactDeployed<RawValidatorAnnounceConfig, DeployedValidatorAnnounceAddress>,
|
|
19
|
+
TxReceipt[]
|
|
20
|
+
]>;
|
|
21
|
+
update(_artifact: ArtifactDeployed<RawValidatorAnnounceConfig, DeployedValidatorAnnounceAddress>): Promise<AnnotatedRadixTransaction[]>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=validator-announce.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validator-announce.d.ts","sourceRoot":"","sources":["../../src/validator-announce/validator-announce.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,cAAc,EAEd,cAAc,EACf,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EACL,gCAAgC,EAChC,0BAA0B,EAC3B,MAAM,6CAA6C,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAK9D,qBAAa,4BAA6B,YAAW,cAAc,CACjE,0BAA0B,EAC1B,gCAAgC,CACjC;IACa,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,gBAAgB,CAAC;IAAlE,YAA+B,OAAO,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAI;IAEhE,IAAI,CACR,OAAO,EAAE,MAAM,GACd,OAAO,CACR,gBAAgB,CACd,0BAA0B,EAC1B,gCAAgC,CACjC,CACF,CAeA;CACF;AAED,qBAAa,4BACX,SAAQ,4BACR,YACE,cAAc,CACZ,0BAA0B,EAC1B,gCAAgC,CACjC;IAID,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAHvB,YACE,OAAO,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAClB,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,SAAS,EAGjC;IAEK,MAAM,CACV,QAAQ,EAAE,WAAW,CAAC,0BAA0B,CAAC,GAChD,OAAO,CACR;QACE,gBAAgB,CACd,0BAA0B,EAC1B,gCAAgC,CACjC;QACD,SAAS,EAAE;KACZ,CACF,CA2BA;IAEK,MAAM,CACV,SAAS,EAAE,gBAAgB,CACzB,0BAA0B,EAC1B,gCAAgC,CACjC,GACA,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAGtC;CACF"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { ArtifactState, } from '@recoillink/provider-sdk/artifact';
|
|
2
|
+
import { getValidatorAnnounceConfig } from './validator-announce-query.js';
|
|
3
|
+
import { getCreateValidatorAnnounceTx } from './validator-announce-tx.js';
|
|
4
|
+
export class RadixValidatorAnnounceReader {
|
|
5
|
+
gateway;
|
|
6
|
+
constructor(gateway) {
|
|
7
|
+
this.gateway = gateway;
|
|
8
|
+
}
|
|
9
|
+
async read(address) {
|
|
10
|
+
const validatorAnnounceConfig = await getValidatorAnnounceConfig(this.gateway, address);
|
|
11
|
+
return {
|
|
12
|
+
artifactState: ArtifactState.DEPLOYED,
|
|
13
|
+
config: {
|
|
14
|
+
mailboxAddress: validatorAnnounceConfig.mailboxAddress,
|
|
15
|
+
},
|
|
16
|
+
deployed: {
|
|
17
|
+
address: validatorAnnounceConfig.address,
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
export class RadixValidatorAnnounceWriter extends RadixValidatorAnnounceReader {
|
|
23
|
+
signer;
|
|
24
|
+
base;
|
|
25
|
+
constructor(gateway, signer, base) {
|
|
26
|
+
super(gateway);
|
|
27
|
+
this.signer = signer;
|
|
28
|
+
this.base = base;
|
|
29
|
+
}
|
|
30
|
+
async create(artifact) {
|
|
31
|
+
const { config } = artifact;
|
|
32
|
+
const allReceipts = [];
|
|
33
|
+
// Create the validator announce contract
|
|
34
|
+
const createTx = await getCreateValidatorAnnounceTx(this.base, this.signer.getAddress(), config.mailboxAddress);
|
|
35
|
+
const createReceipt = await this.signer.signAndBroadcast(createTx);
|
|
36
|
+
const address = await this.base.getNewComponent(createReceipt);
|
|
37
|
+
allReceipts.push(createReceipt);
|
|
38
|
+
const deployedArtifact = {
|
|
39
|
+
artifactState: ArtifactState.DEPLOYED,
|
|
40
|
+
config: artifact.config,
|
|
41
|
+
deployed: {
|
|
42
|
+
address,
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
return [deployedArtifact, allReceipts];
|
|
46
|
+
}
|
|
47
|
+
async update(_artifact) {
|
|
48
|
+
// ValidatorAnnounce has no mutable state - mailbox address is set at creation
|
|
49
|
+
return [];
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=validator-announce.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validator-announce.js","sourceRoot":"","sources":["../../src/validator-announce/validator-announce.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,aAAa,GAEd,MAAM,mCAAmC,CAAC;AAW3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAE1E,MAAM,OAAO,4BAA4B;IAIR,OAAO;IAAtC,YAA+B,OAAmC;uBAAnC,OAAO;IAA+B,CAAC;IAEtE,KAAK,CAAC,IAAI,CACR,OAAe;QAOf,MAAM,uBAAuB,GAAG,MAAM,0BAA0B,CAC9D,IAAI,CAAC,OAAO,EACZ,OAAO,CACR,CAAC;QAEF,OAAO;YACL,aAAa,EAAE,aAAa,CAAC,QAAQ;YACrC,MAAM,EAAE;gBACN,cAAc,EAAE,uBAAuB,CAAC,cAAc;aACvD;YACD,QAAQ,EAAE;gBACR,OAAO,EAAE,uBAAuB,CAAC,OAAO;aACzC;SACF,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,4BACX,SAAQ,4BAA4B;IASjB,MAAM;IACN,IAAI;IAHvB,YACE,OAAmC,EAClB,MAAuB,EACvB,IAAe;QAEhC,KAAK,CAAC,OAAO,CAAC,CAAC;sBAHE,MAAM;oBACN,IAAI;IAGvB,CAAC;IAED,KAAK,CAAC,MAAM,CACV,QAAiD;QAUjD,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;QAC5B,MAAM,WAAW,GAAgB,EAAE,CAAC;QAEpC,yCAAyC;QACzC,MAAM,QAAQ,GAAG,MAAM,4BAA4B,CACjD,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EACxB,MAAM,CAAC,cAAc,CACtB,CAAC;QAEF,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QAC/D,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEhC,MAAM,gBAAgB,GAGlB;YACF,aAAa,EAAE,aAAa,CAAC,QAAQ;YACrC,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,QAAQ,EAAE;gBACR,OAAO;aACR;SACF,CAAC;QAEF,OAAO,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,MAAM,CACV,SAGC;QAED,8EAA8E;QAC9E,OAAO,EAAE,CAAC;IACZ,CAAC;CACF"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { GatewayApiClient } from '@radixdlt/babylon-gateway-api-sdk';
|
|
2
|
+
import { ArtifactDeployed, ArtifactNew, ArtifactReader, ArtifactWriter } from '@recoillink/provider-sdk/artifact';
|
|
3
|
+
import { TxReceipt } from '@recoillink/provider-sdk/module';
|
|
4
|
+
import { DeployedWarpAddress, RawCollateralWarpArtifactConfig } from '@recoillink/provider-sdk/warp';
|
|
5
|
+
import { RadixBase } from '../utils/base.js';
|
|
6
|
+
import { RadixBaseSigner } from '../utils/signer.js';
|
|
7
|
+
import { AnnotatedRadixTransaction } from '../utils/types.js';
|
|
8
|
+
export declare class RadixCollateralTokenReader implements ArtifactReader<RawCollateralWarpArtifactConfig, DeployedWarpAddress> {
|
|
9
|
+
protected readonly gateway: GatewayApiClient;
|
|
10
|
+
protected readonly base: RadixBase;
|
|
11
|
+
constructor(gateway: GatewayApiClient, base: RadixBase);
|
|
12
|
+
read(address: string): Promise<ArtifactDeployed<RawCollateralWarpArtifactConfig, DeployedWarpAddress>>;
|
|
13
|
+
}
|
|
14
|
+
export declare class RadixCollateralTokenWriter extends RadixCollateralTokenReader implements ArtifactWriter<RawCollateralWarpArtifactConfig, DeployedWarpAddress> {
|
|
15
|
+
private readonly signer;
|
|
16
|
+
constructor(gateway: GatewayApiClient, signer: RadixBaseSigner, base: RadixBase);
|
|
17
|
+
create(artifact: ArtifactNew<RawCollateralWarpArtifactConfig>): Promise<[
|
|
18
|
+
ArtifactDeployed<RawCollateralWarpArtifactConfig, DeployedWarpAddress>,
|
|
19
|
+
TxReceipt[]
|
|
20
|
+
]>;
|
|
21
|
+
update(artifact: ArtifactDeployed<RawCollateralWarpArtifactConfig, DeployedWarpAddress>): Promise<AnnotatedRadixTransaction[]>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=collateral-token.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collateral-token.d.ts","sourceRoot":"","sources":["../../src/warp/collateral-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAGrE,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,cAAc,EAEd,cAAc,EACf,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EACL,mBAAmB,EACnB,+BAA+B,EAEhC,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAe9D,qBAAa,0BAA2B,YAAW,cAAc,CAC/D,+BAA+B,EAC/B,mBAAmB,CACpB;IAEG,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,gBAAgB;IAC5C,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS;IAFpC,YACqB,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,SAAS,EAChC;IAEE,IAAI,CACR,OAAO,EAAE,MAAM,GACd,OAAO,CACR,gBAAgB,CAAC,+BAA+B,EAAE,mBAAmB,CAAC,CACvE,CAwCA;CACF;AAED,qBAAa,0BACX,SAAQ,0BACR,YACE,cAAc,CAAC,+BAA+B,EAAE,mBAAmB,CAAC;IAIpE,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFzB,YACE,OAAO,EAAE,gBAAgB,EACR,MAAM,EAAE,eAAe,EACxC,IAAI,EAAE,SAAS,EAGhB;IAEK,MAAM,CACV,QAAQ,EAAE,WAAW,CAAC,+BAA+B,CAAC,GACrD,OAAO,CACR;QACE,gBAAgB,CAAC,+BAA+B,EAAE,mBAAmB,CAAC;QACtE,SAAS,EAAE;KACZ,CACF,CAkHA;IAEK,MAAM,CACV,QAAQ,EAAE,gBAAgB,CACxB,+BAA+B,EAC/B,mBAAmB,CACpB,GACA,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAYtC;CACF"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { AltVM } from '@recoillink/provider-sdk';
|
|
2
|
+
import { ArtifactState, } from '@recoillink/provider-sdk/artifact';
|
|
3
|
+
import { computeRemoteRoutersUpdates, } from '@recoillink/provider-sdk/warp';
|
|
4
|
+
import { eqAddressRadix } from '@recoillink/utils';
|
|
5
|
+
import { getCollateralWarpTokenConfig } from './warp-query.js';
|
|
6
|
+
import { getCreateCollateralTokenTx, getEnrollRemoteRouterTx, getSetTokenIsmTx, getWarpTokenUpdateTxs, } from './warp-tx.js';
|
|
7
|
+
function withErrorContext(context, error) {
|
|
8
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
9
|
+
return new Error(`${context}: ${message}`);
|
|
10
|
+
}
|
|
11
|
+
export class RadixCollateralTokenReader {
|
|
12
|
+
gateway;
|
|
13
|
+
base;
|
|
14
|
+
constructor(gateway, base) {
|
|
15
|
+
this.gateway = gateway;
|
|
16
|
+
this.base = base;
|
|
17
|
+
}
|
|
18
|
+
async read(address) {
|
|
19
|
+
// Fetch token info
|
|
20
|
+
const token = await getCollateralWarpTokenConfig(this.gateway, this.base, address).catch((error) => {
|
|
21
|
+
throw withErrorContext(`Failed to read collateral warp token config (address=${address})`, error);
|
|
22
|
+
});
|
|
23
|
+
const config = {
|
|
24
|
+
type: AltVM.TokenType.collateral,
|
|
25
|
+
owner: token.owner,
|
|
26
|
+
mailbox: token.mailbox,
|
|
27
|
+
interchainSecurityModule: token.interchainSecurityModule
|
|
28
|
+
? {
|
|
29
|
+
artifactState: ArtifactState.UNDERIVED,
|
|
30
|
+
deployed: {
|
|
31
|
+
address: token.interchainSecurityModule,
|
|
32
|
+
},
|
|
33
|
+
}
|
|
34
|
+
: undefined,
|
|
35
|
+
remoteRouters: token.remoteRouters,
|
|
36
|
+
destinationGas: token.destinationGas,
|
|
37
|
+
token: token.token,
|
|
38
|
+
name: token.name,
|
|
39
|
+
symbol: token.symbol,
|
|
40
|
+
decimals: token.decimals,
|
|
41
|
+
};
|
|
42
|
+
return {
|
|
43
|
+
artifactState: ArtifactState.DEPLOYED,
|
|
44
|
+
config,
|
|
45
|
+
deployed: {
|
|
46
|
+
address,
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
export class RadixCollateralTokenWriter extends RadixCollateralTokenReader {
|
|
52
|
+
signer;
|
|
53
|
+
constructor(gateway, signer, base) {
|
|
54
|
+
super(gateway, base);
|
|
55
|
+
this.signer = signer;
|
|
56
|
+
}
|
|
57
|
+
async create(artifact) {
|
|
58
|
+
const { config } = artifact;
|
|
59
|
+
const allReceipts = [];
|
|
60
|
+
// Create the collateral token
|
|
61
|
+
const transactionManifest = await getCreateCollateralTokenTx(this.base, this.signer.getAddress(), {
|
|
62
|
+
mailbox: config.mailbox,
|
|
63
|
+
originDenom: config.token,
|
|
64
|
+
}).catch((error) => {
|
|
65
|
+
throw withErrorContext(`Failed to build collateral create transaction (signer=${this.signer.getAddress()}, mailbox=${config.mailbox}, originDenom=${config.token})`, error);
|
|
66
|
+
});
|
|
67
|
+
const createReceipt = await this.signer
|
|
68
|
+
.signAndBroadcast(transactionManifest)
|
|
69
|
+
.catch((error) => {
|
|
70
|
+
throw withErrorContext(`Failed to create collateral warp token (signer=${this.signer.getAddress()}, mailbox=${config.mailbox}, originDenom=${config.token})`, error);
|
|
71
|
+
});
|
|
72
|
+
const address = await this.base
|
|
73
|
+
.getNewComponent(createReceipt)
|
|
74
|
+
.catch((error) => {
|
|
75
|
+
throw withErrorContext('Failed to resolve created collateral token address from transaction receipt', error);
|
|
76
|
+
});
|
|
77
|
+
allReceipts.push(createReceipt);
|
|
78
|
+
// Set ISM if configured
|
|
79
|
+
if (config.interchainSecurityModule) {
|
|
80
|
+
const setIsmTx = await getSetTokenIsmTx(this.base, this.signer.getAddress(), {
|
|
81
|
+
tokenAddress: address,
|
|
82
|
+
ismAddress: config.interchainSecurityModule.deployed.address,
|
|
83
|
+
}).catch((error) => {
|
|
84
|
+
throw withErrorContext(`Failed to build set ISM transaction for collateral warp token ${address}`, error);
|
|
85
|
+
});
|
|
86
|
+
const ismReceipt = await this.signer
|
|
87
|
+
.signAndBroadcast(setIsmTx)
|
|
88
|
+
.catch((error) => {
|
|
89
|
+
throw withErrorContext(`Failed to set ISM for collateral warp token ${address}`, error);
|
|
90
|
+
});
|
|
91
|
+
allReceipts.push(ismReceipt);
|
|
92
|
+
}
|
|
93
|
+
const { toEnroll } = computeRemoteRoutersUpdates({ destinationGas: {}, remoteRouters: {} }, config, eqAddressRadix);
|
|
94
|
+
// Enroll remote routers
|
|
95
|
+
for (const { domainId, gas, routerAddress } of toEnroll) {
|
|
96
|
+
const enrollTx = await getEnrollRemoteRouterTx(this.base, this.signer.getAddress(), {
|
|
97
|
+
tokenAddress: address,
|
|
98
|
+
remoteDomainId: domainId,
|
|
99
|
+
remoteRouterAddress: routerAddress,
|
|
100
|
+
destinationGas: gas,
|
|
101
|
+
}).catch((error) => {
|
|
102
|
+
throw withErrorContext(`Failed to build enroll remote router transaction for collateral warp token ${address} (domain=${domainId}, router=${routerAddress})`, error);
|
|
103
|
+
});
|
|
104
|
+
const enrollReceipt = await this.signer
|
|
105
|
+
.signAndBroadcast(enrollTx)
|
|
106
|
+
.catch((error) => {
|
|
107
|
+
throw withErrorContext(`Failed to enroll remote router for collateral warp token ${address} (domain=${domainId}, router=${routerAddress})`, error);
|
|
108
|
+
});
|
|
109
|
+
allReceipts.push(enrollReceipt);
|
|
110
|
+
}
|
|
111
|
+
// We don't transfer ownership here because after deployment the token needs to be
|
|
112
|
+
// enrolled with the other tokens deployed and only the owner can perform that enrollment.
|
|
113
|
+
const deployedArtifact = {
|
|
114
|
+
artifactState: ArtifactState.DEPLOYED,
|
|
115
|
+
config: artifact.config,
|
|
116
|
+
deployed: {
|
|
117
|
+
address,
|
|
118
|
+
},
|
|
119
|
+
};
|
|
120
|
+
return [deployedArtifact, allReceipts];
|
|
121
|
+
}
|
|
122
|
+
async update(artifact) {
|
|
123
|
+
// Read current state
|
|
124
|
+
const currentArtifactState = await this.read(artifact.deployed.address);
|
|
125
|
+
return getWarpTokenUpdateTxs(artifact, currentArtifactState, this.base, this.gateway,
|
|
126
|
+
// The current owner is the only one that can execute the update transactions
|
|
127
|
+
currentArtifactState.config.owner);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=collateral-token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collateral-token.js","sourceRoot":"","sources":["../../src/warp/collateral-token.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { GatewayApiClient } from '@radixdlt/babylon-gateway-api-sdk';
|
|
2
|
+
import { RadixBase } from '../utils/base.js';
|
|
3
|
+
import { RadixWarpQuery } from './query.js';
|
|
4
|
+
export declare class RadixWarpPopulate {
|
|
5
|
+
protected gateway: GatewayApiClient;
|
|
6
|
+
protected base: RadixBase;
|
|
7
|
+
protected query: RadixWarpQuery;
|
|
8
|
+
protected packageAddress: string;
|
|
9
|
+
constructor(gateway: GatewayApiClient, base: RadixBase, query: RadixWarpQuery, packageAddress: string);
|
|
10
|
+
createCollateralToken({ from_address, mailbox, origin_denom, }: {
|
|
11
|
+
from_address: string;
|
|
12
|
+
mailbox: string;
|
|
13
|
+
origin_denom: string;
|
|
14
|
+
}): Promise<import("@radixdlt/radix-engine-toolkit").TransactionManifest>;
|
|
15
|
+
createSyntheticToken({ from_address, mailbox, name, symbol, divisibility, }: {
|
|
16
|
+
from_address: string;
|
|
17
|
+
mailbox: string;
|
|
18
|
+
name: string;
|
|
19
|
+
symbol: string;
|
|
20
|
+
divisibility: number;
|
|
21
|
+
}): Promise<import("@radixdlt/radix-engine-toolkit").TransactionManifest>;
|
|
22
|
+
setTokenOwner({ from_address, token, new_owner, }: {
|
|
23
|
+
from_address: string;
|
|
24
|
+
token: string;
|
|
25
|
+
new_owner: string;
|
|
26
|
+
}): Promise<import("@radixdlt/radix-engine-toolkit").TransactionManifest>;
|
|
27
|
+
setTokenIsm({ from_address, token, ism, }: {
|
|
28
|
+
from_address: string;
|
|
29
|
+
token: string;
|
|
30
|
+
ism: string | null | undefined;
|
|
31
|
+
}): Promise<import("@radixdlt/radix-engine-toolkit").TransactionManifest>;
|
|
32
|
+
enrollRemoteRouter({ from_address, token, receiver_domain, receiver_address, gas, }: {
|
|
33
|
+
from_address: string;
|
|
34
|
+
token: string;
|
|
35
|
+
receiver_domain: number;
|
|
36
|
+
receiver_address: string;
|
|
37
|
+
gas: string;
|
|
38
|
+
}): Promise<import("@radixdlt/radix-engine-toolkit").TransactionManifest>;
|
|
39
|
+
unenrollRemoteRouter({ from_address, token, receiver_domain, }: {
|
|
40
|
+
from_address: string;
|
|
41
|
+
token: string;
|
|
42
|
+
receiver_domain: number;
|
|
43
|
+
}): Promise<import("@radixdlt/radix-engine-toolkit").TransactionManifest>;
|
|
44
|
+
remoteTransfer({ from_address, token, destination_domain, recipient, amount, max_fee, }: {
|
|
45
|
+
from_address: string;
|
|
46
|
+
token: string;
|
|
47
|
+
destination_domain: number;
|
|
48
|
+
recipient: string;
|
|
49
|
+
amount: string;
|
|
50
|
+
custom_hook_id: string;
|
|
51
|
+
gas_limit: string;
|
|
52
|
+
custom_hook_metadata: string;
|
|
53
|
+
max_fee: {
|
|
54
|
+
denom: string;
|
|
55
|
+
amount: string;
|
|
56
|
+
};
|
|
57
|
+
}): Promise<string>;
|
|
58
|
+
}
|
|
59
|
+
export declare function getTransferRemoteManifest({ from_address, token, destination_domain, recipient, tokenAmount, max_fee, origin_denom, }: {
|
|
60
|
+
from_address: string;
|
|
61
|
+
token: string;
|
|
62
|
+
origin_denom: string;
|
|
63
|
+
destination_domain: number;
|
|
64
|
+
recipient: string;
|
|
65
|
+
tokenAmount: string;
|
|
66
|
+
max_fee: {
|
|
67
|
+
denom: string;
|
|
68
|
+
amount: string;
|
|
69
|
+
};
|
|
70
|
+
}): string;
|
|
71
|
+
//# sourceMappingURL=populate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"populate.d.ts","sourceRoot":"","sources":["../../src/warp/populate.ts"],"names":[],"mappings":"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"}
|