@bitgo-beta/sdk-coin-xrp 1.3.3-alpha.43 → 1.3.3-alpha.430
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/dist/src/index.d.ts +4 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +10 -4
- package/dist/src/lib/accountSetBuilder.d.ts +18 -0
- package/dist/src/lib/accountSetBuilder.d.ts.map +1 -0
- package/dist/src/lib/accountSetBuilder.js +63 -0
- package/dist/src/lib/constants.d.ts +8 -0
- package/dist/src/lib/constants.d.ts.map +1 -0
- package/dist/src/lib/constants.js +30 -0
- package/dist/src/lib/iface.d.ts +109 -0
- package/dist/src/lib/iface.d.ts.map +1 -0
- package/dist/src/lib/iface.js +11 -0
- package/dist/src/lib/index.d.ts +14 -0
- package/dist/src/lib/index.d.ts.map +1 -0
- package/dist/src/lib/index.js +43 -0
- package/dist/src/lib/keyPair.d.ts +33 -0
- package/dist/src/lib/keyPair.d.ts.map +1 -0
- package/dist/src/lib/keyPair.js +118 -0
- package/dist/src/lib/tokenTransferBuilder.d.ts +29 -0
- package/dist/src/lib/tokenTransferBuilder.d.ts.map +1 -0
- package/dist/src/lib/tokenTransferBuilder.js +91 -0
- package/dist/src/lib/transaction.d.ts +62 -0
- package/dist/src/lib/transaction.d.ts.map +1 -0
- package/dist/src/lib/transaction.js +381 -0
- package/dist/src/lib/transactionBuilder.d.ts +72 -0
- package/dist/src/lib/transactionBuilder.d.ts.map +1 -0
- package/dist/src/lib/transactionBuilder.js +263 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts +39 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/src/lib/transactionBuilderFactory.js +97 -0
- package/dist/src/lib/transferBuilder.d.ts +28 -0
- package/dist/src/lib/transferBuilder.d.ts.map +1 -0
- package/dist/src/lib/transferBuilder.js +82 -0
- package/dist/src/lib/trustsetBuilder.d.ts +21 -0
- package/dist/src/lib/trustsetBuilder.d.ts.map +1 -0
- package/dist/src/lib/trustsetBuilder.js +72 -0
- package/dist/src/lib/utils.d.ts +78 -0
- package/dist/src/lib/utils.d.ts.map +1 -0
- package/dist/src/lib/utils.js +304 -0
- package/dist/src/lib/walletInitializationBuilder.d.ts +19 -0
- package/dist/src/lib/walletInitializationBuilder.d.ts.map +1 -0
- package/dist/src/lib/walletInitializationBuilder.js +76 -0
- package/dist/src/register.d.ts.map +1 -1
- package/dist/src/register.js +5 -1
- package/dist/src/ripple.d.ts +112 -2
- package/dist/src/ripple.d.ts.map +1 -1
- package/dist/src/ripple.js +57 -22
- package/dist/src/txrp.d.ts +3 -2
- package/dist/src/txrp.d.ts.map +1 -1
- package/dist/src/txrp.js +5 -5
- package/dist/src/xrp.d.ts +25 -64
- package/dist/src/xrp.d.ts.map +1 -1
- package/dist/src/xrp.js +375 -159
- package/dist/src/xrpToken.d.ts +22 -0
- package/dist/src/xrpToken.d.ts.map +1 -0
- package/dist/src/xrpToken.js +61 -0
- package/dist/tsconfig.tsbuildinfo +1 -8867
- package/package.json +15 -12
- package/.eslintignore +0 -5
- package/.mocharc.yml +0 -8
- package/CHANGELOG.md +0 -200
|
@@ -0,0 +1,72 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,263 @@
|
|
|
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=
|
|
@@ -0,0 +1,39 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
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
|
|
@@ -0,0 +1,28 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|