@bitgo-beta/sdk-coin-xrp 1.3.3-alpha.400 → 1.3.3-alpha.402

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 (58) hide show
  1. package/package.json +6 -6
  2. package/dist/src/index.d.ts +0 -6
  3. package/dist/src/index.d.ts.map +0 -1
  4. package/dist/src/index.js +0 -22
  5. package/dist/src/lib/accountSetBuilder.d.ts +0 -18
  6. package/dist/src/lib/accountSetBuilder.d.ts.map +0 -1
  7. package/dist/src/lib/accountSetBuilder.js +0 -63
  8. package/dist/src/lib/constants.d.ts +0 -8
  9. package/dist/src/lib/constants.d.ts.map +0 -1
  10. package/dist/src/lib/constants.js +0 -30
  11. package/dist/src/lib/iface.d.ts +0 -109
  12. package/dist/src/lib/iface.d.ts.map +0 -1
  13. package/dist/src/lib/iface.js +0 -11
  14. package/dist/src/lib/index.d.ts +0 -14
  15. package/dist/src/lib/index.d.ts.map +0 -1
  16. package/dist/src/lib/index.js +0 -43
  17. package/dist/src/lib/keyPair.d.ts +0 -33
  18. package/dist/src/lib/keyPair.d.ts.map +0 -1
  19. package/dist/src/lib/keyPair.js +0 -118
  20. package/dist/src/lib/tokenTransferBuilder.d.ts +0 -29
  21. package/dist/src/lib/tokenTransferBuilder.d.ts.map +0 -1
  22. package/dist/src/lib/tokenTransferBuilder.js +0 -91
  23. package/dist/src/lib/transaction.d.ts +0 -62
  24. package/dist/src/lib/transaction.d.ts.map +0 -1
  25. package/dist/src/lib/transaction.js +0 -381
  26. package/dist/src/lib/transactionBuilder.d.ts +0 -72
  27. package/dist/src/lib/transactionBuilder.d.ts.map +0 -1
  28. package/dist/src/lib/transactionBuilder.js +0 -263
  29. package/dist/src/lib/transactionBuilderFactory.d.ts +0 -39
  30. package/dist/src/lib/transactionBuilderFactory.d.ts.map +0 -1
  31. package/dist/src/lib/transactionBuilderFactory.js +0 -97
  32. package/dist/src/lib/transferBuilder.d.ts +0 -28
  33. package/dist/src/lib/transferBuilder.d.ts.map +0 -1
  34. package/dist/src/lib/transferBuilder.js +0 -82
  35. package/dist/src/lib/trustsetBuilder.d.ts +0 -21
  36. package/dist/src/lib/trustsetBuilder.d.ts.map +0 -1
  37. package/dist/src/lib/trustsetBuilder.js +0 -72
  38. package/dist/src/lib/utils.d.ts +0 -78
  39. package/dist/src/lib/utils.d.ts.map +0 -1
  40. package/dist/src/lib/utils.js +0 -304
  41. package/dist/src/lib/walletInitializationBuilder.d.ts +0 -19
  42. package/dist/src/lib/walletInitializationBuilder.d.ts.map +0 -1
  43. package/dist/src/lib/walletInitializationBuilder.js +0 -76
  44. package/dist/src/register.d.ts +0 -3
  45. package/dist/src/register.d.ts.map +0 -1
  46. package/dist/src/register.js +0 -15
  47. package/dist/src/ripple.d.ts +0 -117
  48. package/dist/src/ripple.d.ts.map +0 -1
  49. package/dist/src/ripple.js +0 -125
  50. package/dist/src/txrp.d.ts +0 -25
  51. package/dist/src/txrp.d.ts.map +0 -1
  52. package/dist/src/txrp.js +0 -32
  53. package/dist/src/xrp.d.ts +0 -116
  54. package/dist/src/xrp.d.ts.map +0 -1
  55. package/dist/src/xrp.js +0 -720
  56. package/dist/src/xrpToken.d.ts +0 -22
  57. package/dist/src/xrpToken.d.ts.map +0 -1
  58. package/dist/src/xrpToken.js +0 -61
