@bitgo-beta/sdk-coin-ada 2.3.14-beta.185 → 2.3.14-beta.1850

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 (113) hide show
  1. package/dist/src/ada.d.ts +15 -13
  2. package/dist/src/ada.d.ts.map +1 -1
  3. package/dist/src/ada.js +124 -42
  4. package/dist/src/adaToken.d.ts +16 -11
  5. package/dist/src/adaToken.d.ts.map +1 -1
  6. package/dist/src/adaToken.js +109 -3
  7. package/dist/src/index.js +6 -2
  8. package/dist/src/lib/index.d.ts +3 -1
  9. package/dist/src/lib/index.d.ts.map +1 -1
  10. package/dist/src/lib/index.js +29 -9
  11. package/dist/src/lib/keyPair.js +29 -16
  12. package/dist/src/lib/messages/cip8/cip8Message.d.ts +25 -0
  13. package/dist/src/lib/messages/cip8/cip8Message.d.ts.map +1 -0
  14. package/dist/src/lib/messages/cip8/cip8Message.js +140 -0
  15. package/dist/src/lib/messages/cip8/cip8MessageBuilder.d.ts +19 -0
  16. package/dist/src/lib/messages/cip8/cip8MessageBuilder.d.ts.map +1 -0
  17. package/dist/src/lib/messages/cip8/cip8MessageBuilder.js +27 -0
  18. package/dist/src/lib/messages/cip8/index.d.ts +4 -0
  19. package/dist/src/lib/messages/cip8/index.d.ts.map +1 -0
  20. package/dist/src/lib/messages/cip8/index.js +20 -0
  21. package/dist/src/lib/messages/cip8/utils.d.ts +24 -0
  22. package/dist/src/lib/messages/cip8/utils.d.ts.map +1 -0
  23. package/dist/src/lib/messages/cip8/utils.js +73 -0
  24. package/dist/src/lib/messages/index.d.ts +3 -0
  25. package/dist/src/lib/messages/index.d.ts.map +1 -0
  26. package/dist/src/lib/messages/index.js +19 -0
  27. package/dist/src/lib/messages/messageBuilderFactory.d.ts +7 -0
  28. package/dist/src/lib/messages/messageBuilderFactory.d.ts.map +1 -0
  29. package/dist/src/lib/messages/messageBuilderFactory.js +20 -0
  30. package/dist/src/lib/stakingActivateBuilder.d.ts +1 -1
  31. package/dist/src/lib/stakingActivateBuilder.d.ts.map +1 -1
  32. package/dist/src/lib/stakingActivateBuilder.js +30 -10
  33. package/dist/src/lib/stakingDeactivateBuilder.js +24 -10
  34. package/dist/src/lib/transaction.d.ts +24 -7
  35. package/dist/src/lib/transaction.d.ts.map +1 -1
  36. package/dist/src/lib/transaction.js +81 -17
  37. package/dist/src/lib/transactionBuilder.d.ts +114 -3
  38. package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
  39. package/dist/src/lib/transactionBuilder.js +464 -20
  40. package/dist/src/lib/transactionBuilderFactory.d.ts +2 -0
  41. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  42. package/dist/src/lib/transactionBuilderFactory.js +7 -1
  43. package/dist/src/lib/utils.d.ts +22 -0
  44. package/dist/src/lib/utils.d.ts.map +1 -1
  45. package/dist/src/lib/utils.js +152 -17
  46. package/dist/src/lib/voteDelegationBuilder.d.ts +24 -0
  47. package/dist/src/lib/voteDelegationBuilder.d.ts.map +1 -0
  48. package/dist/src/lib/voteDelegationBuilder.js +84 -0
  49. package/dist/test/resources/cip8Resources.d.ts +25 -0
  50. package/dist/test/resources/cip8Resources.d.ts.map +1 -0
  51. package/dist/test/resources/cip8Resources.js +76 -0
  52. package/dist/test/resources/index.d.ts +458 -0
  53. package/dist/test/resources/index.d.ts.map +1 -0
  54. package/dist/test/resources/index.js +659 -0
  55. package/dist/test/unit/StakingActivateBuilder.d.ts +2 -0
  56. package/dist/test/unit/StakingActivateBuilder.d.ts.map +1 -0
  57. package/dist/test/unit/StakingActivateBuilder.js +213 -0
  58. package/dist/test/unit/StakingDeactivateBuilder.d.ts +2 -0
  59. package/dist/test/unit/StakingDeactivateBuilder.d.ts.map +1 -0
  60. package/dist/test/unit/StakingDeactivateBuilder.js +158 -0
  61. package/dist/test/unit/ada.d.ts +5 -0
  62. package/dist/test/unit/ada.d.ts.map +1 -0
  63. package/dist/test/unit/ada.js +1430 -0
  64. package/dist/test/unit/getBuilderFactory.d.ts +3 -0
  65. package/dist/test/unit/getBuilderFactory.d.ts.map +1 -0
  66. package/dist/test/unit/getBuilderFactory.js +10 -0
  67. package/dist/test/unit/index.d.ts +2 -0
  68. package/dist/test/unit/index.d.ts.map +1 -0
  69. package/dist/test/unit/index.js +32 -0
  70. package/dist/test/unit/keyPair.d.ts +2 -0
  71. package/dist/test/unit/keyPair.d.ts.map +1 -0
  72. package/dist/test/unit/keyPair.js +88 -0
  73. package/dist/test/unit/messages/cip8/cip8Message.d.ts +2 -0
  74. package/dist/test/unit/messages/cip8/cip8Message.d.ts.map +1 -0
  75. package/dist/test/unit/messages/cip8/cip8Message.js +131 -0
  76. package/dist/test/unit/messages/cip8/cip8MessageBuilder.d.ts +2 -0
  77. package/dist/test/unit/messages/cip8/cip8MessageBuilder.d.ts.map +1 -0
  78. package/dist/test/unit/messages/cip8/cip8MessageBuilder.js +132 -0
  79. package/dist/test/unit/messages/cip8/utils.d.ts +2 -0
  80. package/dist/test/unit/messages/cip8/utils.d.ts.map +1 -0
  81. package/dist/test/unit/messages/cip8/utils.js +127 -0
  82. package/dist/test/unit/messages/messageBuilderFactory.d.ts +2 -0
  83. package/dist/test/unit/messages/messageBuilderFactory.d.ts.map +1 -0
  84. package/dist/test/unit/messages/messageBuilderFactory.js +35 -0
  85. package/dist/test/unit/stakingClaimRewardsBuilder.d.ts +2 -0
  86. package/dist/test/unit/stakingClaimRewardsBuilder.d.ts.map +1 -0
  87. package/dist/test/unit/stakingClaimRewardsBuilder.js +70 -0
  88. package/dist/test/unit/stakingPledgeBuilder.d.ts +2 -0
  89. package/dist/test/unit/stakingPledgeBuilder.d.ts.map +1 -0
  90. package/dist/test/unit/stakingPledgeBuilder.js +141 -0
  91. package/dist/test/unit/stakingWithdrawBuilder.d.ts +2 -0
  92. package/dist/test/unit/stakingWithdrawBuilder.d.ts.map +1 -0
  93. package/dist/test/unit/stakingWithdrawBuilder.js +167 -0
  94. package/dist/test/unit/tokenWithdrawal.d.ts +2 -0
  95. package/dist/test/unit/tokenWithdrawal.d.ts.map +1 -0
  96. package/dist/test/unit/tokenWithdrawal.js +959 -0
  97. package/dist/test/unit/transaction.d.ts +2 -0
  98. package/dist/test/unit/transaction.d.ts.map +1 -0
  99. package/dist/test/unit/transaction.js +100 -0
  100. package/dist/test/unit/transactionBuilder.d.ts +2 -0
  101. package/dist/test/unit/transactionBuilder.d.ts.map +1 -0
  102. package/dist/test/unit/transactionBuilder.js +545 -0
  103. package/dist/test/unit/utils.d.ts +2 -0
  104. package/dist/test/unit/utils.d.ts.map +1 -0
  105. package/dist/test/unit/utils.js +138 -0
  106. package/dist/test/unit/voteDelegationBuilder.d.ts +2 -0
  107. package/dist/test/unit/voteDelegationBuilder.d.ts.map +1 -0
  108. package/dist/test/unit/voteDelegationBuilder.js +96 -0
  109. package/dist/tsconfig.tsbuildinfo +1 -0
  110. package/package.json +18 -13
  111. package/.eslintignore +0 -5
  112. package/.mocharc.yml +0 -8
  113. package/CHANGELOG.md +0 -470
@@ -1,8 +1,48 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
2
38
  Object.defineProperty(exports, "__esModule", { value: true });
3
39
  exports.AdaToken = void 0;
4
40
  const ada_1 = require("./ada");
41
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
5
42
  const statics_1 = require("@bitgo-beta/statics");
