@bitgo/sdk-coin-icp 1.4.0 → 1.6.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 +22 -0
- package/dist/src/lib/iface.d.ts +165 -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 +42 -0
- package/dist/src/lib/transaction.d.ts.map +1 -0
- package/dist/src/lib/transaction.js +169 -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 -12
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilderFactory.js +38 -24
- 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 +12 -0
- package/dist/src/lib/unsignedTransactionBuilder.d.ts.map +1 -0
- package/dist/src/lib/unsignedTransactionBuilder.js +105 -0
- package/dist/src/lib/utils.d.ts +261 -7
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +453 -54
- 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 +13 -9
|
@@ -0,0 +1,169 @@
|
|
|
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
|
+
}
|
|
168
|
+
exports.Transaction = Transaction;
|
|
169
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDhDQU95QjtBQUV6QixtQ0FVaUI7QUFFakIsdUNBQW9DO0FBRXBDLE1BQWEsV0FBWSxTQUFRLDBCQUFlO0lBUTlDLFlBQVksV0FBaUMsRUFBRSxLQUFZO1FBQ3pELEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksa0JBQWtCLENBQUMsa0JBQXNDO1FBQzNELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxrQkFBa0IsQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxjQUFjLENBQUMsY0FBOEI7UUFDL0MsSUFBSSxDQUFDLGVBQWUsR0FBRyxjQUFjLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQUksbUJBQW1CO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksaUJBQWlCLENBQUMsU0FBaUI7UUFDckMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksWUFBWSxDQUFDLFlBQTBCO1FBQ3pDLElBQUksQ0FBQyxhQUFhLEdBQUcsWUFBWSxDQUFDO0lB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QUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUE1TEQsa0NBNExDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQmFzZUtleSxcbiAgQmFzZVRyYW5zYWN0aW9uLFxuICBUcmFuc2FjdGlvblJlY2lwaWVudCxcbiAgVHJhbnNhY3Rpb25UeXBlLFxuICBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcixcbiAgVHJhbnNhY3Rpb25UeXBlIGFzIEJpdEdvVHJhbnNhY3Rpb25UeXBlLFxufSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7XG4gIEljcFRyYW5zYWN0aW9uLFxuICBJY3BUcmFuc2FjdGlvbkRhdGEsXG4gIFBheWxvYWRzRGF0YSxcbiAgT3BlcmF0aW9uVHlwZSxcbiAgU2lnbmF0dXJlcyxcbiAgVHhEYXRhLFxuICBJY3BUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLFxuICBTaWduZWRUcmFuc2FjdGlvblJlcXVlc3QsXG4gIE5ldHdvcmssXG59IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgVXRpbHMgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IEtleVBhaXIgfSBmcm9tICcuL2tleVBhaXInO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb24gZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb24ge1xuICBwcm90ZWN0ZWQgX2ljcFRyYW5zYWN0aW9uRGF0YTogSWNwVHJhbnNhY3Rpb25EYXRhO1xuICBwcm90ZWN0ZWQgX2ljcFRyYW5zYWN0aW9uOiBJY3BUcmFuc2FjdGlvbjtcbiAgcHJvdGVjdGVkIF9wYXlsb2Fkc0RhdGE6IFBheWxvYWRzRGF0YTtcbiAgcHJvdGVjdGVkIF9zaWduZWRUcmFuc2FjdGlvbjogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX3NpZ25hdHVyZVBheWxvYWQ6IFNpZ25hdHVyZXNbXTtcbiAgcHJvdGVjdGVkIF91dGlsczogVXRpbHM7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+LCB1dGlsczogVXRpbHMpIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fdXRpbHMgPSB1dGlscztcbiAgfVxuXG4gIGdldCBpY3BUcmFuc2FjdGlvbkRhdGEoKTogSWNwVHJhbnNhY3Rpb25EYXRhIHtcbiAgICByZXR1cm4gdGhpcy5faWNwVHJhbnNhY3Rpb25EYXRhO1xuICB9XG5cbiAgc2V0IGljcFRyYW5zYWN0aW9uRGF0YShpY3BUcmFuc2FjdGlvbkRhdGE6IEljcFRyYW5zYWN0aW9uRGF0YSkge1xuICAgIHRoaXMuX2ljcFRyYW5zYWN0aW9uRGF0YSA9IGljcFRyYW5zYWN0aW9uRGF0YTtcbiAgfVxuXG4gIGdldCBpY3BUcmFuc2FjdGlvbigpOiBJY3BUcmFuc2FjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX2ljcFRyYW5zYWN0aW9uO1xuICB9XG5cbiAgc2V0IGljcFRyYW5zYWN0aW9uKGljcFRyYW5zYWN0aW9uOiBJY3BUcmFuc2FjdGlvbikge1xuICAgIHRoaXMuX2ljcFRyYW5zYWN0aW9uID0gaWNwVHJhbnNhY3Rpb247XG4gIH1cblxuICBnZXQgdW5zaWduZWRUcmFuc2FjdGlvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9wYXlsb2Fkc0RhdGEudW5zaWduZWRfdHJhbnNhY3Rpb247XG4gIH1cblxuICBnZXQgc2lnbmF0dXJlUGF5bG9hZCgpOiBTaWduYXR1cmVzW10ge1xuICAgIHJldHVybiB0aGlzLl9zaWduYXR1cmVQYXlsb2FkO1xuICB9XG5cbiAgc2V0IHNpZ25lZFRyYW5zYWN0aW9uKHNpZ25hdHVyZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fc2lnbmVkVHJhbnNhY3Rpb24gPSBzaWduYXR1cmU7XG4gIH1cblxuICBnZXQgc2lnbmVkVHJhbnNhY3Rpb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fc2lnbmVkVHJhbnNhY3Rpb247XG4gIH1cblxuICBzZXQgcGF5bG9hZHNEYXRhKHBheWxvYWRzRGF0YTogUGF5bG9hZHNEYXRhKSB7XG4gICAgdGhpcy5fcGF5bG9hZHNEYXRhID0gcGF5bG9hZHNEYXRhO1xuICB9XG5cbiAgZ2V0IHBheWxvYWRzRGF0YSgpOiBQYXlsb2Fkc0RhdGEge1xuICAgIHJldHVybiB0aGlzLl9wYXlsb2Fkc0RhdGE7XG4gIH1cblxuICBmcm9tUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwYXJzZWRUeCA9IEpTT04ucGFyc2UocmF3VHJhbnNhY3Rpb24pO1xuICAgICAgc3dpdGNoIChwYXJzZWRUeC50eXBlKSB7XG4gICAgICAgIGNhc2UgT3BlcmF0aW9uVHlwZS5UUkFOU0FDVElPTjpcbiAgICAgICAgICB0aGlzLl9pY3BUcmFuc2FjdGlvbkRhdGEgPSB7XG4gICAgICAgICAgICBzZW5kZXJBZGRyZXNzOiBwYXJzZWRUeC5hZGRyZXNzLFxuICAgICAgICAgICAgcmVjZWl2ZXJBZGRyZXNzOiBwYXJzZWRUeC5leHRlcm5hbE91dHB1dHNbMF0uYWRkcmVzcyxcbiAgICAgICAgICAgIGFtb3VudDogcGFyc2VkVHguc3BlbmRBbW91bnRTdHJpbmcsXG4gICAgICAgICAgICBmZWU6IHBhcnNlZFR4LmZlZSxcbiAgICAgICAgICAgIHNlbmRlclB1YmxpY0tleUhleDogcGFyc2VkVHguc2VuZGVyS2V5LFxuICAgICAgICAgICAgbWVtbzogcGFyc2VkVHguc2Vxbm8sXG4gICAgICAgICAgICB0cmFuc2FjdGlvblR5cGU6IHBhcnNlZFR4LnR5cGUsXG4gICAgICAgICAgICBleHBpcnlUaW1lOiBwYXJzZWRUeC5leHBpcnlUaW1lLFxuICAgICAgICAgIH07XG4gICAgICAgICAgdGhpcy5fdXRpbHMudmFsaWRhdGVSYXdUcmFuc2FjdGlvbih0aGlzLl9pY3BUcmFuc2FjdGlvbkRhdGEpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbiB0eXBlJyk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCByYXcgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gIH1cblxuICBhZGRTaWduYXR1cmUoc2lnbmF0dXJlUGF5bG9hZHM6IFNpZ25hdHVyZXNbXSk6IHZvaWQge1xuICAgIGlmICghc2lnbmF0dXJlUGF5bG9hZHMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignc2lnbmF0dXJlcyBub3QgcHJvdmlkZWQnKTtcbiAgICB9XG4gICAgaWYgKHNpZ25hdHVyZVBheWxvYWRzLmxlbmd0aCAhPT0gdGhpcy5fcGF5bG9hZHNEYXRhLnBheWxvYWRzLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdzaWduYXR1cmVzIGxlbmd0aCBpcyBub3QgbWF0Y2hpbmcnKTtcbiAgICB9XG4gICAgdGhpcy5fc2lnbmF0dXJlUGF5bG9hZCA9IHNpZ25hdHVyZVBheWxvYWRzO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHRvSnNvbigpOiBUeERhdGEge1xuICAgIGlmICghdGhpcy5faWNwVHJhbnNhY3Rpb25EYXRhKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0VtcHR5IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIHN3aXRjaCAodGhpcy5faWNwVHJhbnNhY3Rpb25EYXRhLnRyYW5zYWN0aW9uVHlwZSkge1xuICAgICAgY2FzZSBPcGVyYXRpb25UeXBlLlRSQU5TQUNUSU9OOlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGlkOiB0aGlzLl9pZCxcbiAgICAgICAgICBzZW5kZXI6IHRoaXMuX2ljcFRyYW5zYWN0aW9uRGF0YS5zZW5kZXJBZGRyZXNzLFxuICAgICAgICAgIHNlbmRlclB1YmxpY0tleTogdGhpcy5faWNwVHJhbnNhY3Rpb25EYXRhLnNlbmRlclB1YmxpY0tleUhleCxcbiAgICAgICAgICByZWNpcGllbnQ6IHRoaXMuX2ljcFRyYW5zYWN0aW9uRGF0YS5yZWNlaXZlckFkZHJlc3MsXG4gICAgICAgICAgbWVtbzogdGhpcy5faWNwVHJhbnNhY3Rpb25EYXRhLm1lbW8sXG4gICAgICAgICAgZmVlQW1vdW50OiB0aGlzLl9pY3BUcmFuc2FjdGlvbkRhdGEuZmVlLFxuICAgICAgICAgIGV4cGlyYXRpb25UaW1lOiB0aGlzLl9pY3BUcmFuc2FjdGlvbkRhdGEuZXhwaXJ5VGltZSxcbiAgICAgICAgICB0eXBlOiBCaXRHb1RyYW5zYWN0aW9uVHlwZS5TZW5kLFxuICAgICAgICB9O1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbnN1cHBvcnRlZCB0cmFuc2FjdGlvbiB0eXBlJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGV4cGxhaW5UcmFuc2FjdGlvbigpOiBJY3BUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLnRvSnNvbigpO1xuICAgIGNvbnN0IGRpc3BsYXlPcmRlciA9IFsnaWQnLCAnb3V0cHV0QW1vdW50JywgJ2NoYW5nZUFtb3VudCcsICdvdXRwdXRzJywgJ2NoYW5nZU91dHB1dHMnLCAnZmVlJ107XG4gICAgY29uc3Qgb3V0cHV0czogVHJhbnNhY3Rpb25SZWNpcGllbnRbXSA9IFtdO1xuXG4gICAgY29uc3QgZXhwbGFuYXRpb25SZXN1bHQgPSB7XG4gICAgICBkaXNwbGF5T3JkZXIsXG4gICAgICBpZDogdGhpcy5pZCxcbiAgICAgIG91dHB1dHMsXG4gICAgICBvdXRwdXRBbW91bnQ6ICcwJyxcbiAgICAgIGZlZTogeyBmZWU6ICcwJyB9LFxuICAgICAgdHlwZTogcmVzdWx0LnR5cGUsXG4gICAgICBjaGFuZ2VPdXRwdXRzOiBbXSwgLy8gYWNjb3VudCBiYXNlZCBkb2VzIG5vdCB1c2UgY2hhbmdlIG91dHB1dHNcbiAgICAgIGNoYW5nZUFtb3VudDogJzAnLCAvLyBhY2NvdW50IGJhc2VkIGRvZXMgbm90IG1ha2UgY2hhbmdlXG4gICAgfTtcblxuICAgIHN3aXRjaCAoZXhwbGFuYXRpb25SZXN1bHQudHlwZSkge1xuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU2VuZDpcbiAgICAgICAgcmV0dXJuIHRoaXMuZXhwbGFpblRyYW5zZmVyVHJhbnNhY3Rpb24oZXhwbGFuYXRpb25SZXN1bHQpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdUcmFuc2FjdGlvbiB0eXBlIG5vdCBzdXBwb3J0ZWQnKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRXhwbGFpbnMgYSB0cmFuc2ZlciB0cmFuc2FjdGlvbiBieSBwcm92aWRpbmcgZGV0YWlscyBhYm91dCB0aGUgcmVjaXBpZW50cyBhbmQgdGhlIHRvdGFsIG91dHB1dCBhbW91bnQuXG4gICAqXG4gICAqIEBwYXJhbSB7SWNwVHJhbnNhY3Rpb25FeHBsYW5hdGlvbn0gZXhwbGFuYXRpb25SZXN1bHQgLSBUaGUgaW5pdGlhbCBleHBsYW5hdGlvbiByZXN1bHQgdG8gYmUgZXh0ZW5kZWQuXG4gICAqIEByZXR1cm5zIHtJY3BUcmFuc2FjdGlvbkV4cGxhbmF0aW9ufSBUaGUgZXh0ZW5kZWQgZXhwbGFuYXRpb24gcmVzdWx0IGluY2x1ZGluZyB0aGUgb3V0cHV0IGFtb3VudCBhbmQgcmVjaXBpZW50cy5cbiAgICovXG4gIGV4cGxhaW5UcmFuc2ZlclRyYW5zYWN0aW9uKGV4cGxhbmF0aW9uUmVzdWx0OiBJY3BUcmFuc2FjdGlvbkV4cGxhbmF0aW9uKTogSWNwVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB7XG4gICAgZXhwbGFuYXRpb25SZXN1bHQuZmVlID0geyBmZWU6IHRoaXMuaWNwVHJhbnNhY3Rpb25EYXRhLmZlZSB9O1xuICAgIGNvbnN0IHJlY2lwaWVudHMgPSB0aGlzLl91dGlscy5nZXRSZWNpcGllbnRzKHRoaXMuaWNwVHJhbnNhY3Rpb25EYXRhKTtcbiAgICBjb25zdCBvdXRwdXRzOiBUcmFuc2FjdGlvblJlY2lwaWVudFtdID0gW3JlY2lwaWVudHNdO1xuICAgIGNvbnN0IG91dHB1dEFtb3VudEJOID0gcmVjaXBpZW50cy5hbW91bnQ7XG4gICAgY29uc3Qgb3V0cHV0QW1vdW50ID0gb3V0cHV0QW1vdW50Qk4udG9TdHJpbmcoKTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5leHBsYW5hdGlvblJlc3VsdCxcbiAgICAgIG91dHB1dEFtb3VudCxcbiAgICAgIG91dHB1dHMsXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB0b0Jyb2FkY2FzdEZvcm1hdCgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5fc2lnbmVkVHJhbnNhY3Rpb24pIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignRW1wdHkgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc2VyaWFsaXplKCk7XG4gIH1cblxuICBzZXJpYWxpemUoKTogc3RyaW5nIHtcbiAgICBjb25zdCB0cmFuc2FjdGlvbjogU2lnbmVkVHJhbnNhY3Rpb25SZXF1ZXN0ID0ge1xuICAgICAgc2lnbmVkX3RyYW5zYWN0aW9uOiB0aGlzLl9zaWduZWRUcmFuc2FjdGlvbixcbiAgICAgIG5ldHdvcmtfaWRlbnRpZmllcjoge1xuICAgICAgICBibG9ja2NoYWluOiB0aGlzLl9jb2luQ29uZmlnLmZ1bGxOYW1lLFxuICAgICAgICBuZXR3b3JrOiBOZXR3b3JrLklELFxuICAgICAgfSxcbiAgICB9O1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh0cmFuc2FjdGlvbik7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgY2FuU2lnbihrZXk6IEJhc2VLZXkpOiBib29sZWFuIHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qga2V5UGFpciA9IG5ldyBLZXlQYWlyKHsgcHJ2OiBrZXkua2V5IH0pO1xuICAgICAgY29uc3QgcHVibGljS2V5SGV4ID0ga2V5UGFpci5nZXRQdWJsaWNLZXkoeyBjb21wcmVzc2VkOiB0cnVlIH0pLnRvU3RyaW5nKCdoZXgnKTtcbiAgICAgIGNvbnN0IHVuY29tcHJlc3NlZFB1YmxpY0tleUhleCA9IGtleVBhaXIuZ2V0UHVibGljS2V5KHsgY29tcHJlc3NlZDogZmFsc2UgfSkudG9TdHJpbmcoJ2hleCcpO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgdGhpcy5pY3BUcmFuc2FjdGlvbkRhdGEuc2VuZGVyUHVibGljS2V5SGV4ID09PSBwdWJsaWNLZXlIZXggfHxcbiAgICAgICAgdGhpcy5pY3BUcmFuc2FjdGlvbkRhdGEuc2VuZGVyUHVibGljS2V5SGV4ID09PSB1bmNvbXByZXNzZWRQdWJsaWNLZXlIZXhcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -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,27 @@
|
|
|
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';
|
|
3
6
|
export declare class TransactionBuilderFactory extends BaseTransactionBuilderFactory {
|
|
4
7
|
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
5
8
|
/** @inheritdoc */
|
|
6
|
-
from():
|
|
7
|
-
/**
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
/** @inheritdoc */
|
|
16
|
-
getTokenTransferBuilder(): void;
|
|
9
|
+
from(rawTransaction: string): TransactionBuilder;
|
|
10
|
+
/**
|
|
11
|
+
* Initialize the builder with the given transaction
|
|
12
|
+
*
|
|
13
|
+
* @param {Transaction | undefined} tx - the transaction used to initialize the builder
|
|
14
|
+
* @param {TransactionBuilder} builder - the builder to be initialized
|
|
15
|
+
* @returns {TransactionBuilder} the builder initialized
|
|
16
|
+
*/
|
|
17
|
+
private static initializeBuilder;
|
|
17
18
|
/** @inheritdoc */
|
|
18
|
-
|
|
19
|
+
getTransferBuilder(tx?: Transaction): TransferBuilder;
|
|
19
20
|
/**
|
|
20
21
|
* Parse the transaction from a raw transaction
|
|
21
22
|
*/
|
|
22
23
|
private parseTransaction;
|
|
24
|
+
/** @inheritdoc */
|
|
25
|
+
getWalletInitializationBuilder(): void;
|
|
23
26
|
}
|
|
24
27
|
//# 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;AAIpD,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;IAKrD;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAIxB,kBAAkB;IAClB,8BAA8B,IAAI,IAAI;CAGvC"}
|