@bitgo-beta/sdk-coin-flrp 1.0.1-beta.2 → 1.0.1-beta.20

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 (29) hide show
  1. package/dist/src/flrp.d.ts.map +1 -1
  2. package/dist/src/flrp.js +11 -2
  3. package/dist/src/lib/atomicInCTransactionBuilder.d.ts +26 -0
  4. package/dist/src/lib/atomicInCTransactionBuilder.d.ts.map +1 -0
  5. package/dist/src/lib/atomicInCTransactionBuilder.js +64 -0
  6. package/dist/src/lib/atomicTransactionBuilder.d.ts +23 -4
  7. package/dist/src/lib/atomicTransactionBuilder.d.ts.map +1 -1
  8. package/dist/src/lib/atomicTransactionBuilder.js +70 -4
  9. package/dist/src/lib/exportInCTxBuilder.d.ts +77 -0
  10. package/dist/src/lib/exportInCTxBuilder.d.ts.map +1 -0
  11. package/dist/src/lib/exportInCTxBuilder.js +170 -0
  12. package/dist/src/lib/{exportTxBuilder.d.ts → exportInPTxBuilder.d.ts} +2 -2
  13. package/dist/src/lib/exportInPTxBuilder.d.ts.map +1 -0
  14. package/dist/src/lib/exportInPTxBuilder.js +56 -0
  15. package/dist/test/unit/flrp.js +103 -14
  16. package/dist/test/unit/lib/atomicTransactionBuilder.d.ts +2 -0
  17. package/dist/test/unit/lib/atomicTransactionBuilder.d.ts.map +1 -0
  18. package/dist/test/unit/lib/atomicTransactionBuilder.js +196 -0
  19. package/dist/test/unit/lib/exportTxBuilder.d.ts +2 -0
  20. package/dist/test/unit/lib/exportTxBuilder.d.ts.map +1 -0
  21. package/dist/test/unit/lib/exportTxBuilder.js +45 -0
  22. package/dist/test/unit/lib/utils.d.ts +2 -0
  23. package/dist/test/unit/lib/utils.d.ts.map +1 -0
  24. package/dist/test/unit/lib/utils.js +232 -0
  25. package/dist/test/unit/smoke.js +18 -4
  26. package/dist/tsconfig.tsbuildinfo +1 -1
  27. package/package.json +6 -6
  28. package/dist/src/lib/exportTxBuilder.d.ts.map +0 -1
  29. package/dist/src/lib/exportTxBuilder.js +0 -56