43
+ const lib_1 = require("./lib");
44
+ const CardanoWasm = __importStar(require("@emurgo/cardano-serialization-lib-nodejs"));
45
+ const assert_1 = __importDefault(require("assert"));
6
46
  class AdaToken extends ada_1.Ada {
7
47
  constructor(bitgo, tokenConfig) {
8
48
  const staticsCoin = tokenConfig.network === 'Mainnet' ? statics_1.coins.get('ada') : statics_1.coins.get('tada');
@@ -12,9 +52,9 @@ class AdaToken extends ada_1.Ada {
12
52
  static createTokenConstructor(config) {
13
53
  return (bitgo) => new AdaToken(bitgo, config);
14
54
  }
15
- static createTokenConstructors() {
55
+ static createTokenConstructors(tokenConfigs = [...statics_1.tokens.bitcoin.ada.tokens, ...statics_1.tokens.testnet.ada.tokens]) {
16
56
  const tokensCtors = [];
17
- for (const token of [...statics_1.tokens.bitcoin.ada.tokens, ...statics_1.tokens.testnet.ada.tokens]) {
57
+ for (const token of tokenConfigs) {
18
58
  const tokenConstructor = AdaToken.createTokenConstructor(token);
19
59
  tokensCtors.push({ name: token.type, coinConstructor: tokenConstructor });
20
60
  }
@@ -64,6 +104,72 @@ class AdaToken extends ada_1.Ada {
64
104
  transactionDataAllowed() {
65
105
  return false;
66
106
  }
107
+ get contractAddress() {
108
+ return this.tokenConfig.contractAddress;
109
+ }
110
+ /**
111
+ * Verify that a token transaction prebuild complies with the original intention.
112
+ * For token transfers, we need to verify the token amount in multiAssets, not the ADA amount.
113
+ * For token consolidation, we verify all outputs go to the base address.
114
+ *
115
+ * @param params.txPrebuild prebuild transaction
116
+ * @param params.txParams transaction parameters
117
+ * @param params.verification verification options (includes consolidationToBaseAddress flag)
118
+ * @param params.wallet wallet object for getting base address
119
+ * @return true if verification success
120
+ */
121
+ async verifyTransaction(params) {
122
+ try {
123
+ const coinConfig = statics_1.coins.get(this.getBaseChain());
124
+ const { txPrebuild, txParams, verification, wallet } = params;
125
+ const transaction = new lib_1.Transaction(coinConfig);
126
+ (0, assert_1.default)(txPrebuild.txHex, new Error('missing required tx prebuild property txHex'));
127
+ transaction.fromRawTransaction(txPrebuild.txHex);
128
+ const txJson = transaction.toJson();
129
+ if (txParams.recipients !== undefined) {
130
+ // assetName in tokenConfig is ASCII (e.g. 'WATER'), convert to hex for comparison
131
+ const asciiEncodedAssetName = Buffer.from(this.tokenConfig.assetName).toString('hex');
132
+ // ASCII encoded asset name may be appended to the policy ID (consistent with crypto compare)
133
+ // But cardano sdk requires only the policy ID (28 bytes = 56 hex chars) for ScriptHash
134
+ let policyId = this.tokenConfig.policyId;
135
+ if (policyId.endsWith(asciiEncodedAssetName)) {
136
+ policyId = policyId.substring(0, policyId.length - asciiEncodedAssetName.length);
137
+ }
138
+ const policyScriptHash = CardanoWasm.ScriptHash.from_hex(policyId);
139
+ const assetName = CardanoWasm.AssetName.new(Buffer.from(asciiEncodedAssetName, 'hex'));
140
+ for (const recipient of txParams.recipients) {
141
+ const found = txJson.outputs.some((output) => {
142
+ if (recipient.address !== output.address || !output.multiAssets) {
143
+ return false;
144
+ }
145
+ const multiAssets = output.multiAssets;
146
+ const tokenQty = multiAssets.get_asset(policyScriptHash, assetName);
147
+ return tokenQty && tokenQty.to_str() === recipient.amount;
148
+ });
149
+ if (!found) {
150
+ throw new Error('cannot find recipient in expected output');
151
+ }
152
+ }
153
+ }
154
+ else if (verification?.consolidationToBaseAddress) {
155
+ // For token consolidation, verify all outputs go to the base address or fee address (sponsored consolidations)
156
+ const baseAddress = wallet?.coinSpecific()?.baseAddress || wallet?.coinSpecific()?.rootAddress;
157
+ const feeAddress = txPrebuild.txInfo?.feeAddress;
158
+ for (const output of txJson.outputs) {
159
+ if (output.address !== baseAddress && output.address !== feeAddress) {
160
+ throw new Error('tx outputs does not match with expected address');
161
+ }
162
+ }
163
+ }
164
+ }
165
+ catch (e) {
166
+ if (e instanceof sdk_core_1.NodeEnvironmentError) {
167
+ return true;
168
+ }
169
+ throw e;
170
+ }
171
+ return true;
172
+ }
67
173
  }
68
174
  exports.AdaToken = AdaToken;
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhVG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWRhVG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQTRCO0FBRTVCLGlEQUFvRDtBQVlwRCxNQUFhLFFBQVMsU0FBUSxTQUFHO0lBRy9CLFlBQVksS0FBZ0IsRUFBRSxXQUEyQjtRQUN2RCxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsT0FBTyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3RixLQUFLLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxNQUFNLENBQUMsc0JBQXNCLENBQUMsTUFBc0I7UUFDbEQsT0FBTyxDQUFDLEtBQWdCLEVBQUUsRUFBRSxDQUFDLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsTUFBTSxDQUFDLHVCQUF1QjtRQUM1QixNQUFNLFdBQVcsR0FBMkIsRUFBRSxDQUFDO1FBQy9DLEtBQUssTUFBTSxLQUFLLElBQUksQ0FBQyxHQUFHLGdCQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxnQkFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDaEYsTUFBTSxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEUsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7U0FDM0U7UUFDRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztJQUN4QyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7SUFDL0IsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsd0JBQXdCO1FBQ3RCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVEOzs7T0FHRztJQUNILHNCQUFzQjtRQUNwQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Q0FDRjtBQTdFRCw0QkE2RUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZGEgfSBmcm9tICcuL2FkYSc7XG5pbXBvcnQgeyBCaXRHb0Jhc2UsIENvaW5Db25zdHJ1Y3RvciwgTmFtZWRDb2luQ29uc3RydWN0b3IgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBjb2lucywgdG9rZW5zIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRhVG9rZW5Db25maWcge1xuICBuYW1lOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgY29pbjogc3RyaW5nO1xuICBuZXR3b3JrOiBzdHJpbmc7XG4gIHBvbGljeUlkOiBzdHJpbmc7XG4gIGFzc2V0TmFtZTogc3RyaW5nO1xuICBkZWNpbWFsUGxhY2VzOiBudW1iZXI7XG59XG5cbmV4cG9ydCBjbGFzcyBBZGFUb2tlbiBleHRlbmRzIEFkYSB7XG4gIHB1YmxpYyByZWFkb25seSB0b2tlbkNvbmZpZzogQWRhVG9rZW5Db25maWc7XG5cbiAgY29uc3RydWN0b3IoYml0Z286IEJpdEdvQmFzZSwgdG9rZW5Db25maWc6IEFkYVRva2VuQ29uZmlnKSB7XG4gICAgY29uc3Qgc3RhdGljc0NvaW4gPSB0b2tlbkNvbmZpZy5uZXR3b3JrID09PSAnTWFpbm5ldCcgPyBjb2lucy5nZXQoJ2FkYScpIDogY29pbnMuZ2V0KCd0YWRhJyk7XG4gICAgc3VwZXIoYml0Z28sIHN0YXRpY3NDb2luKTtcbiAgICB0aGlzLnRva2VuQ29uZmlnID0gdG9rZW5Db25maWc7XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcihjb25maWc6IEFkYVRva2VuQ29uZmlnKTogQ29pbkNvbnN0cnVjdG9yIHtcbiAgICByZXR1cm4gKGJpdGdvOiBCaXRHb0Jhc2UpID0+IG5ldyBBZGFUb2tlbihiaXRnbywgY29uZmlnKTtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVUb2tlbkNvbnN0cnVjdG9ycygpOiBOYW1lZENvaW5Db25zdHJ1Y3RvcltdIHtcbiAgICBjb25zdCB0b2tlbnNDdG9yczogTmFtZWRDb2luQ29uc3RydWN0b3JbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgdG9rZW4gb2YgWy4uLnRva2Vucy5iaXRjb2luLmFkYS50b2tlbnMsIC4uLnRva2Vucy50ZXN0bmV0LmFkYS50b2tlbnNdKSB7XG4gICAgICBjb25zdCB0b2tlbkNvbnN0cnVjdG9yID0gQWRhVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcih0b2tlbik7XG4gICAgICB0b2tlbnNDdG9ycy5wdXNoKHsgbmFtZTogdG9rZW4udHlwZSwgY29pbkNvbnN0cnVjdG9yOiB0b2tlbkNvbnN0cnVjdG9yIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdG9rZW5zQ3RvcnM7XG4gIH1cblxuICBnZXQgbmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbkNvbmZpZy5uYW1lO1xuICB9XG5cbiAgZ2V0IGNvaW4oKSB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5Db25maWcuY29pbjtcbiAgfVxuXG4gIGdldCBuZXR3b3JrKCkge1xuICAgIHJldHVybiB0aGlzLnRva2VuQ29uZmlnLm5ldHdvcms7XG4gIH1cblxuICBnZXQgcG9saWN5SWQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5Db25maWcucG9saWN5SWQ7XG4gIH1cblxuICBnZXQgYXNzZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLnRva2VuQ29uZmlnLmFzc2V0TmFtZTtcbiAgfVxuXG4gIGdldCBkZWNpbWFsUGxhY2VzKCkge1xuICAgIHJldHVybiB0aGlzLnRva2VuQ29uZmlnLmRlY2ltYWxQbGFjZXM7XG4gIH1cblxuICBnZXRDaGFpbigpIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbkNvbmZpZy50eXBlO1xuICB9XG5cbiAgZ2V0QmFzZUNoYWluKCkge1xuICAgIHJldHVybiB0aGlzLmNvaW47XG4gIH1cblxuICBnZXRGdWxsTmFtZSgpIHtcbiAgICByZXR1cm4gJ0NhcmRhbm8gVG9rZW4nO1xuICB9XG5cbiAgZ2V0QmFzZUZhY3RvcigpIHtcbiAgICByZXR1cm4gTWF0aC5wb3coMTAsIHRoaXMudG9rZW5Db25maWcuZGVjaW1hbFBsYWNlcyk7XG4gIH1cblxuICAvKipcbiAgICogRmxhZyBmb3Igc2VuZGluZyB2YWx1ZSBvZiAwXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIG9rYXkgdG8gc2VuZCAwIHZhbHVlLCBmYWxzZSBvdGhlcndpc2VcbiAgICovXG4gIHZhbHVlbGVzc1RyYW5zZmVyQWxsb3dlZCgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogRmxhZyBmb3Igc2VuZGluZyBkYXRhIGFsb25nIHdpdGggdHJhbnNhY3Rpb25zXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIG9rYXkgdG8gc2VuZCB0eCBkYXRhIChDRUxPKSwgZmFsc2Ugb3RoZXJ3aXNlXG4gICAqL1xuICB0cmFuc2FjdGlvbkRhdGFBbGxvd2VkKCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhVG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWRhVG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQXVDO0FBQ3ZDLG1EQU04QjtBQUM5QixpREFBb0U7QUFDcEUsK0JBQW9DO0FBQ3BDLHNGQUF3RTtBQUN4RSxvREFBNEI7QUFFNUIsTUFBYSxRQUFTLFNBQVEsU0FBRztJQUcvQixZQUFZLEtBQWdCLEVBQUUsV0FBMkI7UUFDdkQsTUFBTSxXQUFXLEdBQUcsV0FBVyxDQUFDLE9BQU8sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0YsS0FBSyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNqQyxDQUFDO0lBRUQsTUFBTSxDQUFDLHNCQUFzQixDQUFDLE1BQXNCO1FBQ2xELE9BQU8sQ0FBQyxLQUFnQixFQUFFLEVBQUUsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELE1BQU0sQ0FBQyx1QkFBdUIsQ0FDNUIsZUFBaUMsQ0FBQyxHQUFHLGdCQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxnQkFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDO1FBRTdGLE1BQU0sV0FBVyxHQUEyQixFQUFFLENBQUM7UUFDL0MsS0FBSyxNQUFNLEtBQUssSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNqQyxNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNoRSxX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QVUsQ0FBQztnQkFFaEUsS0FBSyxNQUFNLE1BQU0sSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ3BDLElBQUksTUFBTSxDQUFDLE9BQU8sS0FBSyxXQUFXLElBQUksTUFBTSxDQUFDLE9BQU8sS0FBSyxVQUFVLEVBQUUsQ0FBQzt3QkFDcEUsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO29CQUNyRSxDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsWUFBWSwrQkFBb0IsRUFBRSxDQUFDO2dCQUN0QyxPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7WUFDRCxNQUFNLENBQUMsQ0FBQztRQUNWLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRjtBQXhKRCw0QkF3SkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZGEsIEFkYVR4SW5mbyB9IGZyb20gJy4vYWRhJztcbmltcG9ydCB7XG4gIEJpdEdvQmFzZSxcbiAgQ29pbkNvbnN0cnVjdG9yLFxuICBOYW1lZENvaW5Db25zdHJ1Y3RvcixcbiAgVmVyaWZ5VHJhbnNhY3Rpb25PcHRpb25zLFxuICBOb2RlRW52aXJvbm1lbnRFcnJvcixcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgY29pbnMsIHRva2VucywgQWRhVG9rZW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi9saWInO1xuaW1wb3J0ICogYXMgQ2FyZGFub1dhc20gZnJvbSAnQGVtdXJnby9jYXJkYW5vLXNlcmlhbGl6YXRpb24tbGliLW5vZGVqcyc7XG5pbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmV4cG9ydCBjbGFzcyBBZGFUb2tlbiBleHRlbmRzIEFkYSB7XG4gIHB1YmxpYyByZWFkb25seSB0b2tlbkNvbmZpZzogQWRhVG9rZW5Db25maWc7XG5cbiAgY29uc3RydWN0b3IoYml0Z286IEJpdEdvQmFzZSwgdG9rZW5Db25maWc6IEFkYVRva2VuQ29uZmlnKSB7XG4gICAgY29uc3Qgc3RhdGljc0NvaW4gPSB0b2tlbkNvbmZpZy5uZXR3b3JrID09PSAnTWFpbm5ldCcgPyBjb2lucy5nZXQoJ2FkYScpIDogY29pbnMuZ2V0KCd0YWRhJyk7XG4gICAgc3VwZXIoYml0Z28sIHN0YXRpY3NDb2luKTtcbiAgICB0aGlzLnRva2VuQ29uZmlnID0gdG9rZW5Db25maWc7XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcihjb25maWc6IEFkYVRva2VuQ29uZmlnKTogQ29pbkNvbnN0cnVjdG9yIHtcbiAgICByZXR1cm4gKGJpdGdvOiBCaXRHb0Jhc2UpID0+IG5ldyBBZGFUb2tlbihiaXRnbywgY29uZmlnKTtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVUb2tlbkNvbnN0cnVjdG9ycyhcbiAgICB0b2tlbkNvbmZpZ3M6IEFkYVRva2VuQ29uZmlnW10gPSBbLi4udG9rZW5zLmJpdGNvaW4uYWRhLnRva2VucywgLi4udG9rZW5zLnRlc3RuZXQuYWRhLnRva2Vuc11cbiAgKTogTmFtZWRDb2luQ29uc3RydWN0b3JbXSB7XG4gICAgY29uc3QgdG9rZW5zQ3RvcnM6IE5hbWVkQ29pbkNvbnN0cnVjdG9yW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHRva2VuIG9mIHRva2VuQ29uZmlncykge1xuICAgICAgY29uc3QgdG9rZW5Db25zdHJ1Y3RvciA9IEFkYVRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3IodG9rZW4pO1xuICAgICAgdG9rZW5zQ3RvcnMucHVzaCh7IG5hbWU6IHRva2VuLnR5cGUsIGNvaW5Db25zdHJ1Y3RvcjogdG9rZW5Db25zdHJ1Y3RvciB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHRva2Vuc0N0b3JzO1xuICB9XG5cbiAgZ2V0IG5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5Db25maWcubmFtZTtcbiAgfVxuXG4gIGdldCBjb2luKCkge1xuICAgIHJldHVybiB0aGlzLnRva2VuQ29uZmlnLmNvaW47XG4gIH1cblxuICBnZXQgbmV0d29yaygpIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbkNvbmZpZy5uZXR3b3JrO1xuICB9XG5cbiAgZ2V0IHBvbGljeUlkKCkge1xuICAgIHJldHVybiB0aGlzLnRva2VuQ29uZmlnLnBvbGljeUlkO1xuICB9XG5cbiAgZ2V0IGFzc2V0TmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbkNvbmZpZy5hc3NldE5hbWU7XG4gIH1cblxuICBnZXQgZGVjaW1hbFBsYWNlcygpIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbkNvbmZpZy5kZWNpbWFsUGxhY2VzO1xuICB9XG5cbiAgZ2V0Q2hhaW4oKSB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5Db25maWcudHlwZTtcbiAgfVxuXG4gIGdldEJhc2VDaGFpbigpIHtcbiAgICByZXR1cm4gdGhpcy5jb2luO1xuICB9XG5cbiAgZ2V0RnVsbE5hbWUoKSB7XG4gICAgcmV0dXJuICdDYXJkYW5vIFRva2VuJztcbiAgfVxuXG4gIGdldEJhc2VGYWN0b3IoKSB7XG4gICAgcmV0dXJuIE1hdGgucG93KDEwLCB0aGlzLnRva2VuQ29uZmlnLmRlY2ltYWxQbGFjZXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZsYWcgZm9yIHNlbmRpbmcgdmFsdWUgb2YgMFxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiBva2F5IHRvIHNlbmQgMCB2YWx1ZSwgZmFsc2Ugb3RoZXJ3aXNlXG4gICAqL1xuICB2YWx1ZWxlc3NUcmFuc2ZlckFsbG93ZWQoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEZsYWcgZm9yIHNlbmRpbmcgZGF0YSBhbG9uZyB3aXRoIHRyYW5zYWN0aW9uc1xuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiBva2F5IHRvIHNlbmQgdHggZGF0YSAoQ0VMTyksIGZhbHNlIG90aGVyd2lzZVxuICAgKi9cbiAgdHJhbnNhY3Rpb25EYXRhQWxsb3dlZCgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBnZXQgY29udHJhY3RBZGRyZXNzKCkge1xuICAgIHJldHVybiB0aGlzLnRva2VuQ29uZmlnLmNvbnRyYWN0QWRkcmVzcztcbiAgfVxuXG4gIC8qKlxuICAgKiBWZXJpZnkgdGhhdCBhIHRva2VuIHRyYW5zYWN0aW9uIHByZWJ1aWxkIGNvbXBsaWVzIHdpdGggdGhlIG9yaWdpbmFsIGludGVudGlvbi5cbiAgICogRm9yIHRva2VuIHRyYW5zZmVycywgd2UgbmVlZCB0byB2ZXJpZnkgdGhlIHRva2VuIGFtb3VudCBpbiBtdWx0aUFzc2V0cywgbm90IHRoZSBBREEgYW1vdW50LlxuICAgKiBGb3IgdG9rZW4gY29uc29saWRhdGlvbiwgd2UgdmVyaWZ5IGFsbCBvdXRwdXRzIGdvIHRvIHRoZSBiYXNlIGFkZHJlc3MuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMudHhQcmVidWlsZCBwcmVidWlsZCB0cmFuc2FjdGlvblxuICAgKiBAcGFyYW0gcGFyYW1zLnR4UGFyYW1zIHRyYW5zYWN0aW9uIHBhcmFtZXRlcnNcbiAgICogQHBhcmFtIHBhcmFtcy52ZXJpZmljYXRpb24gdmVyaWZpY2F0aW9uIG9wdGlvbnMgKGluY2x1ZGVzIGNvbnNvbGlkYXRpb25Ub0Jhc2VBZGRyZXNzIGZsYWcpXG4gICAqIEBwYXJhbSBwYXJhbXMud2FsbGV0IHdhbGxldCBvYmplY3QgZm9yIGdldHRpbmcgYmFzZSBhZGRyZXNzXG4gICAqIEByZXR1cm4gdHJ1ZSBpZiB2ZXJpZmljYXRpb24gc3VjY2Vzc1xuICAgKi9cbiAgYXN5bmMgdmVyaWZ5VHJhbnNhY3Rpb24ocGFyYW1zOiBWZXJpZnlUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgY29pbkNvbmZpZyA9IGNvaW5zLmdldCh0aGlzLmdldEJhc2VDaGFpbigpKTtcbiAgICAgIGNvbnN0IHsgdHhQcmVidWlsZCwgdHhQYXJhbXMsIHZlcmlmaWNhdGlvbiwgd2FsbGV0IH0gPSBwYXJhbXM7XG4gICAgICBjb25zdCB0cmFuc2FjdGlvbiA9IG5ldyBUcmFuc2FjdGlvbihjb2luQ29uZmlnKTtcbiAgICAgIGFzc2VydCh0eFByZWJ1aWxkLnR4SGV4LCBuZXcgRXJyb3IoJ21pc3NpbmcgcmVxdWlyZWQgdHggcHJlYnVpbGQgcHJvcGVydHkgdHhIZXgnKSk7XG5cbiAgICAgIHRyYW5zYWN0aW9uLmZyb21SYXdUcmFuc2FjdGlvbih0eFByZWJ1aWxkLnR4SGV4KTtcbiAgICAgIGNvbnN0IHR4SnNvbiA9IHRyYW5zYWN0aW9uLnRvSnNvbigpO1xuXG4gICAgICBpZiAodHhQYXJhbXMucmVjaXBpZW50cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIC8vIGFzc2V0TmFtZSBpbiB0b2tlbkNvbmZpZyBpcyBBU0NJSSAoZS5nLiAnV0FURVInKSwgY29udmVydCB0byBoZXggZm9yIGNvbXBhcmlzb25cbiAgICAgICAgY29uc3QgYXNjaWlFbmNvZGVkQXNzZXROYW1lID0gQnVmZmVyLmZyb20odGhpcy50b2tlbkNvbmZpZy5hc3NldE5hbWUpLnRvU3RyaW5nKCdoZXgnKTtcblxuICAgICAgICAvLyBBU0NJSSBlbmNvZGVkIGFzc2V0IG5hbWUgbWF5IGJlIGFwcGVuZGVkIHRvIHRoZSBwb2xpY3kgSUQgKGNvbnNpc3RlbnQgd2l0aCBjcnlwdG8gY29tcGFyZSlcbiAgICAgICAgLy8gQnV0IGNhcmRhbm8gc2RrIHJlcXVpcmVzIG9ubHkgdGhlIHBvbGljeSBJRCAoMjggYnl0ZXMgPSA1NiBoZXggY2hhcnMpIGZvciBTY3JpcHRIYXNoXG4gICAgICAgIGxldCBwb2xpY3lJZCA9IHRoaXMudG9rZW5Db25maWcucG9saWN5SWQ7XG4gICAgICAgIGlmIChwb2xpY3lJZC5lbmRzV2l0aChhc2NpaUVuY29kZWRBc3NldE5hbWUpKSB7XG4gICAgICAgICAgcG9saWN5SWQgPSBwb2xpY3lJZC5zdWJzdHJpbmcoMCwgcG9saWN5SWQubGVuZ3RoIC0gYXNjaWlFbmNvZGVkQXNzZXROYW1lLmxlbmd0aCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwb2xpY3lTY3JpcHRIYXNoID0gQ2FyZGFub1dhc20uU2NyaXB0SGFzaC5mcm9tX2hleChwb2xpY3lJZCk7XG4gICAgICAgIGNvbnN0IGFzc2V0TmFtZSA9IENhcmRhbm9XYXNtLkFzc2V0TmFtZS5uZXcoQnVmZmVyLmZyb20oYXNjaWlFbmNvZGVkQXNzZXROYW1lLCAnaGV4JykpO1xuXG4gICAgICAgIGZvciAoY29uc3QgcmVjaXBpZW50IG9mIHR4UGFyYW1zLnJlY2lwaWVudHMpIHtcbiAgICAgICAgICBjb25zdCBmb3VuZCA9IHR4SnNvbi5vdXRwdXRzLnNvbWUoKG91dHB1dCkgPT4ge1xuICAgICAgICAgICAgaWYgKHJlY2lwaWVudC5hZGRyZXNzICE9PSBvdXRwdXQuYWRkcmVzcyB8fCAhb3V0cHV0Lm11bHRpQXNzZXRzKSB7XG4gICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IG11bHRpQXNzZXRzID0gb3V0cHV0Lm11bHRpQXNzZXRzIGFzIENhcmRhbm9XYXNtLk11bHRpQXNzZXQ7XG4gICAgICAgICAgICBjb25zdCB0b2tlblF0eSA9IG11bHRpQXNzZXRzLmdldF9hc3NldChwb2xpY3lTY3JpcHRIYXNoLCBhc3NldE5hbWUpO1xuICAgICAgICAgICAgcmV0dXJuIHRva2VuUXR5ICYmIHRva2VuUXR5LnRvX3N0cigpID09PSByZWNpcGllbnQuYW1vdW50O1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgaWYgKCFmb3VuZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdjYW5ub3QgZmluZCByZWNpcGllbnQgaW4gZXhwZWN0ZWQgb3V0cHV0Jyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHZlcmlmaWNhdGlvbj8uY29uc29saWRhdGlvblRvQmFzZUFkZHJlc3MpIHtcbiAgICAgICAgLy8gRm9yIHRva2VuIGNvbnNvbGlkYXRpb24sIHZlcmlmeSBhbGwgb3V0cHV0cyBnbyB0byB0aGUgYmFzZSBhZGRyZXNzIG9yIGZlZSBhZGRyZXNzIChzcG9uc29yZWQgY29uc29saWRhdGlvbnMpXG4gICAgICAgIGNvbnN0IGJhc2VBZGRyZXNzID0gd2FsbGV0Py5jb2luU3BlY2lmaWMoKT8uYmFzZUFkZHJlc3MgfHwgd2FsbGV0Py5jb2luU3BlY2lmaWMoKT8ucm9vdEFkZHJlc3M7XG4gICAgICAgIGNvbnN0IGZlZUFkZHJlc3MgPSAodHhQcmVidWlsZC50eEluZm8gYXMgQWRhVHhJbmZvKT8uZmVlQWRkcmVzcztcblxuICAgICAgICBmb3IgKGNvbnN0IG91dHB1dCBvZiB0eEpzb24ub3V0cHV0cykge1xuICAgICAgICAgIGlmIChvdXRwdXQuYWRkcmVzcyAhPT0gYmFzZUFkZHJlc3MgJiYgb3V0cHV0LmFkZHJlc3MgIT09IGZlZUFkZHJlc3MpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigndHggb3V0cHV0cyBkb2VzIG5vdCBtYXRjaCB3aXRoIGV4cGVjdGVkIGFkZHJlc3MnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoZSBpbnN0YW5jZW9mIE5vZGVFbnZpcm9ubWVudEVycm9yKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgdGhyb3cgZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdfQ==
package/dist/src/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -15,4 +19,4 @@ __exportStar(require("./ada"), exports);
15
19
  __exportStar(require("./tada"), exports);
16
20
  __exportStar(require("./adaToken"), exports);
17
21
  __exportStar(require("./register"), exports);
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsd0NBQXNCO0FBQ3RCLHdDQUFzQjtBQUN0Qix5Q0FBdUI7QUFDdkIsNkNBQTJCO0FBQzNCLDZDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliJztcbmV4cG9ydCAqIGZyb20gJy4vYWRhJztcbmV4cG9ydCAqIGZyb20gJy4vdGFkYSc7XG5leHBvcnQgKiBmcm9tICcuL2FkYVRva2VuJztcbmV4cG9ydCAqIGZyb20gJy4vcmVnaXN0ZXInO1xuIl19
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHdDQUFzQjtBQUN0Qix3Q0FBc0I7QUFDdEIseUNBQXVCO0FBQ3ZCLDZDQUEyQjtBQUMzQiw2Q0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYic7XG5leHBvcnQgKiBmcm9tICcuL2FkYSc7XG5leHBvcnQgKiBmcm9tICcuL3RhZGEnO1xuZXhwb3J0ICogZnJvbSAnLi9hZGFUb2tlbic7XG5leHBvcnQgKiBmcm9tICcuL3JlZ2lzdGVyJztcbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import * as Utils from './utils';
2
2
  export { KeyPair } from './keyPair';
3
- export { Transaction } from './transaction';
3
+ export { ExplicitOutput, Transaction } from './transaction';
4
4
  export { TransactionBuilder } from './transactionBuilder';
5
5
  export { TransferBuilder } from './transferBuilder';
6
6
  export { TransactionBuilderFactory } from './transactionBuilderFactory';
@@ -9,5 +9,7 @@ export { StakingClaimRewardsBuilder } from './stakingClaimRewardsBuilder';
9
9
  export { StakingDeactivateBuilder } from './stakingDeactivateBuilder';
10
10
  export { StakingWithdrawBuilder } from './stakingWithdrawBuilder';
11
11
  export { StakingPledgeBuilder } from './stakingPledgeBuilder';
12
+ export { VoteDelegationBuilder } from './voteDelegationBuilder';
12
13
  export { Utils };
14
+ export * from './messages';
13
15
  //# 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,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,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,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,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;AAEjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5D,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,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,CAAC;AACjB,cAAc,YAAY,CAAC"}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -11,15 +15,28 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
11
15
  }) : function(o, v) {
12
16
  o["default"] = v;
13
17
  });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
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);
20
37
  };
21
38
  Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.Utils = exports.StakingPledgeBuilder = exports.StakingWithdrawBuilder = exports.StakingDeactivateBuilder = exports.StakingClaimRewardsBuilder = exports.StakingActivateBuilder = exports.TransactionBuilderFactory = exports.TransferBuilder = exports.TransactionBuilder = exports.Transaction = exports.KeyPair = void 0;
39
+ exports.Utils = exports.VoteDelegationBuilder = exports.StakingPledgeBuilder = exports.StakingWithdrawBuilder = exports.StakingDeactivateBuilder = exports.StakingClaimRewardsBuilder = exports.StakingActivateBuilder = exports.TransactionBuilderFactory = exports.TransferBuilder = exports.TransactionBuilder = exports.Transaction = exports.KeyPair = void 0;
23
40
  const Utils = __importStar(require("./utils"));
24
41
  exports.Utils = Utils;
25
42
  var keyPair_1 = require("./keyPair");
@@ -42,4 +59,7 @@ var stakingWithdrawBuilder_1 = require("./stakingWithdrawBuilder");
42
59
  Object.defineProperty(exports, "StakingWithdrawBuilder", { enumerable: true, get: function () { return stakingWithdrawBuilder_1.StakingWithdrawBuilder; } });
43
60
  var stakingPledgeBuilder_1 = require("./stakingPledgeBuilder");
44
61
  Object.defineProperty(exports, "StakingPledgeBuilder", { enumerable: true, get: function () { return stakingPledgeBuilder_1.StakingPledgeBuilder; } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBaUM7QUFZeEIsc0JBQUs7QUFWZCxxQ0FBb0M7QUFBM0Isa0dBQUEsT0FBTyxPQUFBO0FBQ2hCLDZDQUE0QztBQUFuQywwR0FBQSxXQUFXLE9BQUE7QUFDcEIsMkRBQTBEO0FBQWpELHdIQUFBLGtCQUFrQixPQUFBO0FBQzNCLHFEQUFvRDtBQUEzQyxrSEFBQSxlQUFlLE9BQUE7QUFDeEIseUVBQXdFO0FBQS9ELHNJQUFBLHlCQUF5QixPQUFBO0FBQ2xDLG1FQUFrRTtBQUF6RCxnSUFBQSxzQkFBc0IsT0FBQTtBQUMvQiwyRUFBMEU7QUFBakUsd0lBQUEsMEJBQTBCLE9BQUE7QUFDbkMsdUVBQXNFO0FBQTdELG9JQUFBLHdCQUF3QixPQUFBO0FBQ2pDLG1FQUFrRTtBQUF6RCxnSUFBQSxzQkFBc0IsT0FBQTtBQUMvQiwrREFBOEQ7QUFBckQsNEhBQUEsb0JBQW9CLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBVdGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IHsgS2V5UGFpciB9IGZyb20gJy4va2V5UGFpcic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuZXhwb3J0IHsgVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90cmFuc2ZlckJ1aWxkZXInO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSc7XG5leHBvcnQgeyBTdGFraW5nQWN0aXZhdGVCdWlsZGVyIH0gZnJvbSAnLi9zdGFraW5nQWN0aXZhdGVCdWlsZGVyJztcbmV4cG9ydCB7IFN0YWtpbmdDbGFpbVJld2FyZHNCdWlsZGVyIH0gZnJvbSAnLi9zdGFraW5nQ2xhaW1SZXdhcmRzQnVpbGRlcic7XG5leHBvcnQgeyBTdGFraW5nRGVhY3RpdmF0ZUJ1aWxkZXIgfSBmcm9tICcuL3N0YWtpbmdEZWFjdGl2YXRlQnVpbGRlcic7XG5leHBvcnQgeyBTdGFraW5nV2l0aGRyYXdCdWlsZGVyIH0gZnJvbSAnLi9zdGFraW5nV2l0aGRyYXdCdWlsZGVyJztcbmV4cG9ydCB7IFN0YWtpbmdQbGVkZ2VCdWlsZGVyIH0gZnJvbSAnLi9zdGFraW5nUGxlZGdlQnVpbGRlcic7XG5leHBvcnQgeyBVdGlscyB9O1xuIl19
62
+ var voteDelegationBuilder_1 = require("./voteDelegationBuilder");
63
+ Object.defineProperty(exports, "VoteDelegationBuilder", { enumerable: true, get: function () { return voteDelegationBuilder_1.VoteDelegationBuilder; } });
64
+ __exportStar(require("./messages"), exports);
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFpQztBQWF4QixzQkFBSztBQVhkLHFDQUFvQztBQUEzQixrR0FBQSxPQUFPLE9BQUE7QUFDaEIsNkNBQTREO0FBQW5DLDBHQUFBLFdBQVcsT0FBQTtBQUNwQywyREFBMEQ7QUFBakQsd0hBQUEsa0JBQWtCLE9BQUE7QUFDM0IscURBQW9EO0FBQTNDLGtIQUFBLGVBQWUsT0FBQTtBQUN4Qix5RUFBd0U7QUFBL0Qsc0lBQUEseUJBQXlCLE9BQUE7QUFDbEMsbUVBQWtFO0FBQXpELGdJQUFBLHNCQUFzQixPQUFBO0FBQy9CLDJFQUEwRTtBQUFqRSx3SUFBQSwwQkFBMEIsT0FBQTtBQUNuQyx1RUFBc0U7QUFBN0Qsb0lBQUEsd0JBQXdCLE9BQUE7QUFDakMsbUVBQWtFO0FBQXpELGdJQUFBLHNCQUFzQixPQUFBO0FBQy9CLCtEQUE4RDtBQUFyRCw0SEFBQSxvQkFBb0IsT0FBQTtBQUM3QixpRUFBZ0U7QUFBdkQsOEhBQUEscUJBQXFCLE9BQUE7QUFFOUIsNkNBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgVXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCB7IEtleVBhaXIgfSBmcm9tICcuL2tleVBhaXInO1xuZXhwb3J0IHsgRXhwbGljaXRPdXRwdXQsIFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5leHBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyQnVpbGRlcic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5JztcbmV4cG9ydCB7IFN0YWtpbmdBY3RpdmF0ZUJ1aWxkZXIgfSBmcm9tICcuL3N0YWtpbmdBY3RpdmF0ZUJ1aWxkZXInO1xuZXhwb3J0IHsgU3Rha2luZ0NsYWltUmV3YXJkc0J1aWxkZXIgfSBmcm9tICcuL3N0YWtpbmdDbGFpbVJld2FyZHNCdWlsZGVyJztcbmV4cG9ydCB7IFN0YWtpbmdEZWFjdGl2YXRlQnVpbGRlciB9IGZyb20gJy4vc3Rha2luZ0RlYWN0aXZhdGVCdWlsZGVyJztcbmV4cG9ydCB7IFN0YWtpbmdXaXRoZHJhd0J1aWxkZXIgfSBmcm9tICcuL3N0YWtpbmdXaXRoZHJhd0J1aWxkZXInO1xuZXhwb3J0IHsgU3Rha2luZ1BsZWRnZUJ1aWxkZXIgfSBmcm9tICcuL3N0YWtpbmdQbGVkZ2VCdWlsZGVyJztcbmV4cG9ydCB7IFZvdGVEZWxlZ2F0aW9uQnVpbGRlciB9IGZyb20gJy4vdm90ZURlbGVnYXRpb25CdWlsZGVyJztcbmV4cG9ydCB7IFV0aWxzIH07XG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2VzJztcbiJdfQ==
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -11,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
11
15
  }) : function(o, v) {
12
16
  o["default"] = v;
13
17
  });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
