@bitgo-beta/sdk-coin-icp 1.0.1-beta.81 → 1.0.1-beta.810

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/dist/resources/messageCompiled.d.ts +797 -0
  2. package/dist/resources/messageCompiled.js +1859 -0
  3. package/dist/src/icp.d.ts +55 -2
  4. package/dist/src/icp.d.ts.map +1 -1
  5. package/dist/src/icp.js +300 -9
  6. package/dist/src/lib/icpAgent.d.ts +36 -0
  7. package/dist/src/lib/icpAgent.d.ts.map +1 -0
  8. package/dist/src/lib/icpAgent.js +90 -0
  9. package/dist/src/lib/iface.d.ts +191 -0
  10. package/dist/src/lib/iface.d.ts.map +1 -0
  11. package/dist/src/lib/iface.js +44 -0
  12. package/dist/src/lib/index.d.ts +4 -0
  13. package/dist/src/lib/index.d.ts.map +1 -1
  14. package/dist/src/lib/index.js +12 -2
  15. package/dist/src/lib/keyPair.js +4 -4
  16. package/dist/src/lib/signedTransactionBuilder.d.ts +9 -0
  17. package/dist/src/lib/signedTransactionBuilder.d.ts.map +1 -0
  18. package/dist/src/lib/signedTransactionBuilder.js +64 -0
  19. package/dist/src/lib/transaction.d.ts +54 -0
  20. package/dist/src/lib/transaction.d.ts.map +1 -0
  21. package/dist/src/lib/transaction.js +255 -0
  22. package/dist/src/lib/transactionBuilder.d.ts +58 -28
  23. package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
  24. package/dist/src/lib/transactionBuilder.js +127 -40
  25. package/dist/src/lib/transactionBuilderFactory.d.ts +15 -14
  26. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  27. package/dist/src/lib/transactionBuilderFactory.js +43 -27
  28. package/dist/src/lib/transferBuilder.d.ts +7 -24
  29. package/dist/src/lib/transferBuilder.d.ts.map +1 -1
  30. package/dist/src/lib/transferBuilder.js +88 -43
  31. package/dist/src/lib/unsignedTransactionBuilder.d.ts +13 -0
  32. package/dist/src/lib/unsignedTransactionBuilder.d.ts.map +1 -0
  33. package/dist/src/lib/unsignedTransactionBuilder.js +90 -0
  34. package/dist/src/lib/utils.d.ts +285 -7
  35. package/dist/src/lib/utils.d.ts.map +1 -1
  36. package/dist/src/lib/utils.js +607 -52
  37. package/dist/src/ticp.d.ts +0 -4
  38. package/dist/src/ticp.d.ts.map +1 -1
  39. package/dist/src/ticp.js +1 -7
  40. package/dist/test/resources/icp.d.ts +268 -0
  41. package/dist/test/resources/icp.d.ts.map +1 -0
  42. package/dist/test/resources/icp.js +377 -0
  43. package/dist/test/unit/getBuilderFactory.d.ts +3 -0
  44. package/dist/test/unit/getBuilderFactory.d.ts.map +1 -0
  45. package/dist/test/unit/getBuilderFactory.js +10 -0
  46. package/dist/test/unit/icp.d.ts +2 -0
  47. package/dist/test/unit/icp.d.ts.map +1 -0
  48. package/dist/test/unit/icp.js +246 -0
  49. package/dist/test/unit/keyPair.d.ts +2 -0
  50. package/dist/test/unit/keyPair.d.ts.map +1 -0
  51. package/dist/test/unit/keyPair.js +107 -0
  52. package/dist/test/unit/transaction.d.ts +2 -0
  53. package/dist/test/unit/transaction.d.ts.map +1 -0
  54. package/dist/test/unit/transaction.js +109 -0
  55. package/dist/test/unit/transactionBuilder/transactionBuilder.d.ts +2 -0
  56. package/dist/test/unit/transactionBuilder/transactionBuilder.d.ts.map +1 -0
  57. package/dist/test/unit/transactionBuilder/transactionBuilder.js +274 -0
  58. package/dist/test/unit/transactionBuilder/transactionRecover.d.ts +2 -0
  59. package/dist/test/unit/transactionBuilder/transactionRecover.d.ts.map +1 -0
  60. package/dist/test/unit/transactionBuilder/transactionRecover.js +188 -0
  61. package/dist/test/unit/utils.d.ts +2 -0
  62. package/dist/test/unit/utils.d.ts.map +1 -0
  63. package/dist/test/unit/utils.js +206 -0
  64. package/dist/tsconfig.tsbuildinfo +1 -0
  65. package/package.json +23 -12
  66. package/.eslintignore +0 -4
  67. package/.mocharc.yml +0 -8
  68. package/CHANGELOG.md +0 -44
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.IcpAgent = void 0;
7
+ const principal_1 = require("@dfinity/principal");
8
+ const ic0_1 = require("ic0");
9
+ const utils_1 = __importDefault(require("./utils"));
10
+ const iface_1 = require("./iface");
11
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
12
+ const statics_1 = require("@bitgo-beta/statics");
13
+ class IcpAgent {
14
+ constructor(host, staticsCoin) {
15
+ this.host = host;
16
+ this.staticsCoin = staticsCoin;
17
+ }
18
+ /**
19
+ * Creates a new HTTP agent for communicating with the Internet Computer.
20
+ * @returns An instance of HttpAgent.
21
+ */
22
+ createAgent() {
23
+ return new ic0_1.HttpAgent({
24
+ host: this.host,
25
+ fetch,
26
+ verifyQuerySignatures: false,
27
+ });
28
+ }
29
+ /**
30
+ * Retrieves an instance of the ledger canister agent.
31
+ *
32
+ * This method creates a new agent using `createAgent()`, initializes a replica interface
33
+ * with the agent (configured for local use), and returns an `AgentCanister` instance
34
+ * for the ledger canister identified by `LEDGER_CANISTER_ID`.
35
+ *
36
+ * @returns {AgentCanister} An agent interface for interacting with the ledger canister.
37
+ */
38
+ getLedger() {
39
+ const agent = this.createAgent();
40
+ const ic = (0, ic0_1.replica)(agent, { local: true });
41
+ const ledgerCanisterId = this.staticsCoin.network.type === statics_1.NetworkType.TESTNET ? iface_1.TESTNET_LEDGER_CANISTER_ID : iface_1.LEDGER_CANISTER_ID;
42
+ return ic(principal_1.Principal.fromUint8Array(ledgerCanisterId).toText());
43
+ }
44
+ /**
45
+ * Fetches the account balance for a given principal ID.
46
+ * @param principalId - The principal ID of the account.
47
+ * @returns Promise resolving to the account balance as a string.
48
+ * @throws Error if the balance could not be fetched.
49
+ */
50
+ async getBalance(principalId) {
51
+ try {
52
+ if (!principalId) {
53
+ throw new Error('Principal ID is required');
54
+ }
55
+ const ledger = this.getLedger();
56
+ const account = {
57
+ owner: principal_1.Principal.fromText(principalId),
58
+ subaccount: [utils_1.default.hexToBytes(iface_1.DEFAULT_SUBACCOUNT)],
59
+ };
60
+ const balance = await ledger.call(iface_1.ACCOUNT_BALANCE_CALL, account);
61
+ return (0, bignumber_js_1.default)(balance);
62
+ }
63
+ catch (error) {
64
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
65
+ throw new Error(`Error fetching balance for principal ${principalId}: ${errorMessage}`);
66
+ }
67
+ }
68
+ /**
69
+ * Fetches the transaction fee from the ledger.
70
+ * @returns Promise resolving to the transaction fee as a string.
71
+ * @throws Error if the fee could not be fetched.
72
+ */
73
+ async getFee() {
74
+ try {
75
+ const ledger = this.getLedger();
76
+ const metadata = await ledger.call(iface_1.METADATA_CALL);
77
+ const feeEntry = metadata.find((entry) => entry[0] === iface_1.ICRC1_FEE_KEY && entry[1]?.Nat !== undefined);
78
+ if (!feeEntry) {
79
+ throw new Error(`${iface_1.ICRC1_FEE_KEY} metadata not found or invalid format`);
80
+ }
81
+ return (0, bignumber_js_1.default)(feeEntry[1].Nat);
82
+ }
83
+ catch (error) {
84
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
85
+ throw new Error(`Error fetching transaction fee: ${errorMessage}`);
86
+ }
87
+ }
88
+ }
89
+ exports.IcpAgent = IcpAgent;
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNwQWdlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2ljcEFnZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGtEQUErQztBQUMvQyw2QkFBd0Q7QUFDeEQsb0RBQTRCO0FBQzVCLG1DQU9pQjtBQUNqQixnRUFBcUM7QUFDckMsaURBQStFO0FBRS9FLE1BQWEsUUFBUTtJQUluQixZQUFZLElBQVksRUFBRSxXQUFzQztRQUM5RCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssV0FBVztRQUNqQixPQUFPLElBQUksZUFBUyxDQUFDO1lBQ25CLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLEtBQUs7WUFDTCxxQkFBcUIsRUFBRSxLQUFLO1NBQzdCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNLLFNBQVM7UUFDZixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakMsTUFBTSxFQUFFLEdBQUcsSUFBQSxhQUFPLEVBQUMsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDM0MsTUFBTSxnQkFBZ0IsR0FDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLHFCQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxrQ0FBMEIsQ0FBQyxDQUFDLENBQUMsMEJBQWtCLENBQUM7UUFDMUcsT0FBTyxFQUFFLENBQUMscUJBQVMsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLEtBQUssQ0FBQyxVQUFVLENBQUMsV0FBbUI7UUFDekMsSUFBSSxDQUFDO1lBQ0gsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7WUFDOUMsQ0FBQztZQUNELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNoQyxNQUFNLE9BQU8sR0FBRztnQkFDZCxLQUFLLEVBQUUscUJBQVMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO2dCQUN0QyxVQUFVLEVBQUUsQ0FBQyxlQUFLLENBQUMsVUFBVSxDQUFDLDBCQUFrQixDQUFDLENBQUM7YUFDbkQsQ0FBQztZQUVGLE1BQU0sT0FBTyxHQUFHLE1BQU0sTUFBTSxDQUFDLElBQUksQ0FBQyw0QkFBb0IsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNqRSxPQUFPLElBQUEsc0JBQVMsRUFBQyxPQUFPLENBQUMsQ0FBQztRQUM1QixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE1BQU0sWUFBWSxHQUFHLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQztZQUM5RSxNQUFNLElBQUksS0FBSyxDQUFDLHdDQUF3QyxXQUFXLEtBQUssWUFBWSxFQUFFLENBQUMsQ0FBQztRQUMxRixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsTUFBTTtRQUNqQixJQUFJLENBQUM7WUFDSCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDaEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxNQUFNLENBQUMsSUFBSSxDQUFDLHFCQUFhLENBQUMsQ0FBQztZQUVsRCxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUM1QixDQUFDLEtBQUssRUFBc0MsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxxQkFBYSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssU0FBUyxDQUN6RyxDQUFDO1lBRUYsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxxQkFBYSx1Q0FBdUMsQ0FBQyxDQUFDO1lBQzNFLENBQUM7WUFFRCxPQUFPLElBQUEsc0JBQVMsRUFBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixNQUFNLFlBQVksR0FBRyxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUM7WUFDOUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUNyRSxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBdkZELDRCQXVGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByaW5jaXBhbCB9IGZyb20gJ0BkZmluaXR5L3ByaW5jaXBhbCc7XG5pbXBvcnQgeyBIdHRwQWdlbnQsIHJlcGxpY2EsIEFnZW50Q2FuaXN0ZXIgfSBmcm9tICdpYzAnO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHtcbiAgQUNDT1VOVF9CQUxBTkNFX0NBTEwsXG4gIExFREdFUl9DQU5JU1RFUl9JRCxcbiAgVEVTVE5FVF9MRURHRVJfQ0FOSVNURVJfSUQsXG4gIElDUkMxX0ZFRV9LRVksXG4gIE1FVEFEQVRBX0NBTEwsXG4gIERFRkFVTFRfU1VCQUNDT1VOVCxcbn0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5pbXBvcnQgeyBOZXR3b3JrVHlwZSwgQmFzZUNvaW4gYXMgU3RhdGljc0Jhc2VDb2luIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5cbmV4cG9ydCBjbGFzcyBJY3BBZ2VudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaG9zdDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IHN0YXRpY3NDb2luOiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+O1xuXG4gIGNvbnN0cnVjdG9yKGhvc3Q6IHN0cmluZywgc3RhdGljc0NvaW46IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4pIHtcbiAgICB0aGlzLmhvc3QgPSBob3N0O1xuICAgIHRoaXMuc3RhdGljc0NvaW4gPSBzdGF0aWNzQ29pbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IEhUVFAgYWdlbnQgZm9yIGNvbW11bmljYXRpbmcgd2l0aCB0aGUgSW50ZXJuZXQgQ29tcHV0ZXIuXG4gICAqIEByZXR1cm5zIEFuIGluc3RhbmNlIG9mIEh0dHBBZ2VudC5cbiAgICovXG4gIHByaXZhdGUgY3JlYXRlQWdlbnQoKTogSHR0cEFnZW50IHtcbiAgICByZXR1cm4gbmV3IEh0dHBBZ2VudCh7XG4gICAgICBob3N0OiB0aGlzLmhvc3QsXG4gICAgICBmZXRjaCxcbiAgICAgIHZlcmlmeVF1ZXJ5U2lnbmF0dXJlczogZmFsc2UsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIGFuIGluc3RhbmNlIG9mIHRoZSBsZWRnZXIgY2FuaXN0ZXIgYWdlbnQuXG4gICAqXG4gICAqIFRoaXMgbWV0aG9kIGNyZWF0ZXMgYSBuZXcgYWdlbnQgdXNpbmcgYGNyZWF0ZUFnZW50KClgLCBpbml0aWFsaXplcyBhIHJlcGxpY2EgaW50ZXJmYWNlXG4gICAqIHdpdGggdGhlIGFnZW50IChjb25maWd1cmVkIGZvciBsb2NhbCB1c2UpLCBhbmQgcmV0dXJucyBhbiBgQWdlbnRDYW5pc3RlcmAgaW5zdGFuY2VcbiAgICogZm9yIHRoZSBsZWRnZXIgY2FuaXN0ZXIgaWRlbnRpZmllZCBieSBgTEVER0VSX0NBTklTVEVSX0lEYC5cbiAgICpcbiAgICogQHJldHVybnMge0FnZW50Q2FuaXN0ZXJ9IEFuIGFnZW50IGludGVyZmFjZSBmb3IgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgbGVkZ2VyIGNhbmlzdGVyLlxuICAgKi9cbiAgcHJpdmF0ZSBnZXRMZWRnZXIoKTogQWdlbnRDYW5pc3RlciB7XG4gICAgY29uc3QgYWdlbnQgPSB0aGlzLmNyZWF0ZUFnZW50KCk7XG4gICAgY29uc3QgaWMgPSByZXBsaWNhKGFnZW50LCB7IGxvY2FsOiB0cnVlIH0pO1xuICAgIGNvbnN0IGxlZGdlckNhbmlzdGVySWQgPVxuICAgICAgdGhpcy5zdGF0aWNzQ29pbi5uZXR3b3JrLnR5cGUgPT09IE5ldHdvcmtUeXBlLlRFU1RORVQgPyBURVNUTkVUX0xFREdFUl9DQU5JU1RFUl9JRCA6IExFREdFUl9DQU5JU1RFUl9JRDtcbiAgICByZXR1cm4gaWMoUHJpbmNpcGFsLmZyb21VaW50OEFycmF5KGxlZGdlckNhbmlzdGVySWQpLnRvVGV4dCgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaGVzIHRoZSBhY2NvdW50IGJhbGFuY2UgZm9yIGEgZ2l2ZW4gcHJpbmNpcGFsIElELlxuICAgKiBAcGFyYW0gcHJpbmNpcGFsSWQgLSBUaGUgcHJpbmNpcGFsIElEIG9mIHRoZSBhY2NvdW50LlxuICAgKiBAcmV0dXJucyBQcm9taXNlIHJlc29sdmluZyB0byB0aGUgYWNjb3VudCBiYWxhbmNlIGFzIGEgc3RyaW5nLlxuICAgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBiYWxhbmNlIGNvdWxkIG5vdCBiZSBmZXRjaGVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEJhbGFuY2UocHJpbmNpcGFsSWQ6IHN0cmluZyk6IFByb21pc2U8QmlnTnVtYmVyPiB7XG4gICAgdHJ5IHtcbiAgICAgIGlmICghcHJpbmNpcGFsSWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdQcmluY2lwYWwgSUQgaXMgcmVxdWlyZWQnKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGxlZGdlciA9IHRoaXMuZ2V0TGVkZ2VyKCk7XG4gICAgICBjb25zdCBhY2NvdW50ID0ge1xuICAgICAgICBvd25lcjogUHJpbmNpcGFsLmZyb21UZXh0KHByaW5jaXBhbElkKSxcbiAgICAgICAgc3ViYWNjb3VudDogW3V0aWxzLmhleFRvQnl0ZXMoREVGQVVMVF9TVUJBQ0NPVU5UKV0sXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBiYWxhbmNlID0gYXdhaXQgbGVkZ2VyLmNhbGwoQUNDT1VOVF9CQUxBTkNFX0NBTEwsIGFjY291bnQpO1xuICAgICAgcmV0dXJuIEJpZ051bWJlcihiYWxhbmNlKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcic7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEVycm9yIGZldGNoaW5nIGJhbGFuY2UgZm9yIHByaW5jaXBhbCAke3ByaW5jaXBhbElkfTogJHtlcnJvck1lc3NhZ2V9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoZXMgdGhlIHRyYW5zYWN0aW9uIGZlZSBmcm9tIHRoZSBsZWRnZXIuXG4gICAqIEByZXR1cm5zIFByb21pc2UgcmVzb2x2aW5nIHRvIHRoZSB0cmFuc2FjdGlvbiBmZWUgYXMgYSBzdHJpbmcuXG4gICAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIGZlZSBjb3VsZCBub3QgYmUgZmV0Y2hlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRGZWUoKTogUHJvbWlzZTxCaWdOdW1iZXI+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgbGVkZ2VyID0gdGhpcy5nZXRMZWRnZXIoKTtcbiAgICAgIGNvbnN0IG1ldGFkYXRhID0gYXdhaXQgbGVkZ2VyLmNhbGwoTUVUQURBVEFfQ0FMTCk7XG5cbiAgICAgIGNvbnN0IGZlZUVudHJ5ID0gbWV0YWRhdGEuZmluZChcbiAgICAgICAgKGVudHJ5KTogZW50cnkgaXMgW3N0cmluZywgeyBOYXQ6IHN0cmluZyB9XSA9PiBlbnRyeVswXSA9PT0gSUNSQzFfRkVFX0tFWSAmJiBlbnRyeVsxXT8uTmF0ICE9PSB1bmRlZmluZWRcbiAgICAgICk7XG5cbiAgICAgIGlmICghZmVlRW50cnkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke0lDUkMxX0ZFRV9LRVl9IG1ldGFkYXRhIG5vdCBmb3VuZCBvciBpbnZhbGlkIGZvcm1hdGApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gQmlnTnVtYmVyKGZlZUVudHJ5WzFdLk5hdCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBFcnJvciBmZXRjaGluZyB0cmFuc2FjdGlvbiBmZWU6ICR7ZXJyb3JNZXNzYWdlfWApO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,191 @@
1
+ import { TransactionExplanation as BaseTransactionExplanation, TransactionType as BitGoTransactionType } from '@bitgo-beta/sdk-core';
2
+ export declare const MAX_INGRESS_TTL: number;
3
+ export declare const PERMITTED_DRIFT: number;
4
+ export declare const LEDGER_CANISTER_ID: Uint8Array<ArrayBuffer>;
5
+ export declare const TESTNET_LEDGER_CANISTER_ID: Uint8Array<ArrayBuffer>;
6
+ export declare const ROOT_PATH = "m/0";
7
+ export declare const ACCOUNT_BALANCE_CALL = "icrc1_balance_of";
8
+ export declare const PUBLIC_NODE_REQUEST_ENDPOINT = "/api/v3/canister/";
9
+ export declare const DEFAULT_MEMO = 0;
10
+ export declare const ICRC1_FEE_KEY = "icrc1:fee";
11
+ export declare const METADATA_CALL = "icrc1_metadata";
12
+ export declare const DEFAULT_SUBACCOUNT = "0000000000000000000000000000000000000000000000000000000000000000";
13
+ export declare enum RequestType {
14
+ CALL = "call"
15
+ }
16
+ export declare enum SignatureType {
17
+ ECDSA = "ecdsa"
18
+ }
19
+ export declare enum CurveType {
20
+ SECP256K1 = "secp256k1"
21
+ }
22
+ export declare enum OperationType {
23
+ TRANSACTION = "TRANSACTION",
24
+ FEE = "FEE"
25
+ }
26
+ export declare enum MethodName {
27
+ SEND_PB = "send_pb"
28
+ }
29
+ export declare enum Network {
30
+ ID = "00000000000000020101"
31
+ }
32
+ export declare enum TestNetwork {
33
+ ID = "00000000010082fb0101"
34
+ }
35
+ export interface IcpTransactionData {
36
+ senderAddress: string;
37
+ receiverAddress: string;
38
+ amount: string;
39
+ fee: string;
40
+ senderPublicKeyHex: string;
41
+ memo: number | BigInt;
42
+ transactionType: OperationType;
43
+ expiryTime: number | BigInt;
44
+ }
45
+ export interface IcpPublicKey {
46
+ hex_bytes: string;
47
+ curve_type: string;
48
+ }
49
+ export interface IcpAccount {
50
+ address: string;
51
+ }
52
+ export interface IcpCurrency {
53
+ symbol: string;
54
+ decimals: number;
55
+ }
56
+ export interface IcpAmount {
57
+ value: string;
58
+ currency: IcpCurrency;
59
+ }
60
+ export interface IcpOperation {
61
+ type: string;
62
+ account: IcpAccount;
63
+ amount: IcpAmount;
64
+ }
65
+ export interface MetaData {
66
+ created_at_time: number;
67
+ memo: number | BigInt;
68
+ ingress_start?: number | BigInt;
69
+ ingress_end?: number | BigInt;
70
+ }
71
+ export interface IcpTransaction {
72
+ public_keys: IcpPublicKey[];
73
+ operations: IcpOperation[];
74
+ metadata: MetaData;
75
+ }
76
+ export interface ParsedTransaction {
77
+ operations: IcpOperation[];
78
+ account_identifier_signers: IcpAccount[];
79
+ metadata: MetaData;
80
+ }
81
+ export interface IcpAccountIdentifier {
82
+ address: string;
83
+ }
84
+ export interface SendArgs {
85
+ memo: {
86
+ memo: number | BigInt;
87
+ };
88
+ payment: {
89
+ receiverGets: {
90
+ e8s: number;
91
+ };
92
+ };
93
+ maxFee: {
94
+ e8s: number;
95
+ };
96
+ to: {
97
+ hash: Buffer;
98
+ };
99
+ createdAtTime: {
100
+ timestampNanos: number;
101
+ };
102
+ }
103
+ export interface HttpCanisterUpdate {
104
+ canister_id: Uint8Array;
105
+ method_name: MethodName;
106
+ arg: Uint8Array;
107
+ sender: Uint8Array;
108
+ ingress_expiry: bigint;
109
+ }
110
+ export interface SigningPayload {
111
+ account_identifier: IcpAccountIdentifier;
112
+ hex_bytes: string;
113
+ signature_type: SignatureType;
114
+ }
115
+ export interface PayloadsData {
116
+ payloads: SigningPayload[];
117
+ unsigned_transaction: string;
118
+ }
119
+ export interface Signatures {
120
+ signing_payload: SigningPayload;
121
+ signature_type: SignatureType;
122
+ public_key: IcpPublicKey;
123
+ hex_bytes: string;
124
+ }
125
+ export interface CborUnsignedTransaction {
126
+ updates: [HttpCanisterUpdate][];
127
+ ingress_expiries: bigint[];
128
+ }
129
+ export interface UpdateEnvelope {
130
+ content: HttpCanisterUpdate & {
131
+ request_type: RequestType;
132
+ };
133
+ sender_pubkey: Uint8Array;
134
+ sender_sig: Uint8Array;
135
+ }
136
+ export interface RequestEnvelope {
137
+ update: UpdateEnvelope;
138
+ }
139
+ /**
140
+ * The transaction data returned from the toJson() function of a transaction
141
+ */
142
+ export interface TxData {
143
+ id?: string;
144
+ sender: string;
145
+ senderPublicKey: string;
146
+ recipient: string;
147
+ memo?: number | BigInt;
148
+ feeAmount: string;
149
+ expirationTime: number | BigInt;
150
+ type?: BitGoTransactionType;
151
+ }
152
+ export interface IcpTransactionExplanation extends BaseTransactionExplanation {
153
+ sender?: string;
154
+ type?: BitGoTransactionType;
155
+ }
156
+ export interface NetworkIdentifier {
157
+ blockchain: string;
158
+ network: string;
159
+ }
160
+ export interface RawTransaction {
161
+ serializedTxHex: PayloadsData;
162
+ publicKey: string;
163
+ }
164
+ export interface RecoveryOptions {
165
+ userKey: string;
166
+ backupKey: string;
167
+ bitgoKey?: string;
168
+ rootAddress?: string;
169
+ recoveryDestination: string;
170
+ walletPassphrase: string;
171
+ memo?: number | BigInt;
172
+ }
173
+ export interface RecoveryTransaction {
174
+ id: string;
175
+ tx: string;
176
+ }
177
+ export interface UnsignedSweepRecoveryTransaction {
178
+ txHex: string;
179
+ coin: string;
180
+ }
181
+ export interface PublicNodeSubmitResponse {
182
+ status: string;
183
+ }
184
+ export interface AccountIdentifierHash {
185
+ hash: Buffer<ArrayBuffer>;
186
+ }
187
+ export interface TransactionHexParams {
188
+ transactionHex: string;
189
+ signableHex?: string;
190
+ }
191
+ //# sourceMappingURL=iface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,IAAI,0BAA0B,EACpD,eAAe,IAAI,oBAAoB,EACxC,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,eAAe,QAAwB,CAAC;AACrD,eAAO,MAAM,eAAe,QAAoB,CAAC;AACjD,eAAO,MAAM,kBAAkB,yBAAiD,CAAC;AACjF,eAAO,MAAM,0BAA0B,yBAAqD,CAAC;AAC7F,eAAO,MAAM,SAAS,QAAQ,CAAC;AAC/B,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AACvD,eAAO,MAAM,4BAA4B,sBAAsB,CAAC;AAChE,eAAO,MAAM,YAAY,IAAI,CAAC;AAC9B,eAAO,MAAM,aAAa,cAAc,CAAC;AACzC,eAAO,MAAM,aAAa,mBAAmB,CAAC;AAC9C,eAAO,MAAM,kBAAkB,qEAAqE,CAAC;AAErG,oBAAY,WAAW;IACrB,IAAI,SAAS;CACd;AAED,oBAAY,aAAa;IACvB,KAAK,UAAU;CAChB;AAED,oBAAY,SAAS;IACnB,SAAS,cAAc;CACxB;AAED,oBAAY,aAAa;IACvB,WAAW,gBAAgB;IAC3B,GAAG,QAAQ;CACZ;AAED,oBAAY,UAAU;IACpB,OAAO,YAAY;CACpB;AAED,oBAAY,OAAO;IACjB,EAAE,yBAAyB;CAC5B;AAED,oBAAY,WAAW;IACrB,EAAE,yBAAyB;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,kBAAkB,EAAE,MAAM,CAAC;IAC3B,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,eAAe,EAAE,aAAa,CAAC;IAC/B,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,WAAW,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,UAAU,CAAC;IACpB,MAAM,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,QAAQ;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,YAAY,EAAE,CAAC;IAC5B,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,0BAA0B,EAAE,UAAU,EAAE,CAAC;IACzC,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAChC,OAAO,EAAE;QAAE,YAAY,EAAE;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IAC3C,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACxB,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACrB,aAAa,EAAE;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3C;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,UAAU,CAAC;IACxB,WAAW,EAAE,UAAU,CAAC;IACxB,GAAG,EAAE,UAAU,CAAC;IAChB,MAAM,EAAE,UAAU,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,kBAAkB,EAAE,oBAAoB,CAAC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,aAAa,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,UAAU;IACzB,eAAe,EAAE,cAAc,CAAC;IAChC,cAAc,EAAE,aAAa,CAAC;IAC9B,UAAU,EAAE,YAAY,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC;IAChC,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,kBAAkB,GAAG;QAC5B,YAAY,EAAE,WAAW,CAAC;KAC3B,CAAC;IACF,aAAa,EAAE,UAAU,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,cAAc,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,IAAI,CAAC,EAAE,oBAAoB,CAAC;CAC7B;AAED,MAAM,WAAW,yBAA0B,SAAQ,0BAA0B;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,oBAAoB,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,YAAY,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,gCAAgC;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TestNetwork = exports.Network = exports.MethodName = exports.OperationType = exports.CurveType = exports.SignatureType = exports.RequestType = exports.DEFAULT_SUBACCOUNT = exports.METADATA_CALL = exports.ICRC1_FEE_KEY = exports.DEFAULT_MEMO = exports.PUBLIC_NODE_REQUEST_ENDPOINT = exports.ACCOUNT_BALANCE_CALL = exports.ROOT_PATH = exports.TESTNET_LEDGER_CANISTER_ID = exports.LEDGER_CANISTER_ID = exports.PERMITTED_DRIFT = exports.MAX_INGRESS_TTL = void 0;
4
+ exports.MAX_INGRESS_TTL = 5 * 60 * 1000000000; // 5 minutes in nanoseconds
5
+ exports.PERMITTED_DRIFT = 60 * 1000000000; // 60 seconds in nanoseconds
6
+ exports.LEDGER_CANISTER_ID = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 2, 1, 1]); // Uint8Array value for "00000000000000020101" and the string value is "ryjl3-tyaaa-aaaaa-aaaba-cai"
7
+ exports.TESTNET_LEDGER_CANISTER_ID = new Uint8Array([0, 0, 0, 0, 1, 0, 130, 251, 1, 1]); // Uint8Array value for "00000000010082fb0101" and the string value is "xafvr-biaaa-aaaai-aql5q-cai"
8
+ exports.ROOT_PATH = 'm/0';
9
+ exports.ACCOUNT_BALANCE_CALL = 'icrc1_balance_of';
10
+ exports.PUBLIC_NODE_REQUEST_ENDPOINT = '/api/v3/canister/';
11
+ exports.DEFAULT_MEMO = 0; // default memo value is 0
12
+ exports.ICRC1_FEE_KEY = 'icrc1:fee';
13
+ exports.METADATA_CALL = 'icrc1_metadata';
14
+ exports.DEFAULT_SUBACCOUNT = '0000000000000000000000000000000000000000000000000000000000000000'; // default subaccount value is 0x
15
+ var RequestType;
16
+ (function (RequestType) {
17
+ RequestType["CALL"] = "call";
18
+ })(RequestType || (exports.RequestType = RequestType = {}));
19
+ var SignatureType;
20
+ (function (SignatureType) {
21
+ SignatureType["ECDSA"] = "ecdsa";
22
+ })(SignatureType || (exports.SignatureType = SignatureType = {}));
23
+ var CurveType;
24
+ (function (CurveType) {
25
+ CurveType["SECP256K1"] = "secp256k1";
26
+ })(CurveType || (exports.CurveType = CurveType = {}));
27
+ var OperationType;
28
+ (function (OperationType) {
29
+ OperationType["TRANSACTION"] = "TRANSACTION";
30
+ OperationType["FEE"] = "FEE";
31
+ })(OperationType || (exports.OperationType = OperationType = {}));
32
+ var MethodName;
33
+ (function (MethodName) {
34
+ MethodName["SEND_PB"] = "send_pb";
35
+ })(MethodName || (exports.MethodName = MethodName = {}));
36
+ var Network;
37
+ (function (Network) {
38
+ Network["ID"] = "00000000000000020101";
39
+ })(Network || (exports.Network = Network = {}));
40
+ var TestNetwork;
41
+ (function (TestNetwork) {
42
+ TestNetwork["ID"] = "00000000010082fb0101";
43
+ })(TestNetwork || (exports.TestNetwork = TestNetwork = {}));
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUthLFFBQUEsZUFBZSxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsVUFBWSxDQUFDLENBQUMsMkJBQTJCO0FBQ3BFLFFBQUEsZUFBZSxHQUFHLEVBQUUsR0FBRyxVQUFZLENBQUMsQ0FBQyw0QkFBNEI7QUFDakUsUUFBQSxrQkFBa0IsR0FBRyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvR0FBb0c7QUFDekssUUFBQSwwQkFBMEIsR0FBRyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvR0FBb0c7QUFDckwsUUFBQSxTQUFTLEdBQUcsS0FBSyxDQUFDO0FBQ2xCLFFBQUEsb0JBQW9CLEdBQUcsa0JBQWtCLENBQUM7QUFDMUMsUUFBQSw0QkFBNEIsR0FBRyxtQkFBbUIsQ0FBQztBQUNuRCxRQUFBLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQywwQkFBMEI7QUFDNUMsUUFBQSxhQUFhLEdBQUcsV0FBVyxDQUFDO0FBQzVCLFFBQUEsYUFBYSxHQUFHLGdCQUFnQixDQUFDO0FBQ2pDLFFBQUEsa0JBQWtCLEdBQUcsa0VBQWtFLENBQUMsQ0FBQyxpQ0FBaUM7QUFFdkksSUFBWSxXQUVYO0FBRkQsV0FBWSxXQUFXO0lBQ3JCLDRCQUFhLENBQUE7QUFDZixDQUFDLEVBRlcsV0FBVywyQkFBWCxXQUFXLFFBRXRCO0FBRUQsSUFBWSxhQUVYO0FBRkQsV0FBWSxhQUFhO0lBQ3ZCLGdDQUFlLENBQUE7QUFDakIsQ0FBQyxFQUZXLGFBQWEsNkJBQWIsYUFBYSxRQUV4QjtBQUVELElBQVksU0FFWDtBQUZELFdBQVksU0FBUztJQUNuQixvQ0FBdUIsQ0FBQTtBQUN6QixDQUFDLEVBRlcsU0FBUyx5QkFBVCxTQUFTLFFBRXBCO0FBRUQsSUFBWSxhQUdYO0FBSEQsV0FBWSxhQUFhO0lBQ3ZCLDRDQUEyQixDQUFBO0lBQzNCLDRCQUFXLENBQUE7QUFDYixDQUFDLEVBSFcsYUFBYSw2QkFBYixhQUFhLFFBR3hCO0FBRUQsSUFBWSxVQUVYO0FBRkQsV0FBWSxVQUFVO0lBQ3BCLGlDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFGVyxVQUFVLDBCQUFWLFVBQVUsUUFFckI7QUFFRCxJQUFZLE9BRVg7QUFGRCxXQUFZLE9BQU87SUFDakIsc0NBQTJCLENBQUE7QUFDN0IsQ0FBQyxFQUZXLE9BQU8sdUJBQVAsT0FBTyxRQUVsQjtBQUVELElBQVksV0FFWDtBQUZELFdBQVksV0FBVztJQUNyQiwwQ0FBMkIsQ0FBQTtBQUM3QixDQUFDLEVBRlcsV0FBVywyQkFBWCxXQUFXLFFBRXRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiBhcyBCYXNlVHJhbnNhY3Rpb25FeHBsYW5hdGlvbixcbiAgVHJhbnNhY3Rpb25UeXBlIGFzIEJpdEdvVHJhbnNhY3Rpb25UeXBlLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5cbmV4cG9ydCBjb25zdCBNQVhfSU5HUkVTU19UVEwgPSA1ICogNjAgKiAxMDAwXzAwMF8wMDA7IC8vIDUgbWludXRlcyBpbiBuYW5vc2Vjb25kc1xuZXhwb3J0IGNvbnN0IFBFUk1JVFRFRF9EUklGVCA9IDYwICogMTAwMF8wMDBfMDAwOyAvLyA2MCBzZWNvbmRzIGluIG5hbm9zZWNvbmRzXG5leHBvcnQgY29uc3QgTEVER0VSX0NBTklTVEVSX0lEID0gbmV3IFVpbnQ4QXJyYXkoWzAsIDAsIDAsIDAsIDAsIDAsIDAsIDIsIDEsIDFdKTsgLy8gVWludDhBcnJheSB2YWx1ZSBmb3IgXCIwMDAwMDAwMDAwMDAwMDAyMDEwMVwiIGFuZCB0aGUgc3RyaW5nIHZhbHVlIGlzIFwicnlqbDMtdHlhYWEtYWFhYWEtYWFhYmEtY2FpXCJcbmV4cG9ydCBjb25zdCBURVNUTkVUX0xFREdFUl9DQU5JU1RFUl9JRCA9IG5ldyBVaW50OEFycmF5KFswLCAwLCAwLCAwLCAxLCAwLCAxMzAsIDI1MSwgMSwgMV0pOyAvLyBVaW50OEFycmF5IHZhbHVlIGZvciBcIjAwMDAwMDAwMDEwMDgyZmIwMTAxXCIgYW5kIHRoZSBzdHJpbmcgdmFsdWUgaXMgXCJ4YWZ2ci1iaWFhYS1hYWFhaS1hcWw1cS1jYWlcIlxuZXhwb3J0IGNvbnN0IFJPT1RfUEFUSCA9ICdtLzAnO1xuZXhwb3J0IGNvbnN0IEFDQ09VTlRfQkFMQU5DRV9DQUxMID0gJ2ljcmMxX2JhbGFuY2Vfb2YnO1xuZXhwb3J0IGNvbnN0IFBVQkxJQ19OT0RFX1JFUVVFU1RfRU5EUE9JTlQgPSAnL2FwaS92My9jYW5pc3Rlci8nO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfTUVNTyA9IDA7IC8vIGRlZmF1bHQgbWVtbyB2YWx1ZSBpcyAwXG5leHBvcnQgY29uc3QgSUNSQzFfRkVFX0tFWSA9ICdpY3JjMTpmZWUnO1xuZXhwb3J0IGNvbnN0IE1FVEFEQVRBX0NBTEwgPSAnaWNyYzFfbWV0YWRhdGEnO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfU1VCQUNDT1VOVCA9ICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJzsgLy8gZGVmYXVsdCBzdWJhY2NvdW50IHZhbHVlIGlzIDB4XG5cbmV4cG9ydCBlbnVtIFJlcXVlc3RUeXBlIHtcbiAgQ0FMTCA9ICdjYWxsJyxcbn1cblxuZXhwb3J0IGVudW0gU2lnbmF0dXJlVHlwZSB7XG4gIEVDRFNBID0gJ2VjZHNhJyxcbn1cblxuZXhwb3J0IGVudW0gQ3VydmVUeXBlIHtcbiAgU0VDUDI1NksxID0gJ3NlY3AyNTZrMScsXG59XG5cbmV4cG9ydCBlbnVtIE9wZXJhdGlvblR5cGUge1xuICBUUkFOU0FDVElPTiA9ICdUUkFOU0FDVElPTicsXG4gIEZFRSA9ICdGRUUnLFxufVxuXG5leHBvcnQgZW51bSBNZXRob2ROYW1lIHtcbiAgU0VORF9QQiA9ICdzZW5kX3BiJywgLy8gc2VuZF9wYiBpcyB0aGUgbWV0aG9kIG5hbWUgZm9yIElDUCB0cmFuc2ZlciB0cmFuc2FjdGlvblxufVxuXG5leHBvcnQgZW51bSBOZXR3b3JrIHtcbiAgSUQgPSAnMDAwMDAwMDAwMDAwMDAwMjAxMDEnLFxufVxuXG5leHBvcnQgZW51bSBUZXN0TmV0d29yayB7XG4gIElEID0gJzAwMDAwMDAwMDEwMDgyZmIwMTAxJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJY3BUcmFuc2FjdGlvbkRhdGEge1xuICBzZW5kZXJBZGRyZXNzOiBzdHJpbmc7XG4gIHJlY2VpdmVyQWRkcmVzczogc3RyaW5nO1xuICBhbW91bnQ6IHN0cmluZztcbiAgZmVlOiBzdHJpbmc7XG4gIHNlbmRlclB1YmxpY0tleUhleDogc3RyaW5nO1xuICBtZW1vOiBudW1iZXIgfCBCaWdJbnQ7IC8vIG1lbW8gaW4gc3RyaW5nIGlzIG5vdCBhY2NlcHRlZCBieSBJQ1AgY2hhaW4uXG4gIHRyYW5zYWN0aW9uVHlwZTogT3BlcmF0aW9uVHlwZTtcbiAgZXhwaXJ5VGltZTogbnVtYmVyIHwgQmlnSW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEljcFB1YmxpY0tleSB7XG4gIGhleF9ieXRlczogc3RyaW5nO1xuICBjdXJ2ZV90eXBlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWNwQWNjb3VudCB7XG4gIGFkZHJlc3M6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJY3BDdXJyZW5jeSB7XG4gIHN5bWJvbDogc3RyaW5nO1xuICBkZWNpbWFsczogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEljcEFtb3VudCB7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGN1cnJlbmN5OiBJY3BDdXJyZW5jeTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJY3BPcGVyYXRpb24ge1xuICB0eXBlOiBzdHJpbmc7XG4gIGFjY291bnQ6IEljcEFjY291bnQ7XG4gIGFtb3VudDogSWNwQW1vdW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFEYXRhIHtcbiAgY3JlYXRlZF9hdF90aW1lOiBudW1iZXI7XG4gIG1lbW86IG51bWJlciB8IEJpZ0ludDsgLy8gbWVtbyBpbiBzdHJpbmcgaXMgbm90IGFjY2VwdGVkIGJ5IElDUCBjaGFpbi5cbiAgaW5ncmVzc19zdGFydD86IG51bWJlciB8IEJpZ0ludDsgLy8gaXQgc2hvdWxkIGJlIG5hbm8gc2Vjb25kc1xuICBpbmdyZXNzX2VuZD86IG51bWJlciB8IEJpZ0ludDsgLy8gaXQgc2hvdWxkIGJlIG5hbm8gc2Vjb25kc1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEljcFRyYW5zYWN0aW9uIHtcbiAgcHVibGljX2tleXM6IEljcFB1YmxpY0tleVtdO1xuICBvcGVyYXRpb25zOiBJY3BPcGVyYXRpb25bXTtcbiAgbWV0YWRhdGE6IE1ldGFEYXRhO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnNlZFRyYW5zYWN0aW9uIHtcbiAgb3BlcmF0aW9uczogSWNwT3BlcmF0aW9uW107XG4gIGFjY291bnRfaWRlbnRpZmllcl9zaWduZXJzOiBJY3BBY2NvdW50W107XG4gIG1ldGFkYXRhOiBNZXRhRGF0YTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJY3BBY2NvdW50SWRlbnRpZmllciB7XG4gIGFkZHJlc3M6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZW5kQXJncyB7XG4gIG1lbW86IHsgbWVtbzogbnVtYmVyIHwgQmlnSW50IH07XG4gIHBheW1lbnQ6IHsgcmVjZWl2ZXJHZXRzOiB7IGU4czogbnVtYmVyIH0gfTtcbiAgbWF4RmVlOiB7IGU4czogbnVtYmVyIH07XG4gIHRvOiB7IGhhc2g6IEJ1ZmZlciB9O1xuICBjcmVhdGVkQXRUaW1lOiB7IHRpbWVzdGFtcE5hbm9zOiBudW1iZXIgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIdHRwQ2FuaXN0ZXJVcGRhdGUge1xuICBjYW5pc3Rlcl9pZDogVWludDhBcnJheTtcbiAgbWV0aG9kX25hbWU6IE1ldGhvZE5hbWU7XG4gIGFyZzogVWludDhBcnJheTtcbiAgc2VuZGVyOiBVaW50OEFycmF5O1xuICBpbmdyZXNzX2V4cGlyeTogYmlnaW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25pbmdQYXlsb2FkIHtcbiAgYWNjb3VudF9pZGVudGlmaWVyOiBJY3BBY2NvdW50SWRlbnRpZmllcjtcbiAgaGV4X2J5dGVzOiBzdHJpbmc7XG4gIHNpZ25hdHVyZV90eXBlOiBTaWduYXR1cmVUeXBlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBheWxvYWRzRGF0YSB7XG4gIHBheWxvYWRzOiBTaWduaW5nUGF5bG9hZFtdO1xuICB1bnNpZ25lZF90cmFuc2FjdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25hdHVyZXMge1xuICBzaWduaW5nX3BheWxvYWQ6IFNpZ25pbmdQYXlsb2FkO1xuICBzaWduYXR1cmVfdHlwZTogU2lnbmF0dXJlVHlwZTtcbiAgcHVibGljX2tleTogSWNwUHVibGljS2V5O1xuICBoZXhfYnl0ZXM6IHN0cmluZztcbn1cblxuLy9Ub2RvOiByZW1vdmUgdGhpcyBpbnRlcmZhY2Ugd2hlbiB3ZSBoYXZlIGEgYmV0dGVyIHdheSB0byBoYW5kbGUgdGhlIHRyYW5zYWN0aW9uXG5leHBvcnQgaW50ZXJmYWNlIENib3JVbnNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgdXBkYXRlczogW0h0dHBDYW5pc3RlclVwZGF0ZV1bXTtcbiAgaW5ncmVzc19leHBpcmllczogYmlnaW50W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlRW52ZWxvcGUge1xuICBjb250ZW50OiBIdHRwQ2FuaXN0ZXJVcGRhdGUgJiB7XG4gICAgcmVxdWVzdF90eXBlOiBSZXF1ZXN0VHlwZTtcbiAgfTtcbiAgc2VuZGVyX3B1YmtleTogVWludDhBcnJheTtcbiAgc2VuZGVyX3NpZzogVWludDhBcnJheTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0RW52ZWxvcGUge1xuICB1cGRhdGU6IFVwZGF0ZUVudmVsb3BlO1xufVxuXG4vKipcbiAqIFRoZSB0cmFuc2FjdGlvbiBkYXRhIHJldHVybmVkIGZyb20gdGhlIHRvSnNvbigpIGZ1bmN0aW9uIG9mIGEgdHJhbnNhY3Rpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUeERhdGEge1xuICBpZD86IHN0cmluZztcbiAgc2VuZGVyOiBzdHJpbmc7XG4gIHNlbmRlclB1YmxpY0tleTogc3RyaW5nO1xuICByZWNpcGllbnQ6IHN0cmluZztcbiAgbWVtbz86IG51bWJlciB8IEJpZ0ludDtcbiAgZmVlQW1vdW50OiBzdHJpbmc7XG4gIGV4cGlyYXRpb25UaW1lOiBudW1iZXIgfCBCaWdJbnQ7XG4gIHR5cGU/OiBCaXRHb1RyYW5zYWN0aW9uVHlwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJY3BUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uRXhwbGFuYXRpb24ge1xuICBzZW5kZXI/OiBzdHJpbmc7XG4gIHR5cGU/OiBCaXRHb1RyYW5zYWN0aW9uVHlwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZXR3b3JrSWRlbnRpZmllciB7XG4gIGJsb2NrY2hhaW46IHN0cmluZztcbiAgbmV0d29yazogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJhd1RyYW5zYWN0aW9uIHtcbiAgc2VyaWFsaXplZFR4SGV4OiBQYXlsb2Fkc0RhdGE7XG4gIHB1YmxpY0tleTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlY292ZXJ5T3B0aW9ucyB7XG4gIHVzZXJLZXk6IHN0cmluZzsgLy8gQm94IEFcbiAgYmFja3VwS2V5OiBzdHJpbmc7IC8vIEJveCBCXG4gIGJpdGdvS2V5Pzogc3RyaW5nO1xuICByb290QWRkcmVzcz86IHN0cmluZztcbiAgcmVjb3ZlcnlEZXN0aW5hdGlvbjogc3RyaW5nO1xuICB3YWxsZXRQYXNzcGhyYXNlOiBzdHJpbmc7XG4gIG1lbW8/OiBudW1iZXIgfCBCaWdJbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVjb3ZlcnlUcmFuc2FjdGlvbiB7XG4gIGlkOiBzdHJpbmc7XG4gIHR4OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVW5zaWduZWRTd2VlcFJlY292ZXJ5VHJhbnNhY3Rpb24ge1xuICB0eEhleDogc3RyaW5nO1xuICBjb2luOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHVibGljTm9kZVN1Ym1pdFJlc3BvbnNlIHtcbiAgc3RhdHVzOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWNjb3VudElkZW50aWZpZXJIYXNoIHtcbiAgaGFzaDogQnVmZmVyPEFycmF5QnVmZmVyPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2FjdGlvbkhleFBhcmFtcyB7XG4gIHRyYW5zYWN0aW9uSGV4OiBzdHJpbmc7XG4gIHNpZ25hYmxlSGV4Pzogc3RyaW5nO1xufVxuIl19
@@ -1,5 +1,9 @@
1
1
  import * as Utils from './utils';