@@ -0,0 +1,170 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExportInCTxBuilder = void 0;
4
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
5
+ const atomicInCTransactionBuilder_1 = require("./atomicInCTransactionBuilder");
6
+ class ExportInCTxBuilder extends atomicInCTransactionBuilder_1.AtomicInCTransactionBuilder {
7
+ constructor(_coinConfig) {
8
+ super(_coinConfig);
9
+ }
10
+ /**
11
+ * Utxos are not required in Export Tx in C-Chain.
12
+ * Override utxos to prevent used by throwing a error.
13
+ *
14
+ * @param {DecodedUtxoObj[]} value ignored
15
+ */
16
+ utxos(_value) {
17
+ throw new sdk_core_1.BuildTransactionError('utxos are not required in Export Tx in C-Chain');
18
+ }
19
+ /**
20
+ * Amount is a long that specifies the quantity of the asset that this output owns. Must be positive.
21
+ * The transaction output amount add a fixed fee that will be paid upon import.
22
+ *
23
+ * @param {BN | string} amount The withdrawal amount
24
+ */
25
+ amount(amount) {
26
+ const n = typeof amount === 'bigint' ? amount : BigInt(amount);
27
+ this.validateAmount(n);
28
+ this._amount = n;
29
+ return this;
30
+ }
31
+ /**
32
+ * Set the nonce of C-Chain sender address
33
+ *
34
+ * @param {number | string} nonce - number that can be only used once
35
+ */
36
+ nonce(nonce) {
37
+ const n = typeof nonce === 'bigint' ? nonce : BigInt(nonce);
38
+ this.validateNonce(n);
39
+ this._nonce = n;
40
+ return this;
41
+ }
42
+ /**
43
+ * Export tx target P wallet.
44
+ *
45
+ * @param pAddresses
46
+ */
47
+ to(pAddresses) {
48
+ const pubKeys = Array.isArray(pAddresses) ? pAddresses : pAddresses.split('~');
49
+ // For now ensure they are stored as bech32 / string addresses directly
50
+ this.transaction._to = pubKeys.map((a) => a.toString());
51
+ return this;
52
+ }
53
+ get transactionType() {
54
+ return sdk_core_1.TransactionType.Export;
55
+ }
56
+ initBuilder(raw) {
57
+ // Basic shape validation
58
+ const unsigned = raw.unsignedTx;
59
+ if (unsigned.networkId !== this.transaction._networkID) {
60
+ throw new Error('Network ID mismatch');
61
+ }
62
+ if (!unsigned.sourceBlockchainId.equals(this.transaction._blockchainID)) {
63
+ throw new Error('Blockchain ID mismatch');
64
+ }
65
+ if (unsigned.outputs.length !== 1) {
66
+ throw new sdk_core_1.BuildTransactionError('Transaction can have one output');
67
+ }
68
+ if (unsigned.inputs.length !== 1) {
69
+ throw new sdk_core_1.BuildTransactionError('Transaction can have one input');
70
+ }
71
+ const out = unsigned.outputs[0];
72
+ const inp = unsigned.inputs[0];
73
+ if (!out.assetId.equals(this.transaction._assetId) || !inp.assetId.equals(this.transaction._assetId)) {
74
+ throw new Error('AssetID mismatch');
75
+ }
76
+ this.transaction._to = out.addresses;
77
+ this._amount = out.amount;
78
+ const fee = inp.amount - out.amount;
79
+ if (fee < 0n) {
80
+ throw new sdk_core_1.BuildTransactionError('Computed fee is negative');
81
+ }
82
+ const fixed = this.fixedFee;
83
+ const feeRate = fee - fixed;
84
+ this.transaction._fee.feeRate = feeRate.toString();
85
+ this.transaction._fee.fee = fee.toString();
86
+ this.transaction._fee.size = 1;
87
+ this.transaction._fromAddresses = [inp.address];
88
+ this._nonce = inp.nonce;
89
+ this.transaction.setTransaction(raw);
90
+ return this;
91
+ }
92
+ // For parity with Avalanche builder interfaces; always returns true for placeholder
93
+ //TODO: WIN-6322
94
+ static verifyTxType(_tx) {
95
+ return true;
96
+ }
97
+ verifyTxType(_tx) {
98
+ return ExportInCTxBuilder.verifyTxType(_tx);
99
+ }
100
+ /**
101
+ * Build the export in C-chain transaction
102
+ * @protected
103
+ */
104
+ buildFlareTransaction() {
105
+ if (this.transaction.hasCredentials) {
106
+ return; // placeholder: credentials not yet implemented
107
+ }
108
+ if (this._amount === undefined) {
109
+ throw new Error('amount is required');
110
+ }
111
+ if (this.transaction._fromAddresses.length !== 1) {
112
+ throw new Error('sender is one and required');
113
+ }
114
+ if (this.transaction._to.length === 0) {
115
+ throw new Error('to is required');
116
+ }
117
+ if (!this.transaction._fee.feeRate) {
118
+ throw new Error('fee rate is required');
119
+ }
120
+ if (this._nonce === undefined) {
121
+ throw new Error('nonce is required');
122
+ }
123
+ // Compose placeholder unsigned tx shape
124
+ const feeRate = BigInt(this.transaction._fee.feeRate);
125
+ const fixed = this.fixedFee;
126
+ const totalFee = feeRate + fixed;
127
+ const input = {
128
+ address: this.transaction._fromAddresses[0],
129
+ amount: this._amount + totalFee,
130
+ assetId: this.transaction._assetId,
131
+ nonce: this._nonce,
132
+ };
133
+ const output = {
134
+ addresses: this.transaction._to,
135
+ amount: this._amount,
136
+ assetId: this.transaction._assetId,
137
+ };
138
+ const unsigned = {
139
+ networkId: this.transaction._networkID,
140
+ sourceBlockchainId: this.transaction._blockchainID,
141
+ destinationBlockchainId: this._externalChainId || Buffer.alloc(0),
142
+ inputs: [input],
143
+ outputs: [output],
144
+ };
145
+ const signed = { unsignedTx: unsigned, credentials: [] };
146
+ this.transaction._fee.fee = totalFee.toString();
147
+ this.transaction._fee.size = 1;
148
+ this.transaction.setTransaction(signed);
149
+ }
150
+ /** @inheritdoc */
151
+ fromImplementation(raw) {
152
+ if (typeof raw === 'string') {
153
+ // Future: parse hex or serialized form. For now treat as opaque raw tx.
154
+ this.transaction.setTransaction(raw);
155
+ return this.transaction;
156
+ }
157
+ return this.initBuilder(raw).transaction;
158
+ }
159
+ /**
160
+ * Check the amount is positive.
161
+ * @param amount
162
+ */
163
+ validateNonce(nonce) {
164
+ if (nonce < 0n) {
165
+ throw new sdk_core_1.BuildTransactionError('Nonce must be greater or equal than 0');
166
+ }
167
+ }
168
+ }
169
+ exports.ExportInCTxBuilder = ExportInCTxBuilder;
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0SW5DVHhCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9leHBvcnRJbkNUeEJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQThFO0FBRTlFLCtFQUE0RTtBQWdDNUUsTUFBYSxrQkFBbUIsU0FBUSx5REFBMkI7SUFJakUsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsS0FBSyxDQUFDLE1BQWlCO1FBQ3JCLE1BQU0sSUFBSSxnQ0FBcUIsQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxNQUFnQztRQUNyQyxNQUFNLENBQUMsR0FBRyxPQUFPLE1BQU0sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFDakIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxLQUErQjtRQUNuQyxNQUFNLENBQUMsR0FBRyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDaEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEVBQUUsQ0FBQyxVQUE2QjtRQUM5QixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FB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LEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELGtCQUFrQjtJQUNSLGtCQUFrQixDQUFDLEdBQThCO1FBQ3pELElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDNUIsd0VBQXdFO1lBQ3hFLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUMxQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsYUFBYSxDQUFDLEtBQWE7UUFDekIsSUFBSSxLQUFLLEdBQUcsRUFBRSxFQUFFLENBQUM7WUFDZixNQUFNLElBQUksZ0NBQXFCLENBQUMsdUNBQXVDLENBQUMsQ0FBQztRQUMzRSxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBakxELGdEQWlMQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJ1aWxkVHJhbnNhY3Rpb25FcnJvciwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgQXRvbWljSW5DVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi9hdG9taWNJbkNUcmFuc2FjdGlvbkJ1aWxkZXInO1xuXG4vLyBMaWdodHdlaWdodCBpbnRlcmZhY2UgcGxhY2Vob2xkZXJzIHJlcGxhY2luZyBBdmFsYW5jaGUgU0RLIHRyYW5zYWN0aW9uIHNoYXBlc1xuaW50ZXJmYWNlIEZsYXJlRXhwb3J0SW5wdXRTaGFwZSB7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgYW1vdW50OiBiaWdpbnQ7IC8vIGluY2x1ZGVzIGV4cG9ydGVkIGFtb3VudCArIGZlZVxuICBhc3NldElkOiBCdWZmZXI7XG4gIG5vbmNlOiBiaWdpbnQ7XG59XG5cbmludGVyZmFjZSBGbGFyZUV4cG9ydE91dHB1dFNoYXBlIHtcbiAgYWRkcmVzc2VzOiBzdHJpbmdbXTsgLy8gZGVzdGluYXRpb24gUC1jaGFpbiBhZGRyZXNzZXNcbiAgYW1vdW50OiBiaWdpbnQ7IC8vIGV4cG9ydGVkIGFtb3VudFxuICBhc3NldElkOiBCdWZmZXI7XG59XG5cbmludGVyZmFjZSBGbGFyZVVuc2lnbmVkRXhwb3J0VHgge1xuICBuZXR3b3JrSWQ6IG51bWJlcjtcbiAgc291cmNlQmxvY2tjaGFpbklkOiBCdWZmZXI7IC8vIEMtY2hhaW4gaWRcbiAgZGVzdGluYXRpb25CbG9ja2NoYWluSWQ6IEJ1ZmZlcjsgLy8gUC1jaGFpbiBpZFxuICBpbnB1dHM6IEZsYXJlRXhwb3J0SW5wdXRTaGFwZVtdO1xuICBvdXRwdXRzOiBGbGFyZUV4cG9ydE91dHB1dFNoYXBlW107XG59XG5cbmludGVyZmFjZSBGbGFyZVNpZ25lZEV4cG9ydFR4IHtcbiAgdW5zaWduZWRUeDogRmxhcmVVbnNpZ25lZEV4cG9ydFR4O1xuICAvLyBjcmVkZW50aWFscyBwbGFjZWhvbGRlclxuICBjcmVkZW50aWFsczogdW5rbm93bltdO1xufVxuXG50eXBlIFJhd0ZsYXJlRXhwb3J0VHggPSBGbGFyZVNpZ25lZEV4cG9ydFR4OyAvLyBmb3Igbm93IHRyZWF0IHRoZW0gdGhlIHNhbWVcblxuZXhwb3J0IGNsYXNzIEV4cG9ydEluQ1R4QnVpbGRlciBleHRlbmRzIEF0b21pY0luQ1RyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByaXZhdGUgX2Ftb3VudD86IGJpZ2ludDtcbiAgcHJpdmF0ZSBfbm9uY2U/OiBiaWdpbnQ7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFV0eG9zIGFyZSBub3QgcmVxdWlyZWQgaW4gRXhwb3J0IFR4IGluIEMtQ2hhaW4uXG4gICAqIE92ZXJyaWRlIHV0eG9zIHRvIHByZXZlbnQgdXNlZCBieSB0aHJvd2luZyBhIGVycm9yLlxuICAgKlxuICAgKiBAcGFyYW0ge0RlY29kZWRVdHhvT2JqW119IHZhbHVlIGlnbm9yZWRcbiAgICovXG4gIHV0eG9zKF92YWx1ZTogdW5rbm93bltdKTogdGhpcyB7XG4gICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcigndXR4b3MgYXJlIG5vdCByZXF1aXJlZCBpbiBFeHBvcnQgVHggaW4gQy1DaGFpbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFtb3VudCBpcyBhIGxvbmcgdGhhdCBzcGVjaWZpZXMgdGhlIHF1YW50aXR5IG9mIHRoZSBhc3NldCB0aGF0IHRoaXMgb3V0cHV0IG93bnMuIE11c3QgYmUgcG9zaXRpdmUuXG4gICAqIFRoZSB0cmFuc2FjdGlvbiBvdXRwdXQgYW1vdW50IGFkZCBhIGZpeGVkIGZlZSB0aGF0IHdpbGwgYmUgcGFpZCB1cG9uIGltcG9ydC5cbiAgICpcbiAgICogQHBhcmFtIHtCTiB8IHN0cmluZ30gYW1vdW50IFRoZSB3aXRoZHJhd2FsIGFtb3VudFxuICAgKi9cbiAgYW1vdW50KGFtb3VudDogYmlnaW50IHwgbnVtYmVyIHwgc3RyaW5nKTogdGhpcyB7XG4gICAgY29uc3QgbiA9IHR5cGVvZiBhbW91bnQgPT09ICdiaWdpbnQnID8gYW1vdW50IDogQmlnSW50KGFtb3VudCk7XG4gICAgdGhpcy52YWxpZGF0ZUFtb3VudChuKTtcbiAgICB0aGlzLl9hbW91bnQgPSBuO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgbm9uY2Ugb2YgQy1DaGFpbiBzZW5kZXIgYWRkcmVzc1xuICAgKlxuICAgKiBAcGFyYW0ge251bWJlciB8IHN0cmluZ30gbm9uY2UgLSBudW1iZXIgdGhhdCBjYW4gYmUgb25seSB1c2VkIG9uY2VcbiAgICovXG4gIG5vbmNlKG5vbmNlOiBiaWdpbnQgfCBudW1iZXIgfCBzdHJpbmcpOiB0aGlzIHtcbiAgICBjb25zdCBuID0gdHlwZW9mIG5vbmNlID09PSAnYmlnaW50JyA/IG5vbmNlIDogQmlnSW50KG5vbmNlKTtcbiAgICB0aGlzLnZhbGlkYXRlTm9uY2Uobik7XG4gICAgdGhpcy5fbm9uY2UgPSBuO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4cG9ydCB0eCB0YXJnZXQgUCB3YWxsZXQuXG4gICAqXG4gICAqIEBwYXJhbSBwQWRkcmVzc2VzXG4gICAqL1xuICB0byhwQWRkcmVzc2VzOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHRoaXMge1xuICAgIGNvbnN0IHB1YktleXMgPSBBcnJheS5pc0FycmF5KHBBZGRyZXNzZXMpID8gcEFkZHJlc3NlcyA6IHBBZGRyZXNzZXMuc3BsaXQoJ34nKTtcbiAgICAvLyBGb3Igbm93IGVuc3VyZSB0aGV5IGFyZSBzdG9yZWQgYXMgYmVjaDMyIC8gc3RyaW5nIGFkZHJlc3NlcyBkaXJlY3RseVxuICAgIHRoaXMudHJhbnNhY3Rpb24uX3RvID0gcHViS2V5cy5tYXAoKGEpID0+IGEudG9TdHJpbmcoKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuRXhwb3J0O1xuICB9XG5cbiAgaW5pdEJ1aWxkZXIocmF3OiBSYXdGbGFyZUV4cG9ydFR4KTogdGhpcyB7XG4gICAgLy8gQmFzaWMgc2hhcGUgdmFsaWRhdGlvblxuICAgIGNvbnN0IHVuc2lnbmVkID0gcmF3LnVuc2lnbmVkVHg7XG4gICAgaWYgKHVuc2lnbmVkLm5ldHdvcmtJZCAhPT0gdGhpcy50cmFuc2FjdGlvbi5fbmV0d29ya0lEKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05ldHdvcmsgSUQgbWlzbWF0Y2gnKTtcbiAgICB9XG4gICAgaWYgKCF1bnNpZ25lZC5zb3VyY2VCbG9ja2NoYWluSWQuZXF1YWxzKHRoaXMudHJhbnNhY3Rpb24uX2Jsb2NrY2hhaW5JRCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQmxvY2tjaGFpbiBJRCBtaXNtYXRjaCcpO1xuICAgIH1cbiAgICBpZiAodW5zaWduZWQub3V0cHV0cy5sZW5ndGggIT09IDEpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ1RyYW5zYWN0aW9uIGNhbiBoYXZlIG9uZSBvdXRwdXQnKTtcbiAgICB9XG4gICAgaWYgKHVuc2lnbmVkLmlucHV0cy5sZW5ndGggIT09IDEpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ1RyYW5zYWN0aW9uIGNhbiBoYXZlIG9uZSBpbnB1dCcpO1xuICAgIH1cbiAgICBjb25zdCBvdXQgPSB1bnNpZ25lZC5vdXRwdXRzWzBdO1xuICAgIGNvbnN0IGlucCA9IHVuc2lnbmVkLmlucHV0c1swXTtcbiAgICBpZiAoIW91dC5hc3NldElkLmVxdWFscyh0aGlzLnRyYW5zYWN0aW9uLl9hc3NldElkKSB8fCAhaW5wLmFzc2V0SWQuZXF1YWxzKHRoaXMudHJhbnNhY3Rpb24uX2Fzc2V0SWQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Fzc2V0SUQgbWlzbWF0Y2gnKTtcbiAgICB9XG4gICAgdGhpcy50cmFuc2FjdGlvbi5fdG8gPSBvdXQuYWRkcmVzc2VzO1xuICAgIHRoaXMuX2Ftb3VudCA9IG91dC5hbW91bnQ7XG4gICAgY29uc3QgZmVlID0gaW5wLmFtb3VudCAtIG91dC5hbW91bnQ7XG4gICAgaWYgKGZlZSA8IDBuKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdDb21wdXRlZCBmZWUgaXMgbmVnYXRpdmUnKTtcbiAgICB9XG4gICAgY29uc3QgZml4ZWQgPSB0aGlzLmZpeGVkRmVlO1xuICAgIGNvbnN0IGZlZVJhdGUgPSBmZWUgLSBmaXhlZDtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLl9mZWUuZmVlUmF0ZSA9IGZlZVJhdGUudG9TdHJpbmcoKTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLl9mZWUuZmVlID0gZmVlLnRvU3RyaW5nKCk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5fZmVlLnNpemUgPSAxO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uX2Zyb21BZGRyZXNzZXMgPSBbaW5wLmFkZHJlc3NdO1xuICAgIHRoaXMuX25vbmNlID0gaW5wLm5vbmNlO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc2V0VHJhbnNhY3Rpb24ocmF3KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8vIEZvciBwYXJpdHkgd2l0aCBBdmFsYW5jaGUgYnVpbGRlciBpbnRlcmZhY2VzOyBhbHdheXMgcmV0dXJucyB0cnVlIGZvciBwbGFjZWhvbGRlclxuICAvL1RPRE86IFdJTi02MzIyXG4gIHN0YXRpYyB2ZXJpZnlUeFR5cGUoX3R4OiB1bmtub3duKTogX3R4IGlzIEZsYXJlVW5zaWduZWRFeHBvcnRUeCB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICB2ZXJpZnlUeFR5cGUoX3R4OiB1bmtub3duKTogX3R4IGlzIEZsYXJlVW5zaWduZWRFeHBvcnRUeCB7XG4gICAgcmV0dXJuIEV4cG9ydEluQ1R4QnVpbGRlci52ZXJpZnlUeFR5cGUoX3R4KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCB0aGUgZXhwb3J0IGluIEMtY2hhaW4gdHJhbnNhY3Rpb25cbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIGJ1aWxkRmxhcmVUcmFuc2FjdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50cmFuc2FjdGlvbi5oYXNDcmVkZW50aWFscykge1xuICAgICAgcmV0dXJuOyAvLyBwbGFjZWhvbGRlcjogY3JlZGVudGlhbHMgbm90IHlldCBpbXBsZW1lbnRlZFxuICAgIH1cbiAgICBpZiAodGhpcy5fYW1vdW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignYW1vdW50IGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uLl9mcm9tQWRkcmVzc2VzLmxlbmd0aCAhPT0gMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdzZW5kZXIgaXMgb25lIGFuZCByZXF1aXJlZCcpO1xuICAgIH1cbiAgICBpZiAodGhpcy50cmFuc2FjdGlvbi5fdG8ubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3RvIGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuICAgIGlmICghdGhpcy50cmFuc2FjdGlvbi5fZmVlLmZlZVJhdGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZmVlIHJhdGUgaXMgcmVxdWlyZWQnKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX25vbmNlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbm9uY2UgaXMgcmVxdWlyZWQnKTtcbiAgICB9XG5cbiAgICAvLyBDb21wb3NlIHBsYWNlaG9sZGVyIHVuc2lnbmVkIHR4IHNoYXBlXG4gICAgY29uc3QgZmVlUmF0ZSA9IEJpZ0ludCh0aGlzLnRyYW5zYWN0aW9uLl9mZWUuZmVlUmF0ZSk7XG4gICAgY29uc3QgZml4ZWQgPSB0aGlzLmZpeGVkRmVlO1xuICAgIGNvbnN0IHRvdGFsRmVlID0gZmVlUmF0ZSArIGZpeGVkO1xuICAgIGNvbnN0IGlucHV0OiBGbGFyZUV4cG9ydElucHV0U2hhcGUgPSB7XG4gICAgICBhZGRyZXNzOiB0aGlzLnRyYW5zYWN0aW9uLl9mcm9tQWRkcmVzc2VzWzBdLFxuICAgICAgYW1vdW50OiB0aGlzLl9hbW91bnQgKyB0b3RhbEZlZSxcbiAgICAgIGFzc2V0SWQ6IHRoaXMudHJhbnNhY3Rpb24uX2Fzc2V0SWQsXG4gICAgICBub25jZTogdGhpcy5fbm9uY2UsXG4gICAgfTtcbiAgICBjb25zdCBvdXRwdXQ6IEZsYXJlRXhwb3J0T3V0cHV0U2hhcGUgPSB7XG4gICAgICBhZGRyZXNzZXM6IHRoaXMudHJhbnNhY3Rpb24uX3RvLFxuICAgICAgYW1vdW50OiB0aGlzLl9hbW91bnQsXG4gICAgICBhc3NldElkOiB0aGlzLnRyYW5zYWN0aW9uLl9hc3NldElkLFxuICAgIH07XG4gICAgY29uc3QgdW5zaWduZWQ6IEZsYXJlVW5zaWduZWRFeHBvcnRUeCA9IHtcbiAgICAgIG5ldHdvcmtJZDogdGhpcy50cmFuc2FjdGlvbi5fbmV0d29ya0lELFxuICAgICAgc291cmNlQmxvY2tjaGFpbklkOiB0aGlzLnRyYW5zYWN0aW9uLl9ibG9ja2NoYWluSUQsXG4gICAgICBkZXN0aW5hdGlvbkJsb2NrY2hhaW5JZDogdGhpcy5fZXh0ZXJuYWxDaGFpbklkIHx8IEJ1ZmZlci5hbGxvYygwKSxcbiAgICAgIGlucHV0czogW2lucHV0XSxcbiAgICAgIG91dHB1dHM6IFtvdXRwdXRdLFxuICAgIH07XG4gICAgY29uc3Qgc2lnbmVkOiBGbGFyZVNpZ25lZEV4cG9ydFR4ID0geyB1bnNpZ25lZFR4OiB1bnNpZ25lZCwgY3JlZGVudGlhbHM6IFtdIH07XG4gICAgdGhpcy50cmFuc2FjdGlvbi5fZmVlLmZlZSA9IHRvdGFsRmVlLnRvU3RyaW5nKCk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5fZmVlLnNpemUgPSAxO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc2V0VHJhbnNhY3Rpb24oc2lnbmVkKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgZnJvbUltcGxlbWVudGF0aW9uKHJhdzogc3RyaW5nIHwgUmF3RmxhcmVFeHBvcnRUeCk6IHsgX3R4PzogdW5rbm93biB9IHtcbiAgICBpZiAodHlwZW9mIHJhdyA9PT0gJ3N0cmluZycpIHtcbiAgICAgIC8vIEZ1dHVyZTogcGFyc2UgaGV4IG9yIHNlcmlhbGl6ZWQgZm9ybS4gRm9yIG5vdyB0cmVhdCBhcyBvcGFxdWUgcmF3IHR4LlxuICAgICAgdGhpcy50cmFuc2FjdGlvbi5zZXRUcmFuc2FjdGlvbihyYXcpO1xuICAgICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb247XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmluaXRCdWlsZGVyKHJhdykudHJhbnNhY3Rpb247XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgdGhlIGFtb3VudCBpcyBwb3NpdGl2ZS5cbiAgICogQHBhcmFtIGFtb3VudFxuICAgKi9cbiAgdmFsaWRhdGVOb25jZShub25jZTogYmlnaW50KTogdm9pZCB7XG4gICAgaWYgKG5vbmNlIDwgMG4pIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ05vbmNlIG11c3QgYmUgZ3JlYXRlciBvciBlcXVhbCB0aGFuIDAnKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,7 +1,7 @@
1
1
  import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