21
35
  Object.defineProperty(exports, "__esModule", { value: true });
22
36
  exports.KeyPair = void 0;
23
37
  const sdk_core_1 = require("@bitgo-beta/sdk-core");
@@ -41,10 +55,10 @@ class KeyPair extends sdk_core_1.Ed25519KeyPair {
41
55
  const pubKey = cardano_serialization_lib_nodejs_1.PublicKey.from_bytes(bytesFromHex);
42
56
  let enterpriseAddress;
43
57
  if (format === sdk_core_1.AddressFormat.testnet) {
44
- enterpriseAddress = cardano_serialization_lib_nodejs_1.EnterpriseAddress.new(cardano_serialization_lib_nodejs_1.NetworkInfo.testnet().network_id(), cardano_serialization_lib_nodejs_1.StakeCredential.from_keyhash(pubKey.hash()));
58
+ enterpriseAddress = cardano_serialization_lib_nodejs_1.EnterpriseAddress.new(cardano_serialization_lib_nodejs_1.NetworkInfo.testnet_preprod().network_id(), cardano_serialization_lib_nodejs_1.Credential.from_keyhash(pubKey.hash()));
45
59
  }
46
60
  else if (format === sdk_core_1.AddressFormat.mainnet) {
47
- enterpriseAddress = cardano_serialization_lib_nodejs_1.EnterpriseAddress.new(cardano_serialization_lib_nodejs_1.NetworkInfo.mainnet().network_id(), cardano_serialization_lib_nodejs_1.StakeCredential.from_keyhash(pubKey.hash()));
61
+ enterpriseAddress = cardano_serialization_lib_nodejs_1.EnterpriseAddress.new(cardano_serialization_lib_nodejs_1.NetworkInfo.mainnet().network_id(), cardano_serialization_lib_nodejs_1.Credential.from_keyhash(pubKey.hash()));
48
62
  }
49
63
  return enterpriseAddress.to_address().to_bech32();
50
64
  }