2
+ export * from './iface';
3
+ export { KeyPair } from './keyPair';
2
4
  export { TransactionBuilder } from './transactionBuilder';
3
5
  export { TransferBuilder } from './transferBuilder';
6
+ export { TransactionBuilderFactory } from './transactionBuilderFactory';
7
+ export { Transaction } from './transaction';
4
8
  export { Utils };
5
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,cAAc,SAAS,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -32,12 +32,22 @@ var __importStar = (this && this.__importStar) || (function () {
32
32
  return result;
33
33
  };
34
34
  })();
35
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
36
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
37
+ };
35
38
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.Utils = exports.TransferBuilder = exports.TransactionBuilder = void 0;
39
+ exports.Utils = exports.Transaction = exports.TransactionBuilderFactory = exports.TransferBuilder = exports.TransactionBuilder = exports.KeyPair = void 0;
37
40
  const Utils = __importStar(require("./utils"));
38
41
  exports.Utils = Utils;
42
+ __exportStar(require("./iface"), exports);
43
+ var keyPair_1 = require("./keyPair");
44
+ Object.defineProperty(exports, "KeyPair", { enumerable: true, get: function () { return keyPair_1.KeyPair; } });
39
45
  var transactionBuilder_1 = require("./transactionBuilder");
40
46
  Object.defineProperty(exports, "TransactionBuilder", { enumerable: true, get: function () { return transactionBuilder_1.TransactionBuilder; } });
