@bitgo-beta/sdk-coin-kaspa 0.0.1-beta.21 → 0.0.1-beta.210
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +224 -33
- package/dist/src/kaspa.d.ts +86 -18
- package/dist/src/kaspa.d.ts.map +1 -1
- package/dist/src/kaspa.js +119 -31
- package/dist/src/lib/constants.d.ts +38 -0
- package/dist/src/lib/constants.d.ts.map +1 -1
- package/dist/src/lib/constants.js +56 -5
- package/dist/src/lib/iface.d.ts +28 -17
- package/dist/src/lib/iface.d.ts.map +1 -1
- package/dist/src/lib/iface.js +1 -1
- package/dist/src/lib/index.d.ts +2 -0
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +4 -2
- package/dist/src/lib/keyPair.d.ts +6 -2
- package/dist/src/lib/keyPair.d.ts.map +1 -1
- package/dist/src/lib/keyPair.js +7 -4
- package/dist/src/lib/pskt.d.ts +257 -0
- package/dist/src/lib/pskt.d.ts.map +1 -0
- package/dist/src/lib/pskt.js +439 -0
- package/dist/src/lib/sighash.d.ts +34 -13
- package/dist/src/lib/sighash.d.ts.map +1 -1
- package/dist/src/lib/sighash.js +115 -56
- package/dist/src/lib/transaction.d.ts +94 -6
- package/dist/src/lib/transaction.d.ts.map +1 -1
- package/dist/src/lib/transaction.js +199 -21
- package/dist/src/lib/transactionBuilder.d.ts +22 -0
- package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilder.js +53 -5
- package/dist/src/lib/transactionBuilderFactory.d.ts +8 -3
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilderFactory.js +14 -4
- package/dist/src/lib/utils.d.ts +17 -3
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +45 -11
- package/dist/src/register.js +2 -2
- package/dist/test/fixtures/kaspa.fixtures.d.ts +12 -0
- package/dist/test/fixtures/kaspa.fixtures.d.ts.map +1 -1
- package/dist/test/fixtures/kaspa.fixtures.js +76 -11
- package/dist/test/unit/coin.test.js +129 -9
- package/dist/test/unit/keyPair.test.js +35 -1
- package/dist/test/unit/pskt.test.d.ts +15 -0
- package/dist/test/unit/pskt.test.d.ts.map +1 -0
- package/dist/test/unit/pskt.test.js +383 -0
- package/dist/test/unit/transaction.test.js +291 -11
- package/dist/test/unit/transactionBuilder.test.js +16 -3
- package/dist/test/unit/transactionFlow.test.js +67 -2
- package/dist/test/unit/utils.test.js +63 -4
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -5
package/dist/src/kaspa.js
CHANGED
|
@@ -33,37 +33,38 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.Kaspa = void 0;
|
|
36
|
+
exports.Tkaspa = exports.Kaspa = exports.AbstractKaspaLikeCoin = void 0;
|
|
37
37
|
const statics_1 = require("@bitgo-beta/statics");
|
|
38
38
|
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
39
|
+
const abstract_utxo_1 = require("@bitgo-beta/abstract-utxo");
|
|
39
40
|
const KaspaLib = __importStar(require("./lib"));
|
|
40
41
|
const utils_1 = require("./lib/utils");
|
|
41
|
-
class
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
this.
|
|
48
|
-
}
|
|
49
|
-
static createInstance(bitgo, staticsCoin) {
|
|
50
|
-
return new Kaspa(bitgo, staticsCoin);
|
|
51
|
-
}
|
|
52
|
-
getChain() {
|
|
53
|
-
return this._staticsCoin.name;
|
|
42
|
+
class AbstractKaspaLikeCoin extends abstract_utxo_1.AbstractUtxoCoin {
|
|
43
|
+
/**
|
|
44
|
+
* Kaspa has no utxo-lib network entry. This deprecated getter is overridden
|
|
45
|
+
* to prevent accidental usage of the Bitcoin PSBT signing stack.
|
|
46
|
+
*/
|
|
47
|
+
get network() {
|
|
48
|
+
throw new Error(`${this.getChain()} does not have a utxo-lib network entry`);
|
|
54
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* Kaspa family name is 'kaspa' for both mainnet and testnet.
|
|
52
|
+
* Override avoids going through names.ts which only knows Bitcoin-family coins.
|
|
53
|
+
* The cast is required because UtxoCoinNameMainnet is a closed union of Bitcoin-family coins;
|
|
54
|
+
* Kaspa manages its own network stack and is intentionally outside that union.
|
|
55
|
+
*/
|
|
55
56
|
getFamily() {
|
|
56
|
-
return
|
|
57
|
+
return 'kaspa';
|
|
57
58
|
}
|
|
58
|
-
|
|
59
|
-
return
|
|
59
|
+
supportsBlockTarget() {
|
|
60
|
+
return false;
|
|
60
61
|
}
|
|
61
62
|
/**
|
|
62
63
|
* Return the base factor (sompi per KASPA).
|
|
63
64
|
* 1 KASPA = 100,000,000 sompi (8 decimal places)
|
|
64
65
|
*/
|
|
65
66
|
getBaseFactor() {
|
|
66
|
-
return
|
|
67
|
+
return 1e8;
|
|
67
68
|
}
|
|
68
69
|
/** @inheritDoc */
|
|
69
70
|
getDefaultMultisigType() {
|
|
@@ -108,6 +109,9 @@ class Kaspa extends sdk_core_1.BaseCoin {
|
|
|
108
109
|
if (!keys.prv) {
|
|
109
110
|
throw new Error('Missing prv in key generation.');
|
|
110
111
|
}
|
|
112
|
+
if (!keys.pub) {
|
|
113
|
+
throw new Error('Missing pub in key generation.');
|
|
114
|
+
}
|
|
111
115
|
return {
|
|
112
116
|
pub: keys.pub,
|
|
113
117
|
prv: keys.prv,
|
|
@@ -124,7 +128,8 @@ class Kaspa extends sdk_core_1.BaseCoin {
|
|
|
124
128
|
if (!keychains || keychains.length !== 3) {
|
|
125
129
|
throw new Error('Invalid keychains');
|
|
126
130
|
}
|
|
127
|
-
|
|
131
|
+
// Cast to string to avoid type-overlap lint until abstract-utxo dist is rebuilt with kaspa names.
|
|
132
|
+
const networkType = this.name === 'kaspa' ? 'mainnet' : 'testnet';
|
|
128
133
|
const derivedAddress = new KaspaLib.KeyPair({ pub: keychains[0].pub }).getAddress(networkType);
|
|
129
134
|
if (derivedAddress !== address) {
|
|
130
135
|
throw new sdk_core_1.UnexpectedAddressError(`address validation failure: ${address} is not of this wallet`);
|
|
@@ -136,9 +141,11 @@ class Kaspa extends sdk_core_1.BaseCoin {
|
|
|
136
141
|
}
|
|
137
142
|
/**
|
|
138
143
|
* Parse a Kaspa transaction from prebuild.
|
|
144
|
+
* Overrides AbstractUtxoCoin's PSBT-based implementation with Kaspa's JSON-hex format.
|
|
139
145
|
*/
|
|
140
146
|
async parseTransaction(params) {
|
|
141
|
-
const
|
|
147
|
+
const anyParams = params;
|
|
148
|
+
const txHex = anyParams.txHex ?? anyParams.halfSigned?.txHex;
|
|
142
149
|
if (!txHex) {
|
|
143
150
|
return {};
|
|
144
151
|
}
|
|
@@ -190,9 +197,13 @@ class Kaspa extends sdk_core_1.BaseCoin {
|
|
|
190
197
|
}
|
|
191
198
|
/**
|
|
192
199
|
* Explain a Kaspa transaction.
|
|
200
|
+
* Overrides AbstractUtxoCoin's PSBT-based implementation with Kaspa's JSON-hex format.
|
|
201
|
+
* The return type cast is necessary because Kaspa uses a custom TransactionExplanation
|
|
202
|
+
* that doesn't include Bitcoin-specific fields (chain, index) on outputs.
|
|
193
203
|
*/
|
|
194
|
-
async explainTransaction(params) {
|
|
195
|
-
const
|
|
204
|
+
async explainTransaction(params, _wallet) {
|
|
205
|
+
const anyParams = params;
|
|
206
|
+
const txHex = anyParams.txHex ?? anyParams.halfSigned?.txHex;
|
|
196
207
|
if (!txHex) {
|
|
197
208
|
throw new Error('missing transaction hex');
|
|
198
209
|
}
|
|
@@ -207,33 +218,78 @@ class Kaspa extends sdk_core_1.BaseCoin {
|
|
|
207
218
|
}
|
|
208
219
|
/**
|
|
209
220
|
* Sign a Kaspa transaction using secp256k1 Schnorr signatures.
|
|
221
|
+
*
|
|
222
|
+
* Kaspa is a UTXO coin: every input has its own sighash.
|
|
223
|
+
* Two signing paths are supported:
|
|
224
|
+
*
|
|
225
|
+
* Path A — `params.prv` (direct key, test / non-TSS):
|
|
226
|
+
* Calls `tx.sign(prv)` which loops every input and produces a Schnorr
|
|
227
|
+
* signature for each one in a single call.
|
|
228
|
+
*
|
|
229
|
+
* Path B — `params.signatures` (TSS multi-input):
|
|
230
|
+
* The caller already ran one independent DKLS session per input, using
|
|
231
|
+
* `tx.signablePayloads[i]` as the message for session i. Each resulting
|
|
232
|
+
* signature is applied to its input via `addSignatureForInput`.
|
|
233
|
+
*
|
|
234
|
+
* Platform flow:
|
|
235
|
+
* 1. Build tx, read `(tx as Transaction).signablePayloads` → Buffer[N]
|
|
236
|
+
* 2. Run N DKLS sessions in parallel, one per sighash
|
|
237
|
+
* 3. Call signTransaction({ signatures: [{ inputIndex, pubKey, signature }, ...] })
|
|
210
238
|
*/
|
|
211
239
|
async signTransaction(params) {
|
|
212
|
-
const
|
|
240
|
+
const kaspaParams = params;
|
|
241
|
+
const txHex = kaspaParams.txPrebuild?.txHex;
|
|
213
242
|
if (!txHex) {
|
|
214
243
|
throw new sdk_core_1.InvalidTransactionError('missing txHex in txPrebuild');
|
|
215
244
|
}
|
|
216
245
|
const txBuilder = this.getBuilder().from(txHex);
|
|
217
246
|
const tx = (await txBuilder.build());
|
|
218
|
-
if (
|
|
219
|
-
|
|
220
|
-
const privKeyBuffer = Buffer.from(
|
|
247
|
+
if (kaspaParams.prv) {
|
|
248
|
+
// Path A: direct private-key signing — correct for all inputs at once.
|
|
249
|
+
const privKeyBuffer = Buffer.from(kaspaParams.prv.slice(0, 64), 'hex');
|
|
221
250
|
tx.sign(privKeyBuffer);
|
|
222
251
|
}
|
|
223
|
-
|
|
252
|
+
else if (kaspaParams.signatures && kaspaParams.signatures.length > 0) {
|
|
253
|
+
// Path B: TSS multi-input — apply each externally-computed per-input signature.
|
|
254
|
+
// Each signature MUST have been produced over signablePayloads[inputIndex],
|
|
255
|
+
// i.e. the sighash that commits specifically to that input's index.
|
|
256
|
+
// Applying a signature produced over a different message will be rejected
|
|
257
|
+
// by the Kaspa node's script engine.
|
|
258
|
+
for (const { inputIndex, pubKey, signature } of kaspaParams.signatures) {
|
|
259
|
+
tx.addSignatureForInput(inputIndex, pubKey, Buffer.from(signature, 'hex'));
|
|
260
|
+
}
|
|
261
|
+
}
|
|
224
262
|
const inputCount = tx.txData.inputs.length;
|
|
225
263
|
const sigCount = tx.signature.filter((s) => s.length > 0).length;
|
|
264
|
+
const signedHex = tx.toHex();
|
|
226
265
|
return inputCount > 0 && sigCount >= inputCount ? { txHex: signedHex } : { halfSigned: { txHex: signedHex } };
|
|
227
266
|
}
|
|
228
|
-
|
|
267
|
+
/**
|
|
268
|
+
* Kaspa's txHex is already the custom JSON-hex format — skip the PSBT
|
|
269
|
+
* re-encode that AbstractUtxoCoin.postProcessPrebuild would otherwise apply.
|
|
270
|
+
*/
|
|
271
|
+
async postProcessPrebuild(prebuild) {
|
|
272
|
+
return prebuild;
|
|
273
|
+
}
|
|
274
|
+
async signMessage(_key, _message) {
|
|
229
275
|
throw new sdk_core_1.MethodNotImplementedError();
|
|
230
276
|
}
|
|
231
277
|
/** @inheritDoc */
|
|
232
|
-
auditDecryptedKey(
|
|
278
|
+
auditDecryptedKey(_params) {
|
|
233
279
|
throw new sdk_core_1.MethodNotImplementedError();
|
|
234
280
|
}
|
|
235
281
|
/**
|
|
236
|
-
* MPC support: Kaspa uses secp256k1 (Schnorr variant
|
|
282
|
+
* TSS/MPC support: Kaspa uses secp256k1 (Schnorr variant for on-chain,
|
|
283
|
+
* ECDSA for the off-chain TSS ceremony).
|
|
284
|
+
*
|
|
285
|
+
* Kaspa is a UTXO coin with a BIP-143-like per-input sighash scheme.
|
|
286
|
+
* Each input commits to its own index and produces a distinct hash.
|
|
287
|
+
* One independent DKLS signing session is required per input.
|
|
288
|
+
*
|
|
289
|
+
* Correct multi-input TSS flow:
|
|
290
|
+
* 1. Read `tx.signablePayloads` → Buffer[] (one sighash per input).
|
|
291
|
+
* 2. Run one DKLS signing session per sighash IN PARALLEL.
|
|
292
|
+
* 3. Apply each signature: `tx.addSignatureForInput(i, pubKey, sig)`.
|
|
237
293
|
*/
|
|
238
294
|
supportsTss() {
|
|
239
295
|
return true;
|
|
@@ -242,5 +298,37 @@ class Kaspa extends sdk_core_1.BaseCoin {
|
|
|
242
298
|
return 'ecdsa';
|
|
243
299
|
}
|
|
244
300
|
}
|
|
301
|
+
exports.AbstractKaspaLikeCoin = AbstractKaspaLikeCoin;
|
|
302
|
+
class Kaspa extends AbstractKaspaLikeCoin {
|
|
303
|
+
constructor() {
|
|
304
|
+
super(...arguments);
|
|
305
|
+
this.name = 'kaspa';
|
|
306
|
+
}
|
|
307
|
+
getFullName() {
|
|
308
|
+
return 'Kaspa';
|
|
309
|
+
}
|
|
310
|
+
isMainnet() {
|
|
311
|
+
return true;
|
|
312
|
+
}
|
|
313
|
+
static createInstance(bitgo) {
|
|
314
|
+
return new Kaspa(bitgo);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
245
317
|
exports.Kaspa = Kaspa;
|
|
246
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2FzcGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMva2FzcGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaURBQXFGO0FBQ3JGLG1EQWdCOEI7QUFDOUIsZ0RBQWtDO0FBT2xDLHVDQUFrRDtBQUVsRCxNQUFhLEtBQU0sU0FBUSxtQkFBUTtJQUdqQyxZQUFZLEtBQWdCLEVBQUUsV0FBdUM7UUFDbkUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztRQUN4RSxDQUFDO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBZ0IsRUFBRSxXQUF1QztRQUM3RSxPQUFPLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7SUFDaEMsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLHNCQUFzQjtRQUNwQixPQUFPLHdCQUFhLENBQUMsT0FBTyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7T0FFRztJQUNILGNBQWMsQ0FBQyxPQUFl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QyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBRWpFLE9BQU8sVUFBVSxHQUFHLENBQUMsSUFBSSxRQUFRLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsQ0FBQztJQUNoSCxDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFhLEVBQUUsT0FBd0I7UUFDdkQsTUFBTSxJQUFJLG9DQUF5QixFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixpQkFBaUIsQ0FBQyxNQUErQjtRQUMvQyxNQUFNLElBQUksb0NBQXlCLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FDRjtBQS9PRCxzQkErT0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBTdGF0aWNzQmFzZUNvaW4sIENvaW5GYW1pbHksIGNvaW5zIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQge1xuICBBdWRpdERlY3J5cHRlZEtleVBhcmFtcyxcbiAgQmFzZUNvaW4sXG4gIEJpdEdvQmFzZSxcbiAgSW52YWxpZEFkZHJlc3NFcnJvcixcbiAgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsXG4gIEtleVBhaXIgYXMgSUtleVBhaXIsXG4gIE1ldGhvZE5vdEltcGxlbWVudGVkRXJyb3IsXG4gIE1QQ0FsZ29yaXRobSxcbiAgTXVsdGlzaWdUeXBlLFxuICBtdWx0aXNpZ1R5cGVzLFxuICBQYXJzZWRUcmFuc2FjdGlvbixcbiAgUGFyc2VUcmFuc2FjdGlvbk9wdGlvbnMsXG4gIFNpZ25lZFRyYW5zYWN0aW9uLFxuICBVbmV4cGVjdGVkQWRkcmVzc0Vycm9yLFxuICBWZXJpZnlBZGRyZXNzT3B0aW9ucyxcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0ICogYXMgS2FzcGFMaWIgZnJvbSAnLi9saWInO1xuaW1wb3J0IHtcbiAgS2FzcGFFeHBsYWluVHJhbnNhY3Rpb25PcHRpb25zLFxuICBLYXNwYVNpZ25UcmFuc2FjdGlvbk9wdGlvbnMsXG4gIEthc3BhVmVyaWZ5VHJhbnNhY3Rpb25PcHRpb25zLFxuICBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLFxufSBmcm9tICcuL2xpYi9pZmFjZSc7XG5pbXBvcnQgeyBpc1ZhbGlkS2FzcGFBZGRyZXNzIH0gZnJvbSAnLi9saWIvdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgS2FzcGEgZXh0ZW5kcyBCYXNlQ29pbiB7XG4gIHByb3RlY3RlZCByZWFkb25seSBfc3RhdGljc0NvaW46IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj47XG5cbiAgY29uc3RydWN0b3IoYml0Z286IEJpdEdvQmFzZSwgc3RhdGljc0NvaW4/OiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+KSB7XG4gICAgc3VwZXIoYml0Z28pO1xuXG4gICAgaWYgKCFzdGF0aWNzQ29pbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHJlcXVpcmVkIGNvbnN0cnVjdG9yIHBhcmFtZXRlciBzdGF0aWNzQ29pbicpO1xuICAgIH1cblxuICAgIHRoaXMuX3N0YXRpY3NDb2luID0gc3RhdGljc0NvaW47XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlSW5zdGFuY2UoYml0Z286IEJpdEdvQmFzZSwgc3RhdGljc0NvaW4/OiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+KTogQmFzZUNvaW4ge1xuICAgIHJldHVybiBuZXcgS2FzcGEoYml0Z28sIHN0YXRpY3NDb2luKTtcbiAgfVxuXG4gIGdldENoYWluKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRpY3NDb2luLm5hbWU7XG4gIH1cblxuICBnZXRGYW1pbHkoKTogQ29pbkZhbWlseSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRpY3NDb2luLmZhbWlseTtcbiAgfVxuXG4gIGdldEZ1bGxOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRpY3NDb2luLmZ1bGxOYW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgYmFzZSBmYWN0b3IgKHNvbXBpIHBlciBLQVNQQSkuXG4gICAqIDEgS0FTUEEgPSAxMDAsMDAwLDAwMCBzb21waSAoOCBkZWNpbWFsIHBsYWNlcylcbiAgICovXG4gIGdldEJhc2VGYWN0b3IoKTogc3RyaW5nIHwgbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5wb3coMTAsIHRoaXMuX3N0YXRpY3NDb2luLmRlY2ltYWxQbGFjZXMpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGdldERlZmF1bHRNdWx0aXNpZ1R5cGUoKTogTXVsdGlzaWdUeXBlIHtcbiAgICByZXR1cm4gbXVsdGlzaWdUeXBlcy5vbmNoYWluO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlIGEgS2FzcGEgYWRkcmVzcy5cbiAgICovXG4gIGlzVmFsaWRBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1ZhbGlkS2FzcGFBZGRyZXNzKGFkZHJlc3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlIGEgcHVibGljIGtleSAoc2VjcDI1NmsxIGNvbXByZXNzZWQgb3IgdW5jb21wcmVzc2VkKS5cbiAgICovXG4gIGlzVmFsaWRQdWIocHViOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICB0cnkge1xuICAgICAgbmV3IEthc3BhTGliLktleVBhaXIoeyBwdWIgfSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGUgYSBwcml2YXRlIGtleS5cbiAgICovXG4gIGlzVmFsaWRQcnYocHJ2OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICB0cnkge1xuICAgICAgbmV3IEthc3BhTGliLktleVBhaXIoeyBwcnYgfSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGUgYSBLYXNwYSBrZXkgcGFpci5cbiAgICovXG4gIGdlbmVyYXRlS2V5UGFpcihzZWVkPzogQnVmZmVyKTogSUtleVBhaXIge1xuICAgIGNvbnN0IGtleVBhaXIgPSBzZWVkID8gbmV3IEthc3BhTGliLktleVBhaXIoeyBzZWVkIH0pIDogbmV3IEthc3BhTGliLktleVBhaXIoKTtcbiAgICBjb25zdCBrZXlzID0ga2V5UGFpci5nZXRLZXlzKCk7XG5cbiAgICBpZiAoIWtleXMucHJ2KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgcHJ2IGluIGtleSBnZW5lcmF0aW9uLicpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBwdWI6IGtleXMucHViLFxuICAgICAgcHJ2OiBrZXlzLnBydixcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGFkZHJlc3MgYmVsb25ncyB0byB3YWxsZXQgYnkgZGVyaXZpbmcgZnJvbSBrZXljaGFpbnMuXG4gICAqL1xuICBhc3luYyBpc1dhbGxldEFkZHJlc3MocGFyYW1zOiBWZXJpZnlBZGRyZXNzT3B0aW9ucyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHsgYWRkcmVzcywga2V5Y2hhaW5zIH0gPSBwYXJhbXM7XG5cbiAgICBpZiAoIXRoaXMuaXNWYWxpZEFkZHJlc3MoYWRkcmVzcykpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkQWRkcmVzc0Vycm9yKGBpbnZhbGlkIGFkZHJlc3M6ICR7YWRkcmVzc31gKTtcbiAgICB9XG5cbiAgICBpZiAoIWtleWNoYWlucyB8fCBrZXljaGFpbnMubGVuZ3RoICE9PSAzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQga2V5Y2hhaW5zJyk7XG4gICAgfVxuXG4gICAgY29uc3QgbmV0d29ya1R5cGUgPSB0aGlzLl9zdGF0aWNzQ29pbi5uZXR3b3JrLnR5cGU7XG4gICAgY29uc3QgZGVyaXZlZEFkZHJlc3MgPSBuZXcgS2FzcGFMaWIuS2V5UGFpcih7IHB1Yjoga2V5Y2hhaW5zWzBdLnB1YiB9KS5nZXRBZGRyZXNzKG5ldHdvcmtUeXBlKTtcblxuICAgIGlmIChkZXJpdmVkQWRkcmVzcyAhPT0gYWRkcmVzcykge1xuICAgICAgdGhyb3cgbmV3IFVuZXhwZWN0ZWRBZGRyZXNzRXJyb3IoYGFkZHJlc3MgdmFsaWRhdGlvbiBmYWlsdXJlOiAke2FkZHJlc3N9IGlzIG5vdCBvZiB0aGlzIHdhbGxldGApO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRCdWlsZGVyKCk6IEthc3BhTGliLlRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnkge1xuICAgIHJldHVybiBuZXcgS2FzcGFMaWIuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeShjb2lucy5nZXQodGhpcy5nZXRDaGFpbigpKSk7XG4gIH1cblxuICAvKipcbiAgICogUGFyc2UgYSBLYXNwYSB0cmFuc2FjdGlvbiBmcm9tIHByZWJ1aWxkLlxuICAgKi9cbiAgYXN5bmMgcGFyc2VUcmFuc2FjdGlvbihwYXJhbXM6IFBhcnNlVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxQYXJzZWRUcmFuc2FjdGlvbj4ge1xuICAgIGNvbnN0IHR4SGV4ID0gKHBhcmFtcy50eEhleCB8fCAocGFyYW1zIGFzIHsgaGFsZlNpZ25lZD86IHsgdHhIZXg/OiBzdHJpbmcgfSB9KS5oYWxmU2lnbmVkPy50eEhleCkgYXNcbiAgICAgIHwgc3RyaW5nXG4gICAgICB8IHVuZGVmaW5lZDtcbiAgICBpZiAoIXR4SGV4KSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICAgIGxldCB0eDogS2FzcGFMaWIuVHJhbnNhY3Rpb247XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHR4QnVpbGRlciA9IHRoaXMuZ2V0QnVpbGRlcigpLmZyb20odHhIZXgpO1xuICAgICAgdHggPSAoYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCkpIGFzIEthc3BhTGliLlRyYW5zYWN0aW9uO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgSW52YWxpZCB0cmFuc2FjdGlvbjogJHsoZSBhcyBFcnJvcikubWVzc2FnZX1gKTtcbiAgICB9XG4gICAgY29uc3QgY29pbiA9IHRoaXMuZ2V0Q2hhaW4oKTtcbiAgICByZXR1cm4ge1xuICAgICAgaW5wdXRzOiB0eC50eERhdGEuaW5wdXRzLm1hcCgoaW5wdXQpID0+ICh7XG4gICAgICAgIGFtb3VudDogaW5wdXQuYW1vdW50LFxuICAgICAgICBjb2luLFxuICAgICAgfSkpLFxuICAgICAgb3V0cHV0czogdHgudHhEYXRhLm91dHB1dHMubWFwKChvdXRwdXQpID0+ICh7XG4gICAgICAgIGFkZHJlc3M6IG91dHB1dC5hZGRyZXNzLFxuICAgICAgICBhbW91bnQ6IG91dHB1dC5hbW91bnQsXG4gICAgICAgIGNvaW4sXG4gICAgICB9KSksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWZXJpZnkgYSBLYXNwYSB0cmFuc2FjdGlvbiBhZ2FpbnN0IGV4cGVjdGVkIHBhcmFtcy5cbiAgICovXG4gIGFzeW5jIHZlcmlmeVRyYW5zYWN0aW9uKHBhcmFtczogS2FzcGFWZXJpZnlUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCB0eEhleCA9IHBhcmFtcy50eFByZWJ1aWxkPy50eEhleDtcbiAgICBpZiAoIXR4SGV4KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgcmVxdWlyZWQgdHggcHJlYnVpbGQgcHJvcGVydHkgdHhIZXgnKTtcbiAgICB9XG5cbiAgICBsZXQgdHg6IEthc3BhTGliLlRyYW5zYWN0aW9uO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSB0aGlzLmdldEJ1aWxkZXIoKS5mcm9tKHR4SGV4KTtcbiAgICAgIHR4ID0gKGF3YWl0IHR4QnVpbGRlci5idWlsZCgpKSBhcyBLYXNwYUxpYi5UcmFuc2FjdGlvbjtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBJbnZhbGlkIHRyYW5zYWN0aW9uOiAkeyhlcnJvciBhcyBFcnJvcikubWVzc2FnZX1gKTtcbiAgICB9XG5cbiAgICBjb25zdCBleHBsYWluZWRUeCA9IHR4LmV4cGxhaW5UcmFuc2FjdGlvbigpO1xuXG4gICAgaWYgKHBhcmFtcy50eFBhcmFtcy5yZWNpcGllbnRzKSB7XG4gICAgICBjb25zdCByZWNpcGllbnRDb3VudCA9IHBhcmFtcy50eFBhcmFtcy5yZWNpcGllbnRzLmxlbmd0aDtcbiAgICAgIGlmIChleHBsYWluZWRUeC5vdXRwdXRzLmxlbmd0aCA8IHJlY2lwaWVudENvdW50KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgYXQgbGVhc3QgJHtyZWNpcGllbnRDb3VudH0gb3V0cHV0cywgdHJhbnNhY3Rpb24gaGFkICR7ZXhwbGFpbmVkVHgub3V0cHV0cy5sZW5ndGh9YCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKipcbiAgICogRXhwbGFpbiBhIEthc3BhIHRyYW5zYWN0aW9uLlxuICAgKi9cbiAgYXN5bmMgZXhwbGFpblRyYW5zYWN0aW9uKHBhcmFtczogS2FzcGFFeHBsYWluVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxUcmFuc2FjdGlvbkV4cGxhbmF0aW9uPiB7XG4gICAgY29uc3QgdHhIZXggPSBwYXJhbXMudHhIZXggPz8gcGFyYW1zPy5oYWxmU2lnbmVkPy50eEhleDtcbiAgICBpZiAoIXR4SGV4KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgdHJhbnNhY3Rpb24gaGV4Jyk7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSB0aGlzLmdldEJ1aWxkZXIoKS5mcm9tKHR4SGV4KTtcbiAgICAgIGNvbnN0IHR4ID0gKGF3YWl0IHR4QnVpbGRlci5idWlsZCgpKSBhcyBLYXNwYUxpYi5UcmFuc2FjdGlvbjtcbiAgICAgIHJldHVybiB0eC5leHBsYWluVHJhbnNhY3Rpb24oKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYEludmFsaWQgdHJhbnNhY3Rpb246ICR7KGUgYXMgRXJyb3IpLm1lc3NhZ2V9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNpZ24gYSBLYXNwYSB0cmFuc2FjdGlvbiB1c2luZyBzZWNwMjU2azEgU2Nobm9yciBzaWduYXR1cmVzLlxuICAgKi9cbiAgYXN5bmMgc2lnblRyYW5zYWN0aW9uKHBhcmFtczogS2FzcGFTaWduVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxTaWduZWRUcmFuc2FjdGlvbj4ge1xuICAgIGNvbnN0IHR4SGV4ID0gcGFyYW1zLnR4UHJlYnVpbGQudHhIZXg7XG4gICAgaWYgKCF0eEhleCkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdtaXNzaW5nIHR4SGV4IGluIHR4UHJlYnVpbGQnKTtcbiAgICB9XG5cbiAgICBjb25zdCB0eEJ1aWxkZXIgPSB0aGlzLmdldEJ1aWxkZXIoKS5mcm9tKHR4SGV4KTtcbiAgICBjb25zdCB0eCA9IChhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKSkgYXMgS2FzcGFMaWIuVHJhbnNhY3Rpb247XG5cbiAgICBpZiAocGFyYW1zLnBydikge1xuICAgICAgY29uc3QgcHJpdktleUhleCA9IHBhcmFtcy5wcnYuc2xpY2UoMCwgNjQpO1xuICAgICAgY29uc3QgcHJpdktleUJ1ZmZlciA9IEJ1ZmZlci5mcm9tKHByaXZLZXlIZXgsICdoZXgnKTtcbiAgICAgIHR4LnNpZ24ocHJpdktleUJ1ZmZlcik7XG4gICAgfVxuXG4gICAgY29uc3Qgc2lnbmVkSGV4ID0gdHgudG9IZXgoKTtcbiAgICBjb25zdCBpbnB1dENvdW50ID0gdHgudHhEYXRhLmlucHV0cy5sZW5ndGg7XG4gICAgY29uc3Qgc2lnQ291bnQgPSB0eC5zaWduYXR1cmUuZmlsdGVyKChzKSA9PiBzLmxlbmd0aCA+IDApLmxlbmd0aDtcblxuICAgIHJldHVybiBpbnB1dENvdW50ID4gMCAmJiBzaWdDb3VudCA+PSBpbnB1dENvdW50ID8geyB0eEhleDogc2lnbmVkSGV4IH0gOiB7IGhhbGZTaWduZWQ6IHsgdHhIZXg6IHNpZ25lZEhleCB9IH07XG4gIH1cblxuICBhc3luYyBzaWduTWVzc2FnZShrZXk6IElLZXlQYWlyLCBtZXNzYWdlOiBzdHJpbmcgfCBCdWZmZXIpOiBQcm9taXNlPEJ1ZmZlcj4ge1xuICAgIHRocm93IG5ldyBNZXRob2ROb3RJbXBsZW1lbnRlZEVycm9yKCk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgYXVkaXREZWNyeXB0ZWRLZXkocGFyYW1zOiBBdWRpdERlY3J5cHRlZEtleVBhcmFtcyk6IHZvaWQge1xuICAgIHRocm93IG5ldyBNZXRob2ROb3RJbXBsZW1lbnRlZEVycm9yKCk7XG4gIH1cblxuICAvKipcbiAgICogTVBDIHN1cHBvcnQ6IEthc3BhIHVzZXMgc2VjcDI1NmsxIChTY2hub3JyIHZhcmlhbnQpLlxuICAgKi9cbiAgc3VwcG9ydHNUc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBnZXRNUENBbGdvcml0aG0oKTogTVBDQWxnb3JpdGhtIHtcbiAgICByZXR1cm4gJ2VjZHNhJztcbiAgfVxufVxuIl19
|
|
318
|
+
class Tkaspa extends AbstractKaspaLikeCoin {
|
|
319
|
+
constructor() {
|
|
320
|
+
super(...arguments);
|
|
321
|
+
this.name = 'tkaspa';
|
|
322
|
+
}
|
|
323
|
+
getFullName() {
|
|
324
|
+
return 'Testnet Kaspa';
|
|
325
|
+
}
|
|
326
|
+
isMainnet() {
|
|
327
|
+
return false;
|
|
328
|
+
}
|
|
329
|
+
static createInstance(bitgo) {
|
|
330
|
+
return new Tkaspa(bitgo);
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
exports.Tkaspa = Tkaspa;
|
|
334
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2FzcGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMva2FzcGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaURBQTRDO0FBQzVDLG1EQWM4QjtBQUM5Qiw2REFTbUM7QUFDbkMsZ0RBQWtDO0FBRWxDLHVDQUFrRDtBQUVsRCxNQUFzQixxQkFBc0IsU0FBUSxnQ0FBZ0I7SUFDbEU7OztPQUdHO0lBQ0gsSUFBSSxPQUFPO1FBQ1QsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUseUNBQXlDLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxTQUFTO1FBQ1AsT0FBTyxPQUF5QyxDQUFDO0lBQ25ELENBQUM7SUFjRCxtQkFBbUI7UUFDakIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsYUFBYTtRQUNYLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixzQkFBc0I7UUFDcEIsT0FBTyx3QkFBYSxDQUFDLE9BQU8sQ0FBQztJQUMvQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxjQUFjLENBQUMsT0FBZTtRQUM1QixPQUFPLElBQUEsMkJBQW1CLEVBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsVUFBVSxDQUFDLEdBQVc7UUFDcEIsSUFBSSxDQUFDO1lBQ0gsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUM5QixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxVQUFVLENBQUMsR0FBVztRQUNwQixJQUFJLENBQUM7WUFDSCxJQUFJLFFBQVEsQ0FBQyxP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QUFXO1FBQ1QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVTLFNBQVM7UUFDakIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFnQjtRQUNwQyxPQUFPLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7Q0FDRjtBQWRELHNCQWNDO0FBRUQsTUFBYSxNQUFPLFNBQVEscUJBQXFCO0lBQWpEOztRQUNXLFNBQUksR0FBRyxRQUF3QixDQUFDO0lBYTNDLENBQUM7SUFYQyxXQUFXO1FBQ1QsT0FBTyxlQUFlLENBQUM7SUFDekIsQ0FBQztJQUVTLFNBQVM7UUFDakIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFnQjtRQUNwQyxPQUFPLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7Q0FDRjtBQWRELHdCQWNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29pbnMgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7XG4gIEF1ZGl0RGVjcnlwdGVkS2V5UGFyYW1zLFxuICBCaXRHb0Jhc2UsXG4gIElXYWxsZXQsXG4gIEludmFsaWRBZGRyZXNzRXJyb3IsXG4gIEludmFsaWRUcmFuc2FjdGlvbkVycm9yLFxuICBLZXlQYWlyIGFzIElLZXlQYWlyLFxuICBNZXRob2ROb3RJbXBsZW1lbnRlZEVycm9yLFxuICBNUENBbGdvcml0aG0sXG4gIE11bHRpc2lnVHlwZSxcbiAgbXVsdGlzaWdUeXBlcyxcbiAgU2lnbmVkVHJhbnNhY3Rpb24sXG4gIFVuZXhwZWN0ZWRBZGRyZXNzRXJyb3IsXG4gIFZlcmlmeUFkZHJlc3NPcHRpb25zLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdFV0eG9Db2luLFxuICBFeHBsYWluVHJhbnNhY3Rpb25PcHRpb25zLFxuICBQYXJzZVRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgU2lnblRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgVHJhbnNhY3Rpb25QcmVidWlsZCxcbiAgVXR4b0NvaW5OYW1lLFxuICBVdHhvQ29pbk5hbWVNYWlubmV0LFxuICB0cmFuc2FjdGlvbixcbn0gZnJvbSAnQGJpdGdvLWJldGEvYWJzdHJhY3QtdXR4byc7XG5pbXBvcnQgKiBhcyBLYXNwYUxpYiBmcm9tICcuL2xpYic7XG5pbXBvcnQgeyBLYXNwYVNpZ25UcmFuc2FjdGlvbk9wdGlvbnMsIEthc3BhVmVyaWZ5VHJhbnNhY3Rpb25PcHRpb25zIH0gZnJvbSAnLi9saWIvaWZhY2UnO1xuaW1wb3J0IHsgaXNWYWxpZEthc3BhQWRkcmVzcyB9IGZyb20gJy4vbGliL3V0aWxzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0S2FzcGFMaWtlQ29pbiBleHRlbmRzIEFic3RyYWN0VXR4b0NvaW4ge1xuICAvKipcbiAgICogS2FzcGEgaGFzIG5vIHV0eG8tbGliIG5ldHdvcmsgZW50cnkuIFRoaXMgZGVwcmVjYXRlZCBnZXR0ZXIgaXMgb3ZlcnJpZGRlblxuICAgKiB0byBwcmV2ZW50IGFjY2lkZW50YWwgdXNhZ2Ugb2YgdGhlIEJpdGNvaW4gUFNCVCBzaWduaW5nIHN0YWNrLlxuICAgKi9cbiAgZ2V0IG5ldHdvcmsoKTogbmV2ZXIge1xuICAgIHRocm93IG5ldyBFcnJvcihgJHt0aGlzLmdldENoYWluKCl9IGRvZXMgbm90IGhhdmUgYSB1dHhvLWxpYiBuZXR3b3JrIGVudHJ5YCk7XG4gIH1cblxuICAvKipcbiAgICogS2FzcGEgZmFtaWx5IG5hbWUgaXMgJ2thc3BhJyBmb3IgYm90aCBtYWlubmV0IGFuZCB0ZXN0bmV0LlxuICAgKiBPdmVycmlkZSBhdm9pZHMgZ29pbmcgdGhyb3VnaCBuYW1lcy50cyB3aGljaCBvbmx5IGtub3dzIEJpdGNvaW4tZmFtaWx5IGNvaW5zLlxuICAgKiBUaGUgY2FzdCBpcyByZXF1aXJlZCBiZWNhdXNlIFV0eG9Db2luTmFtZU1haW5uZXQgaXMgYSBjbG9zZWQgdW5pb24gb2YgQml0Y29pbi1mYW1pbHkgY29pbnM7XG4gICAqIEthc3BhIG1hbmFnZXMgaXRzIG93biBuZXR3b3JrIHN0YWNrIGFuZCBpcyBpbnRlbnRpb25hbGx5IG91dHNpZGUgdGhhdCB1bmlvbi5cbiAgICovXG4gIGdldEZhbWlseSgpOiBVdHhvQ29pbk5hbWVNYWlubmV0IHtcbiAgICByZXR1cm4gJ2thc3BhJyBhcyB1bmtub3duIGFzIFV0eG9Db2luTmFtZU1haW5uZXQ7XG4gIH1cblxuICAvKipcbiAgICogSHVtYW4tcmVhZGFibGUgbmFtZSBmb3IgdGhpcyBjb2luIHZhcmlhbnQuXG4gICAqIEltcGxlbWVudGVkIGluIGVhY2ggY29uY3JldGUgY2xhc3MgdG8gYXZvaWQgcnVudGltZSBuYW1lIGNvbXBhcmlzb25zLlxuICAgKi9cbiAgYWJzdHJhY3QgZ2V0RnVsbE5hbWUoKTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgaXMgYSBtYWlubmV0IG9yIHRlc3RuZXQgY29pbi5cbiAgICogSW1wbGVtZW50ZWQgaW4gZWFjaCBjb25jcmV0ZSBjbGFzcyB0byBhdm9pZCBydW50aW1lIG5hbWUgY29tcGFyaXNvbnMuXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgaXNNYWlubmV0KCk6IGJvb2xlYW47XG5cbiAgc3VwcG9ydHNCbG9ja1RhcmdldCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBiYXNlIGZhY3RvciAoc29tcGkgcGVyIEtBU1BBKS5cbiAgICogMSBLQVNQQSA9IDEwMCwwMDAsMDAwIHNvbXBpICg4IGRlY2ltYWwgcGxhY2VzKVxuICAgKi9cbiAgZ2V0QmFzZUZhY3RvcigpOiBudW1iZXIge1xuICAgIHJldHVybiAxZTg7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgZ2V0RGVmYXVsdE11bHRpc2lnVHlwZSgpOiBNdWx0aXNpZ1R5cGUge1xuICAgIHJldHVybiBtdWx0aXNpZ1R5cGVzLm9uY2hhaW47XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGUgYSBLYXNwYSBhZGRyZXNzLlxuICAgKi9cbiAgaXNWYWxpZEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzVmFsaWRLYXNwYUFkZHJlc3MoYWRkcmVzcyk7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGUgYSBwdWJsaWMga2V5IChzZWNwMjU2azEgY29tcHJlc3NlZCBvciB1bmNvbXByZXNzZWQpLlxuICAgKi9cbiAgaXNWYWxpZFB1YihwdWI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHRyeSB7XG4gICAgICBuZXcgS2FzcGFMaWIuS2V5UGFpcih7IHB1YiB9KTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZSBhIHByaXZhdGUga2V5LlxuICAgKi9cbiAgaXNWYWxpZFBydihwcnY6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHRyeSB7XG4gICAgICBuZXcgS2FzcGFMaWIuS2V5UGFpcih7IHBydiB9KTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSBhIEthc3BhIGtleSBwYWlyLlxuICAgKi9cbiAgZ2VuZXJhdGVLZXlQYWlyKHNlZWQ/OiBCdWZmZXIpOiB7IHB1Yjogc3RyaW5nOyBwcnY6IHN0cmluZyB9IHtcbiAgICBjb25zdCBrZXlQYWlyID0gc2VlZCA/IG5ldyBLYXNwYUxpYi5LZXlQYWlyKHsgc2VlZCB9KSA6IG5ldyBLYXNwYUxpYi5LZXlQYWlyKCk7XG4gICAgY29uc3Qga2V5cyA9IGtleVBhaXIuZ2V0S2V5cygpO1xuXG4gICAgaWYgKCFrZXlzLnBydikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIHBydiBpbiBrZXkgZ2VuZXJhdGlvbi4nKTtcbiAgICB9XG4gICAgaWYgKCFrZXlzLnB1Yikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIHB1YiBpbiBrZXkgZ2VuZXJhdGlvbi4nKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgcHViOiBrZXlzLnB1YixcbiAgICAgIHBydjoga2V5cy5wcnYsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBhZGRyZXNzIGJlbG9uZ3MgdG8gd2FsbGV0IGJ5IGRlcml2aW5nIGZyb20ga2V5Y2hhaW5zLlxuICAgKi9cbiAgYXN5bmMgaXNXYWxsZXRBZGRyZXNzKHBhcmFtczogVmVyaWZ5QWRkcmVzc09wdGlvbnMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCB7IGFkZHJlc3MsIGtleWNoYWlucyB9ID0gcGFyYW1zO1xuXG4gICAgaWYgKCF0aGlzLmlzVmFsaWRBZGRyZXNzKGFkZHJlc3MpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZEFkZHJlc3NFcnJvcihgaW52YWxpZCBhZGRyZXNzOiAke2FkZHJlc3N9YCk7XG4gICAgfVxuXG4gICAgaWYgKCFrZXljaGFpbnMgfHwga2V5Y2hhaW5zLmxlbmd0aCAhPT0gMykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGtleWNoYWlucycpO1xuICAgIH1cblxuICAgIC8vIENhc3QgdG8gc3RyaW5nIHRvIGF2b2lkIHR5cGUtb3ZlcmxhcCBsaW50IHVudGlsIGFic3RyYWN0LXV0eG8gZGlzdCBpcyByZWJ1aWx0IHdpdGgga2FzcGEgbmFtZXMuXG4gICAgY29uc3QgbmV0d29ya1R5cGUgPSAodGhpcy5uYW1lIGFzIHN0cmluZykgPT09ICdrYXNwYScgPyAnbWFpbm5ldCcgOiAndGVzdG5ldCc7XG4gICAgY29uc3QgZGVyaXZlZEFkZHJlc3MgPSBuZXcgS2FzcGFMaWIuS2V5UGFpcih7IHB1Yjoga2V5Y2hhaW5zWzBdLnB1YiB9KS5nZXRBZGRyZXNzKG5ldHdvcmtUeXBlKTtcblxuICAgIGlmIChkZXJpdmVkQWRkcmVzcyAhPT0gYWRkcmVzcykge1xuICAgICAgdGhyb3cgbmV3IFVuZXhwZWN0ZWRBZGRyZXNzRXJyb3IoYGFkZHJlc3MgdmFsaWRhdGlvbiBmYWlsdXJlOiAke2FkZHJlc3N9IGlzIG5vdCBvZiB0aGlzIHdhbGxldGApO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRCdWlsZGVyKCk6IEthc3BhTGliLlRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnkge1xuICAgIHJldHVybiBuZXcgS2FzcGFMaWIuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeShjb2lucy5nZXQodGhpcy5nZXRDaGFpbigpKSk7XG4gIH1cblxuICAvKipcbiAgICogUGFyc2UgYSBLYXNwYSB0cmFuc2FjdGlvbiBmcm9tIHByZWJ1aWxkLlxuICAgKiBPdmVycmlkZXMgQWJzdHJhY3RVdHhvQ29pbidzIFBTQlQtYmFzZWQgaW1wbGVtZW50YXRpb24gd2l0aCBLYXNwYSdzIEpTT04taGV4IGZvcm1hdC5cbiAgICovXG4gIGFzeW5jIHBhcnNlVHJhbnNhY3Rpb248VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludCA9IG51bWJlcj4oXG4gICAgcGFyYW1zOiBQYXJzZVRyYW5zYWN0aW9uT3B0aW9uczxUTnVtYmVyPlxuICApOiBQcm9taXNlPHRyYW5zYWN0aW9uLlBhcnNlZFRyYW5zYWN0aW9uPFROdW1iZXI+PiB7XG4gICAgY29uc3QgYW55UGFyYW1zID0gcGFyYW1zIGFzIHVua25vd24gYXMgeyB0eEhleD86IHN0cmluZzsgaGFsZlNpZ25lZD86IHsgdHhIZXg/OiBzdHJpbmcgfSB9O1xuICAgIGNvbnN0IHR4SGV4ID0gYW55UGFyYW1zLnR4SGV4ID8/IGFueVBhcmFtcy5oYWxmU2lnbmVkPy50eEhleDtcbiAgICBpZiAoIXR4SGV4KSB7XG4gICAgICByZXR1cm4ge30gYXMgdHJhbnNhY3Rpb24uUGFyc2VkVHJhbnNhY3Rpb248VE51bWJlcj47XG4gICAgfVxuICAgIGxldCB0eDogS2FzcGFMaWIuVHJhbnNhY3Rpb247XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHR4QnVpbGRlciA9IHRoaXMuZ2V0QnVpbGRlcigpLmZyb20odHhIZXgpO1xuICAgICAgdHggPSAoYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCkpIGFzIEthc3BhTGliLlRyYW5zYWN0aW9uO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgSW52YWxpZCB0cmFuc2FjdGlvbjogJHsoZSBhcyBFcnJvcikubWVzc2FnZX1gKTtcbiAgICB9XG4gICAgY29uc3QgY29pbiA9IHRoaXMuZ2V0Q2hhaW4oKTtcbiAgICByZXR1cm4ge1xuICAgICAgaW5wdXRzOiB0eC50eERhdGEuaW5wdXRzLm1hcCgoaW5wdXQpID0+ICh7XG4gICAgICAgIGFtb3VudDogaW5wdXQuYW1vdW50LFxuICAgICAgICBjb2luLFxuICAgICAgfSkpLFxuICAgICAgb3V0cHV0czogdHgudHhEYXRhLm91dHB1dHMubWFwKChvdXRwdXQpID0+ICh7XG4gICAgICAgIGFkZHJlc3M6IG91dHB1dC5hZGRyZXNzLFxuICAgICAgICBhbW91bnQ6IG91dHB1dC5hbW91bnQsXG4gICAgICAgIGNvaW4sXG4gICAgICB9KSksXG4gICAgfSBhcyB1bmtub3duIGFzIHRyYW5zYWN0aW9uLlBhcnNlZFRyYW5zYWN0aW9uPFROdW1iZXI+O1xuICB9XG5cbiAgLyoqXG4gICAqIFZlcmlmeSBhIEthc3BhIHRyYW5zYWN0aW9uIGFnYWluc3QgZXhwZWN0ZWQgcGFyYW1zLlxuICAgKi9cbiAgYXN5bmMgdmVyaWZ5VHJhbnNhY3Rpb24ocGFyYW1zOiBLYXNwYVZlcmlmeVRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHR4SGV4ID0gcGFyYW1zLnR4UHJlYnVpbGQ/LnR4SGV4O1xuICAgIGlmICghdHhIZXgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyByZXF1aXJlZCB0eCBwcmVidWlsZCBwcm9wZXJ0eSB0eEhleCcpO1xuICAgIH1cblxuICAgIGxldCB0eDogS2FzcGFMaWIuVHJhbnNhY3Rpb247XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHR4QnVpbGRlciA9IHRoaXMuZ2V0QnVpbGRlcigpLmZyb20odHhIZXgpO1xuICAgICAgdHggPSAoYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCkpIGFzIEthc3BhTGliLlRyYW5zYWN0aW9uO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYEludmFsaWQgdHJhbnNhY3Rpb246ICR7KGVycm9yIGFzIEVycm9yKS5tZXNzYWdlfWApO1xuICAgIH1cblxuICAgIGNvbnN0IGV4cGxhaW5lZFR4ID0gdHguZXhwbGFpblRyYW5zYWN0aW9uKCk7XG5cbiAgICBpZiAocGFyYW1zLnR4UGFyYW1zLnJlY2lwaWVudHMpIHtcbiAgICAgIGNvbnN0IHJlY2lwaWVudENvdW50ID0gcGFyYW1zLnR4UGFyYW1zLnJlY2lwaWVudHMubGVuZ3RoO1xuICAgICAgaWYgKGV4cGxhaW5lZFR4Lm91dHB1dHMubGVuZ3RoIDwgcmVjaXBpZW50Q291bnQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBhdCBsZWFzdCAke3JlY2lwaWVudENvdW50fSBvdXRwdXRzLCB0cmFuc2FjdGlvbiBoYWQgJHtleHBsYWluZWRUeC5vdXRwdXRzLmxlbmd0aH1gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeHBsYWluIGEgS2FzcGEgdHJhbnNhY3Rpb24uXG4gICAqIE92ZXJyaWRlcyBBYnN0cmFjdFV0eG9Db2luJ3MgUFNCVC1iYXNlZCBpbXBsZW1lbnRhdGlvbiB3aXRoIEthc3BhJ3MgSlNPTi1oZXggZm9ybWF0LlxuICAgKiBUaGUgcmV0dXJuIHR5cGUgY2FzdCBpcyBuZWNlc3NhcnkgYmVjYXVzZSBLYXNwYSB1c2VzIGEgY3VzdG9tIFRyYW5zYWN0aW9uRXhwbGFuYXRpb25cbiAgICogdGhhdCBkb2Vzbid0IGluY2x1ZGUgQml0Y29pbi1zcGVjaWZpYyBmaWVsZHMgKGNoYWluLCBpbmRleCkgb24gb3V0cHV0cy5cbiAgICovXG4gIGFzeW5jIGV4cGxhaW5UcmFuc2FjdGlvbjxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50ID0gbnVtYmVyPihcbiAgICBwYXJhbXM6IEV4cGxhaW5UcmFuc2FjdGlvbk9wdGlvbnM8VE51bWJlcj4sXG4gICAgX3dhbGxldD86IElXYWxsZXRcbiAgKTogUHJvbWlzZTxBd2FpdGVkPFJldHVyblR5cGU8QWJzdHJhY3RVdHhvQ29pblsnZXhwbGFpblRyYW5zYWN0aW9uJ10+Pj4ge1xuICAgIGNvbnN0IGFueVBhcmFtcyA9IHBhcmFtcyBhcyB1bmtub3duIGFzIHsgdHhIZXg/OiBzdHJpbmc7IGhhbGZTaWduZWQ/OiB7IHR4SGV4Pzogc3RyaW5nIH0gfTtcbiAgICBjb25zdCB0eEhleCA9IGFueVBhcmFtcy50eEhleCA/PyBhbnlQYXJhbXMuaGFsZlNpZ25lZD8udHhIZXg7XG4gICAgaWYgKCF0eEhleCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHRyYW5zYWN0aW9uIGhleCcpO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgY29uc3QgdHhCdWlsZGVyID0gdGhpcy5nZXRCdWlsZGVyKCkuZnJvbSh0eEhleCk7XG4gICAgICBjb25zdCB0eCA9IChhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKSkgYXMgS2FzcGFMaWIuVHJhbnNhY3Rpb247XG4gICAgICByZXR1cm4gdHguZXhwbGFpblRyYW5zYWN0aW9uKCkgYXMgdW5rbm93biBhcyBBd2FpdGVkPFJldHVyblR5cGU8QWJzdHJhY3RVdHhvQ29pblsnZXhwbGFpblRyYW5zYWN0aW9uJ10+PjtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYEludmFsaWQgdHJhbnNhY3Rpb246ICR7KGUgYXMgRXJyb3IpLm1lc3NhZ2V9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNpZ24gYSBLYXNwYSB0cmFuc2FjdGlvbiB1c2luZyBzZWNwMjU2azEgU2Nobm9yciBzaWduYXR1cmVzLlxuICAgKlxuICAgKiBLYXNwYSBpcyBhIFVUWE8gY29pbjogZXZlcnkgaW5wdXQgaGFzIGl0cyBvd24gc2lnaGFzaC5cbiAgICogVHdvIHNpZ25pbmcgcGF0aHMgYXJlIHN1cHBvcnRlZDpcbiAgICpcbiAgICogUGF0aCBBIOKAlCBgcGFyYW1zLnBydmAgKGRpcmVjdCBrZXksIHRlc3QgLyBub24tVFNTKTpcbiAgICogICBDYWxscyBgdHguc2lnbihwcnYpYCB3aGljaCBsb29wcyBldmVyeSBpbnB1dCBhbmQgcHJvZHVjZXMgYSBTY2hub3JyXG4gICAqICAgc2lnbmF0dXJlIGZvciBlYWNoIG9uZSBpbiBhIHNpbmdsZSBjYWxsLlxuICAgKlxuICAgKiBQYXRoIEIg4oCUIGBwYXJhbXMuc2lnbmF0dXJlc2AgKFRTUyBtdWx0aS1pbnB1dCk6XG4gICAqICAgVGhlIGNhbGxlciBhbHJlYWR5IHJhbiBvbmUgaW5kZXBlbmRlbnQgREtMUyBzZXNzaW9uIHBlciBpbnB1dCwgdXNpbmdcbiAgICogICBgdHguc2lnbmFibGVQYXlsb2Fkc1tpXWAgYXMgdGhlIG1lc3NhZ2UgZm9yIHNlc3Npb24gaS4gIEVhY2ggcmVzdWx0aW5nXG4gICAqICAgc2lnbmF0dXJlIGlzIGFwcGxpZWQgdG8gaXRzIGlucHV0IHZpYSBgYWRkU2lnbmF0dXJlRm9ySW5wdXRgLlxuICAgKlxuICAgKiAgIFBsYXRmb3JtIGZsb3c6XG4gICAqICAgICAxLiBCdWlsZCB0eCwgcmVhZCBgKHR4IGFzIFRyYW5zYWN0aW9uKS5zaWduYWJsZVBheWxvYWRzYCDihpIgQnVmZmVyW05dXG4gICAqICAgICAyLiBSdW4gTiBES0xTIHNlc3Npb25zIGluIHBhcmFsbGVsLCBvbmUgcGVyIHNpZ2hhc2hcbiAgICogICAgIDMuIENhbGwgc2lnblRyYW5zYWN0aW9uKHsgc2lnbmF0dXJlczogW3sgaW5wdXRJbmRleCwgcHViS2V5LCBzaWduYXR1cmUgfSwgLi4uXSB9KVxuICAgKi9cbiAgYXN5bmMgc2lnblRyYW5zYWN0aW9uPFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQgPSBudW1iZXI+KFxuICAgIHBhcmFtczogU2lnblRyYW5zYWN0aW9uT3B0aW9uczxUTnVtYmVyPlxuICApOiBQcm9taXNlPFNpZ25lZFRyYW5zYWN0aW9uPiB7XG4gICAgY29uc3Qga2FzcGFQYXJhbXMgPSBwYXJhbXMgYXMgdW5rbm93biBhcyBLYXNwYVNpZ25UcmFuc2FjdGlvbk9wdGlvbnM7XG4gICAgY29uc3QgdHhIZXggPSBrYXNwYVBhcmFtcy50eFByZWJ1aWxkPy50eEhleDtcbiAgICBpZiAoIXR4SGV4KSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ21pc3NpbmcgdHhIZXggaW4gdHhQcmVidWlsZCcpO1xuICAgIH1cblxuICAgIGNvbnN0IHR4QnVpbGRlciA9IHRoaXMuZ2V0QnVpbGRlcigpLmZyb20odHhIZXgpO1xuICAgIGNvbnN0IHR4ID0gKGF3YWl0IHR4QnVpbGRlci5idWlsZCgpKSBhcyBLYXNwYUxpYi5UcmFuc2FjdGlvbjtcblxuICAgIGlmIChrYXNwYVBhcmFtcy5wcnYpIHtcbiAgICAgIC8vIFBhdGggQTogZGlyZWN0IHByaXZhdGUta2V5IHNpZ25pbmcg4oCUIGNvcnJlY3QgZm9yIGFsbCBpbnB1dHMgYXQgb25jZS5cbiAgICAgIGNvbnN0IHByaXZLZXlCdWZmZXIgPSBCdWZmZXIuZnJvbShrYXNwYVBhcmFtcy5wcnYuc2xpY2UoMCwgNjQpLCAnaGV4Jyk7XG4gICAgICB0eC5zaWduKHByaXZLZXlCdWZmZXIpO1xuICAgIH0gZWxzZSBpZiAoa2FzcGFQYXJhbXMuc2lnbmF0dXJlcyAmJiBrYXNwYVBhcmFtcy5zaWduYXR1cmVzLmxlbmd0aCA+IDApIHtcbiAgICAgIC8vIFBhdGggQjogVFNTIG11bHRpLWlucHV0IOKAlCBhcHBseSBlYWNoIGV4dGVybmFsbHktY29tcHV0ZWQgcGVyLWlucHV0IHNpZ25hdHVyZS5cbiAgICAgIC8vIEVhY2ggc2lnbmF0dXJlIE1VU1QgaGF2ZSBiZWVuIHByb2R1Y2VkIG92ZXIgc2lnbmFibGVQYXlsb2Fkc1tpbnB1dEluZGV4XSxcbiAgICAgIC8vIGkuZS4gdGhlIHNpZ2hhc2ggdGhhdCBjb21taXRzIHNwZWNpZmljYWxseSB0byB0aGF0IGlucHV0J3MgaW5kZXguXG4gICAgICAvLyBBcHBseWluZyBhIHNpZ25hdHVyZSBwcm9kdWNlZCBvdmVyIGEgZGlmZmVyZW50IG1lc3NhZ2Ugd2lsbCBiZSByZWplY3RlZFxuICAgICAgLy8gYnkgdGhlIEthc3BhIG5vZGUncyBzY3JpcHQgZW5naW5lLlxuICAgICAgZm9yIChjb25zdCB7IGlucHV0SW5kZXgsIHB1YktleSwgc2lnbmF0dXJlIH0gb2Yga2FzcGFQYXJhbXMuc2lnbmF0dXJlcykge1xuICAgICAgICB0eC5hZGRTaWduYXR1cmVGb3JJbnB1dChpbnB1dEluZGV4LCBwdWJLZXksIEJ1ZmZlci5mcm9tKHNpZ25hdHVyZSwgJ2hleCcpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBpbnB1dENvdW50ID0gdHgudHhEYXRhLmlucHV0cy5sZW5ndGg7XG4gICAgY29uc3Qgc2lnQ291bnQgPSB0eC5zaWduYXR1cmUuZmlsdGVyKChzKSA9PiBzLmxlbmd0aCA+IDApLmxlbmd0aDtcbiAgICBjb25zdCBzaWduZWRIZXggPSB0eC50b0hleCgpO1xuXG4gICAgcmV0dXJuIGlucHV0Q291bnQgPiAwICYmIHNpZ0NvdW50ID49IGlucHV0Q291bnQgPyB7IHR4SGV4OiBzaWduZWRIZXggfSA6IHsgaGFsZlNpZ25lZDogeyB0eEhleDogc2lnbmVkSGV4IH0gfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBLYXNwYSdzIHR4SGV4IGlzIGFscmVhZHkgdGhlIGN1c3RvbSBKU09OLWhleCBmb3JtYXQg4oCUIHNraXAgdGhlIFBTQlRcbiAgICogcmUtZW5jb2RlIHRoYXQgQWJzdHJhY3RVdHhvQ29pbi5wb3N0UHJvY2Vzc1ByZWJ1aWxkIHdvdWxkIG90aGVyd2lzZSBhcHBseS5cbiAgICovXG4gIGFzeW5jIHBvc3RQcm9jZXNzUHJlYnVpbGQ8VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludD4oXG4gICAgcHJlYnVpbGQ6IFRyYW5zYWN0aW9uUHJlYnVpbGQ8VE51bWJlcj5cbiAgKTogUHJvbWlzZTxUcmFuc2FjdGlvblByZWJ1aWxkPFROdW1iZXI+PiB7XG4gICAgcmV0dXJuIHByZWJ1aWxkO1xuICB9XG5cbiAgYXN5bmMgc2lnbk1lc3NhZ2UoX2tleTogSUtleVBhaXIsIF9tZXNzYWdlOiBzdHJpbmcgfCBCdWZmZXIpOiBQcm9taXNlPEJ1ZmZlcj4ge1xuICAgIHRocm93IG5ldyBNZXRob2ROb3RJbXBsZW1lbnRlZEVycm9yKCk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgYXVkaXREZWNyeXB0ZWRLZXkoX3BhcmFtczogQXVkaXREZWNyeXB0ZWRLZXlQYXJhbXMpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgTWV0aG9kTm90SW1wbGVtZW50ZWRFcnJvcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRTUy9NUEMgc3VwcG9ydDogS2FzcGEgdXNlcyBzZWNwMjU2azEgKFNjaG5vcnIgdmFyaWFudCBmb3Igb24tY2hhaW4sXG4gICAqIEVDRFNBIGZvciB0aGUgb2ZmLWNoYWluIFRTUyBjZXJlbW9ueSkuXG4gICAqXG4gICAqIEthc3BhIGlzIGEgVVRYTyBjb2luIHdpdGggYSBCSVAtMTQzLWxpa2UgcGVyLWlucHV0IHNpZ2hhc2ggc2NoZW1lLlxuICAgKiBFYWNoIGlucHV0IGNvbW1pdHMgdG8gaXRzIG93biBpbmRleCBhbmQgcHJvZHVjZXMgYSBkaXN0aW5jdCBoYXNoLlxuICAgKiBPbmUgaW5kZXBlbmRlbnQgREtMUyBzaWduaW5nIHNlc3Npb24gaXMgcmVxdWlyZWQgcGVyIGlucHV0LlxuICAgKlxuICAgKiBDb3JyZWN0IG11bHRpLWlucHV0IFRTUyBmbG93OlxuICAgKiAgIDEuIFJlYWQgYHR4LnNpZ25hYmxlUGF5bG9hZHNgIOKGkiBCdWZmZXJbXSAob25lIHNpZ2hhc2ggcGVyIGlucHV0KS5cbiAgICogICAyLiBSdW4gb25lIERLTFMgc2lnbmluZyBzZXNzaW9uIHBlciBzaWdoYXNoIElOIFBBUkFMTEVMLlxuICAgKiAgIDMuIEFwcGx5IGVhY2ggc2lnbmF0dXJlOiBgdHguYWRkU2lnbmF0dXJlRm9ySW5wdXQoaSwgcHViS2V5LCBzaWcpYC5cbiAgICovXG4gIHN1cHBvcnRzVHNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgZ2V0TVBDQWxnb3JpdGhtKCk6IE1QQ0FsZ29yaXRobSB7XG4gICAgcmV0dXJuICdlY2RzYSc7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEthc3BhIGV4dGVuZHMgQWJzdHJhY3RLYXNwYUxpa2VDb2luIHtcbiAgcmVhZG9ubHkgbmFtZSA9ICdrYXNwYScgYXMgVXR4b0NvaW5OYW1lO1xuXG4gIGdldEZ1bGxOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdLYXNwYSc7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNNYWlubmV0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZUluc3RhbmNlKGJpdGdvOiBCaXRHb0Jhc2UpOiBLYXNwYSB7XG4gICAgcmV0dXJuIG5ldyBLYXNwYShiaXRnbyk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRrYXNwYSBleHRlbmRzIEFic3RyYWN0S2FzcGFMaWtlQ29pbiB7XG4gIHJlYWRvbmx5IG5hbWUgPSAndGthc3BhJyBhcyBVdHhvQ29pbk5hbWU7XG5cbiAgZ2V0RnVsbE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ1Rlc3RuZXQgS2FzcGEnO1xuICB9XG5cbiAgcHJvdGVjdGVkIGlzTWFpbm5ldCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlSW5zdGFuY2UoYml0Z286IEJpdEdvQmFzZSk6IFRrYXNwYSB7XG4gICAgcmV0dXJuIG5ldyBUa2FzcGEoYml0Z28pO1xuICB9XG59XG4iXX0=
|
|
@@ -4,9 +4,47 @@
|
|
|
4
4
|
* References:
|
|
5
5
|
* - https://kaspa.org/
|
|
6
6
|
* - https://kaspa.aspectron.org/docs/
|
|
7
|
+
* - rusty-kaspa/crypto/txscript/src/standard.rs
|
|
8
|
+
* - rusty-kaspa/crypto/hashes/src/hashers.rs
|
|
9
|
+
* - rusty-kaspa/consensus/core/src/hashing/sighash.rs
|
|
7
10
|
*/
|
|
8
11
|
export declare const MAINNET_PREFIX = "kaspa";
|
|
9
12
|
export declare const TESTNET_PREFIX = "kaspatest";
|
|
13
|
+
/** Default transaction fee (minimum relay fee in sompi) */
|
|
10
14
|
export declare const DEFAULT_FEE = "1000";
|
|
15
|
+
/** Kaspa transaction version */
|
|
11
16
|
export declare const TX_VERSION = 0;
|
|
17
|
+
export declare const SIGHASH_ALL = 1;
|
|
18
|
+
export declare const SIGHASH_NONE = 2;
|
|
19
|
+
export declare const SIGHASH_SINGLE = 4;
|
|
20
|
+
export declare const SIGHASH_ANYONECANPAY = 128;
|
|
21
|
+
/** Schnorr BIP-340 checksig opcode — used by v0 Kaspa addresses */
|
|
22
|
+
export declare const OP_CHECKSIG_SCHNORR = 172;
|
|
23
|
+
/** secp256k1 ECDSA checksig opcode — used by v1 Kaspa addresses */
|
|
24
|
+
export declare const OP_CHECKSIG_ECDSA = 171;
|
|
25
|
+
/** Script version for standard P2PK scripts */
|
|
26
|
+
export declare const SCRIPT_PUBLIC_KEY_VERSION = 0;
|
|
27
|
+
/**
|
|
28
|
+
* Kaspa P2PK script type.
|
|
29
|
+
* Determines the scriptPublicKey layout and the required signing algorithm.
|
|
30
|
+
*
|
|
31
|
+
* SCHNORR (v0): OP_DATA_32 (0x20) | xOnlyPubKey32 | OP_CHECKSIG_SCHNORR (0xAC)
|
|
32
|
+
* ECDSA (v1): OP_DATA_33 (0x21) | compressedPubKey33 | OP_CHECKSIG_ECDSA (0xAB)
|
|
33
|
+
*/
|
|
34
|
+
export declare enum KaspaScriptType {
|
|
35
|
+
SCHNORR = 0,// v0 — Schnorr P2PK, x-only 32-byte pubkey
|
|
36
|
+
ECDSA = 1
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Kaspa address version / type.
|
|
40
|
+
* Mirrors KaspaScriptType — the version byte in the bech32 address payload
|
|
41
|
+
* encodes which script type (and therefore which signature algorithm) applies.
|
|
42
|
+
*
|
|
43
|
+
* SCHNORR (v0): version byte 0x00, x-only 32-byte pubkey in address payload
|
|
44
|
+
* ECDSA (v1): version byte 0x01, compressed 33-byte pubkey in address payload
|
|
45
|
+
*/
|
|
46
|
+
export declare enum KaspaAddressType {
|
|
47
|
+
SCHNORR = 0,// default — v0 Schnorr P2PK address
|
|
48
|
+
ECDSA = 1
|
|
49
|
+
}
|
|
12
50
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,eAAO,MAAM,cAAc,UAAU,CAAC;AACtC,eAAO,MAAM,cAAc,cAAc,CAAC;AAI1C,2DAA2D;AAC3D,eAAO,MAAM,WAAW,SAAS,CAAC;AAElC,gCAAgC;AAChC,eAAO,MAAM,UAAU,IAAI,CAAC;AAM5B,eAAO,MAAM,WAAW,IAAO,CAAC;AAChC,eAAO,MAAM,YAAY,IAAO,CAAC;AACjC,eAAO,MAAM,cAAc,IAAO,CAAC;AACnC,eAAO,MAAM,oBAAoB,MAAO,CAAC;AAWzC,mEAAmE;AACnE,eAAO,MAAM,mBAAmB,MAAO,CAAC;AAExC,mEAAmE;AACnE,eAAO,MAAM,iBAAiB,MAAO,CAAC;AAEtC,+CAA+C;AAC/C,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAI3C;;;;;;GAMG;AACH,oBAAY,eAAe;IACzB,OAAO,IAAI,CAAE,2CAA2C;IACxD,KAAK,IAAI;CACV;AAED;;;;;;;GAOG;AACH,oBAAY,gBAAgB;IAC1B,OAAO,IAAI,CAAE,oCAAoC;IACjD,KAAK,IAAI;CACV"}
|
|
@@ -5,14 +5,65 @@
|
|
|
5
5
|
* References:
|
|
6
6
|
* - https://kaspa.org/
|
|
7
7
|
* - https://kaspa.aspectron.org/docs/
|
|
8
|
+
* - rusty-kaspa/crypto/txscript/src/standard.rs
|
|
9
|
+
* - rusty-kaspa/crypto/hashes/src/hashers.rs
|
|
10
|
+
* - rusty-kaspa/consensus/core/src/hashing/sighash.rs
|
|
8
11
|
*/
|
|
9
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.TX_VERSION = exports.DEFAULT_FEE = exports.TESTNET_PREFIX = exports.MAINNET_PREFIX = void 0;
|
|
11
|
-
//
|
|
13
|
+
exports.KaspaAddressType = exports.KaspaScriptType = exports.SCRIPT_PUBLIC_KEY_VERSION = exports.OP_CHECKSIG_ECDSA = exports.OP_CHECKSIG_SCHNORR = exports.SIGHASH_ANYONECANPAY = exports.SIGHASH_SINGLE = exports.SIGHASH_NONE = exports.SIGHASH_ALL = exports.TX_VERSION = exports.DEFAULT_FEE = exports.TESTNET_PREFIX = exports.MAINNET_PREFIX = void 0;
|
|
14
|
+
// ── Network ───────────────────────────────────────────────────────────────────
|
|
12
15
|
exports.MAINNET_PREFIX = 'kaspa';
|
|
13
16
|
exports.TESTNET_PREFIX = 'kaspatest';
|
|
14
|
-
//
|
|
17
|
+
// ── Transaction ───────────────────────────────────────────────────────────────
|
|
18
|
+
/** Default transaction fee (minimum relay fee in sompi) */
|
|
15
19
|
exports.DEFAULT_FEE = '1000'; // 0.00001 KASPA minimum
|
|
16
|
-
|
|
20
|
+
/** Kaspa transaction version */
|
|
17
21
|
exports.TX_VERSION = 0;
|
|
18
|
-
|
|
22
|
+
// ── SigHash type flags ────────────────────────────────────────────────────────
|
|
23
|
+
//
|
|
24
|
+
// Defined in rusty-kaspa consensus/core/src/hashing/sighash_type.rs
|
|
25
|
+
exports.SIGHASH_ALL = 0x01;
|
|
26
|
+
exports.SIGHASH_NONE = 0x02;
|
|
27
|
+
exports.SIGHASH_SINGLE = 0x04;
|
|
28
|
+
exports.SIGHASH_ANYONECANPAY = 0x80;
|
|
29
|
+
// ── Script opcodes ────────────────────────────────────────────────────────────
|
|
30
|
+
//
|
|
31
|
+
// Verified against:
|
|
32
|
+
// https://kaspa.aspectron.org/docs/enums/Opcodes.html
|
|
33
|
+
// rusty-kaspa/crypto/txscript/src/standard.rs
|
|
34
|
+
//
|
|
35
|
+
// OpCheckSig = 172 = 0xAC → Schnorr P2PK (v0 address)
|
|
36
|
+
// OpCheckSigECDSA = 171 = 0xAB → ECDSA P2PK (v1 address)
|
|
37
|
+
/** Schnorr BIP-340 checksig opcode — used by v0 Kaspa addresses */
|
|
38
|
+
exports.OP_CHECKSIG_SCHNORR = 0xac;
|
|
39
|
+
/** secp256k1 ECDSA checksig opcode — used by v1 Kaspa addresses */
|
|
40
|
+
exports.OP_CHECKSIG_ECDSA = 0xab;
|
|
41
|
+
/** Script version for standard P2PK scripts */
|
|
42
|
+
exports.SCRIPT_PUBLIC_KEY_VERSION = 0;
|
|
43
|
+
// ── Enums ─────────────────────────────────────────────────────────────────────
|
|
44
|
+
/**
|
|
45
|
+
* Kaspa P2PK script type.
|
|
46
|
+
* Determines the scriptPublicKey layout and the required signing algorithm.
|
|
47
|
+
*
|
|
48
|
+
* SCHNORR (v0): OP_DATA_32 (0x20) | xOnlyPubKey32 | OP_CHECKSIG_SCHNORR (0xAC)
|
|
49
|
+
* ECDSA (v1): OP_DATA_33 (0x21) | compressedPubKey33 | OP_CHECKSIG_ECDSA (0xAB)
|
|
50
|
+
*/
|
|
51
|
+
var KaspaScriptType;
|
|
52
|
+
(function (KaspaScriptType) {
|
|
53
|
+
KaspaScriptType[KaspaScriptType["SCHNORR"] = 0] = "SCHNORR";
|
|
54
|
+
KaspaScriptType[KaspaScriptType["ECDSA"] = 1] = "ECDSA";
|
|
55
|
+
})(KaspaScriptType || (exports.KaspaScriptType = KaspaScriptType = {}));
|
|
56
|
+
/**
|
|
57
|
+
* Kaspa address version / type.
|
|
58
|
+
* Mirrors KaspaScriptType — the version byte in the bech32 address payload
|
|
59
|
+
* encodes which script type (and therefore which signature algorithm) applies.
|
|
60
|
+
*
|
|
61
|
+
* SCHNORR (v0): version byte 0x00, x-only 32-byte pubkey in address payload
|
|
62
|
+
* ECDSA (v1): version byte 0x01, compressed 33-byte pubkey in address payload
|
|
63
|
+
*/
|
|
64
|
+
var KaspaAddressType;
|
|
65
|
+
(function (KaspaAddressType) {
|
|
66
|
+
KaspaAddressType[KaspaAddressType["SCHNORR"] = 0] = "SCHNORR";
|
|
67
|
+
KaspaAddressType[KaspaAddressType["ECDSA"] = 1] = "ECDSA";
|
|
68
|
+
})(KaspaAddressType || (exports.KaspaAddressType = KaspaAddressType = {}));
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7R0FTRzs7O0FBRUgsaUZBQWlGO0FBRXBFLFFBQUEsY0FBYyxHQUFHLE9BQU8sQ0FBQztBQUN6QixRQUFBLGNBQWMsR0FBRyxXQUFXLENBQUM7QUFFMUMsaUZBQWlGO0FBRWpGLDJEQUEyRDtBQUM5QyxRQUFBLFdBQVcsR0FBRyxNQUFNLENBQUMsQ0FBQyx3QkFBd0I7QUFFM0QsZ0NBQWdDO0FBQ25CLFFBQUEsVUFBVSxHQUFHLENBQUMsQ0FBQztBQUU1QixpRkFBaUY7QUFDakYsRUFBRTtBQUNGLG9FQUFvRTtBQUV2RCxRQUFBLFdBQVcsR0FBRyxJQUFJLENBQUM7QUFDbkIsUUFBQSxZQUFZLEdBQUcsSUFBSSxDQUFDO0FBQ3BCLFFBQUEsY0FBYyxHQUFHLElBQUksQ0FBQztBQUN0QixRQUFBLG9CQUFvQixHQUFHLElBQUksQ0FBQztBQUV6QyxpRkFBaUY7QUFDakYsRUFBRTtBQUNGLG9CQUFvQjtBQUNwQix3REFBd0Q7QUFDeEQsZ0RBQWdEO0FBQ2hELEVBQUU7QUFDRiw0REFBNEQ7QUFDNUQsMkRBQTJEO0FBRTNELG1FQUFtRTtBQUN0RCxRQUFBLG1CQUFtQixHQUFHLElBQUksQ0FBQztBQUV4QyxtRUFBbUU7QUFDdEQsUUFBQSxpQkFBaUIsR0FBRyxJQUFJLENBQUM7QUFFdEMsK0NBQStDO0FBQ2xDLFFBQUEseUJBQXlCLEdBQUcsQ0FBQyxDQUFDO0FBRTNDLGlGQUFpRjtBQUVqRjs7Ozs7O0dBTUc7QUFDSCxJQUFZLGVBR1g7QUFIRCxXQUFZLGVBQWU7SUFDekIsMkRBQVcsQ0FBQTtJQUNYLHVEQUFTLENBQUE7QUFDWCxDQUFDLEVBSFcsZUFBZSwrQkFBZixlQUFlLFFBRzFCO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILElBQVksZ0JBR1g7QUFIRCxXQUFZLGdCQUFnQjtJQUMxQiw2REFBVyxDQUFBO0lBQ1gseURBQVMsQ0FBQTtBQUNYLENBQUMsRUFIVyxnQkFBZ0IsZ0NBQWhCLGdCQUFnQixRQUczQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogS2FzcGEgKEtBU1BBKSBDb25zdGFudHNcbiAqXG4gKiBSZWZlcmVuY2VzOlxuICogLSBodHRwczovL2thc3BhLm9yZy9cbiAqIC0gaHR0cHM6Ly9rYXNwYS5hc3BlY3Ryb24ub3JnL2RvY3MvXG4gKiAtIHJ1c3R5LWthc3BhL2NyeXB0by90eHNjcmlwdC9zcmMvc3RhbmRhcmQucnNcbiAqIC0gcnVzdHkta2FzcGEvY3J5cHRvL2hhc2hlcy9zcmMvaGFzaGVycy5yc1xuICogLSBydXN0eS1rYXNwYS9jb25zZW5zdXMvY29yZS9zcmMvaGFzaGluZy9zaWdoYXNoLnJzXG4gKi9cblxuLy8g4pSA4pSAIE5ldHdvcmsg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbmV4cG9ydCBjb25zdCBNQUlOTkVUX1BSRUZJWCA9ICdrYXNwYSc7XG5leHBvcnQgY29uc3QgVEVTVE5FVF9QUkVGSVggPSAna2FzcGF0ZXN0JztcblxuLy8g4pSA4pSAIFRyYW5zYWN0aW9uIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4vKiogRGVmYXVsdCB0cmFuc2FjdGlvbiBmZWUgKG1pbmltdW0gcmVsYXkgZmVlIGluIHNvbXBpKSAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfRkVFID0gJzEwMDAnOyAvLyAwLjAwMDAxIEtBU1BBIG1pbmltdW1cblxuLyoqIEthc3BhIHRyYW5zYWN0aW9uIHZlcnNpb24gKi9cbmV4cG9ydCBjb25zdCBUWF9WRVJTSU9OID0gMDtcblxuLy8g4pSA4pSAIFNpZ0hhc2ggdHlwZSBmbGFncyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vXG4vLyBEZWZpbmVkIGluIHJ1c3R5LWthc3BhIGNvbnNlbnN1cy9jb3JlL3NyYy9oYXNoaW5nL3NpZ2hhc2hfdHlwZS5yc1xuXG5leHBvcnQgY29uc3QgU0lHSEFTSF9BTEwgPSAweDAxO1xuZXhwb3J0IGNvbnN0IFNJR0hBU0hfTk9ORSA9IDB4MDI7XG5leHBvcnQgY29uc3QgU0lHSEFTSF9TSU5HTEUgPSAweDA0O1xuZXhwb3J0IGNvbnN0IFNJR0hBU0hfQU5ZT05FQ0FOUEFZID0gMHg4MDtcblxuLy8g4pSA4pSAIFNjcmlwdCBvcGNvZGVzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy9cbi8vIFZlcmlmaWVkIGFnYWluc3Q6XG4vLyAgIGh0dHBzOi8va2FzcGEuYXNwZWN0cm9uLm9yZy9kb2NzL2VudW1zL09wY29kZXMuaHRtbFxuLy8gICBydXN0eS1rYXNwYS9jcnlwdG8vdHhzY3JpcHQvc3JjL3N0YW5kYXJkLnJzXG4vL1xuLy8gT3BDaGVja1NpZyAgICAgID0gMTcyID0gMHhBQyAg4oaSIFNjaG5vcnIgUDJQSyAodjAgYWRkcmVzcylcbi8vIE9wQ2hlY2tTaWdFQ0RTQSA9IDE3MSA9IDB4QUIgIOKGkiBFQ0RTQSBQMlBLICAodjEgYWRkcmVzcylcblxuLyoqIFNjaG5vcnIgQklQLTM0MCBjaGVja3NpZyBvcGNvZGUg4oCUIHVzZWQgYnkgdjAgS2FzcGEgYWRkcmVzc2VzICovXG5leHBvcnQgY29uc3QgT1BfQ0hFQ0tTSUdfU0NITk9SUiA9IDB4YWM7XG5cbi8qKiBzZWNwMjU2azEgRUNEU0EgY2hlY2tzaWcgb3Bjb2RlIOKAlCB1c2VkIGJ5IHYxIEthc3BhIGFkZHJlc3NlcyAqL1xuZXhwb3J0IGNvbnN0IE9QX0NIRUNLU0lHX0VDRFNBID0gMHhhYjtcblxuLyoqIFNjcmlwdCB2ZXJzaW9uIGZvciBzdGFuZGFyZCBQMlBLIHNjcmlwdHMgKi9cbmV4cG9ydCBjb25zdCBTQ1JJUFRfUFVCTElDX0tFWV9WRVJTSU9OID0gMDtcblxuLy8g4pSA4pSAIEVudW1zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4vKipcbiAqIEthc3BhIFAyUEsgc2NyaXB0IHR5cGUuXG4gKiBEZXRlcm1pbmVzIHRoZSBzY3JpcHRQdWJsaWNLZXkgbGF5b3V0IGFuZCB0aGUgcmVxdWlyZWQgc2lnbmluZyBhbGdvcml0aG0uXG4gKlxuICogU0NITk9SUiAodjApOiBPUF9EQVRBXzMyICgweDIwKSB8IHhPbmx5UHViS2V5MzIgfCBPUF9DSEVDS1NJR19TQ0hOT1JSICgweEFDKVxuICogRUNEU0EgICAodjEpOiBPUF9EQVRBXzMzICgweDIxKSB8IGNvbXByZXNzZWRQdWJLZXkzMyB8IE9QX0NIRUNLU0lHX0VDRFNBICgweEFCKVxuICovXG5leHBvcnQgZW51bSBLYXNwYVNjcmlwdFR5cGUge1xuICBTQ0hOT1JSID0gMCwgLy8gdjAg4oCUIFNjaG5vcnIgUDJQSywgeC1vbmx5IDMyLWJ5dGUgcHVia2V5XG4gIEVDRFNBID0gMSwgLy8gdjEg4oCUIEVDRFNBIFAyUEssIGNvbXByZXNzZWQgMzMtYnl0ZSBwdWJrZXlcbn1cblxuLyoqXG4gKiBLYXNwYSBhZGRyZXNzIHZlcnNpb24gLyB0eXBlLlxuICogTWlycm9ycyBLYXNwYVNjcmlwdFR5cGUg4oCUIHRoZSB2ZXJzaW9uIGJ5dGUgaW4gdGhlIGJlY2gzMiBhZGRyZXNzIHBheWxvYWRcbiAqIGVuY29kZXMgd2hpY2ggc2NyaXB0IHR5cGUgKGFuZCB0aGVyZWZvcmUgd2hpY2ggc2lnbmF0dXJlIGFsZ29yaXRobSkgYXBwbGllcy5cbiAqXG4gKiBTQ0hOT1JSICh2MCk6IHZlcnNpb24gYnl0ZSAweDAwLCB4LW9ubHkgMzItYnl0ZSBwdWJrZXkgaW4gYWRkcmVzcyBwYXlsb2FkXG4gKiBFQ0RTQSAgICh2MSk6IHZlcnNpb24gYnl0ZSAweDAxLCBjb21wcmVzc2VkIDMzLWJ5dGUgcHVia2V5IGluIGFkZHJlc3MgcGF5bG9hZFxuICovXG5leHBvcnQgZW51bSBLYXNwYUFkZHJlc3NUeXBlIHtcbiAgU0NITk9SUiA9IDAsIC8vIGRlZmF1bHQg4oCUIHYwIFNjaG5vcnIgUDJQSyBhZGRyZXNzXG4gIEVDRFNBID0gMSwgLy8gdjEgRUNEU0EgUDJQSyBhZGRyZXNzXG59XG4iXX0=
|
package/dist/src/lib/iface.d.ts
CHANGED
|
@@ -72,11 +72,37 @@ export interface KaspaTxInfo {
|
|
|
72
72
|
utxos?: KaspaUtxoInput[];
|
|
73
73
|
}
|
|
74
74
|
/**
|
|
75
|
-
*
|
|
75
|
+
* A single per-input Schnorr signature produced by an external TSS session.
|
|
76
|
+
* Each entry corresponds to one entry in `tx.signablePayloads`.
|
|
77
|
+
*/
|
|
78
|
+
export interface KaspaInputSignature {
|
|
79
|
+
/** 0-based index of the input this signature covers */
|
|
80
|
+
inputIndex: number;
|
|
81
|
+
/** Hex-encoded compressed secp256k1 public key (33 bytes) */
|
|
82
|
+
pubKey: string;
|
|
83
|
+
/** Hex-encoded 64-byte raw Schnorr signature */
|
|
84
|
+
signature: string;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Kaspa sign transaction options.
|
|
88
|
+
*
|
|
89
|
+
* Two mutually exclusive signing modes:
|
|
90
|
+
*
|
|
91
|
+
* 1. `prv` — direct private-key signing (test / non-TSS).
|
|
92
|
+
* `tx.sign(prv)` is called, which loops all inputs.
|
|
93
|
+
*
|
|
94
|
+
* 2. `signatures` — TSS multi-input mode.
|
|
95
|
+
* The caller ran one independent DKLS session per input
|
|
96
|
+
* (over `tx.signablePayloads[i]`) and collected the
|
|
97
|
+
* resulting Schnorr signatures. Each signature is applied
|
|
98
|
+
* via `tx.addSignatureForInput(inputIndex, pubKey, sig)`.
|
|
76
99
|
*/
|
|
77
100
|
export interface KaspaSignTransactionOptions extends SignTransactionOptions {
|
|
78
101
|
txPrebuild: TransactionPrebuild;
|
|
79
|
-
|
|
102
|
+
/** Direct private key — signs every input in one call */
|
|
103
|
+
prv?: string;
|
|
104
|
+
/** Per-input TSS signatures — one entry per input that was signed */
|
|
105
|
+
signatures?: KaspaInputSignature[];
|
|
80
106
|
}
|
|
81
107
|
/**
|
|
82
108
|
* Kaspa transaction params
|
|
@@ -85,25 +111,10 @@ export interface KaspaTransactionParams extends TransactionParams {
|
|
|
85
111
|
type?: string;
|
|
86
112
|
unspents?: KaspaUtxoInput[];
|
|
87
113
|
}
|
|
88
|
-
/**
|
|
89
|
-
* Kaspa explain transaction options
|
|
90
|
-
*/
|
|
91
|
-
export interface KaspaExplainTransactionOptions {
|
|
92
|
-
txHex?: string;
|
|
93
|
-
halfSigned?: {
|
|
94
|
-
txHex: string;
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
114
|
/**
|
|
98
115
|
* Kaspa verify transaction options
|
|
99
116
|
*/
|
|
100
117
|
export interface KaspaVerifyTransactionOptions extends VerifyTransactionOptions {
|
|
101
118
|
txParams: KaspaTransactionParams;
|
|
102
119
|
}
|
|
103
|
-
/**
|
|
104
|
-
* Kaspa transaction fee info
|
|
105
|
-
*/
|
|
106
|
-
export interface KaspaTransactionFee {
|
|
107
|
-
fee: string;
|
|
108
|
-
}
|
|
109
120
|
//# sourceMappingURL=iface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,IAAI,0BAA0B,EACpD,mBAAmB,IAAI,uBAAuB,EAC9C,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,2CAA2C;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,gBAAgB,EAAE,MAAM,CAAC;IACzB,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2FAA2F;IAC3F,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,wBAAwB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,0BAA0B;IAC1B,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAClC,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,0BAA0B;IACxE,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,uBAAuB;IAClE,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,oBAAoB,EAAE,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED
|
|
1
|
+
{"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,IAAI,0BAA0B,EACpD,mBAAmB,IAAI,uBAAuB,EAC9C,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,2CAA2C;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,gBAAgB,EAAE,MAAM,CAAC;IACzB,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2FAA2F;IAC3F,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,wBAAwB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,0BAA0B;IAC1B,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAClC,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,0BAA0B;IACxE,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,uBAAuB;IAClE,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,oBAAoB,EAAE,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,2BAA4B,SAAQ,sBAAsB;IACzE,UAAU,EAAE,mBAAmB,CAAC;IAChC,yDAAyD;IACzD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;IAC/D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,6BAA8B,SAAQ,wBAAwB;IAC7E,QAAQ,EAAE,sBAAsB,CAAC;CAClC"}
|
package/dist/src/lib/iface.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGFzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLFxuICBUcmFuc2FjdGlvblByZWJ1aWxkIGFzIEJhc2VUcmFuc2FjdGlvblByZWJ1aWxkLFxuICBTaWduVHJhbnNhY3Rpb25PcHRpb25zLFxuICBUcmFuc2FjdGlvblBhcmFtcyxcbiAgVHJhbnNhY3Rpb25SZWNpcGllbnQsXG4gIFRyYW5zYWN0aW9uVHlwZSxcbiAgVmVyaWZ5VHJhbnNhY3Rpb25PcHRpb25zLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5cbi8qKlxuICogS2FzcGEgVVRYTyBpbnB1dCAocmVmZXJlbmNlIHRvIGEgcHJldmlvdXMgdHJhbnNhY3Rpb24gb3V0cHV0KVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEthc3BhVXR4b0lucHV0IHtcbiAgLyoqIFByZXZpb3VzIHRyYW5zYWN0aW9uIElEIChoZXggc3RyaW5nKSAqL1xuICB0cmFuc2FjdGlvbklkOiBzdHJpbmc7XG4gIC8qKiBPdXRwdXQgaW5kZXggaW4gdGhlIHByZXZpb3VzIHRyYW5zYWN0aW9uICovXG4gIHRyYW5zYWN0aW9uSW5kZXg6IG51bWJlcjtcbiAgLyoqIEFtb3VudCBpbiBzb21waSAqL1xuICBhbW91bnQ6IHN0cmluZztcbiAgLyoqIFNjcmlwdCBwdWJsaWMga2V5IG9mIHRoZSBVVFhPICovXG4gIHNjcmlwdFB1YmxpY0tleTogc3RyaW5nO1xuICAvKiogU2VxdWVuY2UgbnVtYmVyICovXG4gIHNlcXVlbmNlPzogc3RyaW5nO1xuICAvKiogU2lnbmF0dXJlIG9wZXJhdGlvbiBjb3VudCAqL1xuICBzaWdPcENvdW50PzogbnVtYmVyO1xuICAvKiogU2lnbmF0dXJlIHNjcmlwdCDigJQgaGV4LWVuY29kZWQgKDY1IGJ5dGVzOiA2NC1ieXRlIFNjaG5vcnIgc2lnICsgMS1ieXRlIHNpZ2hhc2ggdHlwZSkgKi9cbiAgc2lnbmF0dXJlU2NyaXB0Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEthc3BhIHRyYW5zYWN0aW9uIG91dHB1dFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEthc3BhVHJhbnNhY3Rpb25PdXRwdXQge1xuICAvKiogUmVjaXBpZW50IGFkZHJlc3MgKi9cbiAgYWRkcmVzczogc3RyaW5nO1xuICAvKiogQW1vdW50IGluIHNvbXBpICovXG4gIGFtb3VudDogc3RyaW5nO1xuICAvKiogU2NyaXB0IHB1YmxpYyBrZXkgKi9cbiAgc2NyaXB0UHVibGljS2V5Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEthc3BhIHRyYW5zYWN0aW9uIGRhdGEgc3RydWN0dXJlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2FzcGFUcmFuc2FjdGlvbkRhdGEge1xuICAvKiogVHJhbnNhY3Rpb24gdmVyc2lvbiAqL1xuICB2ZXJzaW9uOiBudW1iZXI7XG4gIC8qKiBUcmFuc2FjdGlvbiBpbnB1dHMgKFVUWE9zIGJlaW5nIHNwZW50KSAqL1xuICBpbnB1dHM6IEthc3BhVXR4b0lucHV0W107XG4gIC8qKiBUcmFuc2FjdGlvbiBvdXRwdXRzICovXG4gIG91dHB1dHM6IEthc3BhVHJhbnNhY3Rpb25PdXRwdXRbXTtcbiAgLyoqIExvY2sgdGltZSAqL1xuICBsb2NrVGltZT86IHN0cmluZztcbiAgLyoqIFN1Ym5ldHdvcmsgSUQgKGFsbC16ZXJvcyBmb3IgbmF0aXZlIEtBU1BBIHRyYW5zZmVycykgKi9cbiAgc3VibmV0d29ya0lkPzogc3RyaW5nO1xuICAvKiogVHJhbnNhY3Rpb24gcGF5bG9hZCAoZW1wdHkgZm9yIG5hdGl2ZSB0cmFuc2ZlcnMpICovXG4gIHBheWxvYWQ/OiBzdHJpbmc7XG4gIC8qKiBGZWUgaW4gc29tcGkgKi9cbiAgZmVlPzogc3RyaW5nO1xuICAvKiogVHJhbnNhY3Rpb24gSUQgKGNvbXB1dGVkKSAqL1xuICBpZD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBLYXNwYSB0cmFuc2FjdGlvbiBleHBsYW5hdGlvbiBmb3IgdXNlcnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uRXhwbGFuYXRpb24ge1xuICB0eXBlOiBUcmFuc2FjdGlvblR5cGU7XG4gIGlucHV0czogS2FzcGFVdHhvSW5wdXRbXTtcbn1cblxuLyoqXG4gKiBLYXNwYSB0cmFuc2FjdGlvbiBwcmVidWlsZCBmb3Igc2lnbmluZ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zYWN0aW9uUHJlYnVpbGQgZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25QcmVidWlsZCB7XG4gIC8qKiBTZXJpYWxpemVkIHRyYW5zYWN0aW9uIGFzIGhleCBvciBKU09OIHN0cmluZyAqL1xuICB0eEhleDogc3RyaW5nO1xuICB0eEluZm86IEthc3BhVHhJbmZvO1xuICBzb3VyY2U6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBLYXNwYVR4SW5mbyB7XG4gIHJlY2lwaWVudHM6IFRyYW5zYWN0aW9uUmVjaXBpZW50W107XG4gIGZyb206IHN0cmluZztcbiAgdXR4b3M/
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGFzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLFxuICBUcmFuc2FjdGlvblByZWJ1aWxkIGFzIEJhc2VUcmFuc2FjdGlvblByZWJ1aWxkLFxuICBTaWduVHJhbnNhY3Rpb25PcHRpb25zLFxuICBUcmFuc2FjdGlvblBhcmFtcyxcbiAgVHJhbnNhY3Rpb25SZWNpcGllbnQsXG4gIFRyYW5zYWN0aW9uVHlwZSxcbiAgVmVyaWZ5VHJhbnNhY3Rpb25PcHRpb25zLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5cbi8qKlxuICogS2FzcGEgVVRYTyBpbnB1dCAocmVmZXJlbmNlIHRvIGEgcHJldmlvdXMgdHJhbnNhY3Rpb24gb3V0cHV0KVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEthc3BhVXR4b0lucHV0IHtcbiAgLyoqIFByZXZpb3VzIHRyYW5zYWN0aW9uIElEIChoZXggc3RyaW5nKSAqL1xuICB0cmFuc2FjdGlvbklkOiBzdHJpbmc7XG4gIC8qKiBPdXRwdXQgaW5kZXggaW4gdGhlIHByZXZpb3VzIHRyYW5zYWN0aW9uICovXG4gIHRyYW5zYWN0aW9uSW5kZXg6IG51bWJlcjtcbiAgLyoqIEFtb3VudCBpbiBzb21waSAqL1xuICBhbW91bnQ6IHN0cmluZztcbiAgLyoqIFNjcmlwdCBwdWJsaWMga2V5IG9mIHRoZSBVVFhPICovXG4gIHNjcmlwdFB1YmxpY0tleTogc3RyaW5nO1xuICAvKiogU2VxdWVuY2UgbnVtYmVyICovXG4gIHNlcXVlbmNlPzogc3RyaW5nO1xuICAvKiogU2lnbmF0dXJlIG9wZXJhdGlvbiBjb3VudCAqL1xuICBzaWdPcENvdW50PzogbnVtYmVyO1xuICAvKiogU2lnbmF0dXJlIHNjcmlwdCDigJQgaGV4LWVuY29kZWQgKDY1IGJ5dGVzOiA2NC1ieXRlIFNjaG5vcnIgc2lnICsgMS1ieXRlIHNpZ2hhc2ggdHlwZSkgKi9cbiAgc2lnbmF0dXJlU2NyaXB0Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEthc3BhIHRyYW5zYWN0aW9uIG91dHB1dFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEthc3BhVHJhbnNhY3Rpb25PdXRwdXQge1xuICAvKiogUmVjaXBpZW50IGFkZHJlc3MgKi9cbiAgYWRkcmVzczogc3RyaW5nO1xuICAvKiogQW1vdW50IGluIHNvbXBpICovXG4gIGFtb3VudDogc3RyaW5nO1xuICAvKiogU2NyaXB0IHB1YmxpYyBrZXkgKi9cbiAgc2NyaXB0UHVibGljS2V5Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEthc3BhIHRyYW5zYWN0aW9uIGRhdGEgc3RydWN0dXJlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2FzcGFUcmFuc2FjdGlvbkRhdGEge1xuICAvKiogVHJhbnNhY3Rpb24gdmVyc2lvbiAqL1xuICB2ZXJzaW9uOiBudW1iZXI7XG4gIC8qKiBUcmFuc2FjdGlvbiBpbnB1dHMgKFVUWE9zIGJlaW5nIHNwZW50KSAqL1xuICBpbnB1dHM6IEthc3BhVXR4b0lucHV0W107XG4gIC8qKiBUcmFuc2FjdGlvbiBvdXRwdXRzICovXG4gIG91dHB1dHM6IEthc3BhVHJhbnNhY3Rpb25PdXRwdXRbXTtcbiAgLyoqIExvY2sgdGltZSAqL1xuICBsb2NrVGltZT86IHN0cmluZztcbiAgLyoqIFN1Ym5ldHdvcmsgSUQgKGFsbC16ZXJvcyBmb3IgbmF0aXZlIEtBU1BBIHRyYW5zZmVycykgKi9cbiAgc3VibmV0d29ya0lkPzogc3RyaW5nO1xuICAvKiogVHJhbnNhY3Rpb24gcGF5bG9hZCAoZW1wdHkgZm9yIG5hdGl2ZSB0cmFuc2ZlcnMpICovXG4gIHBheWxvYWQ/OiBzdHJpbmc7XG4gIC8qKiBGZWUgaW4gc29tcGkgKi9cbiAgZmVlPzogc3RyaW5nO1xuICAvKiogVHJhbnNhY3Rpb24gSUQgKGNvbXB1dGVkKSAqL1xuICBpZD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBLYXNwYSB0cmFuc2FjdGlvbiBleHBsYW5hdGlvbiBmb3IgdXNlcnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uRXhwbGFuYXRpb24ge1xuICB0eXBlOiBUcmFuc2FjdGlvblR5cGU7XG4gIGlucHV0czogS2FzcGFVdHhvSW5wdXRbXTtcbn1cblxuLyoqXG4gKiBLYXNwYSB0cmFuc2FjdGlvbiBwcmVidWlsZCBmb3Igc2lnbmluZ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zYWN0aW9uUHJlYnVpbGQgZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25QcmVidWlsZCB7XG4gIC8qKiBTZXJpYWxpemVkIHRyYW5zYWN0aW9uIGFzIGhleCBvciBKU09OIHN0cmluZyAqL1xuICB0eEhleDogc3RyaW5nO1xuICB0eEluZm86IEthc3BhVHhJbmZvO1xuICBzb3VyY2U6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBLYXNwYVR4SW5mbyB7XG4gIHJlY2lwaWVudHM6IFRyYW5zYWN0aW9uUmVjaXBpZW50W107XG4gIGZyb206IHN0cmluZztcbiAgdXR4b3M/OiBLYXNwYVV0eG9JbnB1dFtdO1xufVxuXG4vKipcbiAqIEEgc2luZ2xlIHBlci1pbnB1dCBTY2hub3JyIHNpZ25hdHVyZSBwcm9kdWNlZCBieSBhbiBleHRlcm5hbCBUU1Mgc2Vzc2lvbi5cbiAqIEVhY2ggZW50cnkgY29ycmVzcG9uZHMgdG8gb25lIGVudHJ5IGluIGB0eC5zaWduYWJsZVBheWxvYWRzYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBLYXNwYUlucHV0U2lnbmF0dXJlIHtcbiAgLyoqIDAtYmFzZWQgaW5kZXggb2YgdGhlIGlucHV0IHRoaXMgc2lnbmF0dXJlIGNvdmVycyAqL1xuICBpbnB1dEluZGV4OiBudW1iZXI7XG4gIC8qKiBIZXgtZW5jb2RlZCBjb21wcmVzc2VkIHNlY3AyNTZrMSBwdWJsaWMga2V5ICgzMyBieXRlcykgKi9cbiAgcHViS2V5OiBzdHJpbmc7XG4gIC8qKiBIZXgtZW5jb2RlZCA2NC1ieXRlIHJhdyBTY2hub3JyIHNpZ25hdHVyZSAqL1xuICBzaWduYXR1cmU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBLYXNwYSBzaWduIHRyYW5zYWN0aW9uIG9wdGlvbnMuXG4gKlxuICogVHdvIG11dHVhbGx5IGV4Y2x1c2l2ZSBzaWduaW5nIG1vZGVzOlxuICpcbiAqIDEuIGBwcnZgICAgICAgICDigJQgZGlyZWN0IHByaXZhdGUta2V5IHNpZ25pbmcgKHRlc3QgLyBub24tVFNTKS5cbiAqICAgICAgICAgICAgICAgICAgIGB0eC5zaWduKHBydilgIGlzIGNhbGxlZCwgd2hpY2ggbG9vcHMgYWxsIGlucHV0cy5cbiAqXG4gKiAyLiBgc2lnbmF0dXJlc2Ag4oCUIFRTUyBtdWx0aS1pbnB1dCBtb2RlLlxuICogICAgICAgICAgICAgICAgICAgVGhlIGNhbGxlciByYW4gb25lIGluZGVwZW5kZW50IERLTFMgc2Vzc2lvbiBwZXIgaW5wdXRcbiAqICAgICAgICAgICAgICAgICAgIChvdmVyIGB0eC5zaWduYWJsZVBheWxvYWRzW2ldYCkgYW5kIGNvbGxlY3RlZCB0aGVcbiAqICAgICAgICAgICAgICAgICAgIHJlc3VsdGluZyBTY2hub3JyIHNpZ25hdHVyZXMuIEVhY2ggc2lnbmF0dXJlIGlzIGFwcGxpZWRcbiAqICAgICAgICAgICAgICAgICAgIHZpYSBgdHguYWRkU2lnbmF0dXJlRm9ySW5wdXQoaW5wdXRJbmRleCwgcHViS2V5LCBzaWcpYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBLYXNwYVNpZ25UcmFuc2FjdGlvbk9wdGlvbnMgZXh0ZW5kcyBTaWduVHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgdHhQcmVidWlsZDogVHJhbnNhY3Rpb25QcmVidWlsZDtcbiAgLyoqIERpcmVjdCBwcml2YXRlIGtleSDigJQgc2lnbnMgZXZlcnkgaW5wdXQgaW4gb25lIGNhbGwgKi9cbiAgcHJ2Pzogc3RyaW5nO1xuICAvKiogUGVyLWlucHV0IFRTUyBzaWduYXR1cmVzIOKAlCBvbmUgZW50cnkgcGVyIGlucHV0IHRoYXQgd2FzIHNpZ25lZCAqL1xuICBzaWduYXR1cmVzPzogS2FzcGFJbnB1dFNpZ25hdHVyZVtdO1xufVxuXG4vKipcbiAqIEthc3BhIHRyYW5zYWN0aW9uIHBhcmFtc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEthc3BhVHJhbnNhY3Rpb25QYXJhbXMgZXh0ZW5kcyBUcmFuc2FjdGlvblBhcmFtcyB7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIHVuc3BlbnRzPzogS2FzcGFVdHhvSW5wdXRbXTtcbn1cblxuLyoqXG4gKiBLYXNwYSB2ZXJpZnkgdHJhbnNhY3Rpb24gb3B0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEthc3BhVmVyaWZ5VHJhbnNhY3Rpb25PcHRpb25zIGV4dGVuZHMgVmVyaWZ5VHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgdHhQYXJhbXM6IEthc3BhVHJhbnNhY3Rpb25QYXJhbXM7XG59XG4iXX0=
|
package/dist/src/lib/index.d.ts
CHANGED
|
@@ -2,6 +2,8 @@ export { KeyPair } from './keyPair';
|
|
|
2
2
|
export { Transaction } from './transaction';
|
|
3
3
|
export { TransactionBuilder } from './transactionBuilder';
|
|
4
4
|
export { TransactionBuilderFactory } from './transactionBuilderFactory';
|
|
5
|
+
export { Pskt } from './pskt';
|
|
6
|
+
export type { PsktRole, PsktKeySource, PsktGlobal, PsktUtxoEntry, PsktInput, PsktOutput, SerializedPskt } from './pskt';
|
|
5
7
|
export * from './iface';
|
|
6
8
|
export * from './constants';
|
|
7
9
|
export * from './utils';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,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,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,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,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxH,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,SAAS,CAAC"}
|
package/dist/src/lib/index.js
CHANGED
|
@@ -17,7 +17,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
17
17
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.KaspaUtils = exports.Utils = exports.TransactionBuilderFactory = exports.TransactionBuilder = exports.Transaction = exports.KeyPair = void 0;
|
|
20
|
+
exports.KaspaUtils = exports.Utils = exports.Pskt = exports.TransactionBuilderFactory = exports.TransactionBuilder = exports.Transaction = exports.KeyPair = void 0;
|
|
21
21
|
var keyPair_1 = require("./keyPair");
|
|
22
22
|
Object.defineProperty(exports, "KeyPair", { enumerable: true, get: function () { return keyPair_1.KeyPair; } });
|
|
23
23
|
var transaction_1 = require("./transaction");
|
|
@@ -26,6 +26,8 @@ var transactionBuilder_1 = require("./transactionBuilder");
|
|
|
26
26
|
Object.defineProperty(exports, "TransactionBuilder", { enumerable: true, get: function () { return transactionBuilder_1.TransactionBuilder; } });
|
|
27
27
|
var transactionBuilderFactory_1 = require("./transactionBuilderFactory");
|
|
28
28
|
Object.defineProperty(exports, "TransactionBuilderFactory", { enumerable: true, get: function () { return transactionBuilderFactory_1.TransactionBuilderFactory; } });
|
|
29
|
+
var pskt_1 = require("./pskt");
|
|
30
|
+
Object.defineProperty(exports, "Pskt", { enumerable: true, get: function () { return pskt_1.Pskt; } });
|
|
29
31
|
__exportStar(require("./iface"), exports);
|
|
30
32
|
__exportStar(require("./constants"), exports);
|
|
31
33
|
__exportStar(require("./utils"), exports);
|
|
@@ -33,4 +35,4 @@ __exportStar(require("./sighash"), exports);
|
|
|
33
35
|
var utils_1 = require("./utils");
|
|
34
36
|
Object.defineProperty(exports, "Utils", { enumerable: true, get: function () { return __importDefault(utils_1).default; } });
|
|
35
37
|
Object.defineProperty(exports, "KaspaUtils", { enumerable: true, get: function () { return utils_1.Utils; } });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscUNBQW9DO0FBQTNCLGtHQUFBLE9BQU8sT0FBQTtBQUNoQiw2Q0FBNEM7QUFBbkMsMEdBQUEsV0FBVyxPQUFBO0FBQ3BCLDJEQUEwRDtBQUFqRCx3SEFBQSxrQkFBa0IsT0FBQTtBQUMzQix5RUFBd0U7QUFBL0Qsc0lBQUEseUJBQXlCLE9BQUE7QUFDbEMsK0JBQThCO0FBQXJCLDRGQUFBLElBQUksT0FBQTtBQUViLDBDQUF3QjtBQUN4Qiw4Q0FBNEI7QUFDNUIsMENBQXdCO0FBQ3hCLDRDQUEwQjtBQUMxQixpQ0FBZ0U7QUFBdkQsK0dBQUEsT0FBTyxPQUFTO0FBQUUsbUdBQUEsS0FBSyxPQUFjIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgS2V5UGFpciB9IGZyb20gJy4va2V5UGFpcic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSc7XG5leHBvcnQgeyBQc2t0IH0gZnJvbSAnLi9wc2t0JztcbmV4cG9ydCB0eXBlIHsgUHNrdFJvbGUsIFBza3RLZXlTb3VyY2UsIFBza3RHbG9iYWwsIFBza3RVdHhvRW50cnksIFBza3RJbnB1dCwgUHNrdE91dHB1dCwgU2VyaWFsaXplZFBza3QgfSBmcm9tICcuL3Bza3QnO1xuZXhwb3J0ICogZnJvbSAnLi9pZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnN0YW50cyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vc2lnaGFzaCc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIFV0aWxzLCBVdGlscyBhcyBLYXNwYVV0aWxzIH0gZnJvbSAnLi91dGlscyc7XG4iXX0=
|