@@ -57,22 +71,21 @@ class KeyPair extends sdk_core_1.Ed25519KeyPair {
57
71
  }
58
72
  recordKeysFromPrivateKeyInProtocolFormat(prv) {
59
73
  const rawPrv = cardano_serialization_lib_nodejs_1.PrivateKey.from_bech32(prv).as_bytes();
60
- return new KeyPair({ prv: sdk_core_1.toHex(rawPrv) }).keyPair;
74
+ return new KeyPair({ prv: (0, sdk_core_1.toHex)(rawPrv) }).keyPair;
61
75
  }
62
76
  recordKeysFromPublicKeyInProtocolFormat(pub) {
63
77
  const rawPub = cardano_serialization_lib_nodejs_1.PublicKey.from_bech32(pub).as_bytes();
64
- return { pub: sdk_core_1.toHex(rawPub) };
78
+ return { pub: (0, sdk_core_1.toHex)(rawPub) };
65
79
  }
66
80
  /** @inheritdoc */
67
81
  signMessage(message) {
68
- var _a;
69
82
  const messageToSign = new Uint8Array(Buffer.from(message, 'hex'));
70
- const prv = (_a = this.keyPair) === null || _a === void 0 ? void 0 : _a.prv;
83
+ const prv = this.keyPair?.prv;
71
84
  if (!prv) {
72
85
  throw new Error('Missing private key');
73
86
  }
74
- return nacl.sign.detached(messageToSign, nacl.sign.keyPair.fromSeed(sdk_core_1.toUint8Array(prv)).secretKey);
87
+ return nacl.sign.detached(messageToSign, nacl.sign.keyPair.fromSeed((0, sdk_core_1.toUint8Array)(prv)).secretKey);
75
88
  }
