@bitgo/sdk-coin-icp 1.5.0 → 1.7.0
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/CHANGELOG.md +25 -1
- package/dist/src/icp.js +2 -2
- package/dist/src/lib/iface.d.ts +170 -0
- package/dist/src/lib/iface.d.ts.map +1 -0
- package/dist/src/lib/iface.js +31 -0
- package/dist/src/lib/index.d.ts +3 -0
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +8 -2
- package/dist/src/lib/keyPair.js +4 -4
- package/dist/src/lib/protoDefinition.d.ts +2 -0
- package/dist/src/lib/protoDefinition.d.ts.map +1 -0
- package/dist/src/lib/protoDefinition.js +44 -0
- package/dist/src/lib/signedTransactionBuilder.d.ts +9 -0
- package/dist/src/lib/signedTransactionBuilder.d.ts.map +1 -0
- package/dist/src/lib/signedTransactionBuilder.js +69 -0
- package/dist/src/lib/transaction.d.ts +45 -0
- package/dist/src/lib/transaction.d.ts.map +1 -0
- package/dist/src/lib/transaction.js +236 -0
- package/dist/src/lib/transactionBuilder.d.ts +47 -31
- package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilder.js +98 -44
- package/dist/src/lib/transactionBuilderFactory.d.ts +15 -14
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilderFactory.js +43 -26
- package/dist/src/lib/transferBuilder.d.ts +10 -25
- package/dist/src/lib/transferBuilder.d.ts.map +1 -1
- package/dist/src/lib/transferBuilder.js +95 -44
- package/dist/src/lib/unsignedTransactionBuilder.d.ts +11 -0
- package/dist/src/lib/unsignedTransactionBuilder.d.ts.map +1 -0
- package/dist/src/lib/unsignedTransactionBuilder.js +94 -0
- package/dist/src/lib/utils.d.ts +273 -7
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +502 -53
- package/dist/src/ticp.d.ts +0 -4
- package/dist/src/ticp.d.ts.map +1 -1
- package/dist/src/ticp.js +1 -7
- package/package.json +12 -8
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Transaction = void 0;
|
|
4
|
+
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
5
|
+
const iface_1 = require("./iface");
|
|
6
|
+
const keyPair_1 = require("./keyPair");
|
|
7
|
+
class Transaction extends sdk_core_1.BaseTransaction {
|
|
8
|
+
constructor(_coinConfig, utils) {
|
|
9
|
+
super(_coinConfig);
|
|
10
|
+
this._utils = utils;
|
|
11
|
+
}
|
|
12
|
+
get icpTransactionData() {
|
|
13
|
+
return this._icpTransactionData;
|
|
14
|
+
}
|
|
15
|
+
set icpTransactionData(icpTransactionData) {
|
|
16
|
+
this._icpTransactionData = icpTransactionData;
|
|
17
|
+
}
|
|
18
|
+
get icpTransaction() {
|
|
19
|
+
return this._icpTransaction;
|
|
20
|
+
}
|
|
21
|
+
set icpTransaction(icpTransaction) {
|
|
22
|
+
this._icpTransaction = icpTransaction;
|
|
23
|
+
}
|
|
24
|
+
get unsignedTransaction() {
|
|
25
|
+
return this._payloadsData.unsigned_transaction;
|
|
26
|
+
}
|
|
27
|
+
get signaturePayload() {
|
|
28
|
+
return this._signaturePayload;
|
|
29
|
+
}
|
|
30
|
+
set signedTransaction(signature) {
|
|
31
|
+
this._signedTransaction = signature;
|
|
32
|
+
}
|
|
33
|
+
get signedTransaction() {
|
|
34
|
+
return this._signedTransaction;
|
|
35
|
+
}
|
|
36
|
+
set payloadsData(payloadsData) {
|
|
37
|
+
this._payloadsData = payloadsData;
|
|
38
|
+
}
|
|
39
|
+
get payloadsData() {
|
|
40
|
+
return this._payloadsData;
|
|
41
|
+
}
|
|
42
|
+
fromRawTransaction(rawTransaction) {
|
|
43
|
+
try {
|
|
44
|
+
const parsedTx = JSON.parse(rawTransaction);
|
|
45
|
+
switch (parsedTx.type) {
|
|
46
|
+
case iface_1.OperationType.TRANSACTION:
|
|
47
|
+
this._icpTransactionData = {
|
|
48
|
+
senderAddress: parsedTx.address,
|
|
49
|
+
receiverAddress: parsedTx.externalOutputs[0].address,
|
|
50
|
+
amount: parsedTx.spendAmountString,
|
|
51
|
+
fee: parsedTx.fee,
|
|
52
|
+
senderPublicKeyHex: parsedTx.senderKey,
|
|
53
|
+
memo: parsedTx.seqno,
|
|
54
|
+
transactionType: parsedTx.type,
|
|
55
|
+
expiryTime: parsedTx.expiryTime,
|
|
56
|
+
};
|
|
57
|
+
this._utils.validateRawTransaction(this._icpTransactionData);
|
|
58
|
+
break;
|
|
59
|
+
default:
|
|
60
|
+
throw new Error('Invalid transaction type');
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
throw new sdk_core_1.InvalidTransactionError('Invalid raw transaction');
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
addSignature(signaturePayloads) {
|
|
68
|
+
if (!signaturePayloads) {
|
|
69
|
+
throw new Error('signatures not provided');
|
|
70
|
+
}
|
|
71
|
+
if (signaturePayloads.length !== this._payloadsData.payloads.length) {
|
|
72
|
+
throw new Error('signatures length is not matching');
|
|
73
|
+
}
|
|
74
|
+
this._signaturePayload = signaturePayloads;
|
|
75
|
+
}
|
|
76
|
+
/** @inheritdoc */
|
|
77
|
+
toJson() {
|
|
78
|
+
if (!this._icpTransactionData) {
|
|
79
|
+
throw new sdk_core_1.InvalidTransactionError('Empty transaction');
|
|
80
|
+
}
|
|
81
|
+
switch (this._icpTransactionData.transactionType) {
|
|
82
|
+
case iface_1.OperationType.TRANSACTION:
|
|
83
|
+
return {
|
|
84
|
+
id: this._id,
|
|
85
|
+
sender: this._icpTransactionData.senderAddress,
|
|
86
|
+
senderPublicKey: this._icpTransactionData.senderPublicKeyHex,
|
|
87
|
+
recipient: this._icpTransactionData.receiverAddress,
|
|
88
|
+
memo: this._icpTransactionData.memo,
|
|
89
|
+
feeAmount: this._icpTransactionData.fee,
|
|
90
|
+
expirationTime: this._icpTransactionData.expiryTime,
|
|
91
|
+
type: sdk_core_1.TransactionType.Send,
|
|
92
|
+
};
|
|
93
|
+
default:
|
|
94
|
+
throw new Error('Unsupported transaction type');
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/** @inheritDoc */
|
|
98
|
+
explainTransaction() {
|
|
99
|
+
const result = this.toJson();
|
|
100
|
+
const displayOrder = ['id', 'outputAmount', 'changeAmount', 'outputs', 'changeOutputs', 'fee'];
|
|
101
|
+
const outputs = [];
|
|
102
|
+
const explanationResult = {
|
|
103
|
+
displayOrder,
|
|
104
|
+
id: this.id,
|
|
105
|
+
outputs,
|
|
106
|
+
outputAmount: '0',
|
|
107
|
+
fee: { fee: '0' },
|
|
108
|
+
type: result.type,
|
|
109
|
+
changeOutputs: [], // account based does not use change outputs
|
|
110
|
+
changeAmount: '0', // account based does not make change
|
|
111
|
+
};
|
|
112
|
+
switch (explanationResult.type) {
|
|
113
|
+
case sdk_core_1.TransactionType.Send:
|
|
114
|
+
return this.explainTransferTransaction(explanationResult);
|
|
115
|
+
default:
|
|
116
|
+
throw new sdk_core_1.InvalidTransactionError('Transaction type not supported');
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Explains a transfer transaction by providing details about the recipients and the total output amount.
|
|
121
|
+
*
|
|
122
|
+
* @param {IcpTransactionExplanation} explanationResult - The initial explanation result to be extended.
|
|
123
|
+
* @returns {IcpTransactionExplanation} The extended explanation result including the output amount and recipients.
|
|
124
|
+
*/
|
|
125
|
+
explainTransferTransaction(explanationResult) {
|
|
126
|
+
explanationResult.fee = { fee: this.icpTransactionData.fee };
|
|
127
|
+
const recipients = this._utils.getRecipients(this.icpTransactionData);
|
|
128
|
+
const outputs = [recipients];
|
|
129
|
+
const outputAmountBN = recipients.amount;
|
|
130
|
+
const outputAmount = outputAmountBN.toString();
|
|
131
|
+
return {
|
|
132
|
+
...explanationResult,
|
|
133
|
+
outputAmount,
|
|
134
|
+
outputs,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
/** @inheritdoc */
|
|
138
|
+
toBroadcastFormat() {
|
|
139
|
+
if (!this._signedTransaction) {
|
|
140
|
+
throw new sdk_core_1.InvalidTransactionError('Empty transaction');
|
|
141
|
+
}
|
|
142
|
+
return this.serialize();
|
|
143
|
+
}
|
|
144
|
+
serialize() {
|
|
145
|
+
const transaction = {
|
|
146
|
+
signed_transaction: this._signedTransaction,
|
|
147
|
+
network_identifier: {
|
|
148
|
+
blockchain: this._coinConfig.fullName,
|
|
149
|
+
network: iface_1.Network.ID,
|
|
150
|
+
},
|
|
151
|
+
};
|
|
152
|
+
return JSON.stringify(transaction);
|
|
153
|
+
}
|
|
154
|
+
/** @inheritdoc */
|
|
155
|
+
canSign(key) {
|
|
156
|
+
try {
|
|
157
|
+
const keyPair = new keyPair_1.KeyPair({ prv: key.key });
|
|
158
|
+
const publicKeyHex = keyPair.getPublicKey({ compressed: true }).toString('hex');
|
|
159
|
+
const uncompressedPublicKeyHex = keyPair.getPublicKey({ compressed: false }).toString('hex');
|
|
160
|
+
return (this.icpTransactionData.senderPublicKeyHex === publicKeyHex ||
|
|
161
|
+
this.icpTransactionData.senderPublicKeyHex === uncompressedPublicKeyHex);
|
|
162
|
+
}
|
|
163
|
+
catch (error) {
|
|
164
|
+
return false;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
async parseUnsignedTransaction(rawTransaction) {
|
|
168
|
+
const unsignedTransaction = this._utils.cborDecode(this._utils.blobFromHex(rawTransaction));
|
|
169
|
+
const update = unsignedTransaction.updates[0];
|
|
170
|
+
const httpCanisterUpdate = update[1];
|
|
171
|
+
return await this.getParsedTransactionFromUpdate(httpCanisterUpdate, false);
|
|
172
|
+
}
|
|
173
|
+
async getParsedTransactionFromUpdate(httpCanisterUpdate, isSigned) {
|
|
174
|
+
const senderPrincipal = this._utils.convertSenderBlobToPrincipal(httpCanisterUpdate.sender);
|
|
175
|
+
const ACCOUNT_ID_PREFIX = this._utils.getAccountIdPrefix();
|
|
176
|
+
const subAccount = new Uint8Array(32);
|
|
177
|
+
const senderAccount = this._utils.getAccountIdFromPrincipalBytes(ACCOUNT_ID_PREFIX, Buffer.from(senderPrincipal.buffer), subAccount);
|
|
178
|
+
const args = await this._utils.fromArgs(httpCanisterUpdate.arg);
|
|
179
|
+
const senderOperation = {
|
|
180
|
+
type: iface_1.OperationType.TRANSACTION,
|
|
181
|
+
account: { address: senderAccount },
|
|
182
|
+
amount: {
|
|
183
|
+
value: `-${args.payment.receiverGets.e8s.toString()}`,
|
|
184
|
+
currency: {
|
|
185
|
+
symbol: this._coinConfig.family,
|
|
186
|
+
decimals: this._coinConfig.decimalPlaces,
|
|
187
|
+
},
|
|
188
|
+
},
|
|
189
|
+
};
|
|
190
|
+
const receiverOperation = {
|
|
191
|
+
type: iface_1.OperationType.TRANSACTION,
|
|
192
|
+
account: { address: args.to.hash.toString('hex') },
|
|
193
|
+
amount: {
|
|
194
|
+
value: args.payment.receiverGets.e8s.toString(),
|
|
195
|
+
currency: {
|
|
196
|
+
symbol: this._coinConfig.family,
|
|
197
|
+
decimals: this._coinConfig.decimalPlaces,
|
|
198
|
+
},
|
|
199
|
+
},
|
|
200
|
+
};
|
|
201
|
+
const feeOperation = {
|
|
202
|
+
type: iface_1.OperationType.FEE,
|
|
203
|
+
account: { address: senderAccount },
|
|
204
|
+
amount: {
|
|
205
|
+
value: `-${args.maxFee.e8s.toString()}`,
|
|
206
|
+
currency: {
|
|
207
|
+
symbol: this._coinConfig.family,
|
|
208
|
+
decimals: this._coinConfig.decimalPlaces,
|
|
209
|
+
},
|
|
210
|
+
},
|
|
211
|
+
};
|
|
212
|
+
const accountIdentifierSigners = [];
|
|
213
|
+
if (isSigned) {
|
|
214
|
+
accountIdentifierSigners.push({ address: senderAccount });
|
|
215
|
+
}
|
|
216
|
+
const parsedTxn = {
|
|
217
|
+
operations: [senderOperation, receiverOperation, feeOperation],
|
|
218
|
+
metadata: {
|
|
219
|
+
created_at_time: args.createdAtTime.timestampNanos,
|
|
220
|
+
memo: Number(args.memo.memo),
|
|
221
|
+
},
|
|
222
|
+
account_identifier_signers: accountIdentifierSigners,
|
|
223
|
+
};
|
|
224
|
+
return parsedTxn;
|
|
225
|
+
}
|
|
226
|
+
async parseSignedTransaction(rawTransaction) {
|
|
227
|
+
const signedTransaction = this._utils.cborDecode(this._utils.blobFromHex(rawTransaction));
|
|
228
|
+
const signedTransactionTyped = signedTransaction;
|
|
229
|
+
const envelopes = signedTransactionTyped.requests[0][1];
|
|
230
|
+
const updates = envelopes.map((envelope) => envelope.update);
|
|
231
|
+
const httpCanisterUpdate = updates[0].content;
|
|
232
|
+
return await this.getParsedTransactionFromUpdate(httpCanisterUpdate, true);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
exports.Transaction = Transaction;
|
|
236
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDhDQU95QjtBQUV6QixtQ0FlaUI7QUFFakIsdUNBQW9DO0FBRXBDLE1BQWEsV0FBWSxTQUFRLDBCQUFlO0lBUTlDLFlBQVksV0FBaUMsRUFBRSxLQUFZO1FBQ3pELEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksa0JBQWtCLENBQUMsa0JBQXNDO1FBQzNELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxrQkFBa0IsQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxjQUFjLENBQUMsY0FBOEI7UUFDL0MsSUFBSSxDQUFDLGVBQWUsR0FBRyxjQUFjLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQUksbUJBQW1CO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksaUJBQWlCLENBQUMsU0FBaUI7UUFDckMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksWUFBWSxDQUFDLFlBQTBCO1FBQ3pDLElBQUksQ0FBQyxhQUFhLEdBQUcsWUFBWSxDQUFDO0lB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YW5zYWN0aW9uUmVjaXBpZW50LFxuICBUcmFuc2FjdGlvblR5cGUsXG4gIEludmFsaWRUcmFuc2FjdGlvbkVycm9yLFxuICBUcmFuc2FjdGlvblR5cGUgYXMgQml0R29UcmFuc2FjdGlvblR5cGUsXG59IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHtcbiAgSWNwVHJhbnNhY3Rpb24sXG4gIEljcFRyYW5zYWN0aW9uRGF0YSxcbiAgUGF5bG9hZHNEYXRhLFxuICBPcGVyYXRpb25UeXBlLFxuICBTaWduYXR1cmVzLFxuICBUeERhdGEsXG4gIEljcFRyYW5zYWN0aW9uRXhwbGFuYXRpb24sXG4gIFNpZ25lZFRyYW5zYWN0aW9uUmVxdWVzdCxcbiAgTmV0d29yayxcbiAgQ2JvclVuc2lnbmVkVHJhbnNhY3Rpb24sXG4gIEh0dHBDYW5pc3RlclVwZGF0ZSxcbiAgUGFyc2VkVHJhbnNhY3Rpb24sXG4gIEljcE9wZXJhdGlvbixcbiAgSWNwQWNjb3VudCxcbn0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBVdGlscyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgS2V5UGFpciB9IGZyb20gJy4va2V5UGFpcic7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbiBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbiB7XG4gIHByb3RlY3RlZCBfaWNwVHJhbnNhY3Rpb25EYXRhOiBJY3BUcmFuc2FjdGlvbkRhdGE7XG4gIHByb3RlY3RlZCBfaWNwVHJhbnNhY3Rpb246IEljcFRyYW5zYWN0aW9uO1xuICBwcm90ZWN0ZWQgX3BheWxvYWRzRGF0YTogUGF5bG9hZHNEYXRhO1xuICBwcm90ZWN0ZWQgX3NpZ25lZFRyYW5zYWN0aW9uOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfc2lnbmF0dXJlUGF5bG9hZDogU2lnbmF0dXJlc1tdO1xuICBwcm90ZWN0ZWQgX3V0aWxzOiBVdGlscztcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4sIHV0aWxzOiBVdGlscykge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl91dGlscyA9IHV0aWxzO1xuICB9XG5cbiAgZ2V0IGljcFRyYW5zYWN0aW9uRGF0YSgpOiBJY3BUcmFuc2FjdGlvbkRhdGEge1xuICAgIHJldHVybiB0aGlzLl9pY3BUcmFuc2FjdGlvbkRhdGE7XG4gIH1cblxuICBzZXQgaWNwVHJhbnNhY3Rpb25EYXRhKGljcFRyYW5zYWN0aW9uRGF0YTogSWNwVHJhbnNhY3Rpb25EYXRhKSB7XG4gICAgdGhpcy5faWNwVHJhbnNhY3Rpb25EYXRhID0gaWNwVHJhbnNhY3Rpb25EYXRhO1xuICB9XG5cbiAgZ2V0IGljcFRyYW5zYWN0aW9uKCk6IEljcFRyYW5zYWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5faWNwVHJhbnNhY3Rpb247XG4gIH1cblxuICBzZXQgaWNwVHJhbnNhY3Rpb24oaWNwVHJhbnNhY3Rpb246IEljcFRyYW5zYWN0aW9uKSB7XG4gICAgdGhpcy5faWNwVHJhbnNhY3Rpb24gPSBpY3BUcmFuc2FjdGlvbjtcbiAgfVxuXG4gIGdldCB1bnNpZ25lZFRyYW5zYWN0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3BheWxvYWRzRGF0YS51bnNpZ25lZF90cmFuc2FjdGlvbjtcbiAgfVxuXG4gIGdldCBzaWduYXR1cmVQYXlsb2FkKCk6IFNpZ25hdHVyZXNbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3NpZ25hdHVyZVBheWxvYWQ7XG4gIH1cblxuICBzZXQgc2lnbmVkVHJhbnNhY3Rpb24oc2lnbmF0dXJlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9zaWduZWRUcmFuc2FjdGlvbiA9IHNpZ25hdHVyZTtcbiAgfVxuXG4gIGdldCBzaWduZWRUcmFuc2FjdGlvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9zaWduZWRUcmFuc2FjdGlvbjtcbiAgfVxuXG4gIHNldCBwYXlsb2Fkc0RhdGEocGF5bG9hZHNEYXRhOiBQYXlsb2Fkc0RhdGEpIHtcbiAgICB0aGlzLl9wYXlsb2Fkc0RhdGEgPSBwYXlsb2Fkc0RhdGE7XG4gIH1cblxuICBnZXQgcGF5bG9hZHNEYXRhKCk6IFBheWxvYWRzRGF0YSB7XG4gICAgcmV0dXJuIHRoaXMuX3BheWxvYWRzRGF0YTtcbiAgfVxuXG4gIGZyb21SYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBhcnNlZFR4ID0gSlNPTi5wYXJzZShyYXdUcmFuc2FjdGlvbik7XG4gICAgICBzd2l0Y2ggKHBhcnNlZFR4LnR5cGUpIHtcbiAgICAgICAgY2FzZSBPcGVyYXRpb25UeXBlLlRSQU5TQUNUSU9OOlxuICAgICAgICAgIHRoaXMuX2ljcFRyYW5zYWN0aW9uRGF0YSA9IHtcbiAgICAgICAgICAgIHNlbmRlckFkZHJlc3M6IHBhcnNlZFR4LmFkZHJlc3MsXG4gICAgICAgICAgICByZWNlaXZlckFkZHJlc3M6IHBhcnNlZFR4LmV4dGVybmFsT3V0cHV0c1swXS5hZGRyZXNzLFxuICAgICAgICAgICAgYW1vdW50OiBwYXJzZWRUeC5zcGVuZEFtb3VudFN0cmluZyxcbiAgICAgICAgICAgIGZlZTogcGFyc2VkVHguZmVlLFxuICAgICAgICAgICAgc2VuZGVyUHVibGljS2V5SGV4OiBwYXJzZWRUeC5zZW5kZXJLZXksXG4gICAgICAgICAgICBtZW1vOiBwYXJzZWRUeC5zZXFubyxcbiAgICAgICAgICAgIHRyYW5zYWN0aW9uVHlwZTogcGFyc2VkVHgudHlwZSxcbiAgICAgICAgICAgIGV4cGlyeVRpbWU6IHBhcnNlZFR4LmV4cGlyeVRpbWUsXG4gICAgICAgICAgfTtcbiAgICAgICAgICB0aGlzLl91dGlscy52YWxpZGF0ZVJhd1RyYW5zYWN0aW9uKHRoaXMuX2ljcFRyYW5zYWN0aW9uRGF0YSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uIHR5cGUnKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHJhdyB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgfVxuXG4gIGFkZFNpZ25hdHVyZShzaWduYXR1cmVQYXlsb2FkczogU2lnbmF0dXJlc1tdKTogdm9pZCB7XG4gICAgaWYgKCFzaWduYXR1cmVQYXlsb2Fkcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdzaWduYXR1cmVzIG5vdCBwcm92aWRlZCcpO1xuICAgIH1cbiAgICBpZiAoc2lnbmF0dXJlUGF5bG9hZHMubGVuZ3RoICE9PSB0aGlzLl9wYXlsb2Fkc0RhdGEucGF5bG9hZHMubGVuZ3RoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3NpZ25hdHVyZXMgbGVuZ3RoIGlzIG5vdCBtYXRjaGluZycpO1xuICAgIH1cbiAgICB0aGlzLl9zaWduYXR1cmVQYXlsb2FkID0gc2lnbmF0dXJlUGF5bG9hZHM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdG9Kc29uKCk6IFR4RGF0YSB7XG4gICAgaWYgKCF0aGlzLl9pY3BUcmFuc2FjdGlvbkRhdGEpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignRW1wdHkgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgc3dpdGNoICh0aGlzLl9pY3BUcmFuc2FjdGlvbkRhdGEudHJhbnNhY3Rpb25UeXBlKSB7XG4gICAgICBjYXNlIE9wZXJhdGlvblR5cGUuVFJBTlNBQ1RJT046XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgaWQ6IHRoaXMuX2lkLFxuICAgICAgICAgIHNlbmRlcjogdGhpcy5faWNwVHJhbnNhY3Rpb25EYXRhLnNlbmRlckFkZHJlc3MsXG4gICAgICAgICAgc2VuZGVyUHVibGljS2V5OiB0aGlzLl9pY3BUcmFuc2FjdGlvbkRhdGEuc2VuZGVyUHVibGljS2V5SGV4LFxuICAgICAgICAgIHJlY2lwaWVudDogdGhpcy5faWNwVHJhbnNhY3Rpb25EYXRhLnJlY2VpdmVyQWRkcmVzcyxcbiAgICAgICAgICBtZW1vOiB0aGlzLl9pY3BUcmFuc2FjdGlvbkRhdGEubWVtbyxcbiAgICAgICAgICBmZWVBbW91bnQ6IHRoaXMuX2ljcFRyYW5zYWN0aW9uRGF0YS5mZWUsXG4gICAgICAgICAgZXhwaXJhdGlvblRpbWU6IHRoaXMuX2ljcFRyYW5zYWN0aW9uRGF0YS5leHBpcnlUaW1lLFxuICAgICAgICAgIHR5cGU6IEJpdEdvVHJhbnNhY3Rpb25UeXBlLlNlbmQsXG4gICAgICAgIH07XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIHRyYW5zYWN0aW9uIHR5cGUnKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgZXhwbGFpblRyYW5zYWN0aW9uKCk6IEljcFRyYW5zYWN0aW9uRXhwbGFuYXRpb24ge1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMudG9Kc29uKCk7XG4gICAgY29uc3QgZGlzcGxheU9yZGVyID0gWydpZCcsICdvdXRwdXRBbW91bnQnLCAnY2hhbmdlQW1vdW50JywgJ291dHB1dHMnLCAnY2hhbmdlT3V0cHV0cycsICdmZWUnXTtcbiAgICBjb25zdCBvdXRwdXRzOiBUcmFuc2FjdGlvblJlY2lwaWVudFtdID0gW107XG5cbiAgICBjb25zdCBleHBsYW5hdGlvblJlc3VsdCA9IHtcbiAgICAgIGRpc3BsYXlPcmRlcixcbiAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgb3V0cHV0cyxcbiAgICAgIG91dHB1dEFtb3VudDogJzAnLFxuICAgICAgZmVlOiB7IGZlZTogJzAnIH0sXG4gICAgICB0eXBlOiByZXN1bHQudHlwZSxcbiAgICAgIGNoYW5nZU91dHB1dHM6IFtdLCAvLyBhY2NvdW50IGJhc2VkIGRvZXMgbm90IHVzZSBjaGFuZ2Ugb3V0cHV0c1xuICAgICAgY2hhbmdlQW1vdW50OiAnMCcsIC8vIGFjY291bnQgYmFzZWQgZG9lcyBub3QgbWFrZSBjaGFuZ2VcbiAgICB9O1xuXG4gICAgc3dpdGNoIChleHBsYW5hdGlvblJlc3VsdC50eXBlKSB7XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TZW5kOlxuICAgICAgICByZXR1cm4gdGhpcy5leHBsYWluVHJhbnNmZXJUcmFuc2FjdGlvbihleHBsYW5hdGlvblJlc3VsdCk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ1RyYW5zYWN0aW9uIHR5cGUgbm90IHN1cHBvcnRlZCcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBFeHBsYWlucyBhIHRyYW5zZmVyIHRyYW5zYWN0aW9uIGJ5IHByb3ZpZGluZyBkZXRhaWxzIGFib3V0IHRoZSByZWNpcGllbnRzIGFuZCB0aGUgdG90YWwgb3V0cHV0IGFtb3VudC5cbiAgICpcbiAgICogQHBhcmFtIHtJY3BUcmFuc2FjdGlvbkV4cGxhbmF0aW9ufSBleHBsYW5hdGlvblJlc3VsdCAtIFRoZSBpbml0aWFsIGV4cGxhbmF0aW9uIHJlc3VsdCB0byBiZSBleHRlbmRlZC5cbiAgICogQHJldHVybnMge0ljcFRyYW5zYWN0aW9uRXhwbGFuYXRpb259IFRoZSBleHRlbmRlZCBleHBsYW5hdGlvbiByZXN1bHQgaW5jbHVkaW5nIHRoZSBvdXRwdXQgYW1vdW50IGFuZCByZWNpcGllbnRzLlxuICAgKi9cbiAgZXhwbGFpblRyYW5zZmVyVHJhbnNhY3Rpb24oZXhwbGFuYXRpb25SZXN1bHQ6IEljcFRyYW5zYWN0aW9uRXhwbGFuYXRpb24pOiBJY3BUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIHtcbiAgICBleHBsYW5hdGlvblJlc3VsdC5mZWUgPSB7IGZlZTogdGhpcy5pY3BUcmFuc2FjdGlvbkRhdGEuZmVlIH07XG4gICAgY29uc3QgcmVjaXBpZW50cyA9IHRoaXMuX3V0aWxzLmdldFJlY2lwaWVudHModGhpcy5pY3BUcmFuc2FjdGlvbkRhdGEpO1xuICAgIGNvbnN0IG91dHB1dHM6IFRyYW5zYWN0aW9uUmVjaXBpZW50W10gPSBbcmVjaXBpZW50c107XG4gICAgY29uc3Qgb3V0cHV0QW1vdW50Qk4gPSByZWNpcGllbnRzLmFtb3VudDtcbiAgICBjb25zdCBvdXRwdXRBbW91bnQgPSBvdXRwdXRBbW91bnRCTi50b1N0cmluZygpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmV4cGxhbmF0aW9uUmVzdWx0LFxuICAgICAgb3V0cHV0QW1vdW50LFxuICAgICAgb3V0cHV0cyxcbiAgICB9O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHRvQnJvYWRjYXN0Rm9ybWF0KCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLl9zaWduZWRUcmFuc2FjdGlvbikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdFbXB0eSB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zZXJpYWxpemUoKTtcbiAgfVxuXG4gIHNlcmlhbGl6ZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uOiBTaWduZWRUcmFuc2FjdGlvblJlcXVlc3QgPSB7XG4gICAgICBzaWduZWRfdHJhbnNhY3Rpb246IHRoaXMuX3NpZ25lZFRyYW5zYWN0aW9uLFxuICAgICAgbmV0d29ya19pZGVudGlmaWVyOiB7XG4gICAgICAgIGJsb2NrY2hhaW46IHRoaXMuX2NvaW5Db25maWcuZnVsbE5hbWUsXG4gICAgICAgIG5ldHdvcms6IE5ldHdvcmsuSUQsXG4gICAgICB9LFxuICAgIH07XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHRyYW5zYWN0aW9uKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBjYW5TaWduKGtleTogQmFzZUtleSk6IGJvb2xlYW4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBrZXlQYWlyID0gbmV3IEtleVBhaXIoeyBwcnY6IGtleS5rZXkgfSk7XG4gICAgICBjb25zdCBwdWJsaWNLZXlIZXggPSBrZXlQYWlyLmdldFB1YmxpY0tleSh7IGNvbXByZXNzZWQ6IHRydWUgfSkudG9TdHJpbmcoJ2hleCcpO1xuICAgICAgY29uc3QgdW5jb21wcmVzc2VkUHVibGljS2V5SGV4ID0ga2V5UGFpci5nZXRQdWJsaWNLZXkoeyBjb21wcmVzc2VkOiBmYWxzZSB9KS50b1N0cmluZygnaGV4Jyk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICB0aGlzLmljcFRyYW5zYWN0aW9uRGF0YS5zZW5kZXJQdWJsaWNLZXlIZXggPT09IHB1YmxpY0tleUhleCB8fFxuICAgICAgICB0aGlzLmljcFRyYW5zYWN0aW9uRGF0YS5zZW5kZXJQdWJsaWNLZXlIZXggPT09IHVuY29tcHJlc3NlZFB1YmxpY0tleUhleFxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHBhcnNlVW5zaWduZWRUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogUHJvbWlzZTxQYXJzZWRUcmFuc2FjdGlvbj4ge1xuICAgIGNvbnN0IHVuc2lnbmVkVHJhbnNhY3Rpb24gPSB0aGlzLl91dGlscy5jYm9yRGVjb2RlKFxuICAgICAgdGhpcy5fdXRpbHMuYmxvYkZyb21IZXgocmF3VHJhbnNhY3Rpb24pXG4gICAgKSBhcyBDYm9yVW5zaWduZWRUcmFuc2FjdGlvbjtcbiAgICBjb25zdCB1cGRhdGUgPSB1bnNpZ25lZFRyYW5zYWN0aW9uLnVwZGF0ZXNbMF07XG4gICAgY29uc3QgaHR0cENhbmlzdGVyVXBkYXRlID0gdXBkYXRlWzFdIGFzIEh0dHBDYW5pc3RlclVwZGF0ZTtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5nZXRQYXJzZWRUcmFuc2FjdGlvbkZyb21VcGRhdGUoaHR0cENhbmlzdGVyVXBkYXRlLCBmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldFBhcnNlZFRyYW5zYWN0aW9uRnJvbVVwZGF0ZShcbiAgICBodHRwQ2FuaXN0ZXJVcGRhdGU6IEh0dHBDYW5pc3RlclVwZGF0ZSxcbiAgICBpc1NpZ25lZDogYm9vbGVhblxuICApOiBQcm9taXNlPFBhcnNlZFRyYW5zYWN0aW9uPiB7XG4gICAgY29uc3Qgc2VuZGVyUHJpbmNpcGFsID0gdGhpcy5fdXRpbHMuY29udmVydFNlbmRlckJsb2JUb1ByaW5jaXBhbChodHRwQ2FuaXN0ZXJVcGRhdGUuc2VuZGVyKTtcbiAgICBjb25zdCBBQ0NPVU5UX0lEX1BSRUZJWCA9IHRoaXMuX3V0aWxzLmdldEFjY291bnRJZFByZWZpeCgpO1xuICAgIGNvbnN0IHN1YkFjY291bnQgPSBuZXcgVWludDhBcnJheSgzMik7XG4gICAgY29uc3Qgc2VuZGVyQWNjb3VudCA9IHRoaXMuX3V0aWxzLmdldEFjY291bnRJZEZyb21QcmluY2lwYWxCeXRlcyhcbiAgICAgIEFDQ09VTlRfSURfUFJFRklYLFxuICAgICAgQnVmZmVyLmZyb20oc2VuZGVyUHJpbmNpcGFsLmJ1ZmZlciksXG4gICAgICBzdWJBY2NvdW50XG4gICAgKTtcbiAgICBjb25zdCBhcmdzID0gYXdhaXQgdGhpcy5fdXRpbHMuZnJvbUFyZ3MoaHR0cENhbmlzdGVyVXBkYXRlLmFyZyk7XG4gICAgY29uc3Qgc2VuZGVyT3BlcmF0aW9uOiBJY3BPcGVyYXRpb24gPSB7XG4gICAgICB0eXBlOiBPcGVyYXRpb25UeXBlLlRSQU5TQUNUSU9OLFxuICAgICAgYWNjb3VudDogeyBhZGRyZXNzOiBzZW5kZXJBY2NvdW50IH0sXG4gICAgICBhbW91bnQ6IHtcbiAgICAgICAgdmFsdWU6IGAtJHthcmdzLnBheW1lbnQucmVjZWl2ZXJHZXRzLmU4cy50b1N0cmluZygpfWAsXG4gICAgICAgIGN1cnJlbmN5OiB7XG4gICAgICAgICAgc3ltYm9sOiB0aGlzLl9jb2luQ29uZmlnLmZhbWlseSxcbiAgICAgICAgICBkZWNpbWFsczogdGhpcy5fY29pbkNvbmZpZy5kZWNpbWFsUGxhY2VzLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuICAgIGNvbnN0IHJlY2VpdmVyT3BlcmF0aW9uOiBJY3BPcGVyYXRpb24gPSB7XG4gICAgICB0eXBlOiBPcGVyYXRpb25UeXBlLlRSQU5TQUNUSU9OLFxuICAgICAgYWNjb3VudDogeyBhZGRyZXNzOiBhcmdzLnRvLmhhc2gudG9TdHJpbmcoJ2hleCcpIH0sXG4gICAgICBhbW91bnQ6IHtcbiAgICAgICAgdmFsdWU6IGFyZ3MucGF5bWVudC5yZWNlaXZlckdldHMuZThzLnRvU3RyaW5nKCksXG4gICAgICAgIGN1cnJlbmN5OiB7XG4gICAgICAgICAgc3ltYm9sOiB0aGlzLl9jb2luQ29uZmlnLmZhbWlseSxcbiAgICAgICAgICBkZWNpbWFsczogdGhpcy5fY29pbkNvbmZpZy5kZWNpbWFsUGxhY2VzLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgY29uc3QgZmVlT3BlcmF0aW9uOiBJY3BPcGVyYXRpb24gPSB7XG4gICAgICB0eXBlOiBPcGVyYXRpb25UeXBlLkZFRSxcbiAgICAgIGFjY291bnQ6IHsgYWRkcmVzczogc2VuZGVyQWNjb3VudCB9LFxuICAgICAgYW1vdW50OiB7XG4gICAgICAgIHZhbHVlOiBgLSR7YXJncy5tYXhGZWUuZThzLnRvU3RyaW5nKCl9YCxcbiAgICAgICAgY3VycmVuY3k6IHtcbiAgICAgICAgICBzeW1ib2w6IHRoaXMuX2NvaW5Db25maWcuZmFtaWx5LFxuICAgICAgICAgIGRlY2ltYWxzOiB0aGlzLl9jb2luQ29uZmlnLmRlY2ltYWxQbGFjZXMsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG4gICAgY29uc3QgYWNjb3VudElkZW50aWZpZXJTaWduZXJzOiBJY3BBY2NvdW50W10gPSBbXTtcbiAgICBpZiAoaXNTaWduZWQpIHtcbiAgICAgIGFjY291bnRJZGVudGlmaWVyU2lnbmVycy5wdXNoKHsgYWRkcmVzczogc2VuZGVyQWNjb3VudCB9KTtcbiAgICB9XG4gICAgY29uc3QgcGFyc2VkVHhuOiBQYXJzZWRUcmFuc2FjdGlvbiA9IHtcbiAgICAgIG9wZXJhdGlvbnM6IFtzZW5kZXJPcGVyYXRpb24sIHJlY2VpdmVyT3BlcmF0aW9uLCBmZWVPcGVyYXRpb25dLFxuICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgY3JlYXRlZF9hdF90aW1lOiBhcmdzLmNyZWF0ZWRBdFRpbWUudGltZXN0YW1wTmFub3MsXG4gICAgICAgIG1lbW86IE51bWJlcihhcmdzLm1lbW8ubWVtbyksXG4gICAgICB9LFxuICAgICAgYWNjb3VudF9pZGVudGlmaWVyX3NpZ25lcnM6IGFjY291bnRJZGVudGlmaWVyU2lnbmVycyxcbiAgICB9O1xuICAgIHJldHVybiBwYXJzZWRUeG47XG4gIH1cblxuICBhc3luYyBwYXJzZVNpZ25lZFRyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiBQcm9taXNlPFBhcnNlZFRyYW5zYWN0aW9uPiB7XG4gICAgY29uc3Qgc2lnbmVkVHJhbnNhY3Rpb24gPSB0aGlzLl91dGlscy5jYm9yRGVjb2RlKHRoaXMuX3V0aWxzLmJsb2JGcm9tSGV4KHJhd1RyYW5zYWN0aW9uKSk7XG4gICAgY29uc3Qgc2lnbmVkVHJhbnNhY3Rpb25UeXBlZCA9IHNpZ25lZFRyYW5zYWN0aW9uIGFzIHsgcmVxdWVzdHM6IGFueVtdIH07XG4gICAgY29uc3QgZW52ZWxvcGVzID0gc2lnbmVkVHJhbnNhY3Rpb25UeXBlZC5yZXF1ZXN0c1swXVsxXTtcbiAgICBjb25zdCB1cGRhdGVzID0gZW52ZWxvcGVzLm1hcCgoZW52ZWxvcGUpID0+IGVudmVsb3BlLnVwZGF0ZSk7XG4gICAgY29uc3QgaHR0cENhbmlzdGVyVXBkYXRlID0gdXBkYXRlc1swXS5jb250ZW50IGFzIEh0dHBDYW5pc3RlclVwZGF0ZTtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5nZXRQYXJzZWRUcmFuc2FjdGlvbkZyb21VcGRhdGUoaHR0cENhbmlzdGVyVXBkYXRlLCB0cnVlKTtcbiAgfVxufVxuIl19
|
|
@@ -1,48 +1,64 @@
|
|
|
1
1
|
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
2
|
+
import BigNumber from 'bignumber.js';
|
|
3
|
+
import { BaseKey, BaseTransactionBuilder, BaseAddress } from '@bitgo/sdk-core';
|
|
4
|
+
import { Transaction } from './transaction';
|
|
5
|
+
import { IcpTransactionData } from './iface';
|
|
4
6
|
export declare abstract class TransactionBuilder extends BaseTransactionBuilder {
|
|
5
|
-
protected
|
|
6
|
-
protected
|
|
7
|
-
|
|
8
|
-
protected
|
|
7
|
+
protected _transaction: Transaction;
|
|
8
|
+
protected _sender: string;
|
|
9
|
+
protected _publicKey: string;
|
|
10
|
+
protected _memo: number | BigInt;
|
|
11
|
+
protected _receiverId: string;
|
|
12
|
+
protected _amount: string;
|
|
13
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
9
14
|
/**
|
|
10
|
-
*
|
|
15
|
+
* Sets the public key and the address of the sender of this transaction.
|
|
16
|
+
*
|
|
17
|
+
* @param {string} address the account that is sending this transaction
|
|
18
|
+
* @param {string} pubKey the public key that is sending this transaction
|
|
19
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
11
20
|
*/
|
|
12
|
-
|
|
21
|
+
sender(address: string, pubKey: string): this;
|
|
13
22
|
/**
|
|
14
|
-
*
|
|
23
|
+
* Set the memo
|
|
24
|
+
*
|
|
25
|
+
* @param {number} memo - number that to be used as memo
|
|
26
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
15
27
|
*/
|
|
16
|
-
|
|
28
|
+
memo(memo: number): this;
|
|
17
29
|
/**
|
|
18
|
-
*
|
|
30
|
+
* Sets the account Id of the receiver of this transaction.
|
|
31
|
+
*
|
|
32
|
+
* @param {string} accountId the account id of the account that is receiving this transaction
|
|
33
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
19
34
|
*/
|
|
20
|
-
|
|
35
|
+
receiverId(accountId: string): this;
|
|
21
36
|
/** @inheritdoc */
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* validates the recipients of the transaction
|
|
25
|
-
*/
|
|
26
|
-
validateRecipients(recipients: Recipient[]): void;
|
|
27
|
-
/**
|
|
28
|
-
* validates the gas data of the transaction
|
|
29
|
-
*/
|
|
30
|
-
validateGasData(): void;
|
|
31
|
-
/**
|
|
32
|
-
* validates the gas price of the transaction
|
|
33
|
-
*/
|
|
34
|
-
validateGasPrice(gasPrice: number): void;
|
|
37
|
+
get transaction(): Transaction;
|
|
35
38
|
/** @inheritdoc */
|
|
36
|
-
|
|
39
|
+
set transaction(transaction: Transaction);
|
|
40
|
+
get transactionType(): string;
|
|
37
41
|
/** @inheritdoc */
|
|
38
|
-
|
|
42
|
+
fromImplementation(rawTransaction: IcpTransactionData): Transaction;
|
|
39
43
|
/** @inheritdoc */
|
|
40
|
-
|
|
44
|
+
validateTransaction(transaction: Transaction): void;
|
|
41
45
|
/**
|
|
42
|
-
*
|
|
46
|
+
* Sets the amount of this transaction.
|
|
47
|
+
*
|
|
48
|
+
* @param {string} value the amount to be sent in e8s (1 ICP = 1e8 e8s)
|
|
49
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
43
50
|
*/
|
|
44
|
-
|
|
51
|
+
amount(value: string): this;
|
|
52
|
+
validateValue(value: BigNumber): void;
|
|
53
|
+
/**
|
|
54
|
+
* Initialize the transaction builder fields using the decoded transaction data
|
|
55
|
+
*
|
|
56
|
+
* @param {Transaction} tx the transaction data
|
|
57
|
+
*/
|
|
58
|
+
initBuilder(tx: Transaction): void;
|
|
45
59
|
/** @inheritdoc */
|
|
46
|
-
|
|
60
|
+
validateKey(key: BaseKey): void;
|
|
61
|
+
validateAddress(address: BaseAddress): void;
|
|
62
|
+
validateRawTransaction(rawTransaction: IcpTransactionData): void;
|
|
47
63
|
}
|
|
48
64
|
//# sourceMappingURL=transactionBuilder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAuC,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACpH,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C,8BAAsB,kBAAmB,SAAQ,sBAAsB;IACrE,SAAS,CAAC,YAAY,EAAE,WAAW,CAAC;IACpC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEd,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C;;;;;;OAMG;IACI,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAYpD;;;;;OAKG;IACI,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQ/B;;;;;OAKG;IACI,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAQ1C,kBAAkB;IAClB,IAAI,WAAW,IAAI,WAAW,CAE7B;IAED,kBAAkB;IAClB,IAAI,WAAW,CAAC,WAAW,EAAE,WAAW,EAEvC;IAED,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,kBAAkB;IAClB,kBAAkB,CAAC,cAAc,EAAE,kBAAkB,GAAG,WAAW;IAMnE,kBAAkB;IAClB,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAOnD;;;;;OAKG;IACI,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMlC,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAIrC;;;;OAIG;IACH,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAUlC,kBAAkB;IAClB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAS/B,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAM3C,sBAAsB,CAAC,cAAc,EAAE,kBAAkB,GAAG,IAAI;CAGjE"}
|
|
@@ -1,77 +1,131 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.TransactionBuilder = void 0;
|
|
7
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
4
8
|
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
9
|
+
const transaction_1 = require("./transaction");
|
|
10
|
+
const utils_1 = __importDefault(require("./utils"));
|
|
5
11
|
class TransactionBuilder extends sdk_core_1.BaseTransactionBuilder {
|
|
6
12
|
constructor(_coinConfig) {
|
|
7
13
|
super(_coinConfig);
|
|
8
|
-
|
|
9
|
-
/** @inheritdoc */
|
|
10
|
-
signImplementation(key) {
|
|
11
|
-
throw new Error('method not implemented');
|
|
14
|
+
this._transaction = new transaction_1.Transaction(_coinConfig, utils_1.default);
|
|
12
15
|
}
|
|
13
16
|
/**
|
|
14
|
-
*
|
|
17
|
+
* Sets the public key and the address of the sender of this transaction.
|
|
18
|
+
*
|
|
19
|
+
* @param {string} address the account that is sending this transaction
|
|
20
|
+
* @param {string} pubKey the public key that is sending this transaction
|
|
21
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
15
22
|
*/
|
|
16
|
-
|
|
17
|
-
|
|
23
|
+
sender(address, pubKey) {
|
|
24
|
+
if (!address || !utils_1.default.isValidAddress(address.toString())) {
|
|
25
|
+
throw new sdk_core_1.BuildTransactionError('Invalid or missing address, got: ' + address);
|
|
26
|
+
}
|
|
27
|
+
if (!pubKey || !utils_1.default.isValidPublicKey(pubKey)) {
|
|
28
|
+
throw new sdk_core_1.BuildTransactionError('Invalid or missing pubKey, got: ' + pubKey);
|
|
29
|
+
}
|
|
30
|
+
this._sender = address;
|
|
31
|
+
this._publicKey = pubKey;
|
|
32
|
+
return this;
|
|
18
33
|
}
|
|
19
34
|
/**
|
|
20
|
-
*
|
|
35
|
+
* Set the memo
|
|
36
|
+
*
|
|
37
|
+
* @param {number} memo - number that to be used as memo
|
|
38
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
21
39
|
*/
|
|
22
|
-
|
|
23
|
-
|
|
40
|
+
memo(memo) {
|
|
41
|
+
if (memo < 0) {
|
|
42
|
+
throw new sdk_core_1.BuildTransactionError(`Invalid memo: ${memo}`);
|
|
43
|
+
}
|
|
44
|
+
this._memo = memo;
|
|
45
|
+
return this;
|
|
24
46
|
}
|
|
25
47
|
/**
|
|
26
|
-
*
|
|
48
|
+
* Sets the account Id of the receiver of this transaction.
|
|
49
|
+
*
|
|
50
|
+
* @param {string} accountId the account id of the account that is receiving this transaction
|
|
51
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
27
52
|
*/
|
|
28
|
-
|
|
29
|
-
|
|
53
|
+
receiverId(accountId) {
|
|
54
|
+
if (!accountId || !utils_1.default.isValidAddress(accountId)) {
|
|
55
|
+
throw new sdk_core_1.BuildTransactionError('Invalid or missing accountId for receiver, got: ' + accountId);
|
|
56
|
+
}
|
|
57
|
+
this._receiverId = accountId;
|
|
58
|
+
return this;
|
|
30
59
|
}
|
|
31
60
|
/** @inheritdoc */
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* validates the recipients of the transaction
|
|
37
|
-
*/
|
|
38
|
-
validateRecipients(recipients) {
|
|
39
|
-
throw new Error('method not implemented');
|
|
61
|
+
get transaction() {
|
|
62
|
+
return this._transaction;
|
|
40
63
|
}
|
|
41
|
-
/**
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
validateGasData() {
|
|
45
|
-
throw new Error('method not implemented');
|
|
64
|
+
/** @inheritdoc */
|
|
65
|
+
set transaction(transaction) {
|
|
66
|
+
this._transaction = transaction;
|
|
46
67
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
*/
|
|
50
|
-
validateGasPrice(gasPrice) {
|
|
51
|
-
throw new Error('method not implemented');
|
|
68
|
+
get transactionType() {
|
|
69
|
+
return this._transaction.icpTransactionData.transactionType;
|
|
52
70
|
}
|
|
53
71
|
/** @inheritdoc */
|
|
54
|
-
|
|
55
|
-
|
|
72
|
+
fromImplementation(rawTransaction) {
|
|
73
|
+
this.validateRawTransaction(rawTransaction);
|
|
74
|
+
this.buildImplementation();
|
|
75
|
+
return this.transaction;
|
|
56
76
|
}
|
|
57
77
|
/** @inheritdoc */
|
|
58
|
-
|
|
59
|
-
|
|
78
|
+
validateTransaction(transaction) {
|
|
79
|
+
if (!transaction || !transaction.icpTransactionData) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
utils_1.default.validateRawTransaction(transaction.icpTransactionData);
|
|
60
83
|
}
|
|
61
|
-
/**
|
|
62
|
-
|
|
63
|
-
|
|
84
|
+
/**
|
|
85
|
+
* Sets the amount of this transaction.
|
|
86
|
+
*
|
|
87
|
+
* @param {string} value the amount to be sent in e8s (1 ICP = 1e8 e8s)
|
|
88
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
89
|
+
*/
|
|
90
|
+
amount(value) {
|
|
91
|
+
utils_1.default.validateValue(new bignumber_js_1.default(value));
|
|
92
|
+
this._amount = value;
|
|
93
|
+
return this;
|
|
94
|
+
}
|
|
95
|
+
validateValue(value) {
|
|
96
|
+
utils_1.default.validateValue(new bignumber_js_1.default(value));
|
|
64
97
|
}
|
|
65
98
|
/**
|
|
66
|
-
*
|
|
99
|
+
* Initialize the transaction builder fields using the decoded transaction data
|
|
100
|
+
*
|
|
101
|
+
* @param {Transaction} tx the transaction data
|
|
67
102
|
*/
|
|
68
|
-
|
|
69
|
-
|
|
103
|
+
initBuilder(tx) {
|
|
104
|
+
this._transaction = tx;
|
|
105
|
+
const icpTransactionData = tx.icpTransactionData;
|
|
106
|
+
this._sender = icpTransactionData.senderAddress;
|
|
107
|
+
this._memo = icpTransactionData.memo;
|
|
108
|
+
this._receiverId = icpTransactionData.receiverAddress;
|
|
109
|
+
this._publicKey = icpTransactionData.senderPublicKeyHex;
|
|
110
|
+
this._amount = icpTransactionData.amount;
|
|
70
111
|
}
|
|
71
112
|
/** @inheritdoc */
|
|
72
|
-
|
|
73
|
-
|
|
113
|
+
validateKey(key) {
|
|
114
|
+
if (!key || !key.key) {
|
|
115
|
+
throw new sdk_core_1.SigningError('Key is required');
|
|
116
|
+
}
|
|
117
|
+
if (!utils_1.default.isValidPrivateKey(key.key)) {
|
|
118
|
+
throw new sdk_core_1.SigningError('Invalid private key');
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
validateAddress(address) {
|
|
122
|
+
if (!utils_1.default.isValidAddress(address.address)) {
|
|
123
|
+
throw new sdk_core_1.BuildTransactionError('Invalid address');
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
validateRawTransaction(rawTransaction) {
|
|
127
|
+
utils_1.default.validateRawTransaction(rawTransaction);
|
|
74
128
|
}
|
|
75
129
|
}
|
|
76
130
|
exports.TransactionBuilder = TransactionBuilder;
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsOENBT3lCO0FBR3pCLE1BQXNCLGtCQUFtQixTQUFRLGlDQUFzQjtJQUdyRSxZQUFzQixXQUFpQztRQUNyRCxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELGtCQUFrQjtJQUNSLGtCQUFrQixDQUFDLEdBQVk7UUFDdkMsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVksQ0FBQyxTQUF3QixFQUFFLFNBQWlCO1FBQ3RELE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsYUFBcUI7UUFDMUIsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7T0FFRztJQUNILE9BQU87UUFDTCxNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixlQUFlLENBQUMsT0FBb0IsRUFBRSxhQUFzQjtRQUMxRCxNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsa0JBQWtCLENBQUMsVUFBdUI7UUFDeEMsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7T0FFRztJQUNILGVBQWU7UUFDYixNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZ0JBQWdCLENBQUMsUUFBZ0I7UUFDL0IsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsV0FBVyxDQUFDLEdBQVk7UUFDdEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsc0JBQXNCLENBQUMsY0FBc0I7UUFDM0MsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsYUFBYTtRQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCwwQkFBMEI7UUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsbUJBQW1CO1FBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUM1QyxDQUFDO0NBQ0Y7QUFyRkQsZ0RBcUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7XG4gIEJhc2VLZXksXG4gIEJhc2VUcmFuc2FjdGlvbixcbiAgUHVibGljS2V5IGFzIEJhc2VQdWJsaWNLZXksXG4gIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIEJhc2VBZGRyZXNzLFxuICBSZWNpcGllbnQsXG59IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyQnVpbGRlcic7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUcmFuc2FjdGlvbkJ1aWxkZXIgZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJvdGVjdGVkIF90cmFuc2ZlcjogVHJhbnNmZXJCdWlsZGVyO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIHNpZ25JbXBsZW1lbnRhdGlvbihrZXk6IEJhc2VLZXkpOiBCYXNlVHJhbnNhY3Rpb24ge1xuICAgIHRocm93IG5ldyBFcnJvcignbWV0aG9kIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIGFkZCBhIHNpZ25hdHVyZSB0byB0aGUgdHJhbnNhY3Rpb25cbiAgICovXG4gIGFkZFNpZ25hdHVyZShwdWJsaWNLZXk6IEJhc2VQdWJsaWNLZXksIHNpZ25hdHVyZTogQnVmZmVyKTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdtZXRob2Qgbm90IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgc2VuZGVyIG9mIHRoaXMgdHJhbnNhY3Rpb24uXG4gICAqL1xuICBzZW5kZXIoc2VuZGVyQWRkcmVzczogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdtZXRob2Qgbm90IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0cyB0aGUgZ2FzIGRhdGEgb2YgdGhpcyB0cmFuc2FjdGlvbi5cbiAgICovXG4gIGdhc0RhdGEoKTogdGhpcyB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdtZXRob2Qgbm90IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVBZGRyZXNzKGFkZHJlc3M6IEJhc2VBZGRyZXNzLCBhZGRyZXNzRm9ybWF0Pzogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdtZXRob2Qgbm90IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICAvKipcbiAgICogdmFsaWRhdGVzIHRoZSByZWNpcGllbnRzIG9mIHRoZSB0cmFuc2FjdGlvblxuICAgKi9cbiAgdmFsaWRhdGVSZWNpcGllbnRzKHJlY2lwaWVudHM6IFJlY2lwaWVudFtdKTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdtZXRob2Qgbm90IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICAvKipcbiAgICogdmFsaWRhdGVzIHRoZSBnYXMgZGF0YSBvZiB0aGUgdHJhbnNhY3Rpb25cbiAgICovXG4gIHZhbGlkYXRlR2FzRGF0YSgpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ21ldGhvZCBub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB2YWxpZGF0ZXMgdGhlIGdhcyBwcmljZSBvZiB0aGUgdHJhbnNhY3Rpb25cbiAgICovXG4gIHZhbGlkYXRlR2FzUHJpY2UoZ2FzUHJpY2U6IG51bWJlcik6IHZvaWQge1xuICAgIHRocm93IG5ldyBFcnJvcignbWV0aG9kIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlS2V5KGtleTogQmFzZUtleSk6IHZvaWQge1xuICAgIHRocm93IG5ldyBFcnJvcignbWV0aG9kIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IHZvaWQge1xuICAgIHRocm93IG5ldyBFcnJvcignbWV0aG9kIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlVmFsdWUoKTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdtZXRob2Qgbm90IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIHRoZSBzcGVjaWZpYyB0cmFuc2FjdGlvbiBidWlsZGVyIGludGVybmFsbHlcbiAgICovXG4gIHZhbGlkYXRlRGVjb2RlZFRyYW5zYWN0aW9uKCk6IHZvaWQge1xuICAgIHRocm93IG5ldyBFcnJvcignbWV0aG9kIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlVHJhbnNhY3Rpb24oKTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdtZXRob2Qgbm90IGltcGxlbWVudGVkJyk7XG4gIH1cbn1cbiJdfQ==
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsZ0VBQXFDO0FBQ3JDLDhDQUFvSDtBQUNwSCwrQ0FBNEM7QUFDNUMsb0RBQTRCO0FBRzVCLE1BQXNCLGtCQUFtQixTQUFRLGlDQUFzQjtJQVFyRSxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUkseUJBQVcsQ0FBQyxXQUFXLEVBQUUsZUFBSyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxPQUFlLEVBQUUsTUFBYztRQUMzQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsZUFBSyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQzFELE1BQU0sSUFBSSxnQ0FBcUIsQ0FBQyxtQ0FBbUMsR0FBRyxPQUFPLENBQUMsQ0FBQztRQUNqRixDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLGVBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQy9DLE1BQU0sSUFBSSxnQ0FBcUIsQ0FBQyxrQ0FBa0MsR0FBRyxNQUFNLENBQUMsQ0FBQztRQUMvRSxDQUFDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxJQUFJLENBQUMsSUFBWTtRQUN0QixJQUFJLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNiLE1BQU0sSUFBSSxnQ0FBcUIsQ0FBQyxpQkFBaUIsSUFBSSxFQUFF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QUFlLENBQUMsT0FBb0I7UUFDbEMsSUFBSSxDQUFDLGVBQUssQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDM0MsTUFBTSxJQUFJLGdDQUFxQixDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDckQsQ0FBQztJQUNILENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxjQUFrQztRQUN2RCxlQUFLLENBQUMsc0JBQXNCLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDL0MsQ0FBQztDQUNGO0FBM0lELGdEQTJJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5pbXBvcnQgeyBCYXNlS2V5LCBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyLCBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsIFNpZ25pbmdFcnJvciwgQmFzZUFkZHJlc3MgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IEljcFRyYW5zYWN0aW9uRGF0YSB9IGZyb20gJy4vaWZhY2UnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHJhbnNhY3Rpb25CdWlsZGVyIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByb3RlY3RlZCBfdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uO1xuICBwcm90ZWN0ZWQgX3NlbmRlcjogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX3B1YmxpY0tleTogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX21lbW86IG51bWJlciB8IEJpZ0ludDtcbiAgcHJvdGVjdGVkIF9yZWNlaXZlcklkOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfYW1vdW50OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gbmV3IFRyYW5zYWN0aW9uKF9jb2luQ29uZmlnLCB1dGlscyk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgcHVibGljIGtleSBhbmQgdGhlIGFkZHJlc3Mgb2YgdGhlIHNlbmRlciBvZiB0aGlzIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYWRkcmVzcyB0aGUgYWNjb3VudCB0aGF0IGlzIHNlbmRpbmcgdGhpcyB0cmFuc2FjdGlvblxuICAgKiBAcGFyYW0ge3N0cmluZ30gcHViS2V5IHRoZSBwdWJsaWMga2V5IHRoYXQgaXMgc2VuZGluZyB0aGlzIHRyYW5zYWN0aW9uXG4gICAqIEByZXR1cm5zIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IFRoaXMgdHJhbnNhY3Rpb24gYnVpbGRlclxuICAgKi9cbiAgcHVibGljIHNlbmRlcihhZGRyZXNzOiBzdHJpbmcsIHB1YktleTogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFhZGRyZXNzIHx8ICF1dGlscy5pc1ZhbGlkQWRkcmVzcyhhZGRyZXNzLnRvU3RyaW5nKCkpKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIG9yIG1pc3NpbmcgYWRkcmVzcywgZ290OiAnICsgYWRkcmVzcyk7XG4gICAgfVxuICAgIGlmICghcHViS2V5IHx8ICF1dGlscy5pc1ZhbGlkUHVibGljS2V5KHB1YktleSkpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgb3IgbWlzc2luZyBwdWJLZXksIGdvdDogJyArIHB1YktleSk7XG4gICAgfVxuICAgIHRoaXMuX3NlbmRlciA9IGFkZHJlc3M7XG4gICAgdGhpcy5fcHVibGljS2V5ID0gcHViS2V5O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgbWVtb1xuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gbWVtbyAtIG51bWJlciB0aGF0IHRvIGJlIHVzZWQgYXMgbWVtb1xuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSBUaGlzIHRyYW5zYWN0aW9uIGJ1aWxkZXJcbiAgICovXG4gIHB1YmxpYyBtZW1vKG1lbW86IG51bWJlcik6IHRoaXMge1xuICAgIGlmIChtZW1vIDwgMCkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcihgSW52YWxpZCBtZW1vOiAke21lbW99YCk7XG4gICAgfVxuICAgIHRoaXMuX21lbW8gPSBtZW1vO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGFjY291bnQgSWQgb2YgdGhlIHJlY2VpdmVyIG9mIHRoaXMgdHJhbnNhY3Rpb24uXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhY2NvdW50SWQgdGhlIGFjY291bnQgaWQgb2YgdGhlIGFjY291bnQgdGhhdCBpcyByZWNlaXZpbmcgdGhpcyB0cmFuc2FjdGlvblxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSBUaGlzIHRyYW5zYWN0aW9uIGJ1aWxkZXJcbiAgICovXG4gIHB1YmxpYyByZWNlaXZlcklkKGFjY291bnRJZDogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFhY2NvdW50SWQgfHwgIXV0aWxzLmlzVmFsaWRBZGRyZXNzKGFjY291bnRJZCkpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgb3IgbWlzc2luZyBhY2NvdW50SWQgZm9yIHJlY2VpdmVyLCBnb3Q6ICcgKyBhY2NvdW50SWQpO1xuICAgIH1cbiAgICB0aGlzLl9yZWNlaXZlcklkID0gYWNjb3VudElkO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldCB0cmFuc2FjdGlvbigpOiBUcmFuc2FjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHNldCB0cmFuc2FjdGlvbih0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pIHtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IHRyYW5zYWN0aW9uO1xuICB9XG5cbiAgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvbi5pY3BUcmFuc2FjdGlvbkRhdGEudHJhbnNhY3Rpb25UeXBlO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogSWNwVHJhbnNhY3Rpb25EYXRhKTogVHJhbnNhY3Rpb24ge1xuICAgIHRoaXMudmFsaWRhdGVSYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgdGhpcy5idWlsZEltcGxlbWVudGF0aW9uKCk7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb247XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVUcmFuc2FjdGlvbih0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBpZiAoIXRyYW5zYWN0aW9uIHx8ICF0cmFuc2FjdGlvbi5pY3BUcmFuc2FjdGlvbkRhdGEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdXRpbHMudmFsaWRhdGVSYXdUcmFuc2FjdGlvbih0cmFuc2FjdGlvbi5pY3BUcmFuc2FjdGlvbkRhdGEpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGFtb3VudCBvZiB0aGlzIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWUgdGhlIGFtb3VudCB0byBiZSBzZW50IGluIGU4cyAoMSBJQ1AgPSAxZTggZThzKVxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSBUaGlzIHRyYW5zYWN0aW9uIGJ1aWxkZXJcbiAgICovXG4gIHB1YmxpYyBhbW91bnQodmFsdWU6IHN0cmluZyk6IHRoaXMge1xuICAgIHV0aWxzLnZhbGlkYXRlVmFsdWUobmV3IEJpZ051bWJlcih2YWx1ZSkpO1xuICAgIHRoaXMuX2Ftb3VudCA9IHZhbHVlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgdmFsaWRhdGVWYWx1ZSh2YWx1ZTogQmlnTnVtYmVyKTogdm9pZCB7XG4gICAgdXRpbHMudmFsaWRhdGVWYWx1ZShuZXcgQmlnTnVtYmVyKHZhbHVlKSk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgdHJhbnNhY3Rpb24gYnVpbGRlciBmaWVsZHMgdXNpbmcgdGhlIGRlY29kZWQgdHJhbnNhY3Rpb24gZGF0YVxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9ufSB0eCB0aGUgdHJhbnNhY3Rpb24gZGF0YVxuICAgKi9cbiAgaW5pdEJ1aWxkZXIodHg6IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24gPSB0eDtcbiAgICBjb25zdCBpY3BUcmFuc2FjdGlvbkRhdGEgPSB0eC5pY3BUcmFuc2FjdGlvbkRhdGE7XG4gICAgdGhpcy5fc2VuZGVyID0gaWNwVHJhbnNhY3Rpb25EYXRhLnNlbmRlckFkZHJlc3M7XG4gICAgdGhpcy5fbWVtbyA9IGljcFRyYW5zYWN0aW9uRGF0YS5tZW1vO1xuICAgIHRoaXMuX3JlY2VpdmVySWQgPSBpY3BUcmFuc2FjdGlvbkRhdGEucmVjZWl2ZXJBZGRyZXNzO1xuICAgIHRoaXMuX3B1YmxpY0tleSA9IGljcFRyYW5zYWN0aW9uRGF0YS5zZW5kZXJQdWJsaWNLZXlIZXg7XG4gICAgdGhpcy5fYW1vdW50ID0gaWNwVHJhbnNhY3Rpb25EYXRhLmFtb3VudDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZUtleShrZXk6IEJhc2VLZXkpOiB2b2lkIHtcbiAgICBpZiAoIWtleSB8fCAha2V5LmtleSkge1xuICAgICAgdGhyb3cgbmV3IFNpZ25pbmdFcnJvcignS2V5IGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuICAgIGlmICghdXRpbHMuaXNWYWxpZFByaXZhdGVLZXkoa2V5LmtleSkpIHtcbiAgICAgIHRocm93IG5ldyBTaWduaW5nRXJyb3IoJ0ludmFsaWQgcHJpdmF0ZSBrZXknKTtcbiAgICB9XG4gIH1cblxuICB2YWxpZGF0ZUFkZHJlc3MoYWRkcmVzczogQmFzZUFkZHJlc3MpOiB2b2lkIHtcbiAgICBpZiAoIXV0aWxzLmlzVmFsaWRBZGRyZXNzKGFkZHJlc3MuYWRkcmVzcykpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgYWRkcmVzcycpO1xuICAgIH1cbiAgfVxuXG4gIHZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IEljcFRyYW5zYWN0aW9uRGF0YSk6IHZvaWQge1xuICAgIHV0aWxzLnZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb24pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,24 +1,25 @@
|
|
|
1
1
|
import { BaseTransactionBuilderFactory } from '@bitgo/sdk-core';
|
|
2
2
|
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
3
|
+
import { Transaction } from './transaction';
|
|
4
|
+
import { TransactionBuilder } from './transactionBuilder';
|
|
5
|
+
import { TransferBuilder } from './transferBuilder';
|
|
6
|
+
import { ParsedTransaction } from './iface';
|
|
3
7
|
export declare class TransactionBuilderFactory extends BaseTransactionBuilderFactory {
|
|
4
8
|
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
5
9
|
/** @inheritdoc */
|
|
6
|
-
from():
|
|
7
|
-
/**
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
from(rawTransaction: string): TransactionBuilder;
|
|
11
|
+
/**
|
|
12
|
+
* Initialize the builder with the given transaction
|
|
13
|
+
*
|
|
14
|
+
* @param {Transaction | undefined} tx - the transaction used to initialize the builder
|
|
15
|
+
* @param {TransactionBuilder} builder - the builder to be initialized
|
|
16
|
+
* @returns {TransactionBuilder} the builder initialized
|
|
17
|
+
*/
|
|
18
|
+
private static initializeBuilder;
|
|
15
19
|
/** @inheritdoc */
|
|
16
|
-
|
|
20
|
+
getTransferBuilder(tx?: Transaction): TransferBuilder;
|
|
21
|
+
parseTransaction(rawTransaction: string, isSigned: boolean): Promise<ParsedTransaction>;
|
|
17
22
|
/** @inheritdoc */
|
|
18
23
|
getWalletInitializationBuilder(): void;
|
|
19
|
-
/**
|
|
20
|
-
* Parse the transaction from a raw transaction
|
|
21
|
-
*/
|
|
22
|
-
private parseTransaction;
|
|
23
24
|
}
|
|
24
25
|
//# sourceMappingURL=transactionBuilderFactory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,
|
|
1
|
+
{"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAA2B,MAAM,iBAAiB,CAAC;AACzF,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAiB,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE3D,qBAAa,yBAA0B,SAAQ,6BAA6B;gBAC9D,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,kBAAkB;IAClB,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,kBAAkB;IAehD;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAOhC,kBAAkB;IAClB,kBAAkB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,eAAe;IAIrD,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAWvF,kBAAkB;IAClB,8BAA8B,IAAI,IAAI;CAGvC"}
|