2
2
  import { TransactionType } from '@bitgo-beta/sdk-core';
3
3
  import { AtomicTransactionBuilder } from './atomicTransactionBuilder';
4
- export declare class ExportTxBuilder extends AtomicTransactionBuilder {
4
+ export declare class ExportInPTxBuilder extends AtomicTransactionBuilder {
5
5
  private _amount;
6
6
  constructor(_coinConfig: Readonly<CoinConfig>);
7
7
  protected get transactionType(): TransactionType;
@@ -27,4 +27,4 @@ export declare class ExportTxBuilder extends AtomicTransactionBuilder {
27
27
  */
28
28
  protected exportedOutputs(): unknown[];
29
29
  }
30
- //# sourceMappingURL=exportTxBuilder.d.ts.map
30
+ //# sourceMappingURL=exportInPTxBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exportInPTxBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/exportInPTxBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,qBAAa,kBAAmB,SAAQ,wBAAwB;IAC9D,OAAO,CAAC,OAAO,CAAM;gBAET,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI;IAO7C,kBAAkB;IAElB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAM/B,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAI9C,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAIvC;;;OAGG;IAEH,SAAS,CAAC,qBAAqB,IAAI,IAAI;IAIvC;;;;OAIG;IACH,SAAS,CAAC,eAAe,IAAI,OAAO,EAAE;CAGvC"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExportInPTxBuilder = void 0;
4
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
5
+ const atomicTransactionBuilder_1 = require("./atomicTransactionBuilder");
6
+ class ExportInPTxBuilder extends atomicTransactionBuilder_1.AtomicTransactionBuilder {
7
+ constructor(_coinConfig) {
8
+ super(_coinConfig);
9
+ this._amount = 0n;
10
+ }
11
+ get transactionType() {
12
+ return sdk_core_1.TransactionType.Export;
13
+ }
14
+ /**
15
+ * Amount is a long that specifies the quantity of the asset that this output owns. Must be positive.
16
+ *
17
+ * @param {BN | string} amount The withdrawal amount
18
+ */
19
+ amount(value) {
20
+ const v = typeof value === 'bigint' ? value : BigInt(value);
21
+ this.validateAmount(v);
22
+ this._amount = v;
23
+ return this;
24
+ }
25
+ /** @inheritdoc */
26
+ // Placeholder: parsing existing ExportTx not yet supported on Flare P-chain
27
+ initBuilder(_tx) {
28
+ super.initBuilder(_tx);
29
+ return this;
30
+ }
31
+ // Type verification not yet implemented for Flare P-chain
32
+ static verifyTxType(_baseTx) {
33
+ return false;
34
+ }
35
+ verifyTxType(_baseTx) {
36
+ return ExportInPTxBuilder.verifyTxType(_baseTx);
37
+ }
38
+ /**
39
+ * Create the internal transaction.
40
+ * @protected
41
+ */
42
+ // Build not implemented yet
43
+ buildFlareTransaction() {
44
+ throw new Error('Flare P-chain export transaction build not implemented');
45
+ }
46
+ /**
47
+ * Create the ExportedOut where the recipient address are the sender.
48
+ * Later a importTx should complete the operations signing with the same keys.
49
+ * @protected
50
+ */
51
+ exportedOutputs() {
52
+ return [];
53
+ }
54
+ }
55
+ exports.ExportInPTxBuilder = ExportInPTxBuilder;
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0SW5QVHhCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9leHBvcnRJblBUeEJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsbURBQXVEO0FBQ3ZELHlFQUFzRTtBQUV0RSxNQUFhLGtCQUFtQixTQUFRLG1EQUF3QjtJQUc5RCxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUhiLFlBQU8sR0FBRyxFQUFFLENBQUM7SUFJckIsQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMsTUFBTSxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLEtBQStCO1FBQ3BDLE1BQU0sQ0FBQyxHQUFHLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztRQUNqQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsNEVBQTRFO0lBQzVFLFdBQVcsQ0FBQyxHQUFZO1FBQ3RCLEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsMERBQTBEO0lBQzFELE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBZ0I7UUFDbEMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsWUFBWSxDQUFDLE9BQWdCO1FBQzNCLE9BQU8sa0JBQWtCLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7O09BR0c7SUFDSCw0QkFBNEI7SUFDbEIscUJBQXFCO1FBQzdCLE1BQU0sSUFBSSxLQUFLLENBQUMsd0RBQXdELENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNPLGVBQWU7UUFDdkIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0NBQ0Y7QUF4REQsZ0RBd0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQXRvbWljVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi9hdG9taWNUcmFuc2FjdGlvbkJ1aWxkZXInO1xuXG5leHBvcnQgY2xhc3MgRXhwb3J0SW5QVHhCdWlsZGVyIGV4dGVuZHMgQXRvbWljVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJpdmF0ZSBfYW1vdW50ID0gMG47XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLkV4cG9ydDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbW91bnQgaXMgYSBsb25nIHRoYXQgc3BlY2lmaWVzIHRoZSBxdWFudGl0eSBvZiB0aGUgYXNzZXQgdGhhdCB0aGlzIG91dHB1dCBvd25zLiBNdXN0IGJlIHBvc2l0aXZlLlxuICAgKlxuICAgKiBAcGFyYW0ge0JOIHwgc3RyaW5nfSBhbW91bnQgVGhlIHdpdGhkcmF3YWwgYW1vdW50XG4gICAqL1xuICBhbW91bnQodmFsdWU6IGJpZ2ludCB8IHN0cmluZyB8IG51bWJlcik6IHRoaXMge1xuICAgIGNvbnN0IHYgPSB0eXBlb2YgdmFsdWUgPT09ICdiaWdpbnQnID8gdmFsdWUgOiBCaWdJbnQodmFsdWUpO1xuICAgIHRoaXMudmFsaWRhdGVBbW91bnQodik7XG4gICAgdGhpcy5fYW1vdW50ID0gdjtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICAvLyBQbGFjZWhvbGRlcjogcGFyc2luZyBleGlzdGluZyBFeHBvcnRUeCBub3QgeWV0IHN1cHBvcnRlZCBvbiBGbGFyZSBQLWNoYWluXG4gIGluaXRCdWlsZGVyKF90eDogdW5rbm93bik6IHRoaXMge1xuICAgIHN1cGVyLmluaXRCdWlsZGVyKF90eCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvLyBUeXBlIHZlcmlmaWNhdGlvbiBub3QgeWV0IGltcGxlbWVudGVkIGZvciBGbGFyZSBQLWNoYWluXG4gIHN0YXRpYyB2ZXJpZnlUeFR5cGUoX2Jhc2VUeDogdW5rbm93bik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHZlcmlmeVR4VHlwZShfYmFzZVR4OiB1bmtub3duKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIEV4cG9ydEluUFR4QnVpbGRlci52ZXJpZnlUeFR5cGUoX2Jhc2VUeCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIHRoZSBpbnRlcm5hbCB0cmFuc2FjdGlvbi5cbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgLy8gQnVpbGQgbm90IGltcGxlbWVudGVkIHlldFxuICBwcm90ZWN0ZWQgYnVpbGRGbGFyZVRyYW5zYWN0aW9uKCk6IHZvaWQge1xuICAgIHRocm93IG5ldyBFcnJvcignRmxhcmUgUC1jaGFpbiBleHBvcnQgdHJhbnNhY3Rpb24gYnVpbGQgbm90IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIHRoZSBFeHBvcnRlZE91dCB3aGVyZSB0aGUgcmVjaXBpZW50IGFkZHJlc3MgYXJlIHRoZSBzZW5kZXIuXG4gICAqIExhdGVyIGEgaW1wb3J0VHggc2hvdWxkIGNvbXBsZXRlIHRoZSBvcGVyYXRpb25zIHNpZ25pbmcgd2l0aCB0aGUgc2FtZSBrZXlzLlxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgZXhwb3J0ZWRPdXRwdXRzKCk6IHVua25vd25bXSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG59XG4iXX0=
@@ -1,29 +1,118 @@
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
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
+ const statics_1 = require("@bitgo-beta/statics");
37
+ const assert = __importStar(require("assert"));
38
+ const flrp_1 = require("../../src/flrp");
3
39
  const sdk_test_1 = require("@bitgo-beta/sdk-test");
4
40
  const sdk_api_1 = require("@bitgo-beta/sdk-api");
5
- const flrp_1 = require("../../src/flrp");
6
- const statics_1 = require("@bitgo-beta/statics");
7
41
  describe('Flrp', function () {
8
42
  let bitgo;
43
+ const staticsCoin = statics_1.coins.get('flrp');
9
44
  before(function () {
10
45
  bitgo = sdk_test_1.TestBitGo.decorate(sdk_api_1.BitGoAPI, { env: 'mock' });
11
46
  bitgo.initializeTestVars();
12
47
  // Attempt to register the coin symbol; safeRegister is idempotent.
13
48
  bitgo.safeRegister?.('flrp', flrp_1.Flrp.createInstance);
14
49
  });
15
- it('createInstance returns a Flrp instance', function () {
16
- const staticsCoin = statics_1.coins.get('flrp');
17
- const coin = flrp_1.Flrp.createInstance(bitgo, staticsCoin);
18
- coin.should.be.instanceOf(flrp_1.Flrp);
50
+ describe('createInstance', function () {
51
+ it('should return a Flrp instance', function () {
52
+ const coin = flrp_1.Flrp.createInstance(bitgo, staticsCoin);
53
+ assert.ok(coin instanceof flrp_1.Flrp);
54
+ });
55
+ it('should produce distinct objects on multiple calls', function () {
56
+ const a = flrp_1.Flrp.createInstance(bitgo, staticsCoin);
57
+ const b = flrp_1.Flrp.createInstance(bitgo, staticsCoin);
58
+ assert.notStrictEqual(a, b);
59
+ assert.ok(a instanceof flrp_1.Flrp);
60
+ assert.ok(b instanceof flrp_1.Flrp);
61
+ });
62
+ });
63
+ describe('coin properties', function () {
64
+ let coin;
65
+ beforeEach(function () {
66
+ coin = flrp_1.Flrp.createInstance(bitgo, staticsCoin);
67
+ });
68
+ it('should have correct coin family', function () {
69
+ assert.strictEqual(coin.getFamily(), staticsCoin.family);
70
+ });
71
+ it('should have correct coin name', function () {
72
+ assert.strictEqual(coin.getFullName(), staticsCoin.fullName);
73
+ });
74
+ it('should have correct base factor', function () {
75
+ assert.strictEqual(coin.getBaseFactor(), Math.pow(10, staticsCoin.decimalPlaces));
76
+ });
77
+ it('should validate addresses using utils', function () {
78
+ const validAddress = 'flare1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq6f4avh';
79
+ const result = coin.isValidAddress(validAddress);
80
+ assert.strictEqual(typeof result, 'boolean');
81
+ });
82
+ it('should generate key pairs', function () {
83
+ const keyPair = coin.generateKeyPair();
84
+ assert.ok('pub' in keyPair);
85
+ assert.ok('prv' in keyPair);
86
+ if (keyPair.pub && keyPair.prv) {
87
+ assert.strictEqual(typeof keyPair.pub, 'string');
88
+ assert.strictEqual(typeof keyPair.prv, 'string');
89
+ }
90
+ });
91
+ });
92
+ describe('error handling', function () {
93
+ it('should handle construction with invalid parameters', function () {
94
+ assert.throws(() => flrp_1.Flrp.createInstance(null, staticsCoin));
95
+ assert.throws(() => flrp_1.Flrp.createInstance(bitgo, null));
96
+ });
19
97
  });
20
- it('multiple createInstance calls produce distinct objects', function () {
21
- const sc = statics_1.coins.get('flrp');
22
- const a = flrp_1.Flrp.createInstance(bitgo, sc);
23
- const b = flrp_1.Flrp.createInstance(bitgo, sc);
24
- a.should.not.equal(b);
25
- a.should.be.instanceOf(flrp_1.Flrp);
26
- b.should.be.instanceOf(flrp_1.Flrp);
98
+ describe('inheritance and methods', function () {
99
+ let coin;
100
+ beforeEach(function () {
101
+ coin = flrp_1.Flrp.createInstance(bitgo, staticsCoin);
102
+ });
103
+ it('should have required base coin methods', function () {
104
+ assert.ok('getFamily' in coin);
105
+ assert.ok('getFullName' in coin);
106
+ assert.ok('getBaseFactor' in coin);
107
+ assert.ok('isValidAddress' in coin);
108
+ assert.ok('generateKeyPair' in coin);
109
+ });
110
+ it('should handle address validation consistently', function () {
111
+ const validAddress = 'flare1test';
112
+ const invalidAddress = 'invalid-address';
113
+ assert.strictEqual(typeof coin.isValidAddress(validAddress), 'boolean');
114
+ assert.strictEqual(typeof coin.isValidAddress(invalidAddress), 'boolean');
115
+ });
27
116
  });
28
117
  });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxycC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvdW5pdC9mbHJwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsbURBQStEO0FBQy9ELGlEQUErQztBQUMvQyx5Q0FBc0M7QUFDdEMsaURBQTRDO0FBRTVDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7SUFDZixJQUFJLEtBQW1CLENBQUM7SUFFeEIsTUFBTSxDQUFDO1FBQ0wsS0FBSyxHQUFHLG9CQUFTLENBQUMsUUFBUSxDQUFDLGtCQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUN0RCxLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMzQixtRUFBbUU7UUFDbEUsS0FBMEYsQ0FBQyxZQUFZLEVBQUUsQ0FDeEcsTUFBTSxFQUNOLFdBQUksQ0FBQyxjQUFjLENBQ3BCLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyx3Q0FBd0MsRUFBRTtRQUMzQyxNQUFNLFdBQVcsR0FBRyxlQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sSUFBSSxHQUFHLFdBQUksQ0FBQyxjQUFjLENBQUMsS0FBNkIsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsV0FBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsd0RBQXdELEVBQUU7UUFDM0QsTUFBTSxFQUFFLEdBQUcsZUFBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QixNQUFNLENBQUMsR0FBRyxXQUFJLENBQUMsY0FBYyxDQUFDLEtBQTZCLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakUsTUFBTSxDQUFDLEdBQUcsV0FBSSxDQUFDLGNBQWMsQ0FBQyxLQUE2QixFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QixDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsV0FBSSxDQUFDLENBQUM7UUFDN0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFdBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBUZXN0Qml0R28sIFRlc3RCaXRHb0FQSSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay10ZXN0JztcbmltcG9ydCB7IEJpdEdvQVBJIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWFwaSc7XG5pbXBvcnQgeyBGbHJwIH0gZnJvbSAnLi4vLi4vc3JjL2ZscnAnO1xuaW1wb3J0IHsgY29pbnMgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcblxuZGVzY3JpYmUoJ0ZscnAnLCBmdW5jdGlvbiAoKSB7XG4gIGxldCBiaXRnbzogVGVzdEJpdEdvQVBJO1xuXG4gIGJlZm9yZShmdW5jdGlvbiAoKSB7XG4gICAgYml0Z28gPSBUZXN0Qml0R28uZGVjb3JhdGUoQml0R29BUEksIHsgZW52OiAnbW9jaycgfSk7XG4gICAgYml0Z28uaW5pdGlhbGl6ZVRlc3RWYXJzKCk7XG4gICAgLy8gQXR0ZW1wdCB0byByZWdpc3RlciB0aGUgY29pbiBzeW1ib2w7IHNhZmVSZWdpc3RlciBpcyBpZGVtcG90ZW50LlxuICAgIChiaXRnbyBhcyB1bmtub3duIGFzIHsgc2FmZVJlZ2lzdGVyPzogKG46IHN0cmluZywgZjogKGJnOiBCaXRHb0Jhc2UpID0+IHVua25vd24pID0+IHZvaWQgfSkuc2FmZVJlZ2lzdGVyPy4oXG4gICAgICAnZmxycCcsXG4gICAgICBGbHJwLmNyZWF0ZUluc3RhbmNlXG4gICAgKTtcbiAgfSk7XG5cbiAgaXQoJ2NyZWF0ZUluc3RhbmNlIHJldHVybnMgYSBGbHJwIGluc3RhbmNlJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHN0YXRpY3NDb2luID0gY29pbnMuZ2V0KCdmbHJwJyk7XG4gICAgY29uc3QgY29pbiA9IEZscnAuY3JlYXRlSW5zdGFuY2UoYml0Z28gYXMgdW5rbm93biBhcyBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luKTtcbiAgICBjb2luLnNob3VsZC5iZS5pbnN0YW5jZU9mKEZscnApO1xuICB9KTtcblxuICBpdCgnbXVsdGlwbGUgY3JlYXRlSW5zdGFuY2UgY2FsbHMgcHJvZHVjZSBkaXN0aW5jdCBvYmplY3RzJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHNjID0gY29pbnMuZ2V0KCdmbHJwJyk7XG4gICAgY29uc3QgYSA9IEZscnAuY3JlYXRlSW5zdGFuY2UoYml0Z28gYXMgdW5rbm93biBhcyBCaXRHb0Jhc2UsIHNjKTtcbiAgICBjb25zdCBiID0gRmxycC5jcmVhdGVJbnN0YW5jZShiaXRnbyBhcyB1bmtub3duIGFzIEJpdEdvQmFzZSwgc2MpO1xuICAgIGEuc2hvdWxkLm5vdC5lcXVhbChiKTtcbiAgICBhLnNob3VsZC5iZS5pbnN0YW5jZU9mKEZscnApO1xuICAgIGIuc2hvdWxkLmJlLmluc3RhbmNlT2YoRmxycCk7XG4gIH0pO1xufSk7XG4iXX0=
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxycC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvdW5pdC9mbHJwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaURBQTRDO0FBQzVDLCtDQUFpQztBQUNqQyx5Q0FBc0M7QUFFdEMsbURBQStEO0FBQy9ELGlEQUErQztBQUUvQyxRQUFRLENBQUMsTUFBTSxFQUFFO0lBQ2YsSUFBSSxLQUFtQixDQUFDO0lBQ3hCLE1BQU0sV0FBVyxHQUFHLGVBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFdEMsTUFBTSxDQUFDO1FBQ0wsS0FBSyxHQUFHLG9CQUFTLENBQUMsUUFBUSxDQUFDLGtCQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUN0RCxLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMzQixtRUFBbUU7UUFDbEUsS0FBMEYsQ0FBQyxZQUFZLEVBQUUsQ0FDeEcsTUFBTSxFQUNOLFdBQUksQ0FBQyxjQUFjLENBQ3BCLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRTtRQUN6QixFQUFFLENBQUMsK0JBQStCLEVBQUU7WUFDbEMsTUFBTSxJQUFJLEdBQUcsV0FBSSxDQUFDLGNBQWMsQ0FBQyxLQUE2QixFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQzdFLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxZQUFZLFdBQUksQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLG1EQUFtRCxFQUFFO1lBQ3RELE1BQU0sQ0FBQyxHQUFHLFdBQUksQ0FBQyxjQUFjLENBQUMsS0FBNkIsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUMxRSxNQUFNLENBQUMsR0FBRyxXQUFJLENBQUMsY0FBYyxDQUFDLEtBQTZCLEVBQUUsV0FBVyxDQUFDLENBQUM7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d0MsRUFBRTtZQUMzQyxNQUFNLENBQUMsRUFBRSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsQ0FBQztZQUMvQixNQUFNLENBQUMsRUFBRSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsQ0FBQztZQUNqQyxNQUFNLENBQUMsRUFBRSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsQ0FBQztZQUNuQyxNQUFNLENBQUMsRUFBRSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxDQUFDO1lBQ3BDLE1BQU0sQ0FBQyxFQUFFLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsK0NBQStDLEVBQUU7WUFDbEQsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDO1lBQ2xDLE1BQU0sY0FBYyxHQUFHLGlCQUFpQixDQUFDO1lBRXpDLE1BQU0sQ0FBQyxXQUFXLENBQUMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ3hFLE1BQU0sQ0FBQyxXQUFXLENBQUMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzVFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvaW5zIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgKiBhcyBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCB7IEZscnAgfSBmcm9tICcuLi8uLi9zcmMvZmxycCc7XG5pbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBUZXN0Qml0R28sIFRlc3RCaXRHb0FQSSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay10ZXN0JztcbmltcG9ydCB7IEJpdEdvQVBJIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWFwaSc7XG5cbmRlc2NyaWJlKCdGbHJwJywgZnVuY3Rpb24gKCkge1xuICBsZXQgYml0Z286IFRlc3RCaXRHb0FQSTtcbiAgY29uc3Qgc3RhdGljc0NvaW4gPSBjb2lucy5nZXQoJ2ZscnAnKTtcblxuICBiZWZvcmUoZnVuY3Rpb24gKCkge1xuICAgIGJpdGdvID0gVGVzdEJpdEdvLmRlY29yYXRlKEJpdEdvQVBJLCB7IGVudjogJ21vY2snIH0pO1xuICAgIGJpdGdvLmluaXRpYWxpemVUZXN0VmFycygpO1xuICAgIC8vIEF0dGVtcHQgdG8gcmVnaXN0ZXIgdGhlIGNvaW4gc3ltYm9sOyBzYWZlUmVnaXN0ZXIgaXMgaWRlbXBvdGVudC5cbiAgICAoYml0Z28gYXMgdW5rbm93biBhcyB7IHNhZmVSZWdpc3Rlcj86IChuOiBzdHJpbmcsIGY6IChiZzogQml0R29CYXNlKSA9PiB1bmtub3duKSA9PiB2b2lkIH0pLnNhZmVSZWdpc3Rlcj8uKFxuICAgICAgJ2ZscnAnLFxuICAgICAgRmxycC5jcmVhdGVJbnN0YW5jZVxuICAgICk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdjcmVhdGVJbnN0YW5jZScsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnc2hvdWxkIHJldHVybiBhIEZscnAgaW5zdGFuY2UnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBjb2luID0gRmxycC5jcmVhdGVJbnN0YW5jZShiaXRnbyBhcyB1bmtub3duIGFzIEJpdEdvQmFzZSwgc3RhdGljc0NvaW4pO1xuICAgICAgYXNzZXJ0Lm9rKGNvaW4gaW5zdGFuY2VvZiBGbHJwKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcHJvZHVjZSBkaXN0aW5jdCBvYmplY3RzIG9uIG11bHRpcGxlIGNhbGxzJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgYSA9IEZscnAuY3JlYXRlSW5zdGFuY2UoYml0Z28gYXMgdW5rbm93biBhcyBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luKTtcbiAgICAgIGNvbnN0IGIgPSBGbHJwLmNyZWF0ZUluc3RhbmNlKGJpdGdvIGFzIHVua25vd24gYXMgQml0R29CYXNlLCBzdGF0aWNzQ29pbik7XG4gICAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoYSwgYik7XG4gICAgICBhc3NlcnQub2soYSBpbnN0YW5jZW9mIEZscnApO1xuICAgICAgYXNzZXJ0Lm9rKGIgaW5zdGFuY2VvZiBGbHJwKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2NvaW4gcHJvcGVydGllcycsIGZ1bmN0aW9uICgpIHtcbiAgICBsZXQgY29pbjogRmxycDtcblxuICAgIGJlZm9yZUVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgY29pbiA9IEZscnAuY3JlYXRlSW5zdGFuY2UoYml0Z28gYXMgdW5rbm93biBhcyBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luKSBhcyBGbHJwO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBoYXZlIGNvcnJlY3QgY29pbiBmYW1pbHknLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoY29pbi5nZXRGYW1pbHkoKSwgc3RhdGljc0NvaW4uZmFtaWx5KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgaGF2ZSBjb3JyZWN0IGNvaW4gbmFtZScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChjb2luLmdldEZ1bGxOYW1lKCksIHN0YXRpY3NDb2luLmZ1bGxOYW1lKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgaGF2ZSBjb3JyZWN0IGJhc2UgZmFjdG9yJywgZnVuY3Rpb24gKCkge1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGNvaW4uZ2V0QmFzZUZhY3RvcigpLCBNYXRoLnBvdygxMCwgc3RhdGljc0NvaW4uZGVjaW1hbFBsYWNlcykpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBhZGRyZXNzZXMgdXNpbmcgdXRpbHMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCB2YWxpZEFkZHJlc3MgPSAnZmxhcmUxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcTZmNGF2aCc7XG4gICAgICBjb25zdCByZXN1bHQgPSBjb2luLmlzVmFsaWRBZGRyZXNzKHZhbGlkQWRkcmVzcyk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIHJlc3VsdCwgJ2Jvb2xlYW4nKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZ2VuZXJhdGUga2V5IHBhaXJzJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3Qga2V5UGFpciA9IGNvaW4uZ2VuZXJhdGVLZXlQYWlyKCk7XG4gICAgICBhc3NlcnQub2soJ3B1YicgaW4ga2V5UGFpcik7XG4gICAgICBhc3NlcnQub2soJ3BydicgaW4ga2V5UGFpcik7XG4gICAgICBpZiAoa2V5UGFpci5wdWIgJiYga2V5UGFpci5wcnYpIHtcbiAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBrZXlQYWlyLnB1YiwgJ3N0cmluZycpO1xuICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIGtleVBhaXIucHJ2LCAnc3RyaW5nJyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdlcnJvciBoYW5kbGluZycsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnc2hvdWxkIGhhbmRsZSBjb25zdHJ1Y3Rpb24gd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhc3NlcnQudGhyb3dzKCgpID0+IEZscnAuY3JlYXRlSW5zdGFuY2UobnVsbCBhcyB1bmtub3duIGFzIEJpdEdvQmFzZSwgc3RhdGljc0NvaW4pKTtcbiAgICAgIGFzc2VydC50aHJvd3MoKCkgPT4gRmxycC5jcmVhdGVJbnN0YW5jZShiaXRnbyBhcyB1bmtub3duIGFzIEJpdEdvQmFzZSwgbnVsbCBhcyB1bmtub3duIGFzIHR5cGVvZiBzdGF0aWNzQ29pbikpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnaW5oZXJpdGFuY2UgYW5kIG1ldGhvZHMnLCBmdW5jdGlvbiAoKSB7XG4gICAgbGV0IGNvaW46IEZscnA7XG5cbiAgICBiZWZvcmVFYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvaW4gPSBGbHJwLmNyZWF0ZUluc3RhbmNlKGJpdGdvIGFzIHVua25vd24gYXMgQml0R29CYXNlLCBzdGF0aWNzQ29pbikgYXMgRmxycDtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgaGF2ZSByZXF1aXJlZCBiYXNlIGNvaW4gbWV0aG9kcycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFzc2VydC5vaygnZ2V0RmFtaWx5JyBpbiBjb2luKTtcbiAgICAgIGFzc2VydC5vaygnZ2V0RnVsbE5hbWUnIGluIGNvaW4pO1xuICAgICAgYXNzZXJ0Lm9rKCdnZXRCYXNlRmFjdG9yJyBpbiBjb2luKTtcbiAgICAgIGFzc2VydC5vaygnaXNWYWxpZEFkZHJlc3MnIGluIGNvaW4pO1xuICAgICAgYXNzZXJ0Lm9rKCdnZW5lcmF0ZUtleVBhaXInIGluIGNvaW4pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBoYW5kbGUgYWRkcmVzcyB2YWxpZGF0aW9uIGNvbnNpc3RlbnRseScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHZhbGlkQWRkcmVzcyA9ICdmbGFyZTF0ZXN0JztcbiAgICAgIGNvbnN0IGludmFsaWRBZGRyZXNzID0gJ2ludmFsaWQtYWRkcmVzcyc7XG5cbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbCh0eXBlb2YgY29pbi5pc1ZhbGlkQWRkcmVzcyh2YWxpZEFkZHJlc3MpLCAnYm9vbGVhbicpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBjb2luLmlzVmFsaWRBZGRyZXNzKGludmFsaWRBZGRyZXNzKSwgJ2Jvb2xlYW4nKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=atomicTransactionBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atomicTransactionBuilder.d.ts","sourceRoot":"","sources":["../../../../test/unit/lib/atomicTransactionBuilder.ts"],"names":[],"mappings":""}