76
89
  }
77
90
  exports.KeyPair = KeyPair;
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIva2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQXVIO0FBQ3ZILCtGQU1rRDtBQUNsRCxnREFBa0M7QUFFbEMsTUFBYSxPQUFRLFNBQVEseUJBQWM7SUFDekM7Ozs7O09BS0c7SUFDSCxZQUFZLE1BQXVCO1FBQ2pDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxVQUFVLENBQUMsTUFBTTtRQUNmLE1BQU0sWUFBWSxHQUFHLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMxRSxNQUFNLE1BQU0sR0FBRyw0Q0FBUyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNsRCxJQUFJLGlCQUFpQixDQUFDO1FBQ3RCLElBQUksTUFBTSxLQUFLLHdCQUFhLENBQUMsT0FBTyxFQUFFO1lBQ3BDLGlCQUFpQixHQUFHLG9EQUFpQixDQUFDLEdBQUcsQ0FDdkMsOENBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxVQUFVLEVBQUUsRUFDbEMsa0RBQWUsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQzVDLENBQUM7U0FDSDthQUFNLElBQUksTUFBTSxLQUFLLHdCQUFhLENBQUMsT0FBTyxFQUFFO1lBQzNDLGlCQUFpQixHQUFHLG9EQUFpQixDQUFDLEdBQUcsQ0FDdkMsOENBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxVQUFVLEVBQUUsRUFDbEMsa0RBQWUsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQzVDLENBQUM7U0FDSDtRQUNELE9BQU8saUJBQWlCLENBQUMsVUFBVSxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUVELE9BQU87UUFDTCxNQUFNLE1BQU0sR0FBZ0IsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN0RCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFO1lBQ3BCLE1BQU0sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7U0FDL0I7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsd0NBQXdDLENBQUMsR0FBVztRQUNsRCxNQUFNLE1BQU0sR0FBRyw2Q0FBVSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN0RCxPQUFPLElBQUksT0FBTyxDQUFDLEVBQUUsR0FBRyxFQUFFLGdCQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUNyRCxDQUFDO0lBRUQsdUNBQXVDLENBQUMsR0FBVztRQUNqRCxNQUFNLE1BQU0sR0FBRyw0Q0FBUyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNyRCxPQUFPLEVBQUUsR0FBRyxFQUFFLGdCQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFdBQVcsQ0FBQyxPQUFlOztRQUN6QixNQUFNLGFBQWEsR0FBRyxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sR0FBRyxHQUFHLE1BQUEsSUFBSSxDQUFDLE9BQU8sMENBQUUsR0FBRyxDQUFDO1FBQzlCLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDUixNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7U0FDeEM7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsdUJBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3BHLENBQUM7Q0FDRjtBQTNERCwwQkEyREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZWZhdWx0S2V5cywgS2V5UGFpck9wdGlvbnMsIEVkMjU1MTlLZXlQYWlyLCB0b0hleCwgQWRkcmVzc0Zvcm1hdCwgdG9VaW50OEFycmF5IH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHtcbiAgUHVibGljS2V5LFxuICBQcml2YXRlS2V5LFxuICBFbnRlcnByaXNlQWRkcmVzcyxcbiAgTmV0d29ya0luZm8sXG4gIFN0YWtlQ3JlZGVudGlhbCxcbn0gZnJvbSAnQGVtdXJnby9jYXJkYW5vLXNlcmlhbGl6YXRpb24tbGliLW5vZGVqcyc7XG5pbXBvcnQgKiBhcyBuYWNsIGZyb20gJ3R3ZWV0bmFjbCc7XG5cbmV4cG9ydCBjbGFzcyBLZXlQYWlyIGV4dGVuZHMgRWQyNTUxOUtleVBhaXIge1xuICAvKipcbiAgICogUHVibGljIGNvbnN0cnVjdG9yLiBCeSBkZWZhdWx0LCBjcmVhdGVzIGEga2V5IHBhaXIgd2l0aCBhIHJhbmRvbSBtYXN0ZXIgc2VlZC5cbiAgICpcbiAgICogQHBhcmFtIHsgS2V5UGFpck9wdGlvbnMgfSBzb3VyY2UgRWl0aGVyIGEgbWFzdGVyIHNlZWQsIGEgcHJpdmF0ZSBrZXksIG9yIGEgcHVibGljIGtleVxuICAgKlxuICAgKi9cbiAgY29uc3RydWN0b3Ioc291cmNlPzogS2V5UGFpck9wdGlvbnMpIHtcbiAgICBzdXBlcihzb3VyY2UpO1xuICB9XG5cbiAgLyoqXG4gICAqICBAcmV0dXJucyB7IEFkZHJlc3MgfVxuICAgKi9cbiAgZ2V0QWRkcmVzcyhmb3JtYXQpOiBzdHJpbmcge1xuICAgIGNvbnN0IGJ5dGVzRnJvbUhleCA9IG5ldyBVaW50OEFycmF5KEJ1ZmZlci5mcm9tKHRoaXMua2V5UGFpci5wdWIsICdoZXgnKSk7XG4gICAgY29uc3QgcHViS2V5ID0gUHVibGljS2V5LmZyb21fYnl0ZXMoYnl0ZXNGcm9tSGV4KTtcbiAgICBsZXQgZW50ZXJwcmlzZUFkZHJlc3M7XG4gICAgaWYgKGZvcm1hdCA9PT0gQWRkcmVzc0Zvcm1hdC50ZXN0bmV0KSB7XG4gICAgICBlbnRlcnByaXNlQWRkcmVzcyA9IEVudGVycHJpc2VBZGRyZXNzLm5ldyhcbiAgICAgICAgTmV0d29ya0luZm8udGVzdG5ldCgpLm5ldHdvcmtfaWQoKSxcbiAgICAgICAgU3Rha2VDcmVkZW50aWFsLmZyb21fa2V5aGFzaChwdWJLZXkuaGFzaCgpKVxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKGZvcm1hdCA9PT0gQWRkcmVzc0Zvcm1hdC5tYWlubmV0KSB7XG4gICAgICBlbnRlcnByaXNlQWRkcmVzcyA9IEVudGVycHJpc2VBZGRyZXNzLm5ldyhcbiAgICAgICAgTmV0d29ya0luZm8ubWFpbm5ldCgpLm5ldHdvcmtfaWQoKSxcbiAgICAgICAgU3Rha2VDcmVkZW50aWFsLmZyb21fa2V5aGFzaChwdWJLZXkuaGFzaCgpKVxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIGVudGVycHJpc2VBZGRyZXNzLnRvX2FkZHJlc3MoKS50b19iZWNoMzIoKTtcbiAgfVxuXG4gIGdldEtleXMoKTogRGVmYXVsdEtleXMge1xuICAgIGNvbnN0IHJlc3VsdDogRGVmYXVsdEtleXMgPSB7IHB1YjogdGhpcy5rZXlQYWlyLnB1YiB9O1xuICAgIGlmICh0aGlzLmtleVBhaXIucHJ2KSB7XG4gICAgICByZXN1bHQucHJ2ID0gdGhpcy5rZXlQYWlyLnBydjtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHJlY29yZEtleXNGcm9tUHJpdmF0ZUtleUluUHJvdG9jb2xGb3JtYXQocHJ2OiBzdHJpbmcpOiBEZWZhdWx0S2V5cyB7XG4gICAgY29uc3QgcmF3UHJ2ID0gUHJpdmF0ZUtleS5mcm9tX2JlY2gzMihwcnYpLmFzX2J5dGVzKCk7XG4gICAgcmV0dXJuIG5ldyBLZXlQYWlyKHsgcHJ2OiB0b0hleChyYXdQcnYpIH0pLmtleVBhaXI7XG4gIH1cblxuICByZWNvcmRLZXlzRnJvbVB1YmxpY0tleUluUHJvdG9jb2xGb3JtYXQocHViOiBzdHJpbmcpOiBEZWZhdWx0S2V5cyB7XG4gICAgY29uc3QgcmF3UHViID0gUHVibGljS2V5LmZyb21fYmVjaDMyKHB1YikuYXNfYnl0ZXMoKTtcbiAgICByZXR1cm4geyBwdWI6IHRvSGV4KHJhd1B1YikgfTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBzaWduTWVzc2FnZShtZXNzYWdlOiBzdHJpbmcpOiBVaW50OEFycmF5IHtcbiAgICBjb25zdCBtZXNzYWdlVG9TaWduID0gbmV3IFVpbnQ4QXJyYXkoQnVmZmVyLmZyb20obWVzc2FnZSwgJ2hleCcpKTtcbiAgICBjb25zdCBwcnYgPSB0aGlzLmtleVBhaXI/LnBydjtcbiAgICBpZiAoIXBydikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIHByaXZhdGUga2V5Jyk7XG4gICAgfVxuICAgIHJldHVybiBuYWNsLnNpZ24uZGV0YWNoZWQobWVzc2FnZVRvU2lnbiwgbmFjbC5zaWduLmtleVBhaXIuZnJvbVNlZWQodG9VaW50OEFycmF5KHBydikpLnNlY3JldEtleSk7XG4gIH1cbn1cbiJdfQ==
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIva2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtREFBdUg7QUFDdkgsK0ZBTWtEO0FBQ2xELGdEQUFrQztBQUVsQyxNQUFhLE9BQVEsU0FBUSx5QkFBYztJQUN6Qzs7Ozs7T0FLRztJQUNILFlBQVksTUFBdUI7UUFDakMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVUsQ0FBQyxNQUFNO1FBQ2YsTUFBTSxZQUFZLEdBQUcsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzFFLE1BQU0sTUFBTSxHQUFHLDRDQUFTLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2xELElBQUksaUJBQWlCLENBQUM7UUFDdEIsSUFBSSxNQUFNLEtBQUssd0JBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNyQyxpQkFBaUIsR0FBRyxvREFBaUIsQ0FBQyxHQUFHLENBQ3ZDLDhDQUFXLENBQUMsZUFBZSxFQUFFLENBQUMsVUFBVSxFQUFFLEVBQzFDLDZDQUFVLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUN2QyxDQUFDO1FBQ0osQ0FBQzthQUFNLElBQUksTUFBTSxLQUFLLHdCQUFhLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDNUMsaUJBQWlCLEdBQUcsb0RBQWlCLENBQUMsR0FBRyxDQUN2Qyw4Q0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsRUFBRSxFQUNsQyw2Q0FBVSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FDdkMsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFRCxPQUFPO1FBQ0wsTUFBTSxNQUFNLEdBQWdCLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDdEQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7UUFDaEMsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCx3Q0FBd0MsQ0FBQyxHQUFXO1FBQ2xELE1BQU0sTUFBTSxHQUFHLDZDQUFVLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3RELE9BQU8sSUFBSSxPQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBQSxnQkFBSyxFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDckQsQ0FBQztJQUVELHVDQUF1QyxDQUFDLEdBQVc7UUFDakQsTUFBTSxNQUFNLEdBQUcsNENBQVMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDckQsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFBLGdCQUFLLEVBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFdBQVcsQ0FBQyxPQUFlO1FBQ3pCLE1BQU0sYUFBYSxHQUFHLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbEUsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUM7UUFDOUIsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1QsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBQSx1QkFBWSxFQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEcsQ0FBQztDQUNGO0FBM0RELDBCQTJEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlZmF1bHRLZXlzLCBLZXlQYWlyT3B0aW9ucywgRWQyNTUxOUtleVBhaXIsIHRvSGV4LCBBZGRyZXNzRm9ybWF0LCB0b1VpbnQ4QXJyYXkgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQge1xuICBQdWJsaWNLZXksXG4gIFByaXZhdGVLZXksXG4gIEVudGVycHJpc2VBZGRyZXNzLFxuICBOZXR3b3JrSW5mbyxcbiAgQ3JlZGVudGlhbCxcbn0gZnJvbSAnQGVtdXJnby9jYXJkYW5vLXNlcmlhbGl6YXRpb24tbGliLW5vZGVqcyc7XG5pbXBvcnQgKiBhcyBuYWNsIGZyb20gJ3R3ZWV0bmFjbCc7XG5cbmV4cG9ydCBjbGFzcyBLZXlQYWlyIGV4dGVuZHMgRWQyNTUxOUtleVBhaXIge1xuICAvKipcbiAgICogUHVibGljIGNvbnN0cnVjdG9yLiBCeSBkZWZhdWx0LCBjcmVhdGVzIGEga2V5IHBhaXIgd2l0aCBhIHJhbmRvbSBtYXN0ZXIgc2VlZC5cbiAgICpcbiAgICogQHBhcmFtIHsgS2V5UGFpck9wdGlvbnMgfSBzb3VyY2UgRWl0aGVyIGEgbWFzdGVyIHNlZWQsIGEgcHJpdmF0ZSBrZXksIG9yIGEgcHVibGljIGtleVxuICAgKlxuICAgKi9cbiAgY29uc3RydWN0b3Ioc291cmNlPzogS2V5UGFpck9wdGlvbnMpIHtcbiAgICBzdXBlcihzb3VyY2UpO1xuICB9XG5cbiAgLyoqXG4gICAqICBAcmV0dXJucyB7IEFkZHJlc3MgfVxuICAgKi9cbiAgZ2V0QWRkcmVzcyhmb3JtYXQpOiBzdHJpbmcge1xuICAgIGNvbnN0IGJ5dGVzRnJvbUhleCA9IG5ldyBVaW50OEFycmF5KEJ1ZmZlci5mcm9tKHRoaXMua2V5UGFpci5wdWIsICdoZXgnKSk7XG4gICAgY29uc3QgcHViS2V5ID0gUHVibGljS2V5LmZyb21fYnl0ZXMoYnl0ZXNGcm9tSGV4KTtcbiAgICBsZXQgZW50ZXJwcmlzZUFkZHJlc3M7XG4gICAgaWYgKGZvcm1hdCA9PT0gQWRkcmVzc0Zvcm1hdC50ZXN0bmV0KSB7XG4gICAgICBlbnRlcnByaXNlQWRkcmVzcyA9IEVudGVycHJpc2VBZGRyZXNzLm5ldyhcbiAgICAgICAgTmV0d29ya0luZm8udGVzdG5ldF9wcmVwcm9kKCkubmV0d29ya19pZCgpLFxuICAgICAgICBDcmVkZW50aWFsLmZyb21fa2V5aGFzaChwdWJLZXkuaGFzaCgpKVxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKGZvcm1hdCA9PT0gQWRkcmVzc0Zvcm1hdC5tYWlubmV0KSB7XG4gICAgICBlbnRlcnByaXNlQWRkcmVzcyA9IEVudGVycHJpc2VBZGRyZXNzLm5ldyhcbiAgICAgICAgTmV0d29ya0luZm8ubWFpbm5ldCgpLm5ldHdvcmtfaWQoKSxcbiAgICAgICAgQ3JlZGVudGlhbC5mcm9tX2tleWhhc2gocHViS2V5Lmhhc2goKSlcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBlbnRlcnByaXNlQWRkcmVzcy50b19hZGRyZXNzKCkudG9fYmVjaDMyKCk7XG4gIH1cblxuICBnZXRLZXlzKCk6IERlZmF1bHRLZXlzIHtcbiAgICBjb25zdCByZXN1bHQ6IERlZmF1bHRLZXlzID0geyBwdWI6IHRoaXMua2V5UGFpci5wdWIgfTtcbiAgICBpZiAodGhpcy5rZXlQYWlyLnBydikge1xuICAgICAgcmVzdWx0LnBydiA9IHRoaXMua2V5UGFpci5wcnY7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICByZWNvcmRLZXlzRnJvbVByaXZhdGVLZXlJblByb3RvY29sRm9ybWF0KHBydjogc3RyaW5nKTogRGVmYXVsdEtleXMge1xuICAgIGNvbnN0IHJhd1BydiA9IFByaXZhdGVLZXkuZnJvbV9iZWNoMzIocHJ2KS5hc19ieXRlcygpO1xuICAgIHJldHVybiBuZXcgS2V5UGFpcih7IHBydjogdG9IZXgocmF3UHJ2KSB9KS5rZXlQYWlyO1xuICB9XG5cbiAgcmVjb3JkS2V5c0Zyb21QdWJsaWNLZXlJblByb3RvY29sRm9ybWF0KHB1Yjogc3RyaW5nKTogRGVmYXVsdEtleXMge1xuICAgIGNvbnN0IHJhd1B1YiA9IFB1YmxpY0tleS5mcm9tX2JlY2gzMihwdWIpLmFzX2J5dGVzKCk7XG4gICAgcmV0dXJuIHsgcHViOiB0b0hleChyYXdQdWIpIH07XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgc2lnbk1lc3NhZ2UobWVzc2FnZTogc3RyaW5nKTogVWludDhBcnJheSB7XG4gICAgY29uc3QgbWVzc2FnZVRvU2lnbiA9IG5ldyBVaW50OEFycmF5KEJ1ZmZlci5mcm9tKG1lc3NhZ2UsICdoZXgnKSk7XG4gICAgY29uc3QgcHJ2ID0gdGhpcy5rZXlQYWlyPy5wcnY7XG4gICAgaWYgKCFwcnYpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBwcml2YXRlIGtleScpO1xuICAgIH1cbiAgICByZXR1cm4gbmFjbC5zaWduLmRldGFjaGVkKG1lc3NhZ2VUb1NpZ24sIG5hY2wuc2lnbi5rZXlQYWlyLmZyb21TZWVkKHRvVWludDhBcnJheShwcnYpKS5zZWNyZXRLZXkpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,25 @@
1
+ import { BaseMessage, MessageOptions, Signature } from '@bitgo-beta/sdk-core';
2
+ /**
3
+ * Implementation of Message for CIP8 standard
4
+ */
5
+ export declare class Cip8Message extends BaseMessage {
6
+ constructor(options: MessageOptions);
7
+ /**
8
+ * Returns the hash of the CIP-8 prefixed message
9
+ */
10
+ getSignablePayload(): Promise<string | Buffer>;
11
+ getBroadcastableSignatures(): Signature[];
12
+ /**
13
+ * Verifies the encoded payload against the provided metadata
14
+ * @param messageEncodedHex The hex-encoded message to verify
15
+ * @param metadata Metadata containing signer addresses
16
+ * @returns True if the encoded payload matches the expected format, false otherwise
17
+ */
18
+ verifyEncodedPayload(messageEncodedHex: string, metadata?: Record<string, unknown>): Promise<boolean>;
19
+ /**
20
+ * Validates required fields and returns common setup objects
21
+ * @private
22
+ */
23
+ private validateAndGetCommonSetup;
24
+ }
25
+ //# sourceMappingURL=cip8Message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cip8Message.d.ts","sourceRoot":"","sources":["../../../../../src/lib/messages/cip8/cip8Message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAuB,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAInG;;GAEG;AACH,qBAAa,WAAY,SAAQ,WAAW;gBAC9B,OAAO,EAAE,cAAc;IAOnC;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IAiBpD,0BAA0B,IAAI,SAAS,EAAE;IA4BzC;;;;;OAKG;IACG,oBAAoB,CAAC,iBAAiB,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB3G;;;OAGG;IACH,OAAO,CAAC,yBAAyB;CAsBlC"}
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.Cip8Message = void 0;
37
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
38
+ const CardanoSL = __importStar(require("@emurgo/cardano-serialization-lib-nodejs"));
39
+ const utils_1 = require("./utils");
40
+ /**
41
+ * Implementation of Message for CIP8 standard
42
+ */
43
+ class Cip8Message extends sdk_core_1.BaseMessage {
44
+ constructor(options) {
45
+ super({
46
+ ...options,
47
+ type: sdk_core_1.MessageStandardType.CIP8,
48
+ });
49
+ }
50
+ /**
51
+ * Returns the hash of the CIP-8 prefixed message
52
+ */
53
+ async getSignablePayload() {
54
+ const { addressCborBytes } = this.validateAndGetCommonSetup();
55
+ const { sigStructureCborBytes } = (0, utils_1.createCSLSigStructure)(addressCborBytes, this.payload);
56
+ this.signablePayload = Buffer.from(sigStructureCborBytes);
57
+ return this.signablePayload;
58
+ }
59
+ /*
60
+ * Returns broadcastable signatures in COSE format according to CIP8 standard
61
+ *
62
+ * This method transforms the internal signatures into a format suitable for broadcasting
63
+ * by constructing COSE (CBOR Object Signing and Encryption) objects that comply with
64
+ * the CIP8 message signing specification.
65
+ *
66
+ * @returns Array of signatures with COSE-formatted signature data and public keys
67
+ * @throws Error if required setup validation fails
68
+ */
69
+ getBroadcastableSignatures() {
70
+ if (!this.signatures.length) {
71
+ return [];
72
+ }
73
+ const signature = this.signatures[0].signature;
74
+ const publicKeyHex = this.signatures[0].publicKey.pub;
75
+ const { addressCborBytes } = this.validateAndGetCommonSetup();
76
+ const { protectedHeaderCborBytes, payloadBytes } = (0, utils_1.createCSLSigStructure)(addressCborBytes, this.payload);
77
+ const coseObjectsOutput = (0, utils_1.constructCSLCoseObjects)(protectedHeaderCborBytes, payloadBytes, signature, CardanoSL.PublicKey.from_bytes(Buffer.from(publicKeyHex, 'hex')));
78
+ const coseObjectsBuffer = (0, utils_1.coseObjectsOutputToBuffer)(coseObjectsOutput);
79
+ return [
80
+ {
81
+ signature: coseObjectsBuffer,
82
+ publicKey: {
83
+ pub: publicKeyHex,
84
+ },
85
+ },
86
+ ];
87
+ }
88
+ /**
89
+ * Verifies the encoded payload against the provided metadata
90
+ * @param messageEncodedHex The hex-encoded message to verify
91
+ * @param metadata Metadata containing signer addresses
92
+ * @returns True if the encoded payload matches the expected format, false otherwise
93
+ */
94
+ async verifyEncodedPayload(messageEncodedHex, metadata) {
95
+ if (!metadata) {
96
+ throw new Error('Metadata is required for verifying the encoded payload');
97
+ }
98
+ const signers = metadata.signers;
99
+ if (signers.length === 0) {
100
+ throw new Error('At least one signer address is required in metadata for verification');
101
+ }
102
+ this.addSigner(signers[0]);
103
+ const signablePayload = await this.getSignablePayload();
104
+ let signablePayloadHex;
105
+ if (Buffer.isBuffer(signablePayload)) {
106
+ signablePayloadHex = signablePayload.toString('hex');
107
+ }
108
+ else {
109
+ signablePayloadHex = signablePayload;
110
+ }
111
+ return signablePayloadHex === messageEncodedHex;
112
+ }
113
+ /**
114
+ * Validates required fields and returns common setup objects
115
+ * @private
116
+ */
117
+ validateAndGetCommonSetup() {
118
+ if (!this.payload) {
119
+ throw new Error('Payload is required to build a CIP8 message');
120
+ }
121
+ if (!this.signers || this.signers.length === 0) {
122
+ throw new Error('A signer address is required to build a CIP8 message');
123
+ }
124
+ let cslAddress;
125
+ try {
126
+ cslAddress = CardanoSL.Address.from_bech32(this.signers[0]);
127
+ }
128
+ catch (error) {
129
+ // Convert string errors to proper Error objects
130
+ if (typeof error === 'string') {
131
+ throw new Error(`Invalid signer address: ${error}`);
132
+ }
133
+ throw error;
134
+ }
135
+ const addressCborBytes = cslAddress.to_bytes();
136
+ return { addressCborBytes };
137
+ }
138
+ }
139
+ exports.Cip8Message = Cip8Message;
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2lwOE1lc3NhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL21lc3NhZ2VzL2NpcDgvY2lwOE1lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQW1HO0FBQ25HLG9GQUFzRTtBQUN0RSxtQ0FBb0c7QUFFcEc7O0dBRUc7QUFDSCxNQUFhLFdBQVksU0FBUSxzQkFBVztJQUMxQyxZQUFZLE9BQXVCO1FBQ2pDLEtBQUssQ0FBQztZQUNKLEdBQUcsT0FBTztZQUNWLElBQUksRUFBRSw4QkFBbUIsQ0FBQyxJQUFJO1NBQy9CLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxrQkFBa0I7UUFDdEIsTUFBTSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7UUFDOUQsTUFBTSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsSUFBQSw2QkFBcUIsRUFBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEYsSUFBSSxDQUFDLGVBQWUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDMUQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCwwQkFBMEI7UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDNUIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDL0MsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDO1FB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QmFzZU1lc3NhZ2UsIE1lc3NhZ2VPcHRpb25zLCBNZXNzYWdlU3RhbmRhcmRUeXBlLCBTaWduYXR1cmUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgKiBhcyBDYXJkYW5vU0wgZnJvbSAnQGVtdXJnby9jYXJkYW5vLXNlcmlhbGl6YXRpb24tbGliLW5vZGVqcyc7XG5pbXBvcnQgeyBjb25zdHJ1Y3RDU0xDb3NlT2JqZWN0cywgY29zZU9iamVjdHNPdXRwdXRUb0J1ZmZlciwgY3JlYXRlQ1NMU2lnU3RydWN0dXJlIH0gZnJvbSAnLi91dGlscyc7XG5cbi8qKlxuICogSW1wbGVtZW50YXRpb24gb2YgTWVzc2FnZSBmb3IgQ0lQOCBzdGFuZGFyZFxuICovXG5leHBvcnQgY2xhc3MgQ2lwOE1lc3NhZ2UgZXh0ZW5kcyBCYXNlTWVzc2FnZSB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IE1lc3NhZ2VPcHRpb25zKSB7XG4gICAgc3VwZXIoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHR5cGU6IE1lc3NhZ2VTdGFuZGFyZFR5cGUuQ0lQOCxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBoYXNoIG9mIHRoZSBDSVAtOCBwcmVmaXhlZCBtZXNzYWdlXG4gICAqL1xuICBhc3luYyBnZXRTaWduYWJsZVBheWxvYWQoKTogUHJvbWlzZTxzdHJpbmcgfCBCdWZmZXI+IHtcbiAgICBjb25zdCB7IGFkZHJlc3NDYm9yQnl0ZXMgfSA9IHRoaXMudmFsaWRhdGVBbmRHZXRDb21tb25TZXR1cCgpO1xuICAgIGNvbnN0IHsgc2lnU3RydWN0dXJlQ2JvckJ5dGVzIH0gPSBjcmVhdGVDU0xTaWdTdHJ1Y3R1cmUoYWRkcmVzc0Nib3JCeXRlcywgdGhpcy5wYXlsb2FkKTtcbiAgICB0aGlzLnNpZ25hYmxlUGF5bG9hZCA9IEJ1ZmZlci5mcm9tKHNpZ1N0cnVjdHVyZUNib3JCeXRlcyk7XG4gICAgcmV0dXJuIHRoaXMuc2lnbmFibGVQYXlsb2FkO1xuICB9XG5cbiAgLypcbiAgICogUmV0dXJucyBicm9hZGNhc3RhYmxlIHNpZ25hdHVyZXMgaW4gQ09TRSBmb3JtYXQgYWNjb3JkaW5nIHRvIENJUDggc3RhbmRhcmRcbiAgICpcbiAgICogVGhpcyBtZXRob2QgdHJhbnNmb3JtcyB0aGUgaW50ZXJuYWwgc2lnbmF0dXJlcyBpbnRvIGEgZm9ybWF0IHN1aXRhYmxlIGZvciBicm9hZGNhc3RpbmdcbiAgICogYnkgY29uc3RydWN0aW5nIENPU0UgKENCT1IgT2JqZWN0IFNpZ25pbmcgYW5kIEVuY3J5cHRpb24pIG9iamVjdHMgdGhhdCBjb21wbHkgd2l0aFxuICAgKiB0aGUgQ0lQOCBtZXNzYWdlIHNpZ25pbmcgc3BlY2lmaWNhdGlvbi5cbiAgICpcbiAgICogQHJldHVybnMgQXJyYXkgb2Ygc2lnbmF0dXJlcyB3aXRoIENPU0UtZm9ybWF0dGVkIHNpZ25hdHVyZSBkYXRhIGFuZCBwdWJsaWMga2V5c1xuICAgKiBAdGhyb3dzIEVycm9yIGlmIHJlcXVpcmVkIHNldHVwIHZhbGlkYXRpb24gZmFpbHNcbiAgICovXG4gIGdldEJyb2FkY2FzdGFibGVTaWduYXR1cmVzKCk6IFNpZ25hdHVyZVtdIHtcbiAgICBpZiAoIXRoaXMuc2lnbmF0dXJlcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCBzaWduYXR1cmUgPSB0aGlzLnNpZ25hdHVyZXNbMF0uc2lnbmF0dXJlO1xuICAgIGNvbnN0IHB1YmxpY0tleUhleCA9IHRoaXMuc2lnbmF0dXJlc1swXS5wdWJsaWNLZXkucHViO1xuXG4gICAgY29uc3QgeyBhZGRyZXNzQ2JvckJ5dGVzIH0gPSB0aGlzLnZhbGlkYXRlQW5kR2V0Q29tbW9uU2V0dXAoKTtcbiAgICBjb25zdCB7IHByb3RlY3RlZEhlYWRlckNib3JCeXRlcywgcGF5bG9hZEJ5dGVzIH0gPSBjcmVhdGVDU0xTaWdTdHJ1Y3R1cmUoYWRkcmVzc0Nib3JCeXRlcywgdGhpcy5wYXlsb2FkKTtcblxuICAgIGNvbnN0IGNvc2VPYmplY3RzT3V0cHV0ID0gY29uc3RydWN0Q1NMQ29zZU9iamVjdHMoXG4gICAgICBwcm90ZWN0ZWRIZWFkZXJDYm9yQnl0ZXMsXG4gICAgICBwYXlsb2FkQnl0ZXMsXG4gICAgICBzaWduYXR1cmUsXG4gICAgICBDYXJkYW5vU0wuUHVibGljS2V5LmZyb21fYnl0ZXMoQnVmZmVyLmZyb20ocHVibGljS2V5SGV4LCAnaGV4JykpXG4gICAgKTtcbiAgICBjb25zdCBjb3NlT2JqZWN0c0J1ZmZlciA9IGNvc2VPYmplY3RzT3V0cHV0VG9CdWZmZXIoY29zZU9iamVjdHNPdXRwdXQpO1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIHNpZ25hdHVyZTogY29zZU9iamVjdHNCdWZmZXIsXG4gICAgICAgIHB1YmxpY0tleToge1xuICAgICAgICAgIHB1YjogcHVibGljS2V5SGV4LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdO1xuICB9XG5cbiAgLyoqXG4gICAqIFZlcmlmaWVzIHRoZSBlbmNvZGVkIHBheWxvYWQgYWdhaW5zdCB0aGUgcHJvdmlkZWQgbWV0YWRhdGFcbiAgICogQHBhcmFtIG1lc3NhZ2VFbmNvZGVkSGV4IFRoZSBoZXgtZW5jb2RlZCBtZXNzYWdlIHRvIHZlcmlmeVxuICAgKiBAcGFyYW0gbWV0YWRhdGEgTWV0YWRhdGEgY29udGFpbmluZyBzaWduZXIgYWRkcmVzc2VzXG4gICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGVuY29kZWQgcGF5bG9hZCBtYXRjaGVzIHRoZSBleHBlY3RlZCBmb3JtYXQsIGZhbHNlIG90aGVyd2lzZVxuICAgKi9cbiAgYXN5bmMgdmVyaWZ5RW5jb2RlZFBheWxvYWQobWVzc2FnZUVuY29kZWRIZXg6IHN0cmluZywgbWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGlmICghbWV0YWRhdGEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWV0YWRhdGEgaXMgcmVxdWlyZWQgZm9yIHZlcmlmeWluZyB0aGUgZW5jb2RlZCBwYXlsb2FkJyk7XG4gICAgfVxuICAgIGNvbnN0IHNpZ25lcnMgPSBtZXRhZGF0YS5zaWduZXJzIGFzIHN0cmluZ1tdO1xuICAgIGlmIChzaWduZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdBdCBsZWFzdCBvbmUgc2lnbmVyIGFkZHJlc3MgaXMgcmVxdWlyZWQgaW4gbWV0YWRhdGEgZm9yIHZlcmlmaWNhdGlvbicpO1xuICAgIH1cbiAgICB0aGlzLmFkZFNpZ25lcihzaWduZXJzWzBdKTtcbiAgICBjb25zdCBzaWduYWJsZVBheWxvYWQgPSBhd2FpdCB0aGlzLmdldFNpZ25hYmxlUGF5bG9hZCgpO1xuICAgIGxldCBzaWduYWJsZVBheWxvYWRIZXg6IHN0cmluZztcbiAgICBpZiAoQnVmZmVyLmlzQnVmZmVyKHNpZ25hYmxlUGF5bG9hZCkpIHtcbiAgICAgIHNpZ25hYmxlUGF5bG9hZEhleCA9IHNpZ25hYmxlUGF5bG9hZC50b1N0cmluZygnaGV4Jyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNpZ25hYmxlUGF5bG9hZEhleCA9IHNpZ25hYmxlUGF5bG9hZDtcbiAgICB9XG4gICAgcmV0dXJuIHNpZ25hYmxlUGF5bG9hZEhleCA9PT0gbWVzc2FnZUVuY29kZWRIZXg7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIHJlcXVpcmVkIGZpZWxkcyBhbmQgcmV0dXJucyBjb21tb24gc2V0dXAgb2JqZWN0c1xuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSB2YWxpZGF0ZUFuZEdldENvbW1vblNldHVwKCkge1xuICAgIGlmICghdGhpcy5wYXlsb2FkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1BheWxvYWQgaXMgcmVxdWlyZWQgdG8gYnVpbGQgYSBDSVA4IG1lc3NhZ2UnKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnNpZ25lcnMgfHwgdGhpcy5zaWduZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdBIHNpZ25lciBhZGRyZXNzIGlzIHJlcXVpcmVkIHRvIGJ1aWxkIGEgQ0lQOCBtZXNzYWdlJyk7XG4gICAgfVxuXG4gICAgbGV0IGNzbEFkZHJlc3M6IENhcmRhbm9TTC5BZGRyZXNzO1xuICAgIHRyeSB7XG4gICAgICBjc2xBZGRyZXNzID0gQ2FyZGFub1NMLkFkZHJlc3MuZnJvbV9iZWNoMzIodGhpcy5zaWduZXJzWzBdKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gQ29udmVydCBzdHJpbmcgZXJyb3JzIHRvIHByb3BlciBFcnJvciBvYmplY3RzXG4gICAgICBpZiAodHlwZW9mIGVycm9yID09PSAnc3RyaW5nJykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc2lnbmVyIGFkZHJlc3M6ICR7ZXJyb3J9YCk7XG4gICAgICB9XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG5cbiAgICBjb25zdCBhZGRyZXNzQ2JvckJ5dGVzID0gY3NsQWRkcmVzcy50b19ieXRlcygpO1xuICAgIHJldHVybiB7IGFkZHJlc3NDYm9yQnl0ZXMgfTtcbiAgfVxufVxuIl19
@@ -0,0 +1,19 @@
1
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
2
+ import { BaseMessageBuilder, IMessage, MessageOptions } from '@bitgo-beta/sdk-core';
3
+ /**
4
+ * Builder for CIP-8 messages
5
+ */
6
+ export declare class Cip8MessageBuilder extends BaseMessageBuilder {
7
+ /**
8
+ * Base constructor.
9
+ * @param _coinConfig BaseCoin from statics library
10
+ */
11
+ constructor(_coinConfig: Readonly<CoinConfig>);
12
+ /**
13
+ * Builds a CIP-8 message instance with the provided options
14
+ * @param options Options to create the message
15
+ * @returns A Promise that resolves to a Cip8Message instance
16
+ */
17
+ buildMessage(options: MessageOptions): Promise<IMessage>;
18
+ }
19
+ //# sourceMappingURL=cip8MessageBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cip8MessageBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/lib/messages/cip8/cip8MessageBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,cAAc,EAAuB,MAAM,sBAAsB,CAAC;AAEzG;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,kBAAkB;IACxD;;;OAGG;gBACgB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAIpD;;;;OAIG;IACG,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC;CAG/D"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Cip8MessageBuilder = void 0;
4
+ const cip8Message_1 = require("./cip8Message");
5
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
6
+ /**
7
+ * Builder for CIP-8 messages
8
+ */
9
+ class Cip8MessageBuilder extends sdk_core_1.BaseMessageBuilder {
10
+ /**
11
+ * Base constructor.
12
+ * @param _coinConfig BaseCoin from statics library
13
+ */
14
+ constructor(_coinConfig) {
15
+ super(_coinConfig, sdk_core_1.MessageStandardType.CIP8);
16
+ }
17
+ /**
18
+ * Builds a CIP-8 message instance with the provided options
19
+ * @param options Options to create the message
20
+ * @returns A Promise that resolves to a Cip8Message instance
21
+ */
22
+ async buildMessage(options) {
23
+ return new cip8Message_1.Cip8Message(options);
24
+ }
25
+ }
26
+ exports.Cip8MessageBuilder = Cip8MessageBuilder;
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2lwOE1lc3NhZ2VCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9tZXNzYWdlcy9jaXA4L2NpcDhNZXNzYWdlQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQ0FBNEM7QUFFNUMsbURBQXlHO0FBRXpHOztHQUVHO0FBQ0gsTUFBYSxrQkFBbUIsU0FBUSw2QkFBa0I7SUFDeEQ7OztPQUdHO0lBQ0gsWUFBbUIsV0FBaUM7UUFDbEQsS0FBSyxDQUFDLFdBQVcsRUFBRSw4QkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBdUI7UUFDeEMsT0FBTyxJQUFJLHlCQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEMsQ0FBQztDQUNGO0FBakJELGdEQWlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENpcDhNZXNzYWdlIH0gZnJvbSAnLi9jaXA4TWVzc2FnZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBCYXNlTWVzc2FnZUJ1aWxkZXIsIElNZXNzYWdlLCBNZXNzYWdlT3B0aW9ucywgTWVzc2FnZVN0YW5kYXJkVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcblxuLyoqXG4gKiBCdWlsZGVyIGZvciBDSVAtOCBtZXNzYWdlc1xuICovXG5leHBvcnQgY2xhc3MgQ2lwOE1lc3NhZ2VCdWlsZGVyIGV4dGVuZHMgQmFzZU1lc3NhZ2VCdWlsZGVyIHtcbiAgLyoqXG4gICAqIEJhc2UgY29uc3RydWN0b3IuXG4gICAqIEBwYXJhbSBfY29pbkNvbmZpZyBCYXNlQ29pbiBmcm9tIHN0YXRpY3MgbGlicmFyeVxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnLCBNZXNzYWdlU3RhbmRhcmRUeXBlLkNJUDgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkcyBhIENJUC04IG1lc3NhZ2UgaW5zdGFuY2Ugd2l0aCB0aGUgcHJvdmlkZWQgb3B0aW9uc1xuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIHRvIGNyZWF0ZSB0aGUgbWVzc2FnZVxuICAgKiBAcmV0dXJucyBBIFByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhIENpcDhNZXNzYWdlIGluc3RhbmNlXG4gICAqL1xuICBhc3luYyBidWlsZE1lc3NhZ2Uob3B0aW9uczogTWVzc2FnZU9wdGlvbnMpOiBQcm9taXNlPElNZXNzYWdlPiB7XG4gICAgcmV0dXJuIG5ldyBDaXA4TWVzc2FnZShvcHRpb25zKTtcbiAgfVxufVxuIl19