@@ -1,72 +0,0 @@
1
- import { BaseAddress, BaseKey, BaseTransaction, BaseTransactionBuilder, TransactionType } from '@bitgo-beta/sdk-core';
2
- import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
- import BigNumber from 'bignumber.js';
4
- import { Signer } from 'xrpl/dist/npm/models/common';
5
- import { XrpTransaction } from './iface';
6
- import { KeyPair } from './keyPair';
7
- import { Transaction } from './transaction';
8
- /**
9
- * XRP transaction builder.
10
- */
11
- export declare abstract class TransactionBuilder extends BaseTransactionBuilder {
12
- protected _transaction: Transaction;
13
- protected _sender: string;
14
- protected _fee?: string;
15
- protected _sequence?: number;
16
- protected _lastLedgerSequence?: number;
17
- protected _flags?: number;
18
- protected _signingPubKey?: string;
19
- protected _signers: Signer[];
20
- protected _txnSignature?: string;
21
- protected _specificFields: XrpTransaction;
22
- protected _isMultiSig?: boolean;
23
- protected _keyPairs: KeyPair[];
24
- constructor(_coinConfig: Readonly<CoinConfig>);
25
- /**
26
- * The transaction type.
27
- */
28
- protected abstract get transactionType(): TransactionType;
29
- /**
30
- * Set the transaction signature type to multi sig.
31
- **/
32
- setMultiSig(): TransactionBuilder;
33
- /**
34
- * Set the transaction signature type to single sig.
35
- **/
36
- setSingleSig(): TransactionBuilder;
37
- /**
38
- * Sets the sender of this transaction.
39
- *
40
- * @param {string} address the account that is sending this transaction
41
- * @returns {TransactionBuilder} This transaction builder
42
- */
43
- sender(address: string): TransactionBuilder;
44
- sequence(sequence: number): TransactionBuilder;
45
- fee(fee: string): TransactionBuilder;
46
- flags(flags: number): TransactionBuilder;
47
- lastLedgerSequence(lastLedgerSequence: number): TransactionBuilder;
48
- /**
49
- * Initialize the transaction builder fields using the decoded transaction data
50
- *
51
- * @param {Transaction} tx the transaction data
52
- */
53
- initBuilder(tx: Transaction): void;
54
- /** @inheritdoc */
55
- protected fromImplementation(rawTransaction: string): BaseTransaction;
56
- /** @inheritdoc */
57
- protected signImplementation(key: BaseKey): Transaction;
58
- private checkDuplicatedKeys;
59
- /** @inheritdoc */
60
- protected buildImplementation(): Promise<Transaction>;
61
- private buildXrpTransaction;
62
- validateKey(key: BaseKey): void;
63
- validateIsMultiSig(): void;
64
- /** @inheritdoc */
65
- validateTransaction(): void;
66
- validateAddress(address: BaseAddress): void;
67
- validateValue(value: BigNumber): void;
68
- validateRawTransaction(rawTransaction: string): void;
69
- protected get transaction(): Transaction;
70
- protected set transaction(transaction: Transaction);
71
- }
72
- //# sourceMappingURL=transactionBuilder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,OAAO,EACP,eAAe,EACf,sBAAsB,EAGtB,eAAe,EAEhB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,SAAS,MAAM,cAAc,CAAC;AAGrC,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C;;GAEG;AACH,8BAAsB,kBAAmB,SAAQ,sBAAsB;IACrE,SAAS,CAAC,YAAY,EAAE,WAAW,CAAC;IACpC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACvC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAK;IAC9B,SAAS,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAC7B,SAAS,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,eAAe,EAAE,cAAc,CAAC;IAE1C,SAAS,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAEhC,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC;gBAEnB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAO7C;;OAEG;IACH,SAAS,CAAC,QAAQ,KAAK,eAAe,IAAI,eAAe,CAAC;IAE1D;;QAEI;IACJ,WAAW,IAAI,kBAAkB;IAKjC;;QAEI;IACJ,YAAY,IAAI,kBAAkB;IAKlC;;;;;OAKG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB;IAM3C,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB;IAQ9C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB;IAYpC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB;IAQxC,kBAAkB,CAAC,kBAAkB,EAAE,MAAM,GAAG,kBAAkB;IAQlE;;;;OAIG;IACH,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IA0BlC,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,eAAe;IAQrE,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW;IAevD,OAAO,CAAC,mBAAmB;IAiB3B,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAY3D,OAAO,CAAC,mBAAmB;IA0B3B,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAa/B,kBAAkB,IAAI,IAAI;IAM1B,kBAAkB;IAClB,mBAAmB,IAAI,IAAI;IAY3B,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAM3C,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAMrC,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAIpD,SAAS,KAAK,WAAW,IAAI,WAAW,CAEvC;IAED,SAAS,KAAK,WAAW,CAAC,WAAW,EAAE,WAAW,EAEjD;CACF"}
@@ -1,263 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.TransactionBuilder = void 0;
40
- const sdk_core_1 = require("@bitgo-beta/sdk-core");
41
- const _ = __importStar(require("lodash"));
42
- const xrpl = __importStar(require("xrpl"));
43
- const keyPair_1 = require("./keyPair");
44
- const transaction_1 = require("./transaction");
45
- const utils_1 = __importDefault(require("./utils"));
46
- /**
47
- * XRP transaction builder.
48
- */
49
- class TransactionBuilder extends sdk_core_1.BaseTransactionBuilder {
50
- constructor(_coinConfig) {
51
- super(_coinConfig);
52
- this._flags = 0;
53
- this.transaction = new transaction_1.Transaction(_coinConfig);
54
- this._keyPairs = [];
55
- this._signers = [];
56
- }
57
- /**
58
- * Set the transaction signature type to multi sig.
59
- **/
60
- setMultiSig() {
61
- this._isMultiSig = true;
62
- return this;
63
- }
64
- /**
65
- * Set the transaction signature type to single sig.
66
- **/
67
- setSingleSig() {
68
- this._isMultiSig = false;
69
- return this;
70
- }
71
- /**
72
- * Sets the sender of this transaction.
73
- *
74
- * @param {string} address the account that is sending this transaction
75
- * @returns {TransactionBuilder} This transaction builder
76
- */
77
- sender(address) {
78
- this.validateAddress({ address });
79
- this._sender = address;
80
- return this;
81
- }
82
- sequence(sequence) {
83
- if (typeof sequence !== 'number' || sequence < 0) {
84
- throw new Error(`sequence ${sequence} is not valid`);
85
- }
86
- this._sequence = sequence;
87
- return this;
88
- }
89
- fee(fee) {
90
- if (typeof fee !== 'string') {
91
- throw new Error(`fee type ${typeof fee} must be a string`);
92
- }
93
- const feeBigInt = BigInt(fee);
94
- if (feeBigInt < 0) {
95
- throw new Error(`fee ${fee} is not valid`);
96
- }
97
- this._fee = fee;
98
- return this;
99
- }
100
- flags(flags) {
101
- if (typeof flags !== 'number' || flags < 0) {
102
- throw new Error(`flags ${flags} is not valid`);
103
- }
104
- this._flags = flags;
105
- return this;
106
- }
107
- lastLedgerSequence(lastLedgerSequence) {
108
- if (typeof lastLedgerSequence !== 'number' || lastLedgerSequence < 0) {
109
- throw new Error(`lastLedgerSequence ${lastLedgerSequence} is not valid`);
110
- }
111
- this._lastLedgerSequence = lastLedgerSequence;
112
- return this;
113
- }
114
- /**
115
- * Initialize the transaction builder fields using the decoded transaction data
116
- *
117
- * @param {Transaction} tx the transaction data
118
- */
119
- initBuilder(tx) {
120
- this._transaction = tx;
121
- const txData = tx.toJson();
122
- if (!_.isUndefined(txData.isMultiSig)) {
123
- txData.isMultiSig ? this.setMultiSig() : this.setSingleSig();
124
- }
125
- this.sender(txData.from);
126
- if (txData.fee) {
127
- this.fee(txData.fee);
128
- }
129
- if (txData.sequence) {
130
- this.sequence(txData.sequence);
131
- }
132
- if (txData.lastLedgerSequence) {
133
- this.lastLedgerSequence(txData.lastLedgerSequence);
134
- }
135
- if (txData.flags) {
136
- this.flags(txData.flags);
137
- }
138
- this._signers = txData.signers || [];
139
- this._signingPubKey = txData.signingPubKey;
140
- this._txnSignature = txData.txnSignature;
141
- }
142
- /** @inheritdoc */
143
- fromImplementation(rawTransaction) {
144
- const tx = new transaction_1.Transaction(this._coinConfig);
145
- this.validateRawTransaction(rawTransaction);
146
- tx.fromRawTransaction(rawTransaction);
147
- this.initBuilder(tx);
148
- return this.transaction;
149
- }
150
- /** @inheritdoc */
151
- signImplementation(key) {
152
- this.validateKey(key);
153
- this.checkDuplicatedKeys(key);
154
- let prv = key.key;
155
- if (prv.startsWith('xprv')) {
156
- const rawPrv = (0, sdk_core_1.xprvToRawPrv)(prv);
157
- prv = new keyPair_1.KeyPair({ prv: rawPrv }).getKeys().prv;
158
- }
159
- const signer = new keyPair_1.KeyPair({ prv: prv });
160
- this._keyPairs.push(signer);
161
- return this.transaction;
162
- }
163
- checkDuplicatedKeys(key) {
164
- const keyPair = new keyPair_1.KeyPair({ prv: key.key }).getKeys();
165
- const keyPairPrv = keyPair.prv;
166
- this._keyPairs.forEach((kp) => {
167
- const prv = kp.getKeys().prv;
168
- if (prv.toLowerCase() === keyPairPrv.toLowerCase()) {
169
- throw new sdk_core_1.SigningError('Repeated sign');
170
- }
171
- });
172
- this._signers.forEach((signer) => {
173
- if (signer.Signer.SigningPubKey.toLowerCase() === keyPair.pub.toLowerCase()) {
174
- throw new sdk_core_1.SigningError('Repeated sign');
175
- }
176
- });
177
- }
178
- /** @inheritdoc */
179
- async buildImplementation() {
180
- this.transaction.xrpTransaction = this.buildXrpTransaction();
181
- this.transaction.setTransactionType(this.transactionType);
182
- this.transaction.loadInputsAndOutputs();
183
- if (this._keyPairs.length > 0) {
184
- this.validateIsMultiSig();
185
- this.transaction.setMultiSigValue(this._isMultiSig);
186
- this.transaction.sign(this._keyPairs);
187
- }
188
- return this.transaction;
189
- }
190
- buildXrpTransaction() {
191
- const commonFields = {
192
- Account: this._sender,
193
- Fee: this._fee,
194
- Sequence: this._sequence,
195
- Flags: this._flags,
196
- };
197
- if (this._signingPubKey) {
198
- commonFields.SigningPubKey = this._signingPubKey;
199
- }
200
- if (this._txnSignature) {
201
- commonFields.TxnSignature = this._txnSignature;
202
- }
203
- if (this._signers.length > 0) {
204
- commonFields.Signers = this._signers;
205
- }
206
- if (this._lastLedgerSequence) {
207
- commonFields.LastLedgerSequence = this._lastLedgerSequence;
208
- }
209
- const tx = Object.assign(commonFields, this._specificFields);
210
- xrpl.validate(tx);
211
- return tx;
212
- }
213
- validateKey(key) {
214
- let keyPair;
215
- try {
216
- keyPair = new keyPair_1.KeyPair({ prv: key.key });
217
- }
218
- catch {
219
- throw new sdk_core_1.BuildTransactionError('Invalid key');
220
- }
221
- if (!keyPair.getKeys().prv) {
222
- throw new sdk_core_1.BuildTransactionError('Invalid key');
223
- }
224
- }
225
- validateIsMultiSig() {
226
- if (_.isUndefined(this._isMultiSig)) {
227
- throw new sdk_core_1.BuildTransactionError('Signature type is not defined. Please call setMultiSig or setSingleSig.');
228
- }
229
- }
230
- /** @inheritdoc */
231
- validateTransaction() {
232
- if (this._sender === undefined) {
233
- throw new sdk_core_1.BuildTransactionError('Invalid transaction: missing sender');
234
- }
235
- if (this._fee === undefined) {
236
- throw new sdk_core_1.BuildTransactionError('Invalid transaction: missing fee');
237
- }
238
- if (this._sequence === undefined) {
239
- throw new sdk_core_1.BuildTransactionError('Invalid transaction: missing sequence');
240
- }
241
- }
242
- validateAddress(address) {
243
- if (!utils_1.default.isValidAddress(address.address)) {
244
- throw new sdk_core_1.BuildTransactionError('Invalid address ' + address.address);
245
- }
246
- }
247
- validateValue(value) {
248
- if (value.isLessThan(0)) {
249
- throw new sdk_core_1.BuildTransactionError('Value cannot be less than zero');
250
- }
251
- }
252
- validateRawTransaction(rawTransaction) {
253
- utils_1.default.validateRawTransaction(rawTransaction);
254
- }
255
- get transaction() {
256
- return this._transaction;
257
- }
258
- set transaction(transaction) {
259
- this._transaction = transaction;
260
- }
261
- }
262
- exports.TransactionBuilder = TransactionBuilder;
263
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBUzhCO0FBRzlCLDBDQUE0QjtBQUM1QiwyQ0FBNkI7QUFHN0IsdUNBQW9DO0FBQ3BDLCtDQUE0QztBQUM1QyxvREFBNEI7QUFFNUI7O0dBRUc7QUFDSCxNQUFzQixrQkFBbUIsU0FBUSxpQ0FBc0I7SUFnQnJFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBWFgsV0FBTSxHQUFZLENBQUMsQ0FBQztRQVk1QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUkseUJBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBT0Q7O1FBRUk7SUFDSixXQUFXO1FBQ1QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDeEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7O1FBRUk7SUFDSixZQUFZO1FBQ1YsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsT0FBZTtRQUNwQixJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxRQUFRLENBQUMsUUFBZ0I7UUFDdkIsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLElBQUksUUFBUSxHQUFH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SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWdCO1FBQzVCLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sSUFBSSxnQ0FBcUIsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ3BFLENBQUM7SUFDSCxDQUFDO0lBRUQsc0JBQXNCLENBQUMsY0FBc0I7UUFDM0MsZUFBSyxDQUFDLHNCQUFzQixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxJQUFjLFdBQVc7UUFDdkIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFjLFdBQVcsQ0FBQyxXQUF3QjtRQUNoRCxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztJQUNsQyxDQUFDO0NBQ0Y7QUFuUUQsZ0RBbVFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQmFzZUFkZHJlc3MsXG4gIEJhc2VLZXksXG4gIEJhc2VUcmFuc2FjdGlvbixcbiAgQmFzZVRyYW5zYWN0aW9uQnVpbGRlcixcbiAgQnVpbGRUcmFuc2FjdGlvbkVycm9yLFxuICBTaWduaW5nRXJyb3IsXG4gIFRyYW5zYWN0aW9uVHlwZSxcbiAgeHBydlRvUmF3UHJ2LFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgKiBhcyB4cnBsIGZyb20gJ3hycGwnO1xuaW1wb3J0IHsgU2lnbmVyIH0gZnJvbSAneHJwbC9kaXN0L25wbS9tb2RlbHMvY29tbW9uJztcbmltcG9ydCB7IFhycFRyYW5zYWN0aW9uIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBLZXlQYWlyIH0gZnJvbSAnLi9rZXlQYWlyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbi8qKlxuICogWFJQIHRyYW5zYWN0aW9uIGJ1aWxkZXIuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUcmFuc2FjdGlvbkJ1aWxkZXIgZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJvdGVjdGVkIF90cmFuc2FjdGlvbjogVHJhbnNhY3Rpb247XG4gIHByb3RlY3RlZCBfc2VuZGVyOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfZmVlPzogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX3NlcXVlbmNlPzogbnVtYmVyO1xuICBwcm90ZWN0ZWQgX2xhc3RMZWRnZXJTZXF1ZW5jZT86IG51bWJlcjtcbiAgcHJvdGVjdGVkIF9mbGFncz86IG51bWJlciA9IDA7XG4gIHByb3RlY3RlZCBfc2lnbmluZ1B1YktleT86IHN0cmluZztcbiAgcHJvdGVjdGVkIF9zaWduZXJzOiBTaWduZXJbXTtcbiAgcHJvdGVjdGVkIF90eG5TaWduYXR1cmU/OiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfc3BlY2lmaWNGaWVsZHM6IFhycFRyYW5zYWN0aW9uO1xuXG4gIHByb3RlY3RlZCBfaXNNdWx0aVNpZz86IGJvb2xlYW47XG5cbiAgcHJvdGVjdGVkIF9rZXlQYWlyczogS2V5UGFpcltdO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uID0gbmV3IFRyYW5zYWN0aW9uKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl9rZXlQYWlycyA9IFtdO1xuICAgIHRoaXMuX3NpZ25lcnMgPSBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgdHJhbnNhY3Rpb24gdHlwZS5cbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZTtcblxuICAvKipcbiAgICogU2V0IHRoZSB0cmFuc2FjdGlvbiBzaWduYXR1cmUgdHlwZSB0byBtdWx0aSBzaWcuXG4gICAqKi9cbiAgc2V0TXVsdGlTaWcoKTogVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgICB0aGlzLl9pc011bHRpU2lnID0gdHJ1ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHRyYW5zYWN0aW9uIHNpZ25hdHVyZSB0eXBlIHRvIHNpbmdsZSBzaWcuXG4gICAqKi9cbiAgc2V0U2luZ2xlU2lnKCk6IFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gICAgdGhpcy5faXNNdWx0aVNpZyA9IGZhbHNlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHNlbmRlciBvZiB0aGlzIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYWRkcmVzcyB0aGUgYWNjb3VudCB0aGF0IGlzIHNlbmRpbmcgdGhpcyB0cmFuc2FjdGlvblxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSBUaGlzIHRyYW5zYWN0aW9uIGJ1aWxkZXJcbiAgICovXG4gIHNlbmRlcihhZGRyZXNzOiBzdHJpbmcpOiBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIHRoaXMudmFsaWRhdGVBZGRyZXNzKHsgYWRkcmVzcyB9KTtcbiAgICB0aGlzLl9zZW5kZXIgPSBhZGRyZXNzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgc2VxdWVuY2Uoc2VxdWVuY2U6IG51bWJlcik6IFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gICAgaWYgKHR5cGVvZiBzZXF1ZW5jZSAhPT0gJ251bWJlcicgfHwgc2VxdWVuY2UgPCAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHNlcXVlbmNlICR7c2VxdWVuY2V9IGlzIG5vdCB2YWxpZGApO1xuICAgIH1cbiAgICB0aGlzLl9zZXF1ZW5jZSA9IHNlcXVlbmNlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgZmVlKGZlZTogc3RyaW5nKTogVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgICBpZiAodHlwZW9mIGZlZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgZmVlIHR5cGUgJHt0eXBlb2YgZmVlfSBtdXN0IGJlIGEgc3RyaW5nYCk7XG4gICAgfVxuICAgIGNvbnN0IGZlZUJpZ0ludCA9IEJpZ0ludChmZWUpO1xuICAgIGlmIChmZWVCaWdJbnQgPCAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGZlZSAke2ZlZX0gaXMgbm90IHZhbGlkYCk7XG4gICAgfVxuICAgIHRoaXMuX2ZlZSA9IGZlZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGZsYWdzKGZsYWdzOiBudW1iZXIpOiBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIGlmICh0eXBlb2YgZmxhZ3MgIT09ICdudW1iZXInIHx8IGZsYWdzIDwgMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBmbGFncyAke2ZsYWdzfSBpcyBub3QgdmFsaWRgKTtcbiAgICB9XG4gICAgdGhpcy5fZmxhZ3MgPSBmbGFncztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGxhc3RMZWRnZXJTZXF1ZW5jZShsYXN0TGVkZ2VyU2VxdWVuY2U6IG51bWJlcik6IFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gICAgaWYgKHR5cGVvZiBsYXN0TGVkZ2VyU2VxdWVuY2UgIT09ICdudW1iZXInIHx8IGxhc3RMZWRnZXJTZXF1ZW5jZSA8IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgbGFzdExlZGdlclNlcXVlbmNlICR7bGFzdExlZGdlclNlcXVlbmNlfSBpcyBub3QgdmFsaWRgKTtcbiAgICB9XG4gICAgdGhpcy5fbGFzdExlZGdlclNlcXVlbmNlID0gbGFzdExlZGdlclNlcXVlbmNlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIHRyYW5zYWN0aW9uIGJ1aWxkZXIgZmllbGRzIHVzaW5nIHRoZSBkZWNvZGVkIHRyYW5zYWN0aW9uIGRhdGFcbiAgICpcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvbn0gdHggdGhlIHRyYW5zYWN0aW9uIGRhdGFcbiAgICovXG4gIGluaXRCdWlsZGVyKHR4OiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gdHg7XG4gICAgY29uc3QgdHhEYXRhID0gdHgudG9Kc29uKCk7XG5cbiAgICBpZiAoIV8uaXNVbmRlZmluZWQodHhEYXRhLmlzTXVsdGlTaWcpKSB7XG4gICAgICB0eERhdGEuaXNNdWx0aVNpZyA/IHRoaXMuc2V0TXVsdGlTaWcoKSA6IHRoaXMuc2V0U2luZ2xlU2lnKCk7XG4gICAgfVxuXG4gICAgdGhpcy5zZW5kZXIodHhEYXRhLmZyb20pO1xuICAgIGlmICh0eERhdGEuZmVlKSB7XG4gICAgICB0aGlzLmZlZSh0eERhdGEuZmVlKTtcbiAgICB9XG4gICAgaWYgKHR4RGF0YS5zZXF1ZW5jZSkge1xuICAgICAgdGhpcy5zZXF1ZW5jZSh0eERhdGEuc2VxdWVuY2UpO1xuICAgIH1cbiAgICBpZiAodHhEYXRhLmxhc3RMZWRnZXJTZXF1ZW5jZSkge1xuICAgICAgdGhpcy5sYXN0TGVkZ2VyU2VxdWVuY2UodHhEYXRhLmxhc3RMZWRnZXJTZXF1ZW5jZSk7XG4gICAgfVxuICAgIGlmICh0eERhdGEuZmxhZ3MpIHtcbiAgICAgIHRoaXMuZmxhZ3ModHhEYXRhLmZsYWdzKTtcbiAgICB9XG4gICAgdGhpcy5fc2lnbmVycyA9IHR4RGF0YS5zaWduZXJzIHx8IFtdO1xuICAgIHRoaXMuX3NpZ25pbmdQdWJLZXkgPSB0eERhdGEuc2lnbmluZ1B1YktleTtcbiAgICB0aGlzLl90eG5TaWduYXR1cmUgPSB0eERhdGEudHhuU2lnbmF0dXJlO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBmcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IEJhc2VUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgdHggPSBuZXcgVHJhbnNhY3Rpb24odGhpcy5fY29pbkNvbmZpZyk7XG4gICAgdGhpcy52YWxpZGF0ZVJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICB0eC5mcm9tUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIHRoaXMuaW5pdEJ1aWxkZXIodHgpO1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBzaWduSW1wbGVtZW50YXRpb24oa2V5OiBCYXNlS2V5KTogVHJhbnNhY3Rpb24ge1xuICAgIHRoaXMudmFsaWRhdGVLZXkoa2V5KTtcbiAgICB0aGlzLmNoZWNrRHVwbGljYXRlZEtleXMoa2V5KTtcbiAgICBsZXQgcHJ2ID0ga2V5LmtleTtcbiAgICBpZiAocHJ2LnN0YXJ0c1dpdGgoJ3hwcnYnKSkge1xuICAgICAgY29uc3QgcmF3UHJ2ID0geHBydlRvUmF3UHJ2KHBydik7XG4gICAgICBwcnYgPSBuZXcgS2V5UGFpcih7IHBydjogcmF3UHJ2IH0pLmdldEtleXMoKS5wcnY7XG4gICAgfVxuICAgIGNvbnN0IHNpZ25lciA9IG5ldyBLZXlQYWlyKHsgcHJ2OiBwcnYgfSk7XG5cbiAgICB0aGlzLl9rZXlQYWlycy5wdXNoKHNpZ25lcik7XG5cbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tEdXBsaWNhdGVkS2V5cyhrZXk6IEJhc2VLZXkpIHtcbiAgICBjb25zdCBrZXlQYWlyID0gbmV3IEtleVBhaXIoeyBwcnY6IGtleS5rZXkgfSkuZ2V0S2V5cygpO1xuICAgIGNvbnN0IGtleVBhaXJQcnYgPSBrZXlQYWlyLnBydiBhcyBzdHJpbmc7XG5cbiAgICB0aGlzLl9rZXlQYWlycy5mb3JFYWNoKChrcCkgPT4ge1xuICAgICAgY29uc3QgcHJ2ID0ga3AuZ2V0S2V5cygpLnBydiBhcyBzdHJpbmc7XG4gICAgICBpZiAocHJ2LnRvTG93ZXJDYXNlKCkgPT09IGtleVBhaXJQcnYudG9Mb3dlckNhc2UoKSkge1xuICAgICAgICB0aHJvdyBuZXcgU2lnbmluZ0Vycm9yKCdSZXBlYXRlZCBzaWduJyk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5fc2lnbmVycy5mb3JFYWNoKChzaWduZXIpID0+IHtcbiAgICAgIGlmIChzaWduZXIuU2lnbmVyLlNpZ25pbmdQdWJLZXkudG9Mb3dlckNhc2UoKSA9PT0ga2V5UGFpci5wdWIudG9Mb3dlckNhc2UoKSkge1xuICAgICAgICB0aHJvdyBuZXcgU2lnbmluZ0Vycm9yKCdSZXBlYXRlZCBzaWduJyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkSW1wbGVtZW50YXRpb24oKTogUHJvbWlzZTxUcmFuc2FjdGlvbj4ge1xuICAgIHRoaXMudHJhbnNhY3Rpb24ueHJwVHJhbnNhY3Rpb24gPSB0aGlzLmJ1aWxkWHJwVHJhbnNhY3Rpb24oKTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnNldFRyYW5zYWN0aW9uVHlwZSh0aGlzLnRyYW5zYWN0aW9uVHlwZSk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5sb2FkSW5wdXRzQW5kT3V0cHV0cygpO1xuICAgIGlmICh0aGlzLl9rZXlQYWlycy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnZhbGlkYXRlSXNNdWx0aVNpZygpO1xuICAgICAgdGhpcy50cmFuc2FjdGlvbi5zZXRNdWx0aVNpZ1ZhbHVlKHRoaXMuX2lzTXVsdGlTaWcgYXMgYm9vbGVhbik7XG4gICAgICB0aGlzLnRyYW5zYWN0aW9uLnNpZ24odGhpcy5fa2V5UGFpcnMpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRYcnBUcmFuc2FjdGlvbigpIHtcbiAgICBjb25zdCBjb21tb25GaWVsZHM6IFBhcnRpYWw8WHJwVHJhbnNhY3Rpb24+ID0ge1xuICAgICAgQWNjb3VudDogdGhpcy5fc2VuZGVyLFxuICAgICAgRmVlOiB0aGlzLl9mZWUsXG4gICAgICBTZXF1ZW5jZTogdGhpcy5fc2VxdWVuY2UsXG4gICAgICBGbGFnczogdGhpcy5fZmxhZ3MsXG4gICAgfTtcblxuICAgIGlmICh0aGlzLl9zaWduaW5nUHViS2V5KSB7XG4gICAgICBjb21tb25GaWVsZHMuU2lnbmluZ1B1YktleSA9IHRoaXMuX3NpZ25pbmdQdWJLZXk7XG4gICAgfVxuICAgIGlmICh0aGlzLl90eG5TaWduYXR1cmUpIHtcbiAgICAgIGNvbW1vbkZpZWxkcy5UeG5TaWduYXR1cmUgPSB0aGlzLl90eG5TaWduYXR1cmU7XG4gICAgfVxuICAgIGlmICh0aGlzLl9zaWduZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbW1vbkZpZWxkcy5TaWduZXJzID0gdGhpcy5fc2lnbmVycztcbiAgICB9XG4gICAgaWYgKHRoaXMuX2xhc3RMZWRnZXJTZXF1ZW5jZSkge1xuICAgICAgY29tbW9uRmllbGRzLkxhc3RMZWRnZXJTZXF1ZW5jZSA9IHRoaXMuX2xhc3RMZWRnZXJTZXF1ZW5jZTtcbiAgICB9XG5cbiAgICBjb25zdCB0eCA9IE9iamVjdC5hc3NpZ24oY29tbW9uRmllbGRzLCB0aGlzLl9zcGVjaWZpY0ZpZWxkcyk7XG4gICAgeHJwbC52YWxpZGF0ZSh0eCBhcyB1bmtub3duIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KTtcbiAgICByZXR1cm4gdHg7XG4gIH1cblxuICB2YWxpZGF0ZUtleShrZXk6IEJhc2VLZXkpOiB2b2lkIHtcbiAgICBsZXQga2V5UGFpcjogS2V5UGFpcjtcbiAgICB0cnkge1xuICAgICAga2V5UGFpciA9IG5ldyBLZXlQYWlyKHsgcHJ2OiBrZXkua2V5IH0pO1xuICAgIH0gY2F0Y2gge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCBrZXknKTtcbiAgICB9XG5cbiAgICBpZiAoIWtleVBhaXIuZ2V0S2V5cygpLnBydikge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCBrZXknKTtcbiAgICB9XG4gIH1cblxuICB2YWxpZGF0ZUlzTXVsdGlTaWcoKTogdm9pZCB7XG4gICAgaWYgKF8uaXNVbmRlZmluZWQodGhpcy5faXNNdWx0aVNpZykpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ1NpZ25hdHVyZSB0eXBlIGlzIG5vdCBkZWZpbmVkLiBQbGVhc2UgY2FsbCBzZXRNdWx0aVNpZyBvciBzZXRTaW5nbGVTaWcuJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlVHJhbnNhY3Rpb24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3NlbmRlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uOiBtaXNzaW5nIHNlbmRlcicpO1xuICAgIH1cbiAgICBpZiAodGhpcy5fZmVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb246IG1pc3NpbmcgZmVlJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLl9zZXF1ZW5jZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uOiBtaXNzaW5nIHNlcXVlbmNlJyk7XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhdGVBZGRyZXNzKGFkZHJlc3M6IEJhc2VBZGRyZXNzKTogdm9pZCB7XG4gICAgaWYgKCF1dGlscy5pc1ZhbGlkQWRkcmVzcyhhZGRyZXNzLmFkZHJlc3MpKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIGFkZHJlc3MgJyArIGFkZHJlc3MuYWRkcmVzcyk7XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhdGVWYWx1ZSh2YWx1ZTogQmlnTnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHZhbHVlLmlzTGVzc1RoYW4oMCkpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ1ZhbHVlIGNhbm5vdCBiZSBsZXNzIHRoYW4gemVybycpO1xuICAgIH1cbiAgfVxuXG4gIHZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IHZvaWQge1xuICAgIHV0aWxzLnZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb24pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvbigpOiBUcmFuc2FjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldCB0cmFuc2FjdGlvbih0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pIHtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IHRyYW5zYWN0aW9uO1xuICB9XG59XG4iXX0=
@@ -1,39 +0,0 @@
1
- import { BaseTransactionBuilderFactory } from '@bitgo-beta/sdk-core';
2
- import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
- import { AccountSetBuilder } from './accountSetBuilder';
4
- import { TokenTransferBuilder } from './tokenTransferBuilder';
5
- import { Transaction } from './transaction';
6
- import { TransactionBuilder } from './transactionBuilder';
7
- import { TransferBuilder } from './transferBuilder';
8
- import { TrustSetBuilder } from './trustsetBuilder';
9
- import { WalletInitializationBuilder } from './walletInitializationBuilder';
10
- export declare class TransactionBuilderFactory extends BaseTransactionBuilderFactory {
11
- constructor(_coinConfig: Readonly<CoinConfig>);
12
- /** @inheritdoc */
13
- from(raw: string): TransactionBuilder;
14
- /** @inheritdoc */
15
- getWalletInitializationBuilder(tx?: Transaction): WalletInitializationBuilder;
16
- /** @inheritdoc */
17
- getTransferBuilder(tx?: Transaction): TransferBuilder;
18
- /** @inheritdoc */
19
- getAccountUpdateBuilder(tx?: Transaction): AccountSetBuilder;
20
- /** @inheritdoc */
21
- getTokenTransferBuilder(tx?: Transaction): TokenTransferBuilder;
22
- /** @inheritdoc */
23
- getTrustSetBuilder(tx?: Transaction): TrustSetBuilder;
24
- /**
25
- * Initialize the builder with the given transaction
26
- *
27
- * @param {Transaction | undefined} tx - the transaction used to initialize the builder
28
- * @param {TransactionBuilder} builder - the builder to be initialized
29
- * @returns {TransactionBuilder} the builder initialized
30
- */
31
- private initializeBuilder;
32
- /** Parse the transaction from a raw transaction
33
- *
34
- * @param {string} rawTransaction - the raw tx
35
- * @returns {Transaction} parsedtransaction
36
- */
37
- private parseTransaction;
38
- }
39
- //# sourceMappingURL=transactionBuilderFactory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAA4C,MAAM,sBAAsB,CAAC;AAC/G,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,qBAAa,yBAA0B,SAAQ,6BAA6B;gBAC9D,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,kBAAkB;IAClB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB;IA8BrC,kBAAkB;IAClB,8BAA8B,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,2BAA2B;IAI7E,kBAAkB;IACX,kBAAkB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,eAAe;IAI5D,kBAAkB;IACX,uBAAuB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,iBAAiB;IAInE,kBAAkB;IACX,uBAAuB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,oBAAoB;IAItE,kBAAkB;IACX,kBAAkB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,eAAe;IAI5D;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAOzB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;CAKzB"}
@@ -1,97 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.TransactionBuilderFactory = void 0;
7
- const sdk_core_1 = require("@bitgo-beta/sdk-core");
8
- const xrpl_1 = __importDefault(require("xrpl"));
9
- const accountSetBuilder_1 = require("./accountSetBuilder");
10
- const tokenTransferBuilder_1 = require("./tokenTransferBuilder");
11
- const transaction_1 = require("./transaction");
12
- const transferBuilder_1 = require("./transferBuilder");
13
- const trustsetBuilder_1 = require("./trustsetBuilder");
14
- const utils_1 = __importDefault(require("./utils"));
15
- const walletInitializationBuilder_1 = require("./walletInitializationBuilder");
16
- class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory {
17
- constructor(_coinConfig) {
18
- super(_coinConfig);
19
- }
20
- /** @inheritdoc */
21
- from(raw) {
22
- let txHex = raw;
23
- if (!utils_1.default.isValidHex(raw)) {
24
- try {
25
- txHex = xrpl_1.default.encode(JSON.parse(raw));
26
- }
27
- catch (e) {
28
- throw new sdk_core_1.InvalidTransactionError('Invalid transaction');
29
- }
30
- }
31
- const tx = this.parseTransaction(txHex);
32
- try {
33
- switch (tx.type) {
34
- case sdk_core_1.TransactionType.AccountUpdate:
35
- return this.getAccountUpdateBuilder(tx);
36
- case sdk_core_1.TransactionType.Send:
37
- return this.getTransferBuilder(tx);
38
- case sdk_core_1.TransactionType.WalletInitialization:
39
- return this.getWalletInitializationBuilder(tx);
40
- case sdk_core_1.TransactionType.SendToken:
41
- return this.getTokenTransferBuilder(tx);
42
- case sdk_core_1.TransactionType.TrustLine:
43
- return this.getTrustSetBuilder(tx);
44
- default:
45
- throw new sdk_core_1.InvalidTransactionError('Invalid transaction');
46
- }
47
- }
48
- catch (e) {
49
- throw e;
50
- }
51
- }
52
- /** @inheritdoc */
53
- getWalletInitializationBuilder(tx) {
54
- return this.initializeBuilder(tx, new walletInitializationBuilder_1.WalletInitializationBuilder(this._coinConfig));
55
- }
56
- /** @inheritdoc */
57
- getTransferBuilder(tx) {
58
- return this.initializeBuilder(tx, new transferBuilder_1.TransferBuilder(this._coinConfig));
59
- }
60
- /** @inheritdoc */
61
- getAccountUpdateBuilder(tx) {
62
- return this.initializeBuilder(tx, new accountSetBuilder_1.AccountSetBuilder(this._coinConfig));
63
- }
64
- /** @inheritdoc */
65
- getTokenTransferBuilder(tx) {
66
- return this.initializeBuilder(tx, new tokenTransferBuilder_1.TokenTransferBuilder(this._coinConfig));
67
- }
68
- /** @inheritdoc */
69
- getTrustSetBuilder(tx) {
70
- return this.initializeBuilder(tx, new trustsetBuilder_1.TrustSetBuilder(this._coinConfig));
71
- }
72
- /**
73
- * Initialize the builder with the given transaction
74
- *
75
- * @param {Transaction | undefined} tx - the transaction used to initialize the builder
76
- * @param {TransactionBuilder} builder - the builder to be initialized
77
- * @returns {TransactionBuilder} the builder initialized
78
- */
79
- initializeBuilder(tx, builder) {
80
- if (tx) {
81
- builder.initBuilder(tx);
82
- }
83
- return builder;
84
- }
85
- /** Parse the transaction from a raw transaction
86
- *
87
- * @param {string} rawTransaction - the raw tx
88
- * @returns {Transaction} parsedtransaction
89
- */
90
- parseTransaction(rawTransaction) {
91
- const tx = new transaction_1.Transaction(this._coinConfig);
92
- tx.fromRawTransaction(rawTransaction);
93
- return tx;
94
- }
95
- }
96
- exports.TransactionBuilderFactory = TransactionBuilderFactory;
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFBK0c7QUFFL0csZ0RBQXdCO0FBQ3hCLDJEQUF3RDtBQUN4RCxpRUFBOEQ7QUFDOUQsK0NBQTRDO0FBRTVDLHVEQUFvRDtBQUNwRCx1REFBb0Q7QUFDcEQsb0RBQTRCO0FBQzVCLCtFQUE0RTtBQUU1RSxNQUFhLHlCQUEwQixTQUFRLHdDQUE2QjtJQUMxRSxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLElBQUksQ0FBQyxHQUFXO1FBQ2QsSUFBSSxLQUFLLEdBQUcsR0FBRyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxlQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDO2dCQUNILEtBQUssR0FBRyxjQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN2QyxDQUFDO1lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDWCxNQUFNLElBQUksa0NBQXVCLENBQUMscUJBQXFCLENBQUMsQ0FBQztZQUMzRCxDQUFDO1FBQ0gsQ0FBQztRQUNELE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUM7WUFDSCxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDaEIsS0FBSywwQkFBZSxDQUFDLGFBQWE7b0JBQ2hDLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUMxQyxLQUFLLDBCQUFlLENBQUMsSUFBSTtvQkFDdkIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ3JDLEtBQUssMEJBQWUsQ0FBQyxvQkFBb0I7b0JBQ3ZDLE9BQU8sSUFBSSxDQUFDLDhCQUE4QixDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNqRCxLQUFLLDBCQUFlLENBQUMsU0FBUztvQkFDNUIsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQzFDLEtBQUssMEJBQWUsQ0FBQyxTQUFTO29CQUM1QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDckM7b0JBQ0UsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDN0QsQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsTUFBTSxDQUFDLENBQUM7UUFDVixDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtJQUNsQiw4QkFBOEIsQ0FBQyxFQUFnQjtRQUM3QyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSx5REFBMkIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRUQsa0JBQWtCO0lBQ1gsa0JBQWtCLENBQUMsRUFBZ0I7UUFDeEMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksaUNBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsa0JBQWtCO0lBQ1gsdUJBQXVCLENBQUMsRUFBZ0I7UUFDN0MsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUkscUNBQWlCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVELGtCQUFrQjtJQUNYLHVCQUF1QixDQUFDLEVBQWdCO1FBQzdDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLDJDQUFvQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRCxrQkFBa0I7SUFDWCxrQkFBa0IsQ0FBQyxFQUFnQjtRQUN4QyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSxpQ0FBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyxpQkFBaUIsQ0FBK0IsRUFBMkIsRUFBRSxPQUFVO1FBQzdGLElBQUksRUFBRSxFQUFFLENBQUM7WUFDUCxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGdCQUFnQixDQUFDLGNBQXNCO1FBQzdDLE1BQU0sRUFBRSxHQUFHLElBQUkseUJBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0MsRUFBRSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3RDLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztDQUNGO0FBckZELDhEQXFGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LCBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHhycGwgZnJvbSAneHJwbCc7XG5pbXBvcnQgeyBBY2NvdW50U2V0QnVpbGRlciB9IGZyb20gJy4vYWNjb3VudFNldEJ1aWxkZXInO1xuaW1wb3J0IHsgVG9rZW5UcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3Rva2VuVHJhbnNmZXJCdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyQnVpbGRlcic7XG5pbXBvcnQgeyBUcnVzdFNldEJ1aWxkZXIgfSBmcm9tICcuL3RydXN0c2V0QnVpbGRlcic7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3dhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlcic7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnkge1xuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZnJvbShyYXc6IHN0cmluZyk6IFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gICAgbGV0IHR4SGV4ID0gcmF3O1xuICAgIGlmICghdXRpbHMuaXNWYWxpZEhleChyYXcpKSB7XG4gICAgICB0cnkge1xuICAgICAgICB0eEhleCA9IHhycGwuZW5jb2RlKEpTT04ucGFyc2UocmF3KSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbicpO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCB0eCA9IHRoaXMucGFyc2VUcmFuc2FjdGlvbih0eEhleCk7XG4gICAgdHJ5IHtcbiAgICAgIHN3aXRjaCAodHgudHlwZSkge1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5BY2NvdW50VXBkYXRlOlxuICAgICAgICAgIHJldHVybiB0aGlzLmdldEFjY291bnRVcGRhdGVCdWlsZGVyKHR4KTtcbiAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU2VuZDpcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRUcmFuc2ZlckJ1aWxkZXIodHgpO1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5XYWxsZXRJbml0aWFsaXphdGlvbjpcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIodHgpO1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TZW5kVG9rZW46XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VG9rZW5UcmFuc2ZlckJ1aWxkZXIodHgpO1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5UcnVzdExpbmU6XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VHJ1c3RTZXRCdWlsZGVyKHR4KTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb24nKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IFdhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHB1YmxpYyBnZXRUcmFuc2ZlckJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IFRyYW5zZmVyQnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBUcmFuc2ZlckJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHB1YmxpYyBnZXRBY2NvdW50VXBkYXRlQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogQWNjb3VudFNldEJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgQWNjb3VudFNldEJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHB1YmxpYyBnZXRUb2tlblRyYW5zZmVyQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogVG9rZW5UcmFuc2ZlckJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgVG9rZW5UcmFuc2ZlckJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHB1YmxpYyBnZXRUcnVzdFNldEJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IFRydXN0U2V0QnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBUcnVzdFNldEJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIGJ1aWxkZXIgd2l0aCB0aGUgZ2l2ZW4gdHJhbnNhY3Rpb25cbiAgICpcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvbiB8IHVuZGVmaW5lZH0gdHggLSB0aGUgdHJhbnNhY3Rpb24gdXNlZCB0byBpbml0aWFsaXplIHRoZSBidWlsZGVyXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb25CdWlsZGVyfSBidWlsZGVyIC0gdGhlIGJ1aWxkZXIgdG8gYmUgaW5pdGlhbGl6ZWRcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gdGhlIGJ1aWxkZXIgaW5pdGlhbGl6ZWRcbiAgICovXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUJ1aWxkZXI8VCBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlcj4odHg6IFRyYW5zYWN0aW9uIHwgdW5kZWZpbmVkLCBidWlsZGVyOiBUKTogVCB7XG4gICAgaWYgKHR4KSB7XG4gICAgICBidWlsZGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICB9XG4gICAgcmV0dXJuIGJ1aWxkZXI7XG4gIH1cblxuICAvKiogUGFyc2UgdGhlIHRyYW5zYWN0aW9uIGZyb20gYSByYXcgdHJhbnNhY3Rpb25cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHJhd1RyYW5zYWN0aW9uIC0gdGhlIHJhdyB0eFxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb259IHBhcnNlZHRyYW5zYWN0aW9uXG4gICAqL1xuICBwcml2YXRlIHBhcnNlVHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCB0eCA9IG5ldyBUcmFuc2FjdGlvbih0aGlzLl9jb2luQ29uZmlnKTtcbiAgICB0eC5mcm9tUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIHJldHVybiB0eDtcbiAgfVxufVxuIl19
@@ -1,28 +0,0 @@
1
- import { TransactionType } from '@bitgo-beta/sdk-core';
2
- import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
- import { Transaction } from './transaction';
4
- import { TransactionBuilder } from './transactionBuilder';
5
- export declare class TransferBuilder extends TransactionBuilder {
6
- private _amount;
7
- private _destination;
8
- private _destinationTag?;
9
- constructor(_coinConfig: Readonly<CoinConfig>);
10
- protected get transactionType(): TransactionType;
11
- protected get xrpTransactionType(): 'Payment';
12
- initBuilder(tx: Transaction): void;
13
- /**
14
- * Set the receiver address
15
- * @param {string} address - the address with optional destination tag
16
- * @returns {TransactionBuilder} This transaction builder
17
- */
18
- to(address: string): TransferBuilder;
19
- /**
20
- * Set the amount to send
21
- * @param {string} amount - the amount sent
22
- * @returns {TransactionBuilder} This transaction builder
23
- */
24
- amount(amount: string): TransactionBuilder;
25
- /** @inheritdoc */
26
- protected buildImplementation(): Promise<Transaction>;
27
- }
28
- //# sourceMappingURL=transferBuilder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,qBAAa,eAAgB,SAAQ,kBAAkB;IACrD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,eAAe,CAAC,CAAS;gBAErB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,SAAS,KAAK,kBAAkB,IAAI,SAAS,CAE5C;IAED,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAmBlC;;;;OAIG;IACH,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe;IAOpC;;;;OAIG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB;IAY1C,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;CAoB5D"}