41
47
  var transferBuilder_1 = require("./transferBuilder");
42
48
  Object.defineProperty(exports, "TransferBuilder", { enumerable: true, get: function () { return transferBuilder_1.TransferBuilder; } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFpQztBQUl4QixzQkFBSztBQUZkLDJEQUEwRDtBQUFqRCx3SEFBQSxrQkFBa0IsT0FBQTtBQUMzQixxREFBb0Q7QUFBM0Msa0hBQUEsZUFBZSxPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgVXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmV4cG9ydCB7IFRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdHJhbnNmZXJCdWlsZGVyJztcbmV4cG9ydCB7IFV0aWxzIH07XG4iXX0=
49
+ var transactionBuilderFactory_1 = require("./transactionBuilderFactory");
50
+ Object.defineProperty(exports, "TransactionBuilderFactory", { enumerable: true, get: function () { return transactionBuilderFactory_1.TransactionBuilderFactory; } });
51
+ var transaction_1 = require("./transaction");
52
+ Object.defineProperty(exports, "Transaction", { enumerable: true, get: function () { return transaction_1.Transaction; } });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFpQztBQVF4QixzQkFBSztBQVBkLDBDQUF3QjtBQUV4QixxQ0FBb0M7QUFBM0Isa0dBQUEsT0FBTyxPQUFBO0FBQ2hCLDJEQUEwRDtBQUFqRCx3SEFBQSxrQkFBa0IsT0FBQTtBQUMzQixxREFBb0Q7QUFBM0Msa0hBQUEsZUFBZSxPQUFBO0FBQ3hCLHlFQUF3RTtBQUEvRCxzSUFBQSx5QkFBeUIsT0FBQTtBQUNsQyw2Q0FBNEM7QUFBbkMsMEdBQUEsV0FBVyxPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgVXRpbHMgZnJvbSAnLi91dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2lmYWNlJztcblxuZXhwb3J0IHsgS2V5UGFpciB9IGZyb20gJy4va2V5UGFpcic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5leHBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyQnVpbGRlcic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5JztcbmV4cG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5leHBvcnQgeyBVdGlscyB9O1xuIl19
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.KeyPair = void 0;
7
7
  const sdk_core_1 = require("@bitgo-beta/sdk-core");
8
8
  const utils_1 = __importDefault(require("./utils"));
9
- const utxo_lib_1 = require("@bitgo-beta/utxo-lib");
9
+ const secp256k1_1 = require("@bitgo-beta/secp256k1");
10
10
  const crypto_1 = require("crypto");
11
11
  const DEFAULT_SEED_SIZE_BYTES = 16;
12
12
  /**
@@ -23,10 +23,10 @@ class KeyPair extends sdk_core_1.Secp256k1ExtendedKeyPair {
23
23
  super(source);
24
24
  if (!source) {
25
25
  const seed = (0, crypto_1.randomBytes)(DEFAULT_SEED_SIZE_BYTES);
26
- this.hdNode = utxo_lib_1.bip32.fromSeed(seed);
26
+ this.hdNode = secp256k1_1.bip32.fromSeed(seed);
27
27
  }
28
28
  else if ((0, sdk_core_1.isSeed)(source)) {
29
- this.hdNode = utxo_lib_1.bip32.fromSeed(source.seed);
29
+ this.hdNode = secp256k1_1.bip32.fromSeed(source.seed);
30
30
  }
31
31
  else if ((0, sdk_core_1.isPrivateKey)(source)) {
32
32
  super.recordKeysFromPrivateKey(source.prv);
@@ -57,4 +57,4 @@ class KeyPair extends sdk_core_1.Secp256k1ExtendedKeyPair {
57
57
  }
58
58
  }
59
59
  exports.KeyPair = KeyPair;
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIva2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFPOEI7QUFDOUIsb0RBQTRCO0FBQzVCLG1EQUE2QztBQUM3QyxtQ0FBcUM7QUFFckMsTUFBTSx1QkFBdUIsR0FBRyxFQUFFLENBQUM7QUFFbkM7O0dBRUc7QUFDSCxNQUFhLE9BQVEsU0FBUSxtQ0FBd0I7SUFDbkQ7Ozs7O09BS0c7SUFDSCxZQUFZLE1BQXVCO1FBQ2pDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNkLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE1BQU0sSUFBSSxHQUFHLElBQUEsb0JBQVcsRUFBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxNQUFNLEdBQUcsZ0JBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsQ0FBQzthQUFNLElBQUksSUFBQSxpQkFBTSxFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxnQkFBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsQ0FBQzthQUFNLElBQUksSUFBQSx1QkFBWSxFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDaEMsS0FBSyxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QyxDQUFDO2FBQU0sSUFBSSxJQUFBLHNCQUFXLEVBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUMvQixLQUFLLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLG1DQUF3QixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakUsQ0FBQztJQUNILENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsT0FBTztRQUNMLE9BQU87WUFDTCxHQUFHLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDNUQsR0FBRyxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDO1NBQzNDLENBQUM7SUFDSixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFVBQVU7UUFDUixNQUFNLFNBQVMsR0FBRyxlQUFLLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sVUFBVSxHQUFHLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sU0FBUyxHQUFHLGVBQUssQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzdELE9BQU8sU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzlCLENBQUM7Q0FDRjtBQTFDRCwwQkEwQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEZWZhdWx0S2V5cyxcbiAgS2V5UGFpck9wdGlvbnMsXG4gIFNlY3AyNTZrMUV4dGVuZGVkS2V5UGFpcixcbiAgaXNTZWVkLFxuICBpc1ByaXZhdGVLZXksXG4gIGlzUHVibGljS2V5LFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBiaXAzMiB9IGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcbmltcG9ydCB7IHJhbmRvbUJ5dGVzIH0gZnJvbSAnY3J5cHRvJztcblxuY29uc3QgREVGQVVMVF9TRUVEX1NJWkVfQllURVMgPSAxNjtcblxuLyoqXG4gKiBJQ1Aga2V5cyBhbmQgYWRkcmVzcyBtYW5hZ2VtZW50LlxuICovXG5leHBvcnQgY2xhc3MgS2V5UGFpciBleHRlbmRzIFNlY3AyNTZrMUV4dGVuZGVkS2V5UGFpciB7XG4gIC8qKlxuICAgKiBQdWJsaWMgY29uc3RydWN0b3IuIEJ5IGRlZmF1bHQsIGNyZWF0ZXMgYSBrZXkgcGFpciB3aXRoIGEgcmFuZG9tIG1hc3RlciBzZWVkLlxuICAgKlxuICAgKiBAcGFyYW0geyBLZXlQYWlyT3B0aW9ucyB9IHNvdXJjZSBFaXRoZXIgYSBtYXN0ZXIgc2VlZCwgYSBwcml2YXRlIGtleSAoZXh0ZW5kZWQgb3IgcmF3KSwgb3IgYSBwdWJsaWMga2V5XG4gICAqICAgICAoZXh0ZW5kZWQsIGNvbXByZXNzZWQsIG9yIHVuY29tcHJlc3NlZClcbiAgICovXG4gIGNvbnN0cnVjdG9yKHNvdXJjZT86IEtleVBhaXJPcHRpb25zKSB7XG4gICAgc3VwZXIoc291cmNlKTtcbiAgICBpZiAoIXNvdXJjZSkge1xuICAgICAgY29uc3Qgc2VlZCA9IHJhbmRvbUJ5dGVzKERFRkFVTFRfU0VFRF9TSVpFX0JZVEVTKTtcbiAgICAgIHRoaXMuaGROb2RlID0gYmlwMzIuZnJvbVNlZWQoc2VlZCk7XG4gICAgfSBlbHNlIGlmIChpc1NlZWQoc291cmNlKSkge1xuICAgICAgdGhpcy5oZE5vZGUgPSBiaXAzMi5mcm9tU2VlZChzb3VyY2Uuc2VlZCk7XG4gICAgfSBlbHNlIGlmIChpc1ByaXZhdGVLZXkoc291cmNlKSkge1xuICAgICAgc3VwZXIucmVjb3JkS2V5c0Zyb21Qcml2YXRlS2V5KHNvdXJjZS5wcnYpO1xuICAgIH0gZWxzZSBpZiAoaXNQdWJsaWNLZXkoc291cmNlKSkge1xuICAgICAgc3VwZXIucmVjb3JkS2V5c0Zyb21QdWJsaWNLZXkoc291cmNlLnB1Yik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBrZXkgcGFpciBvcHRpb25zJyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaGROb2RlKSB7XG4gICAgICB0aGlzLmtleVBhaXIgPSBTZWNwMjU2azFFeHRlbmRlZEtleVBhaXIudG9LZXlQYWlyKHRoaXMuaGROb2RlKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0S2V5cygpOiBEZWZhdWx0S2V5cyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHB1YjogdGhpcy5nZXRQdWJsaWNLZXkoeyBjb21wcmVzc2VkOiB0cnVlIH0pLnRvU3RyaW5nKCdoZXgnKSxcbiAgICAgIHBydjogdGhpcy5nZXRQcml2YXRlS2V5KCk/LnRvU3RyaW5nKCdoZXgnKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldEFkZHJlc3MoKTogc3RyaW5nIHtcbiAgICBjb25zdCBwcmluY2lwYWwgPSB1dGlscy5kZXJpdmVQcmluY2lwYWxGcm9tUHVibGljS2V5KHRoaXMuZ2V0S2V5cygpLnB1Yik7XG4gICAgY29uc3Qgc3ViQWNjb3VudCA9IG5ldyBVaW50OEFycmF5KDMyKTtcbiAgICBjb25zdCBhY2NvdW50SWQgPSB1dGlscy5mcm9tUHJpbmNpcGFsKHByaW5jaXBhbCwgc3ViQWNjb3VudCk7XG4gICAgcmV0dXJuIGFjY291bnRJZC50b1N0cmluZygpO1xuICB9XG59XG4iXX0=
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIva2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFPOEI7QUFDOUIsb0RBQTRCO0FBQzVCLHFEQUE4QztBQUM5QyxtQ0FBcUM7QUFFckMsTUFBTSx1QkFBdUIsR0FBRyxFQUFFLENBQUM7QUFFbkM7O0dBRUc7QUFDSCxNQUFhLE9BQVEsU0FBUSxtQ0FBd0I7SUFDbkQ7Ozs7O09BS0c7SUFDSCxZQUFZLE1BQXVCO1FBQ2pDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNkLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE1BQU0sSUFBSSxHQUFHLElBQUEsb0JBQVcsRUFBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxNQUFNLEdBQUcsaUJBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsQ0FBQzthQUFNLElBQUksSUFBQSxpQkFBTSxFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxpQkFBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsQ0FBQzthQUFNLElBQUksSUFBQSx1QkFBWSxFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDaEMsS0FBSyxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QyxDQUFDO2FBQU0sSUFBSSxJQUFBLHNCQUFXLEVBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUMvQixLQUFLLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLG1DQUF3QixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakUsQ0FBQztJQUNILENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsT0FBTztRQUNMLE9BQU87WUFDTCxHQUFHLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDNUQsR0FBRyxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDO1NBQzNDLENBQUM7SUFDSixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFVBQVU7UUFDUixNQUFNLFNBQVMsR0FBRyxlQUFLLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sVUFBVSxHQUFHLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sU0FBUyxHQUFHLGVBQUssQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzdELE9BQU8sU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzlCLENBQUM7Q0FDRjtBQTFDRCwwQkEwQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEZWZhdWx0S2V5cyxcbiAgS2V5UGFpck9wdGlvbnMsXG4gIFNlY3AyNTZrMUV4dGVuZGVkS2V5UGFpcixcbiAgaXNTZWVkLFxuICBpc1ByaXZhdGVLZXksXG4gIGlzUHVibGljS2V5LFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBiaXAzMiB9IGZyb20gJ0BiaXRnby1iZXRhL3NlY3AyNTZrMSc7XG5pbXBvcnQgeyByYW5kb21CeXRlcyB9IGZyb20gJ2NyeXB0byc7XG5cbmNvbnN0IERFRkFVTFRfU0VFRF9TSVpFX0JZVEVTID0gMTY7XG5cbi8qKlxuICogSUNQIGtleXMgYW5kIGFkZHJlc3MgbWFuYWdlbWVudC5cbiAqL1xuZXhwb3J0IGNsYXNzIEtleVBhaXIgZXh0ZW5kcyBTZWNwMjU2azFFeHRlbmRlZEtleVBhaXIge1xuICAvKipcbiAgICogUHVibGljIGNvbnN0cnVjdG9yLiBCeSBkZWZhdWx0LCBjcmVhdGVzIGEga2V5IHBhaXIgd2l0aCBhIHJhbmRvbSBtYXN0ZXIgc2VlZC5cbiAgICpcbiAgICogQHBhcmFtIHsgS2V5UGFpck9wdGlvbnMgfSBzb3VyY2UgRWl0aGVyIGEgbWFzdGVyIHNlZWQsIGEgcHJpdmF0ZSBrZXkgKGV4dGVuZGVkIG9yIHJhdyksIG9yIGEgcHVibGljIGtleVxuICAgKiAgICAgKGV4dGVuZGVkLCBjb21wcmVzc2VkLCBvciB1bmNvbXByZXNzZWQpXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihzb3VyY2U/OiBLZXlQYWlyT3B0aW9ucykge1xuICAgIHN1cGVyKHNvdXJjZSk7XG4gICAgaWYgKCFzb3VyY2UpIHtcbiAgICAgIGNvbnN0IHNlZWQgPSByYW5kb21CeXRlcyhERUZBVUxUX1NFRURfU0laRV9CWVRFUyk7XG4gICAgICB0aGlzLmhkTm9kZSA9IGJpcDMyLmZyb21TZWVkKHNlZWQpO1xuICAgIH0gZWxzZSBpZiAoaXNTZWVkKHNvdXJjZSkpIHtcbiAgICAgIHRoaXMuaGROb2RlID0gYmlwMzIuZnJvbVNlZWQoc291cmNlLnNlZWQpO1xuICAgIH0gZWxzZSBpZiAoaXNQcml2YXRlS2V5KHNvdXJjZSkpIHtcbiAgICAgIHN1cGVyLnJlY29yZEtleXNGcm9tUHJpdmF0ZUtleShzb3VyY2UucHJ2KTtcbiAgICB9IGVsc2UgaWYgKGlzUHVibGljS2V5KHNvdXJjZSkpIHtcbiAgICAgIHN1cGVyLnJlY29yZEtleXNGcm9tUHVibGljS2V5KHNvdXJjZS5wdWIpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQga2V5IHBhaXIgb3B0aW9ucycpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmhkTm9kZSkge1xuICAgICAgdGhpcy5rZXlQYWlyID0gU2VjcDI1NmsxRXh0ZW5kZWRLZXlQYWlyLnRvS2V5UGFpcih0aGlzLmhkTm9kZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldEtleXMoKTogRGVmYXVsdEtleXMge1xuICAgIHJldHVybiB7XG4gICAgICBwdWI6IHRoaXMuZ2V0UHVibGljS2V5KHsgY29tcHJlc3NlZDogdHJ1ZSB9KS50b1N0cmluZygnaGV4JyksXG4gICAgICBwcnY6IHRoaXMuZ2V0UHJpdmF0ZUtleSgpPy50b1N0cmluZygnaGV4JyksXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRBZGRyZXNzKCk6IHN0cmluZyB7XG4gICAgY29uc3QgcHJpbmNpcGFsID0gdXRpbHMuZGVyaXZlUHJpbmNpcGFsRnJvbVB1YmxpY0tleSh0aGlzLmdldEtleXMoKS5wdWIpO1xuICAgIGNvbnN0IHN1YkFjY291bnQgPSBuZXcgVWludDhBcnJheSgzMik7XG4gICAgY29uc3QgYWNjb3VudElkID0gdXRpbHMuZnJvbVByaW5jaXBhbChwcmluY2lwYWwsIHN1YkFjY291bnQpO1xuICAgIHJldHVybiBhY2NvdW50SWQudG9TdHJpbmcoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,9 @@
1
+ import { CborUnsignedTransaction, Signatures, RequestEnvelope } from './iface';
2
+ export declare class SignedTransactionBuilder {
3
+ protected _unsigned_transaction: string;
4
+ protected _signaturePayload: Signatures[];
5
+ constructor(unsigned_transaction: string, signatures: Signatures[]);
6
+ getSignTransaction(): string;
7
+ getEnvelopes(unsignedTransaction: CborUnsignedTransaction, signatureMap: Map<string, Signatures>): [RequestEnvelope[]][];
8
+ }
9
+ //# sourceMappingURL=signedTransactionBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signedTransactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/signedTransactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EAEvB,UAAU,EAEV,eAAe,EAEhB,MAAM,SAAS,CAAC;AAIjB,qBAAa,wBAAwB;IACnC,SAAS,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACxC,SAAS,CAAC,iBAAiB,EAAE,UAAU,EAAE,CAAC;gBAE9B,oBAAoB,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE;IAKlE,kBAAkB,IAAI,MAAM;IAwB5B,YAAY,CACV,mBAAmB,EAAE,uBAAuB,EAC5C,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GACpC,CAAC,eAAe,EAAE,CAAC,EAAE;CA8BzB"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SignedTransactionBuilder = void 0;
7
+ const iface_1 = require("./iface");
8
+ const utils_1 = __importDefault(require("./utils"));
9
+ const assert_1 = __importDefault(require("assert"));
10
+ class SignedTransactionBuilder {
11
+ constructor(unsigned_transaction, signatures) {
12
+ this._unsigned_transaction = unsigned_transaction;
13
+ this._signaturePayload = signatures;
14
+ }
15
+ getSignTransaction() {
16
+ const combineRequest = {
17
+ signatures: this._signaturePayload,
18
+ unsigned_transaction: this._unsigned_transaction,
19
+ };
20
+ const signatureMap = new Map();
21
+ for (const sig of combineRequest.signatures) {
22
+ signatureMap.set(sig.signing_payload.hex_bytes, sig);
23
+ }
24
+ const unsignedTransaction = utils_1.default.cborDecode(utils_1.default.blobFromHex(combineRequest.unsigned_transaction));
25
+ // at present we expect only one request type and one signature
26
+ (0, assert_1.default)(combineRequest.signatures.length === 1);
27
+ (0, assert_1.default)(unsignedTransaction.updates.length === 1);
28
+ const envelopes = this.getEnvelopes(unsignedTransaction, signatureMap);
29
+ const requestEnvelopeArray = envelopes[0];
30
+ const requestEnvelopes = requestEnvelopeArray[0];
31
+ (0, assert_1.default)(requestEnvelopes.length === 1);
32
+ const requestEnvelope = requestEnvelopes[0];
33
+ const signedTransaction = utils_1.default.cborEncode(requestEnvelope.update);
34
+ return signedTransaction;
35
+ }
36
+ getEnvelopes(unsignedTransaction, signatureMap) {
37
+ const envelopes = [];
38
+ for (const [, update] of unsignedTransaction.updates) {
39
+ const requestEnvelopes = [];
40
+ if (unsignedTransaction.ingress_expiries.length != 1) {
41
+ throw new Error('ingress expiry can have only one entry');
42
+ }
43
+ const ingressExpiry = unsignedTransaction.ingress_expiries[0];
44
+ update.ingress_expiry = ingressExpiry;
45
+ const transactionSignature = utils_1.default.getTransactionSignature(signatureMap, update);
46
+ if (!transactionSignature) {
47
+ throw new Error('Transaction signature is invalid');
48
+ }
49
+ const pk_der = utils_1.default.getPublicKeyInDERFormat(transactionSignature.public_key.hex_bytes);
50
+ const updateEnvelope = {
51
+ content: { request_type: iface_1.RequestType.CALL, ...update },
52
+ sender_pubkey: pk_der,
53
+ sender_sig: utils_1.default.blobFromHex(transactionSignature.hex_bytes),
54
+ };
55
+ requestEnvelopes.push({
56
+ update: updateEnvelope,
57
+ });
58
+ envelopes.push([requestEnvelopes]);
59
+ }
60
+ return envelopes;
61
+ }
62
+ }
63
+ exports.SignedTransactionBuilder = SignedTransactionBuilder;
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmVkVHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9zaWduZWRUcmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsbUNBT2lCO0FBQ2pCLG9EQUE0QjtBQUM1QixvREFBNEI7QUFFNUIsTUFBYSx3QkFBd0I7SUFJbkMsWUFBWSxvQkFBNEIsRUFBRSxVQUF3QjtRQUNoRSxJQUFJLENBQUMscUJBQXFCLEdBQUcsb0JBQW9CLENBQUM7UUFDbEQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE1BQU0sY0FBYyxHQUFHO1lBQ3JCLFVBQVUsRUFBRSxJQUFJLENBQUMsaUJBQWlCO1lBQ2xDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxxQkFBcUI7U0FDakQsQ0FBQztRQUNGLE1BQU0sWUFBWSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDL0IsS0FBSyxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDNUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN2RCxDQUFDO1FBQ0QsTUFBTSxtQkFBbUIsR0FBRyxlQUFLLENBQUMsVUFBVSxDQUMxQyxlQUFLLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUM1QixDQUFDO1FBQzdCLCtEQUErRDtRQUMvRCxJQUFBLGdCQUFNLEVBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDL0MsSUFBQSxnQkFBTSxFQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDakQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUN2RSxNQUFNLG9CQUFvQixHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQXdCLENBQUM7UUFDakUsTUFBTSxnQkFBZ0IsR0FBRyxvQkFBb0IsQ0FBQyxDQUFDLENBQXNCLENBQUM7UUFDdEUsSUFBQSxnQkFBTSxFQUFDLGdCQUFnQixDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN0QyxNQUFNLGVBQWUsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLENBQW9CLENBQUM7UUFDL0QsTUFBTSxpQkFBaUIsR0FBRyxlQUFLLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxNQUF3QixDQUFDLENBQUM7UUFDckYsT0FBTyxpQkFBaUIsQ0FBQztJQUMzQixDQUFDO0lBRUQsWUFBWSxDQUNWLG1CQUE0QyxFQUM1QyxZQUFxQztRQUVyQyxNQUFNLFNBQVMsR0FBMEIsRUFBRSxDQUFDO1FBQzVDLEtBQUssTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDLElBQUksbUJBQW1CLENBQUMsT0FBb0QsRUFBRSxDQUFDO1lBQ2xHLE1BQU0sZ0JBQWdCLEdBQXNCLEVBQUUsQ0FBQztZQUMvQyxJQUFJLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDckQsTUFBTSxJQUFJLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO1lBQzVELENBQUM7WUFDRCxNQUFNLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5RCxNQUFNLENBQUMsY0FBYyxHQUFHLGFBQWEsQ0FBQztZQUV0QyxNQUFNLG9CQUFvQixHQUFHLGVBQUssQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDakYsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7Z0JBQzFCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQztZQUN0RCxDQUFDO1lBRUQsTUFBTSxNQUFNLEdBQUcsZUFBSyxDQUFDLHVCQUF1QixDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN4RixNQUFNLGNBQWMsR0FBbUI7Z0JBQ3JDLE9BQU8sRUFBRSxFQUFFLFlBQVksRUFBRSxtQkFBVyxDQUFDLElBQUksRUFBRSxHQUFHLE1BQU0sRUFBRTtnQkFDdEQsYUFBYSxFQUFFLE1BQU07Z0JBQ3JCLFVBQVUsRUFBRSxlQUFLLENBQUMsV0FBVyxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQzthQUM5RCxDQUFDO1lBRUYsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO2dCQUNwQixNQUFNLEVBQUUsY0FBYzthQUN2QixDQUFDLENBQUM7WUFFSCxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLENBQUM7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0NBQ0Y7QUFsRUQsNERBa0VDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2JvclVuc2lnbmVkVHJhbnNhY3Rpb24sXG4gIFJlcXVlc3RUeXBlLFxuICBTaWduYXR1cmVzLFxuICBVcGRhdGVFbnZlbG9wZSxcbiAgUmVxdWVzdEVudmVsb3BlLFxuICBIdHRwQ2FuaXN0ZXJVcGRhdGUsXG59IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuXG5leHBvcnQgY2xhc3MgU2lnbmVkVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJvdGVjdGVkIF91bnNpZ25lZF90cmFuc2FjdGlvbjogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX3NpZ25hdHVyZVBheWxvYWQ6IFNpZ25hdHVyZXNbXTtcblxuICBjb25zdHJ1Y3Rvcih1bnNpZ25lZF90cmFuc2FjdGlvbjogc3RyaW5nLCBzaWduYXR1cmVzOiBTaWduYXR1cmVzW10pIHtcbiAgICB0aGlzLl91bnNpZ25lZF90cmFuc2FjdGlvbiA9IHVuc2lnbmVkX3RyYW5zYWN0aW9uO1xuICAgIHRoaXMuX3NpZ25hdHVyZVBheWxvYWQgPSBzaWduYXR1cmVzO1xuICB9XG5cbiAgZ2V0U2lnblRyYW5zYWN0aW9uKCk6IHN0cmluZyB7XG4gICAgY29uc3QgY29tYmluZVJlcXVlc3QgPSB7XG4gICAgICBzaWduYXR1cmVzOiB0aGlzLl9zaWduYXR1cmVQYXlsb2FkLFxuICAgICAgdW5zaWduZWRfdHJhbnNhY3Rpb246IHRoaXMuX3Vuc2lnbmVkX3RyYW5zYWN0aW9uLFxuICAgIH07XG4gICAgY29uc3Qgc2lnbmF0dXJlTWFwID0gbmV3IE1hcCgpO1xuICAgIGZvciAoY29uc3Qgc2lnIG9mIGNvbWJpbmVSZXF1ZXN0LnNpZ25hdHVyZXMpIHtcbiAgICAgIHNpZ25hdHVyZU1hcC5zZXQoc2lnLnNpZ25pbmdfcGF5bG9hZC5oZXhfYnl0ZXMsIHNpZyk7XG4gICAgfVxuICAgIGNvbnN0IHVuc2lnbmVkVHJhbnNhY3Rpb24gPSB1dGlscy5jYm9yRGVjb2RlKFxuICAgICAgdXRpbHMuYmxvYkZyb21IZXgoY29tYmluZVJlcXVlc3QudW5zaWduZWRfdHJhbnNhY3Rpb24pXG4gICAgKSBhcyBDYm9yVW5zaWduZWRUcmFuc2FjdGlvbjtcbiAgICAvLyBhdCBwcmVzZW50IHdlIGV4cGVjdCBvbmx5IG9uZSByZXF1ZXN0IHR5cGUgYW5kIG9uZSBzaWduYXR1cmVcbiAgICBhc3NlcnQoY29tYmluZVJlcXVlc3Quc2lnbmF0dXJlcy5sZW5ndGggPT09IDEpO1xuICAgIGFzc2VydCh1bnNpZ25lZFRyYW5zYWN0aW9uLnVwZGF0ZXMubGVuZ3RoID09PSAxKTtcbiAgICBjb25zdCBlbnZlbG9wZXMgPSB0aGlzLmdldEVudmVsb3Blcyh1bnNpZ25lZFRyYW5zYWN0aW9uLCBzaWduYXR1cmVNYXApO1xuICAgIGNvbnN0IHJlcXVlc3RFbnZlbG9wZUFycmF5ID0gZW52ZWxvcGVzWzBdIGFzIFtSZXF1ZXN0RW52ZWxvcGVbXV07XG4gICAgY29uc3QgcmVxdWVzdEVudmVsb3BlcyA9IHJlcXVlc3RFbnZlbG9wZUFycmF5WzBdIGFzIFJlcXVlc3RFbnZlbG9wZVtdO1xuICAgIGFzc2VydChyZXF1ZXN0RW52ZWxvcGVzLmxlbmd0aCA9PT0gMSk7XG4gICAgY29uc3QgcmVxdWVzdEVudmVsb3BlID0gcmVxdWVzdEVudmVsb3Blc1swXSBhcyBSZXF1ZXN0RW52ZWxvcGU7XG4gICAgY29uc3Qgc2lnbmVkVHJhbnNhY3Rpb24gPSB1dGlscy5jYm9yRW5jb2RlKHJlcXVlc3RFbnZlbG9wZS51cGRhdGUgYXMgVXBkYXRlRW52ZWxvcGUpO1xuICAgIHJldHVybiBzaWduZWRUcmFuc2FjdGlvbjtcbiAgfVxuXG4gIGdldEVudmVsb3BlcyhcbiAgICB1bnNpZ25lZFRyYW5zYWN0aW9uOiBDYm9yVW5zaWduZWRUcmFuc2FjdGlvbixcbiAgICBzaWduYXR1cmVNYXA6IE1hcDxzdHJpbmcsIFNpZ25hdHVyZXM+XG4gICk6IFtSZXF1ZXN0RW52ZWxvcGVbXV1bXSB7XG4gICAgY29uc3QgZW52ZWxvcGVzOiBbUmVxdWVzdEVudmVsb3BlW11dW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IFssIHVwZGF0ZV0gb2YgdW5zaWduZWRUcmFuc2FjdGlvbi51cGRhdGVzIGFzIHVua25vd24gYXMgW3N0cmluZywgSHR0cENhbmlzdGVyVXBkYXRlXVtdKSB7XG4gICAgICBjb25zdCByZXF1ZXN0RW52ZWxvcGVzOiBSZXF1ZXN0RW52ZWxvcGVbXSA9IFtdO1xuICAgICAgaWYgKHVuc2lnbmVkVHJhbnNhY3Rpb24uaW5ncmVzc19leHBpcmllcy5sZW5ndGggIT0gMSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2luZ3Jlc3MgZXhwaXJ5IGNhbiBoYXZlIG9ubHkgb25lIGVudHJ5Jyk7XG4gICAgICB9XG4gICAgICBjb25zdCBpbmdyZXNzRXhwaXJ5ID0gdW5zaWduZWRUcmFuc2FjdGlvbi5pbmdyZXNzX2V4cGlyaWVzWzBdO1xuICAgICAgdXBkYXRlLmluZ3Jlc3NfZXhwaXJ5ID0gaW5ncmVzc0V4cGlyeTtcblxuICAgICAgY29uc3QgdHJhbnNhY3Rpb25TaWduYXR1cmUgPSB1dGlscy5nZXRUcmFuc2FjdGlvblNpZ25hdHVyZShzaWduYXR1cmVNYXAsIHVwZGF0ZSk7XG4gICAgICBpZiAoIXRyYW5zYWN0aW9uU2lnbmF0dXJlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVHJhbnNhY3Rpb24gc2lnbmF0dXJlIGlzIGludmFsaWQnKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcGtfZGVyID0gdXRpbHMuZ2V0UHVibGljS2V5SW5ERVJGb3JtYXQodHJhbnNhY3Rpb25TaWduYXR1cmUucHVibGljX2tleS5oZXhfYnl0ZXMpO1xuICAgICAgY29uc3QgdXBkYXRlRW52ZWxvcGU6IFVwZGF0ZUVudmVsb3BlID0ge1xuICAgICAgICBjb250ZW50OiB7IHJlcXVlc3RfdHlwZTogUmVxdWVzdFR5cGUuQ0FMTCwgLi4udXBkYXRlIH0sXG4gICAgICAgIHNlbmRlcl9wdWJrZXk6IHBrX2RlcixcbiAgICAgICAgc2VuZGVyX3NpZzogdXRpbHMuYmxvYkZyb21IZXgodHJhbnNhY3Rpb25TaWduYXR1cmUuaGV4X2J5dGVzKSxcbiAgICAgIH07XG5cbiAgICAgIHJlcXVlc3RFbnZlbG9wZXMucHVzaCh7XG4gICAgICAgIHVwZGF0ZTogdXBkYXRlRW52ZWxvcGUsXG4gICAgICB9KTtcblxuICAgICAgZW52ZWxvcGVzLnB1c2goW3JlcXVlc3RFbnZlbG9wZXNdKTtcbiAgICB9XG4gICAgcmV0dXJuIGVudmVsb3BlcztcbiAgfVxufVxuIl19
@@ -0,0 +1,54 @@
1
+ import { BaseKey, BaseTransaction } from '@bitgo-beta/sdk-core';
2
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
+ import { IcpTransaction, IcpTransactionData, PayloadsData, Signatures, TxData, IcpTransactionExplanation, ParsedTransaction } from './iface';
4
+ export declare class Transaction extends BaseTransaction {
5
+ protected _icpTransactionData: IcpTransactionData;
6
+ protected _icpTransaction: IcpTransaction;
7
+ protected _payloadsData: PayloadsData;
8
+ protected _signedTransaction: string;
9
+ protected _signaturePayload: Signatures[];
10
+ protected _createdTimestamp: number | bigint | undefined;
11
+ constructor(_coinConfig: Readonly<CoinConfig>);
12
+ get icpTransactionData(): IcpTransactionData;
13
+ set icpTransactionData(icpTransactionData: IcpTransactionData);
14
+ get icpTransaction(): IcpTransaction;
15
+ set icpTransaction(icpTransaction: IcpTransaction);
16
+ get unsignedTransaction(): string;
17
+ get signaturePayload(): Signatures[];
18
+ set signedTransaction(signature: string);
19
+ get signedTransaction(): string;
20
+ set payloadsData(payloadsData: PayloadsData);
21
+ get payloadsData(): PayloadsData;
22
+ set createdTimestamp(createdTimestamp: number);
23
+ get createdTimestamp(): number | bigint | undefined;
24
+ fromRawTransaction(rawTransaction: string): Promise<void>;
25
+ addSignature(signaturePayloads: Signatures[]): void;
26
+ /** @inheritdoc */
27
+ toJson(): TxData;
28
+ /** @inheritDoc */
29
+ explainTransaction(): IcpTransactionExplanation;
30
+ /**
31
+ * Explains a transfer transaction by providing details about the recipients and the total output amount.
32
+ *
33
+ * @param {IcpTransactionExplanation} explanationResult - The initial explanation result to be extended.
34
+ * @returns {IcpTransactionExplanation} The extended explanation result including the output amount and recipients.
35
+ */
36
+ explainTransferTransaction(explanationResult: IcpTransactionExplanation): IcpTransactionExplanation;
37
+ /** @inheritdoc */
38
+ toBroadcastFormat(): string;
39
+ serialize(): string;
40
+ parseUnsignedTransaction(rawTransaction: string): Promise<ParsedTransaction>;
41
+ private getParsedTransactionFromUpdate;
42
+ parseSignedTransaction(rawTransaction: string): Promise<ParsedTransaction>;
43
+ /** @inheritdoc */
44
+ canSign(key: BaseKey): boolean;
45
+ /**
46
+ * Generates a unique transaction ID for the current transaction.
47
+ * The transaction ID is derived using the unsigned transaction data,
48
+ * the sender's address, and the receiver's address.
49
+ *
50
+ * @returns {string} The generated transaction ID.
51
+ */
52
+ private generateTransactionId;
53
+ }
54
+ //# sourceMappingURL=transaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/lib/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,eAAe,EAKhB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,YAAY,EAEZ,UAAU,EACV,MAAM,EACN,yBAAyB,EAGzB,iBAAiB,EAOlB,MAAM,SAAS,CAAC;AAGjB,qBAAa,WAAY,SAAQ,eAAe;IAC9C,SAAS,CAAC,mBAAmB,EAAE,kBAAkB,CAAC;IAClD,SAAS,CAAC,eAAe,EAAE,cAAc,CAAC;IAC1C,SAAS,CAAC,aAAa,EAAE,YAAY,CAAC;IACtC,SAAS,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACrC,SAAS,CAAC,iBAAiB,EAAE,UAAU,EAAE,CAAC;IAC1C,SAAS,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;gBAE7C,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,IAAI,kBAAkB,IAAI,kBAAkB,CAE3C;IAED,IAAI,kBAAkB,CAAC,kBAAkB,EAAE,kBAAkB,EAE5D;IAED,IAAI,cAAc,IAAI,cAAc,CAEnC;IAED,IAAI,cAAc,CAAC,cAAc,EAAE,cAAc,EAEhD;IAED,IAAI,mBAAmB,IAAI,MAAM,CAEhC;IAED,IAAI,gBAAgB,IAAI,UAAU,EAAE,CAEnC;IAED,IAAI,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAEtC;IAED,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,IAAI,YAAY,CAAC,YAAY,EAAE,YAAY,EAE1C;IAED,IAAI,YAAY,IAAI,YAAY,CAE/B;IAED,IAAI,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,EAE5C;IAED,IAAI,gBAAgB,IAAI,MAAM,GAAG,MAAM,GAAG,SAAS,CAElD;IAEK,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC/D,YAAY,CAAC,iBAAiB,EAAE,UAAU,EAAE,GAAG,IAAI;IAanD,kBAAkB;IAClB,MAAM,IAAI,MAAM;IAyBhB,kBAAkB;IAClB,kBAAkB,IAAI,yBAAyB;IAwB/C;;;;;OAKG;IACH,0BAA0B,CAAC,iBAAiB,EAAE,yBAAyB,GAAG,yBAAyB;IAcnG,kBAAkB;IAClB,iBAAiB,IAAI,MAAM;IAO3B,SAAS,IAAI,MAAM;IAIb,wBAAwB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;YAQpE,8BAA8B;IAgEtC,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAOhF,kBAAkB;IAClB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAI9B;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;CAQ9B"}