@bitgo-beta/sdk-coin-canton 1.0.1-beta.26 → 1.0.1-beta.261
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/resources/hash/hash.js +2 -1
- package/dist/resources/proto/damlTransaction.js +4 -4
- package/dist/resources/proto/damlTransactionNode.js +3 -3
- package/dist/resources/proto/damlTransactionNodeSeed.js +2 -2
- package/dist/resources/proto/metadata/metadataGlobalKeyMappingEntry.js +4 -4
- package/dist/resources/proto/metadata/metadataInputContract.js +3 -3
- package/dist/resources/proto/metadata/metadataSubmitterInfo.js +2 -2
- package/dist/resources/proto/metadata.js +5 -5
- package/dist/resources/proto/node/empty.js +2 -2
- package/dist/resources/proto/node/globalKey.js +4 -4
- package/dist/resources/proto/node/identifier.js +2 -2
- package/dist/resources/proto/node/node.js +16 -8
- package/dist/resources/proto/node/timestamp.js +3 -3
- package/dist/resources/proto/node/value.js +28 -14
- package/dist/resources/proto/preparedTransaction.js +4 -4
- package/dist/src/canton.d.ts +18 -2
- package/dist/src/canton.d.ts.map +1 -1
- package/dist/src/canton.js +107 -6
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -1
- package/dist/src/lib/constant.d.ts +4 -0
- package/dist/src/lib/constant.d.ts.map +1 -1
- package/dist/src/lib/constant.js +6 -2
- package/dist/src/lib/iface.d.ts +77 -20
- package/dist/src/lib/iface.d.ts.map +1 -1
- package/dist/src/lib/iface.js +1 -1
- package/dist/src/lib/index.d.ts +7 -0
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +16 -2
- package/dist/src/lib/oneStepPreApprovalBuilder.d.ts +7 -41
- package/dist/src/lib/oneStepPreApprovalBuilder.d.ts.map +1 -1
- package/dist/src/lib/oneStepPreApprovalBuilder.js +18 -82
- package/dist/src/lib/transaction/transaction.d.ts +13 -2
- package/dist/src/lib/transaction/transaction.d.ts.map +1 -1
- package/dist/src/lib/transaction/transaction.js +178 -9
- package/dist/src/lib/transactionBuilder.d.ts +4 -4
- package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilder.js +1 -5
- package/dist/src/lib/transactionBuilderFactory.d.ts +17 -3
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilderFactory.js +63 -6
- package/dist/src/lib/transferAcceptanceBuilder.d.ts +59 -0
- package/dist/src/lib/transferAcceptanceBuilder.d.ts.map +1 -0
- package/dist/src/lib/transferAcceptanceBuilder.js +116 -0
- package/dist/src/lib/transferAcknowledgeBuilder.d.ts +72 -0
- package/dist/src/lib/transferAcknowledgeBuilder.d.ts.map +1 -0
- package/dist/src/lib/transferAcknowledgeBuilder.js +133 -0
- package/dist/src/lib/transferBuilder.d.ts +79 -3
- package/dist/src/lib/transferBuilder.d.ts.map +1 -1
- package/dist/src/lib/transferBuilder.js +153 -1
- package/dist/src/lib/transferRejectionBuilder.d.ts +59 -0
- package/dist/src/lib/transferRejectionBuilder.d.ts.map +1 -0
- package/dist/src/lib/transferRejectionBuilder.js +116 -0
- package/dist/src/lib/utils.d.ts +22 -2
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +148 -28
- package/dist/src/lib/walletInitBuilder.d.ts +5 -10
- package/dist/src/lib/walletInitBuilder.d.ts.map +1 -1
- package/dist/src/lib/walletInitBuilder.js +13 -18
- package/dist/src/lib/walletInitialization/walletInitTransaction.d.ts +2 -1
- package/dist/src/lib/walletInitialization/walletInitTransaction.d.ts.map +1 -1
- package/dist/src/lib/walletInitialization/walletInitTransaction.js +46 -5
- package/dist/test/helper.d.ts +3 -0
- package/dist/test/helper.d.ts.map +1 -0
- package/dist/test/helper.js +9 -0
- package/dist/test/integration/canton.integration.d.ts +2 -0
- package/dist/test/integration/canton.integration.d.ts.map +1 -0
- package/dist/test/integration/canton.integration.js +157 -0
- package/dist/test/resources.d.ts +78 -7
- package/dist/test/resources.d.ts.map +1 -1
- package/dist/test/resources.js +83 -10
- package/dist/test/unit/builder/oneStepEnablement/oneStepEnablementBuilder.js +14 -29
- package/dist/test/unit/builder/transfer/transferBuilder.d.ts +2 -0
- package/dist/test/unit/builder/transfer/transferBuilder.d.ts.map +1 -0
- package/dist/test/unit/builder/transfer/transferBuilder.js +63 -0
- package/dist/test/unit/builder/transferAccept/transferAcceptBuilder.d.ts +2 -0
- package/dist/test/unit/builder/transferAccept/transferAcceptBuilder.d.ts.map +1 -0
- package/dist/test/unit/builder/transferAccept/transferAcceptBuilder.js +57 -0
- package/dist/test/unit/builder/transferAcknowledge/transferAcknowledgeBuilder.d.ts +2 -0
- package/dist/test/unit/builder/transferAcknowledge/transferAcknowledgeBuilder.d.ts.map +1 -0
- package/dist/test/unit/builder/transferAcknowledge/transferAcknowledgeBuilder.js +32 -0
- package/dist/test/unit/builder/transferReject/transferRejectBuilder.d.ts +2 -0
- package/dist/test/unit/builder/transferReject/transferRejectBuilder.d.ts.map +1 -0
- package/dist/test/unit/builder/transferReject/transferRejectBuilder.js +57 -0
- package/dist/test/unit/builder/walletInit/walletInitBuilder.js +10 -13
- package/dist/test/unit/utils.js +101 -3
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +24 -7
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.Transaction = void 0;
|
|
7
7
|
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
8
8
|
const utils_1 = __importDefault(require("../utils"));
|
|
9
|
+
const constant_1 = require("../constant");
|
|
9
10
|
class Transaction extends sdk_core_1.BaseTransaction {
|
|
10
11
|
constructor(coinConfig) {
|
|
11
12
|
super(coinConfig);
|
|
@@ -19,6 +20,9 @@ class Transaction extends sdk_core_1.BaseTransaction {
|
|
|
19
20
|
set transactionType(transactionType) {
|
|
20
21
|
this._type = transactionType;
|
|
21
22
|
}
|
|
23
|
+
set acknowledgeData(data) {
|
|
24
|
+
this._acknowledgeData = data;
|
|
25
|
+
}
|
|
22
26
|
get id() {
|
|
23
27
|
if (!this._id) {
|
|
24
28
|
throw new sdk_core_1.InvalidTransactionError('transaction is is not set');
|
|
@@ -31,49 +35,214 @@ class Transaction extends sdk_core_1.BaseTransaction {
|
|
|
31
35
|
canSign(key) {
|
|
32
36
|
return false;
|
|
33
37
|
}
|
|
38
|
+
set signatures(signature) {
|
|
39
|
+
this._signatures.push(signature);
|
|
40
|
+
}
|
|
41
|
+
set signerFingerprint(fingerprint) {
|
|
42
|
+
this._signerFingerprint = fingerprint;
|
|
43
|
+
}
|
|
34
44
|
toBroadcastFormat() {
|
|
45
|
+
if (this._type === undefined) {
|
|
46
|
+
throw new sdk_core_1.InvalidTransactionError('Transaction type is not set');
|
|
47
|
+
}
|
|
48
|
+
if (this._type === sdk_core_1.TransactionType.TransferAcknowledge) {
|
|
49
|
+
if (!this._acknowledgeData) {
|
|
50
|
+
throw new sdk_core_1.InvalidTransactionError('AcknowledgeData is not set');
|
|
51
|
+
}
|
|
52
|
+
const minData = {
|
|
53
|
+
txType: sdk_core_1.TransactionType[this._type],
|
|
54
|
+
submissionId: this.id,
|
|
55
|
+
acknowledgeData: this._acknowledgeData,
|
|
56
|
+
};
|
|
57
|
+
return Buffer.from(JSON.stringify(minData)).toString('base64');
|
|
58
|
+
}
|
|
35
59
|
if (!this._prepareCommand) {
|
|
36
60
|
throw new sdk_core_1.InvalidTransactionError('Empty transaction data');
|
|
37
61
|
}
|
|
38
|
-
|
|
62
|
+
const partySignatures = [];
|
|
63
|
+
const data = {
|
|
64
|
+
prepareCommandResponse: this._prepareCommand,
|
|
65
|
+
txType: this._type !== undefined ? sdk_core_1.TransactionType[this._type] : '',
|
|
66
|
+
preparedTransaction: '',
|
|
67
|
+
partySignatures: {
|
|
68
|
+
signatures: partySignatures,
|
|
69
|
+
},
|
|
70
|
+
deduplicationPeriod: {
|
|
71
|
+
Empty: {},
|
|
72
|
+
},
|
|
73
|
+
submissionId: this.id,
|
|
74
|
+
hashingSchemeVersion: constant_1.HASHING_SCHEME_VERSION,
|
|
75
|
+
minLedgerTime: {
|
|
76
|
+
time: {
|
|
77
|
+
Empty: {},
|
|
78
|
+
},
|
|
79
|
+
},
|
|
80
|
+
};
|
|
81
|
+
const signatures = [];
|
|
82
|
+
if (this._signatures.length > 0 && this._signerFingerprint) {
|
|
83
|
+
const signerPartyId = `${this._signerFingerprint.slice(0, 5)}::${this._signerFingerprint}`;
|
|
84
|
+
this.signature.map((signature) => {
|
|
85
|
+
const signatureObj = {
|
|
86
|
+
format: constant_1.SIGNATURE_FORMAT,
|
|
87
|
+
signature: signature,
|
|
88
|
+
signedBy: this._signerFingerprint,
|
|
89
|
+
signingAlgorithmSpec: constant_1.SIGNATURE_ALGORITHM_SPEC,
|
|
90
|
+
};
|
|
91
|
+
signatures.push(signatureObj);
|
|
92
|
+
});
|
|
93
|
+
const partySignature = {
|
|
94
|
+
party: signerPartyId,
|
|
95
|
+
signatures: signatures,
|
|
96
|
+
};
|
|
97
|
+
data.partySignatures?.signatures.push(partySignature);
|
|
98
|
+
data.preparedTransaction = this._prepareCommand.preparedTransaction
|
|
99
|
+
? this._prepareCommand.preparedTransaction
|
|
100
|
+
: '';
|
|
101
|
+
}
|
|
102
|
+
return Buffer.from(JSON.stringify(data)).toString('base64');
|
|
39
103
|
}
|
|
40
104
|
toJson() {
|
|
41
|
-
if (!this._prepareCommand || !this._prepareCommand.preparedTransaction) {
|
|
42
|
-
throw new sdk_core_1.InvalidTransactionError('Empty transaction data');
|
|
43
|
-
}
|
|
44
105
|
const result = {
|
|
45
106
|
id: this.id,
|
|
46
107
|
type: this._type,
|
|
47
108
|
sender: '',
|
|
48
109
|
receiver: '',
|
|
110
|
+
amount: '',
|
|
49
111
|
};
|
|
112
|
+
if (this._type === sdk_core_1.TransactionType.TransferAcknowledge) {
|
|
113
|
+
if (!this._acknowledgeData) {
|
|
114
|
+
throw new sdk_core_1.InvalidTransactionError('AcknowledgeData is not set');
|
|
115
|
+
}
|
|
116
|
+
result.acknowledgeData = this._acknowledgeData;
|
|
117
|
+
return result;
|
|
118
|
+
}
|
|
119
|
+
if (!this._prepareCommand || !this._prepareCommand.preparedTransaction) {
|
|
120
|
+
throw new sdk_core_1.InvalidTransactionError('Empty transaction data');
|
|
121
|
+
}
|
|
50
122
|
// TODO: extract other required data (utxo used, request time, execute before etc)
|
|
51
123
|
let parsedInfo;
|
|
52
124
|
try {
|
|
53
|
-
parsedInfo = utils_1.default.parseRawCantonTransactionData(this._prepareCommand.preparedTransaction);
|
|
125
|
+
parsedInfo = utils_1.default.parseRawCantonTransactionData(this._prepareCommand.preparedTransaction, this.type);
|
|
54
126
|
}
|
|
55
127
|
catch (e) {
|
|
56
128
|
throw new sdk_core_1.InvalidTransactionError(`Failed to parse transaction hash: ${e instanceof Error ? e.message : e}`);
|
|
57
129
|
}
|
|
58
130
|
result.sender = parsedInfo.sender;
|
|
59
131
|
result.receiver = parsedInfo.receiver;
|
|
132
|
+
result.amount = parsedInfo.amount;
|
|
133
|
+
if (parsedInfo.memoId) {
|
|
134
|
+
result.memoId = parsedInfo.memoId;
|
|
135
|
+
}
|
|
60
136
|
return result;
|
|
61
137
|
}
|
|
62
|
-
|
|
138
|
+
get signablePayload() {
|
|
139
|
+
if (this._type === sdk_core_1.TransactionType.TransferAcknowledge) {
|
|
140
|
+
return Buffer.from(constant_1.DUMMY_HASH, 'base64');
|
|
141
|
+
}
|
|
63
142
|
if (!this._prepareCommand) {
|
|
64
143
|
throw new sdk_core_1.InvalidTransactionError('Empty transaction data');
|
|
65
144
|
}
|
|
66
|
-
return Buffer.from(this._prepareCommand.preparedTransactionHash);
|
|
145
|
+
return Buffer.from(this._prepareCommand.preparedTransactionHash, 'base64');
|
|
67
146
|
}
|
|
68
147
|
fromRawTransaction(rawTx) {
|
|
69
148
|
try {
|
|
70
149
|
const decoded = JSON.parse(Buffer.from(rawTx, 'base64').toString('utf8'));
|
|
71
|
-
this.
|
|
150
|
+
this.id = decoded.submissionId;
|
|
151
|
+
this.transactionType = sdk_core_1.TransactionType[decoded.txType];
|
|
152
|
+
if (this.type !== sdk_core_1.TransactionType.TransferAcknowledge) {
|
|
153
|
+
if (decoded.prepareCommandResponse) {
|
|
154
|
+
this.prepareCommand = decoded.prepareCommandResponse;
|
|
155
|
+
this.loadInputsAndOutputs();
|
|
156
|
+
}
|
|
157
|
+
if (decoded.partySignatures && decoded.partySignatures.signatures.length > 0) {
|
|
158
|
+
this.signerFingerprint = decoded.partySignatures.signatures[0].party.split('::')[1];
|
|
159
|
+
this.signatures = decoded.partySignatures.signatures[0].signatures[0].signature;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
if (decoded.acknowledgeData) {
|
|
164
|
+
this.acknowledgeData = decoded.acknowledgeData;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
72
167
|
}
|
|
73
168
|
catch (e) {
|
|
74
169
|
throw new sdk_core_1.InvalidTransactionError('Unable to parse raw transaction data');
|
|
75
170
|
}
|
|
76
171
|
}
|
|
172
|
+
/**
|
|
173
|
+
* Loads the input & output fields for the transaction
|
|
174
|
+
*
|
|
175
|
+
*/
|
|
176
|
+
loadInputsAndOutputs() {
|
|
177
|
+
const outputs = [];
|
|
178
|
+
const inputs = [];
|
|
179
|
+
const txData = this.toJson();
|
|
180
|
+
const input = {
|
|
181
|
+
address: txData.sender,
|
|
182
|
+
value: txData.amount,
|
|
183
|
+
coin: this._coinConfig.name,
|
|
184
|
+
};
|
|
185
|
+
const output = {
|
|
186
|
+
address: txData.receiver,
|
|
187
|
+
value: txData.amount,
|
|
188
|
+
coin: this._coinConfig.name,
|
|
189
|
+
};
|
|
190
|
+
inputs.push(input);
|
|
191
|
+
outputs.push(output);
|
|
192
|
+
this._inputs = inputs;
|
|
193
|
+
this._outputs = outputs;
|
|
194
|
+
}
|
|
195
|
+
explainTransaction() {
|
|
196
|
+
const displayOrder = [
|
|
197
|
+
'id',
|
|
198
|
+
'outputs',
|
|
199
|
+
'outputAmount',
|
|
200
|
+
'inputs',
|
|
201
|
+
'inputAmount',
|
|
202
|
+
'changeOutputs',
|
|
203
|
+
'changeAmount',
|
|
204
|
+
'fee',
|
|
205
|
+
'type',
|
|
206
|
+
];
|
|
207
|
+
const inputs = [];
|
|
208
|
+
const outputs = [];
|
|
209
|
+
let inputAmount = '0';
|
|
210
|
+
let outputAmount = '0';
|
|
211
|
+
switch (this.type) {
|
|
212
|
+
case sdk_core_1.TransactionType.TransferAccept:
|
|
213
|
+
case sdk_core_1.TransactionType.TransferReject: {
|
|
214
|
+
const txData = this.toJson();
|
|
215
|
+
inputs.push({ address: txData.sender, amount: txData.amount });
|
|
216
|
+
inputAmount = txData.amount;
|
|
217
|
+
break;
|
|
218
|
+
}
|
|
219
|
+
case sdk_core_1.TransactionType.Send: {
|
|
220
|
+
const txData = this.toJson();
|
|
221
|
+
const output = {
|
|
222
|
+
address: txData.receiver,
|
|
223
|
+
amount: txData.amount,
|
|
224
|
+
};
|
|
225
|
+
if (txData.memoId) {
|
|
226
|
+
output.memo = txData.memoId;
|
|
227
|
+
}
|
|
228
|
+
outputs.push(output);
|
|
229
|
+
outputAmount = txData.amount;
|
|
230
|
+
break;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
return {
|
|
234
|
+
id: this.id,
|
|
235
|
+
displayOrder,
|
|
236
|
+
outputs: outputs,
|
|
237
|
+
outputAmount: outputAmount,
|
|
238
|
+
inputs: inputs,
|
|
239
|
+
inputAmount: inputAmount,
|
|
240
|
+
changeOutputs: [],
|
|
241
|
+
changeAmount: '0',
|
|
242
|
+
fee: { fee: '0' },
|
|
243
|
+
type: this.type,
|
|
244
|
+
};
|
|
245
|
+
}
|
|
77
246
|
}
|
|
78
247
|
exports.Transaction = Transaction;
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG1EQUEwRztBQUcxRyxxREFBNkI7QUFFN0IsTUFBYSxXQUFZLFNBQVEsMEJBQWU7SUFHOUMsWUFBWSxVQUFnQztRQUMxQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksY0FBYyxDQUFDLFdBQXlDO1FBQzFELElBQUksQ0FBQyxlQUFlLEdBQUcsV0FBVyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJLGVBQWUsQ0FBQyxlQUFnQztRQUNsRCxJQUFJLENBQUMsS0FBSyxHQUFHLGVBQWUsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxFQUFFO1FBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNkLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEIsQ0FBQztJQUVELElBQUksRUFBRSxDQUFDLEVBQVU7UUFDZixJQUFJLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQVk7UUFDbEIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUMxQixNQUFNLElBQUksa0NBQXVCLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUM5RCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDdkUsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFXO1lBQ3JCLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNYLElBQUksRUFBRSxJQUFJLENBQUMsS0FBd0I7WUFDbkMsTUFBTSxFQUFFLEVBQUU7WUFDVixRQUFRLEVBQUUsRUFBRTtTQUNiLENBQUM7UUFDRixrRkFBa0Y7UUFDbEYsSUFBSSxVQUFpQyxDQUFDO1FBQ3RDLElBQUksQ0FBQztZQUNILFVBQVUsR0FBRyxlQUFLLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzdGLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHFDQUFxQyxDQUFDLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQy9HLENBQUM7UUFDRCxNQUFNLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7UUFDbEMsTUFBTSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDO1FBQ3RDLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUMxQixNQUFNLElBQUksa0NBQXVCLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUM5RCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsa0JBQWtCLENBQUMsS0FBYTtRQUM5QixJQUFJLENBQUM7WUFDSCxNQUFNLE9BQU8sR0FBaUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUN4RyxJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQztRQUNoQyxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1FBQzVFLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUE5RUQsa0NBOEVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUtleSwgQmFzZVRyYW5zYWN0aW9uLCBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgQ2FudG9uUHJlcGFyZUNvbW1hbmRSZXNwb25zZSwgUHJlcGFyZWRUeG5QYXJzZWRJbmZvLCBUeERhdGEgfSBmcm9tICcuLi9pZmFjZSc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb24gZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb24ge1xuICBwcml2YXRlIF9wcmVwYXJlQ29tbWFuZDogQ2FudG9uUHJlcGFyZUNvbW1hbmRSZXNwb25zZTtcblxuICBjb25zdHJ1Y3Rvcihjb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKGNvaW5Db25maWcpO1xuICB9XG5cbiAgZ2V0IHByZXBhcmVDb21tYW5kKCk6IENhbnRvblByZXBhcmVDb21tYW5kUmVzcG9uc2Uge1xuICAgIHJldHVybiB0aGlzLl9wcmVwYXJlQ29tbWFuZDtcbiAgfVxuXG4gIHNldCBwcmVwYXJlQ29tbWFuZCh0cmFuc2FjdGlvbjogQ2FudG9uUHJlcGFyZUNvbW1hbmRSZXNwb25zZSkge1xuICAgIHRoaXMuX3ByZXBhcmVDb21tYW5kID0gdHJhbnNhY3Rpb247XG4gIH1cblxuICBzZXQgdHJhbnNhY3Rpb25UeXBlKHRyYW5zYWN0aW9uVHlwZTogVHJhbnNhY3Rpb25UeXBlKSB7XG4gICAgdGhpcy5fdHlwZSA9IHRyYW5zYWN0aW9uVHlwZTtcbiAgfVxuXG4gIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5faWQpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcigndHJhbnNhY3Rpb24gaXMgaXMgbm90IHNldCcpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5faWQ7XG4gIH1cblxuICBzZXQgaWQoaWQ6IHN0cmluZykge1xuICAgIHRoaXMuX2lkID0gaWQ7XG4gIH1cblxuICBjYW5TaWduKGtleTogQmFzZUtleSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHRvQnJvYWRjYXN0Rm9ybWF0KCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLl9wcmVwYXJlQ29tbWFuZCkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdFbXB0eSB0cmFuc2FjdGlvbiBkYXRhJyk7XG4gICAgfVxuICAgIHJldHVybiBCdWZmZXIuZnJvbShKU09OLnN0cmluZ2lmeSh0aGlzLl9wcmVwYXJlQ29tbWFuZCkpLnRvU3RyaW5nKCdiYXNlNjQnKTtcbiAgfVxuXG4gIHRvSnNvbigpOiBUeERhdGEge1xuICAgIGlmICghdGhpcy5fcHJlcGFyZUNvbW1hbmQgfHwgIXRoaXMuX3ByZXBhcmVDb21tYW5kLnByZXBhcmVkVHJhbnNhY3Rpb24pIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignRW1wdHkgdHJhbnNhY3Rpb24gZGF0YScpO1xuICAgIH1cbiAgICBjb25zdCByZXN1bHQ6IFR4RGF0YSA9IHtcbiAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgdHlwZTogdGhpcy5fdHlwZSBhcyBUcmFuc2FjdGlvblR5cGUsXG4gICAgICBzZW5kZXI6ICcnLFxuICAgICAgcmVjZWl2ZXI6ICcnLFxuICAgIH07XG4gICAgLy8gVE9ETzogZXh0cmFjdCBvdGhlciByZXF1aXJlZCBkYXRhICh1dHhvIHVzZWQsIHJlcXVlc3QgdGltZSwgZXhlY3V0ZSBiZWZvcmUgZXRjKVxuICAgIGxldCBwYXJzZWRJbmZvOiBQcmVwYXJlZFR4blBhcnNlZEluZm87XG4gICAgdHJ5IHtcbiAgICAgIHBhcnNlZEluZm8gPSB1dGlscy5wYXJzZVJhd0NhbnRvblRyYW5zYWN0aW9uRGF0YSh0aGlzLl9wcmVwYXJlQ29tbWFuZC5wcmVwYXJlZFRyYW5zYWN0aW9uKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYEZhaWxlZCB0byBwYXJzZSB0cmFuc2FjdGlvbiBoYXNoOiAke2UgaW5zdGFuY2VvZiBFcnJvciA/IGUubWVzc2FnZSA6IGV9YCk7XG4gICAgfVxuICAgIHJlc3VsdC5zZW5kZXIgPSBwYXJzZWRJbmZvLnNlbmRlcjtcbiAgICByZXN1bHQucmVjZWl2ZXIgPSBwYXJzZWRJbmZvLnJlY2VpdmVyO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBnZXRTaWduYWJsZVBheWxvYWQoKTogQnVmZmVyIHtcbiAgICBpZiAoIXRoaXMuX3ByZXBhcmVDb21tYW5kKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0VtcHR5IHRyYW5zYWN0aW9uIGRhdGEnKTtcbiAgICB9XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKHRoaXMuX3ByZXBhcmVDb21tYW5kLnByZXBhcmVkVHJhbnNhY3Rpb25IYXNoKTtcbiAgfVxuXG4gIGZyb21SYXdUcmFuc2FjdGlvbihyYXdUeDogc3RyaW5nKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRlY29kZWQ6IENhbnRvblByZXBhcmVDb21tYW5kUmVzcG9uc2UgPSBKU09OLnBhcnNlKEJ1ZmZlci5mcm9tKHJhd1R4LCAnYmFzZTY0JykudG9TdHJpbmcoJ3V0ZjgnKSk7XG4gICAgICB0aGlzLnByZXBhcmVDb21tYW5kID0gZGVjb2RlZDtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ1VuYWJsZSB0byBwYXJzZSByYXcgdHJhbnNhY3Rpb24gZGF0YScpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
248
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG1EQU84QjtBQVk5QixxREFBNkI7QUFDN0IsMENBQTZHO0FBRTdHLE1BQWEsV0FBWSxTQUFRLDBCQUFlO0lBSzlDLFlBQVksVUFBZ0M7UUFDMUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLGNBQWMsQ0FBQyxXQUF5QztRQUMxRCxJQUFJLENBQUMsZUFBZSxHQUFHLFdBQVcsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxlQUFlLENBQUMsZUFBZ0M7UUFDbEQsSUFBSSxDQUFDLEtBQUssR0FBRyxlQUFlLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksZUFBZSxDQUFDLElBQXlCO1FBQzNDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksRUFBRTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDZCxNQUFNLElBQUksa0NBQXVCLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxJQUFJLEVBQUUsQ0FBQyxFQUFVO1FBQ2YsSUFBSSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUFZO1FBQ2xCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQUksVUFBVSxDQUFDLFNBQWlCO1FBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ25D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b24sXG4gIEVudHJ5LFxuICBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcixcbiAgSVRyYW5zYWN0aW9uUmVjaXBpZW50LFxuICBUcmFuc2FjdGlvblR5cGUsXG59IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7XG4gIENhbnRvblByZXBhcmVDb21tYW5kUmVzcG9uc2UsXG4gIE11bHRpSGFzaFNpZ25hdHVyZSxcbiAgUGFydHlTaWduYXR1cmUsXG4gIFByZXBhcmVkVHhuUGFyc2VkSW5mbyxcbiAgVHJhbnNhY3Rpb25Ccm9hZGNhc3REYXRhLFxuICBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLFxuICBUcmFuc2ZlckFja25vd2xlZGdlLFxuICBUeERhdGEsXG59IGZyb20gJy4uL2lmYWNlJztcbmltcG9ydCB1dGlscyBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBEVU1NWV9IQVNILCBIQVNISU5HX1NDSEVNRV9WRVJTSU9OLCBTSUdOQVRVUkVfQUxHT1JJVEhNX1NQRUMsIFNJR05BVFVSRV9GT1JNQVQgfSBmcm9tICcuLi9jb25zdGFudCc7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbiBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbiB7XG4gIHByaXZhdGUgX3ByZXBhcmVDb21tYW5kOiBDYW50b25QcmVwYXJlQ29tbWFuZFJlc3BvbnNlO1xuICBwcml2YXRlIF9zaWduZXJGaW5nZXJwcmludDogc3RyaW5nO1xuICBwcml2YXRlIF9hY2tub3dsZWRnZURhdGE6IFRyYW5zZmVyQWNrbm93bGVkZ2U7XG5cbiAgY29uc3RydWN0b3IoY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihjb2luQ29uZmlnKTtcbiAgfVxuXG4gIGdldCBwcmVwYXJlQ29tbWFuZCgpOiBDYW50b25QcmVwYXJlQ29tbWFuZFJlc3BvbnNlIHtcbiAgICByZXR1cm4gdGhpcy5fcHJlcGFyZUNvbW1hbmQ7XG4gIH1cblxuICBzZXQgcHJlcGFyZUNvbW1hbmQodHJhbnNhY3Rpb246IENhbnRvblByZXBhcmVDb21tYW5kUmVzcG9uc2UpIHtcbiAgICB0aGlzLl9wcmVwYXJlQ29tbWFuZCA9IHRyYW5zYWN0aW9uO1xuICB9XG5cbiAgc2V0IHRyYW5zYWN0aW9uVHlwZSh0cmFuc2FjdGlvblR5cGU6IFRyYW5zYWN0aW9uVHlwZSkge1xuICAgIHRoaXMuX3R5cGUgPSB0cmFuc2FjdGlvblR5cGU7XG4gIH1cblxuICBzZXQgYWNrbm93bGVkZ2VEYXRhKGRhdGE6IFRyYW5zZmVyQWNrbm93bGVkZ2UpIHtcbiAgICB0aGlzLl9hY2tub3dsZWRnZURhdGEgPSBkYXRhO1xuICB9XG5cbiAgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLl9pZCkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCd0cmFuc2FjdGlvbiBpcyBpcyBub3Qgc2V0Jyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9pZDtcbiAgfVxuXG4gIHNldCBpZChpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5faWQgPSBpZDtcbiAgfVxuXG4gIGNhblNpZ24oa2V5OiBCYXNlS2V5KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgc2V0IHNpZ25hdHVyZXMoc2lnbmF0dXJlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9zaWduYXR1cmVzLnB1c2goc2lnbmF0dXJlKTtcbiAgfVxuXG4gIHNldCBzaWduZXJGaW5nZXJwcmludChmaW5nZXJwcmludDogc3RyaW5nKSB7XG4gICAgdGhpcy5fc2lnbmVyRmluZ2VycHJpbnQgPSBmaW5nZXJwcmludDtcbiAgfVxuXG4gIHRvQnJvYWRjYXN0Rm9ybWF0KCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuX3R5cGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdUcmFuc2FjdGlvbiB0eXBlIGlzIG5vdCBzZXQnKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX3R5cGUgPT09IFRyYW5zYWN0aW9uVHlwZS5UcmFuc2ZlckFja25vd2xlZGdlKSB7XG4gICAgICBpZiAoIXRoaXMuX2Fja25vd2xlZGdlRGF0YSkge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0Fja25vd2xlZGdlRGF0YSBpcyBub3Qgc2V0Jyk7XG4gICAgICB9XG4gICAgICBjb25zdCBtaW5EYXRhOiBUcmFuc2FjdGlvbkJyb2FkY2FzdERhdGEgPSB7XG4gICAgICAgIHR4VHlwZTogVHJhbnNhY3Rpb25UeXBlW3RoaXMuX3R5cGVdLFxuICAgICAgICBzdWJtaXNzaW9uSWQ6IHRoaXMuaWQsXG4gICAgICAgIGFja25vd2xlZGdlRGF0YTogdGhpcy5fYWNrbm93bGVkZ2VEYXRhLFxuICAgICAgfTtcbiAgICAgIHJldHVybiBCdWZmZXIuZnJvbShKU09OLnN0cmluZ2lmeShtaW5EYXRhKSkudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuX3ByZXBhcmVDb21tYW5kKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0VtcHR5IHRyYW5zYWN0aW9uIGRhdGEnKTtcbiAgICB9XG4gICAgY29uc3QgcGFydHlTaWduYXR1cmVzOiBQYXJ0eVNpZ25hdHVyZVtdID0gW107XG4gICAgY29uc3QgZGF0YTogVHJhbnNhY3Rpb25Ccm9hZGNhc3REYXRhID0ge1xuICAgICAgcHJlcGFyZUNvbW1hbmRSZXNwb25zZTogdGhpcy5fcHJlcGFyZUNvbW1hbmQsXG4gICAgICB0eFR5cGU6IHRoaXMuX3R5cGUgIT09IHVuZGVmaW5lZCA/IFRyYW5zYWN0aW9uVHlwZVt0aGlzLl90eXBlXSA6ICcnLFxuICAgICAgcHJlcGFyZWRUcmFuc2FjdGlvbjogJycsXG4gICAgICBwYXJ0eVNpZ25hdHVyZXM6IHtcbiAgICAgICAgc2lnbmF0dXJlczogcGFydHlTaWduYXR1cmVzLFxuICAgICAgfSxcbiAgICAgIGRlZHVwbGljYXRpb25QZXJpb2Q6IHtcbiAgICAgICAgRW1wdHk6IHt9LFxuICAgICAgfSxcbiAgICAgIHN1Ym1pc3Npb25JZDogdGhpcy5pZCxcbiAgICAgIGhhc2hpbmdTY2hlbWVWZXJzaW9uOiBIQVNISU5HX1NDSEVNRV9WRVJTSU9OLFxuICAgICAgbWluTGVkZ2VyVGltZToge1xuICAgICAgICB0aW1lOiB7XG4gICAgICAgICAgRW1wdHk6IHt9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuICAgIGNvbnN0IHNpZ25hdHVyZXM6IE11bHRpSGFzaFNpZ25hdHVyZVtdID0gW107XG4gICAgaWYgKHRoaXMuX3NpZ25hdHVyZXMubGVuZ3RoID4gMCAmJiB0aGlzLl9zaWduZXJGaW5nZXJwcmludCkge1xuICAgICAgY29uc3Qgc2lnbmVyUGFydHlJZCA9IGAke3RoaXMuX3NpZ25lckZpbmdlcnByaW50LnNsaWNlKDAsIDUpfTo6JHt0aGlzLl9zaWduZXJGaW5nZXJwcmludH1gO1xuICAgICAgdGhpcy5zaWduYXR1cmUubWFwKChzaWduYXR1cmUpID0+IHtcbiAgICAgICAgY29uc3Qgc2lnbmF0dXJlT2JqOiBNdWx0aUhhc2hTaWduYXR1cmUgPSB7XG4gICAgICAgICAgZm9ybWF0OiBTSUdOQVRVUkVfRk9STUFULFxuICAgICAgICAgIHNpZ25hdHVyZTogc2lnbmF0dXJlLFxuICAgICAgICAgIHNpZ25lZEJ5OiB0aGlzLl9zaWduZXJGaW5nZXJwcmludCxcbiAgICAgICAgICBzaWduaW5nQWxnb3JpdGhtU3BlYzogU0lHTkFUVVJFX0FMR09SSVRITV9TUEVDLFxuICAgICAgICB9O1xuICAgICAgICBzaWduYXR1cmVzLnB1c2goc2lnbmF0dXJlT2JqKTtcbiAgICAgIH0pO1xuICAgICAgY29uc3QgcGFydHlTaWduYXR1cmUgPSB7XG4gICAgICAgIHBhcnR5OiBzaWduZXJQYXJ0eUlkLFxuICAgICAgICBzaWduYXR1cmVzOiBzaWduYXR1cmVzLFxuICAgICAgfTtcbiAgICAgIGRhdGEucGFydHlTaWduYXR1cmVzPy5zaWduYXR1cmVzLnB1c2gocGFydHlTaWduYXR1cmUpO1xuICAgICAgZGF0YS5wcmVwYXJlZFRyYW5zYWN0aW9uID0gdGhpcy5fcHJlcGFyZUNvbW1hbmQucHJlcGFyZWRUcmFuc2FjdGlvblxuICAgICAgICA/IHRoaXMuX3ByZXBhcmVDb21tYW5kLnByZXBhcmVkVHJhbnNhY3Rpb25cbiAgICAgICAgOiAnJztcbiAgICB9XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKEpTT04uc3RyaW5naWZ5KGRhdGEpKS50b1N0cmluZygnYmFzZTY0Jyk7XG4gIH1cblxuICB0b0pzb24oKTogVHhEYXRhIHtcbiAgICBjb25zdCByZXN1bHQ6IFR4RGF0YSA9IHtcbiAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgdHlwZTogdGhpcy5fdHlwZSBhcyBUcmFuc2FjdGlvblR5cGUsXG4gICAgICBzZW5kZXI6ICcnLFxuICAgICAgcmVjZWl2ZXI6ICcnLFxuICAgICAgYW1vdW50OiAnJyxcbiAgICB9O1xuICAgIGlmICh0aGlzLl90eXBlID09PSBUcmFuc2FjdGlvblR5cGUuVHJhbnNmZXJBY2tub3dsZWRnZSkge1xuICAgICAgaWYgKCF0aGlzLl9hY2tub3dsZWRnZURhdGEpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdBY2tub3dsZWRnZURhdGEgaXMgbm90IHNldCcpO1xuICAgICAgfVxuICAgICAgcmVzdWx0LmFja25vd2xlZGdlRGF0YSA9IHRoaXMuX2Fja25vd2xlZGdlRGF0YTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIGlmICghdGhpcy5fcHJlcGFyZUNvbW1hbmQgfHwgIXRoaXMuX3ByZXBhcmVDb21tYW5kLnByZXBhcmVkVHJhbnNhY3Rpb24pIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignRW1wdHkgdHJhbnNhY3Rpb24gZGF0YScpO1xuICAgIH1cbiAgICAvLyBUT0RPOiBleHRyYWN0IG90aGVyIHJlcXVpcmVkIGRhdGEgKHV0eG8gdXNlZCwgcmVxdWVzdCB0aW1lLCBleGVjdXRlIGJlZm9yZSBldGMpXG4gICAgbGV0IHBhcnNlZEluZm86IFByZXBhcmVkVHhuUGFyc2VkSW5mbztcbiAgICB0cnkge1xuICAgICAgcGFyc2VkSW5mbyA9IHV0aWxzLnBhcnNlUmF3Q2FudG9uVHJhbnNhY3Rpb25EYXRhKHRoaXMuX3ByZXBhcmVDb21tYW5kLnByZXBhcmVkVHJhbnNhY3Rpb24sIHRoaXMudHlwZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBGYWlsZWQgdG8gcGFyc2UgdHJhbnNhY3Rpb24gaGFzaDogJHtlIGluc3RhbmNlb2YgRXJyb3IgPyBlLm1lc3NhZ2UgOiBlfWApO1xuICAgIH1cbiAgICByZXN1bHQuc2VuZGVyID0gcGFyc2VkSW5mby5zZW5kZXI7XG4gICAgcmVzdWx0LnJlY2VpdmVyID0gcGFyc2VkSW5mby5yZWNlaXZlcjtcbiAgICByZXN1bHQuYW1vdW50ID0gcGFyc2VkSW5mby5hbW91bnQ7XG4gICAgaWYgKHBhcnNlZEluZm8ubWVtb0lkKSB7XG4gICAgICByZXN1bHQubWVtb0lkID0gcGFyc2VkSW5mby5tZW1vSWQ7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBnZXQgc2lnbmFibGVQYXlsb2FkKCk6IEJ1ZmZlciB7XG4gICAgaWYgKHRoaXMuX3R5cGUgPT09IFRyYW5zYWN0aW9uVHlwZS5UcmFuc2ZlckFja25vd2xlZGdlKSB7XG4gICAgICByZXR1cm4gQnVmZmVyLmZyb20oRFVNTVlfSEFTSCwgJ2Jhc2U2NCcpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuX3ByZXBhcmVDb21tYW5kKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0VtcHR5IHRyYW5zYWN0aW9uIGRhdGEnKTtcbiAgICB9XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKHRoaXMuX3ByZXBhcmVDb21tYW5kLnByZXBhcmVkVHJhbnNhY3Rpb25IYXNoLCAnYmFzZTY0Jyk7XG4gIH1cblxuICBmcm9tUmF3VHJhbnNhY3Rpb24ocmF3VHg6IHN0cmluZyk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBkZWNvZGVkOiBUcmFuc2FjdGlvbkJyb2FkY2FzdERhdGEgPSBKU09OLnBhcnNlKEJ1ZmZlci5mcm9tKHJhd1R4LCAnYmFzZTY0JykudG9TdHJpbmcoJ3V0ZjgnKSk7XG4gICAgICB0aGlzLmlkID0gZGVjb2RlZC5zdWJtaXNzaW9uSWQ7XG4gICAgICB0aGlzLnRyYW5zYWN0aW9uVHlwZSA9IFRyYW5zYWN0aW9uVHlwZVtkZWNvZGVkLnR4VHlwZV07XG4gICAgICBpZiAodGhpcy50eXBlICE9PSBUcmFuc2FjdGlvblR5cGUuVHJhbnNmZXJBY2tub3dsZWRnZSkge1xuICAgICAgICBpZiAoZGVjb2RlZC5wcmVwYXJlQ29tbWFuZFJlc3BvbnNlKSB7XG4gICAgICAgICAgdGhpcy5wcmVwYXJlQ29tbWFuZCA9IGRlY29kZWQucHJlcGFyZUNvbW1hbmRSZXNwb25zZTtcbiAgICAgICAgICB0aGlzLmxvYWRJbnB1dHNBbmRPdXRwdXRzKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRlY29kZWQucGFydHlTaWduYXR1cmVzICYmIGRlY29kZWQucGFydHlTaWduYXR1cmVzLnNpZ25hdHVyZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHRoaXMuc2lnbmVyRmluZ2VycHJpbnQgPSBkZWNvZGVkLnBhcnR5U2lnbmF0dXJlcy5zaWduYXR1cmVzWzBdLnBhcnR5LnNwbGl0KCc6OicpWzFdO1xuICAgICAgICAgIHRoaXMuc2lnbmF0dXJlcyA9IGRlY29kZWQucGFydHlTaWduYXR1cmVzLnNpZ25hdHVyZXNbMF0uc2lnbmF0dXJlc1swXS5zaWduYXR1cmU7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChkZWNvZGVkLmFja25vd2xlZGdlRGF0YSkge1xuICAgICAgICAgIHRoaXMuYWNrbm93bGVkZ2VEYXRhID0gZGVjb2RlZC5hY2tub3dsZWRnZURhdGE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ1VuYWJsZSB0byBwYXJzZSByYXcgdHJhbnNhY3Rpb24gZGF0YScpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkcyB0aGUgaW5wdXQgJiBvdXRwdXQgZmllbGRzIGZvciB0aGUgdHJhbnNhY3Rpb25cbiAgICpcbiAgICovXG4gIGxvYWRJbnB1dHNBbmRPdXRwdXRzKCk6IHZvaWQge1xuICAgIGNvbnN0IG91dHB1dHM6IEVudHJ5W10gPSBbXTtcbiAgICBjb25zdCBpbnB1dHM6IEVudHJ5W10gPSBbXTtcbiAgICBjb25zdCB0eERhdGEgPSB0aGlzLnRvSnNvbigpO1xuICAgIGNvbnN0IGlucHV0OiBFbnRyeSA9IHtcbiAgICAgIGFkZHJlc3M6IHR4RGF0YS5zZW5kZXIsXG4gICAgICB2YWx1ZTogdHhEYXRhLmFtb3VudCxcbiAgICAgIGNvaW46IHRoaXMuX2NvaW5Db25maWcubmFtZSxcbiAgICB9O1xuICAgIGNvbnN0IG91dHB1dDogRW50cnkgPSB7XG4gICAgICBhZGRyZXNzOiB0eERhdGEucmVjZWl2ZXIsXG4gICAgICB2YWx1ZTogdHhEYXRhLmFtb3VudCxcbiAgICAgIGNvaW46IHRoaXMuX2NvaW5Db25maWcubmFtZSxcbiAgICB9O1xuICAgIGlucHV0cy5wdXNoKGlucHV0KTtcbiAgICBvdXRwdXRzLnB1c2gob3V0cHV0KTtcbiAgICB0aGlzLl9pbnB1dHMgPSBpbnB1dHM7XG4gICAgdGhpcy5fb3V0cHV0cyA9IG91dHB1dHM7XG4gIH1cblxuICBleHBsYWluVHJhbnNhY3Rpb24oKTogVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB7XG4gICAgY29uc3QgZGlzcGxheU9yZGVyID0gW1xuICAgICAgJ2lkJyxcbiAgICAgICdvdXRwdXRzJyxcbiAgICAgICdvdXRwdXRBbW91bnQnLFxuICAgICAgJ2lucHV0cycsXG4gICAgICAnaW5wdXRBbW91bnQnLFxuICAgICAgJ2NoYW5nZU91dHB1dHMnLFxuICAgICAgJ2NoYW5nZUFtb3VudCcsXG4gICAgICAnZmVlJyxcbiAgICAgICd0eXBlJyxcbiAgICBdO1xuICAgIGNvbnN0IGlucHV0czogSVRyYW5zYWN0aW9uUmVjaXBpZW50W10gPSBbXTtcbiAgICBjb25zdCBvdXRwdXRzOiBJVHJhbnNhY3Rpb25SZWNpcGllbnRbXSA9IFtdO1xuICAgIGxldCBpbnB1dEFtb3VudCA9ICcwJztcbiAgICBsZXQgb3V0cHV0QW1vdW50ID0gJzAnO1xuICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5UcmFuc2ZlckFjY2VwdDpcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlRyYW5zZmVyUmVqZWN0OiB7XG4gICAgICAgIGNvbnN0IHR4RGF0YSA9IHRoaXMudG9Kc29uKCk7XG4gICAgICAgIGlucHV0cy5wdXNoKHsgYWRkcmVzczogdHhEYXRhLnNlbmRlciwgYW1vdW50OiB0eERhdGEuYW1vdW50IH0pO1xuICAgICAgICBpbnB1dEFtb3VudCA9IHR4RGF0YS5hbW91bnQ7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU2VuZDoge1xuICAgICAgICBjb25zdCB0eERhdGEgPSB0aGlzLnRvSnNvbigpO1xuICAgICAgICBjb25zdCBvdXRwdXQ6IElUcmFuc2FjdGlvblJlY2lwaWVudCA9IHtcbiAgICAgICAgICBhZGRyZXNzOiB0eERhdGEucmVjZWl2ZXIsXG4gICAgICAgICAgYW1vdW50OiB0eERhdGEuYW1vdW50LFxuICAgICAgICB9O1xuICAgICAgICBpZiAodHhEYXRhLm1lbW9JZCkge1xuICAgICAgICAgIG91dHB1dC5tZW1vID0gdHhEYXRhLm1lbW9JZDtcbiAgICAgICAgfVxuICAgICAgICBvdXRwdXRzLnB1c2gob3V0cHV0KTtcbiAgICAgICAgb3V0cHV0QW1vdW50ID0gdHhEYXRhLmFtb3VudDtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBpZDogdGhpcy5pZCxcbiAgICAgIGRpc3BsYXlPcmRlcixcbiAgICAgIG91dHB1dHM6IG91dHB1dHMsXG4gICAgICBvdXRwdXRBbW91bnQ6IG91dHB1dEFtb3VudCxcbiAgICAgIGlucHV0czogaW5wdXRzLFxuICAgICAgaW5wdXRBbW91bnQ6IGlucHV0QW1vdW50LFxuICAgICAgY2hhbmdlT3V0cHV0czogW10sXG4gICAgICBjaGFuZ2VBbW91bnQ6ICcwJyxcbiAgICAgIGZlZTogeyBmZWU6ICcwJyB9LFxuICAgICAgdHlwZTogdGhpcy50eXBlLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import { BaseAddress, BaseKey, BaseTransactionBuilder, PublicKey as BasePublicKey, TransactionType } from '@bitgo-beta/sdk-core';
|
|
1
|
+
import { BaseAddress, BaseKey, BaseTransactionBuilder, PublicKey as BasePublicKey, Signature, TransactionType } from '@bitgo-beta/sdk-core';
|
|
2
2
|
import BigNumber from 'bignumber.js';
|
|
3
3
|
import { CantonPrepareCommandResponse } from './iface';
|
|
4
4
|
import { Transaction } from './transaction/transaction';
|
|
5
5
|
export declare abstract class TransactionBuilder extends BaseTransactionBuilder {
|
|
6
6
|
protected _transaction: Transaction;
|
|
7
|
-
|
|
7
|
+
protected _signatures: Signature[];
|
|
8
8
|
initBuilder(tx: Transaction): void;
|
|
9
9
|
/**
|
|
10
10
|
* The transaction type.
|
|
11
11
|
*/
|
|
12
12
|
protected abstract get transactionType(): TransactionType;
|
|
13
13
|
/** @inheritdoc */
|
|
14
|
-
|
|
14
|
+
get transaction(): Transaction;
|
|
15
15
|
/** @inheritdoc */
|
|
16
16
|
abstract setTransaction(transaction: CantonPrepareCommandResponse): void;
|
|
17
17
|
/** @inheritdoc */
|
|
18
18
|
protected signImplementation(key: BaseKey): Transaction;
|
|
19
19
|
/** @inheritDoc */
|
|
20
|
-
addSignature(publicKey: BasePublicKey, signature: Buffer): void;
|
|
20
|
+
abstract addSignature(publicKey: BasePublicKey, signature: Buffer): void;
|
|
21
21
|
/** @inheritdoc */
|
|
22
22
|
protected fromImplementation(rawTransaction: string): Transaction;
|
|
23
23
|
/** @inheritdoc */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,OAAO,EACP,sBAAsB,EAEtB,SAAS,IAAI,aAAa,
|
|
1
|
+
{"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,OAAO,EACP,sBAAsB,EAEtB,SAAS,IAAI,aAAa,EAC1B,SAAS,EACT,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGxD,8BAAsB,kBAAmB,SAAQ,sBAAsB;IACrE,SAAS,CAAC,YAAY,EAAE,WAAW,CAAC;IACpC,SAAS,CAAC,WAAW,EAAE,SAAS,EAAE,CAAM;IAExC,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAIlC;;OAEG;IACH,SAAS,CAAC,QAAQ,KAAK,eAAe,IAAI,eAAe,CAAC;IAE1D,kBAAkB;IAClB,IAAI,WAAW,IAAI,WAAW,CAE7B;IAED,kBAAkB;IAClB,QAAQ,CAAC,cAAc,CAAC,WAAW,EAAE,4BAA4B,GAAG,IAAI;IAExE,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW;IAIvD,kBAAkB;IAClB,QAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAExE,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAIjE,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAK3D,kBAAkB;IAClB,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI;IAMnE,kBAAkB;IAClB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAY/B,kBAAkB;IACZ,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUnE,kBAAkB;IACZ,mBAAmB,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAYnE,kBAAkB;IAClB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;CAKtC"}
|
|
@@ -23,10 +23,6 @@ class TransactionBuilder extends sdk_core_1.BaseTransactionBuilder {
|
|
|
23
23
|
signImplementation(key) {
|
|
24
24
|
throw new Error('Method not implemented.');
|
|
25
25
|
}
|
|
26
|
-
/** @inheritDoc */
|
|
27
|
-
addSignature(publicKey, signature) {
|
|
28
|
-
this._signatures.push({ publicKey, signature });
|
|
29
|
-
}
|
|
30
26
|
/** @inheritdoc */
|
|
31
27
|
fromImplementation(rawTransaction) {
|
|
32
28
|
throw new Error('Method not implemented.');
|
|
@@ -83,4 +79,4 @@ class TransactionBuilder extends sdk_core_1.BaseTransactionBuilder {
|
|
|
83
79
|
}
|
|
84
80
|
}
|
|
85
81
|
exports.TransactionBuilder = TransactionBuilder;
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsbURBUThCO0FBRzlCLHVDQUFvQztBQUVwQyxvREFBNEI7QUFFNUIsTUFBc0Isa0JBQW1CLFNBQVEsaUNBQXNCO0lBQXZFOztRQUVZLGdCQUFXLEdBQWdCLEVBQUUsQ0FBQztJQXdGMUMsQ0FBQztJQXRGQyxXQUFXLENBQUMsRUFBZTtRQUN6QixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBT0Qsa0JBQWtCO0lBQ2xCLElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBS0Qsa0JBQWtCO0lBQ1Isa0JBQWtCLENBQUMsR0FBWTtRQUN2QyxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUtELGtCQUFrQjtJQUNSLGtCQUFrQixDQUFDLGNBQXNCO1FBQ2pELE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsa0JBQWtCO0lBQ1IsS0FBSyxDQUFDLG1CQUFtQjtRQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELG9CQUFvQjtJQUNwQixrQkFBa0I7SUFDbEIsZUFBZSxDQUFDLE9BQW9CLEVBQUUsYUFBc0I7UUFDMUQsSUFBSSxDQUFDLGVBQUssQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDM0MsTUFBTSxJQUFJLGdDQUFxQixDQUFDLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4RSxDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixXQUFXLENBQUMsR0FBWTtRQUN0QixJQUFJLE9BQWdCLENBQUM7UUFDckIsSUFBSSxDQUFDO1lBQ0gsT0FBTyxHQUFHLElBQUksaUJBQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1AsTUFBTSxJQUFJLGdDQUFxQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQzNCLE1BQU0sSUFBSSxnQ0FBcUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNqRCxDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixLQUFLLENBQUMsc0JBQXNCLENBQUMsY0FBc0I7UUFDakQsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDekQsTUFBTSxJQUFJLGdDQUFxQixDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDN0QsQ0FBQztRQUNELE1BQU0sU0FBUyxHQUFHLE1BQU0sZUFBSyxDQUFDLHdDQUF3QyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3ZGLElBQUksU0FBUyxLQUFLLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDM0UsTUFBTSxJQUFJLGdDQUFxQixDQUFDLDRDQUE0QyxDQUFDLENBQUM7UUFDaEYsQ0FBQztJQUNILENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsS0FBSyxDQUFDLG1CQUFtQixDQUFDLFdBQXlCO1FBQ2pELElBQUksQ0FBQyxXQUFXLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFFLENBQUM7WUFDdEQsT0FBTztRQUNULENBQUM7UUFDRCxNQUFNLFNBQVMsR0FBRyxNQUFNLGVBQUssQ0FBQyx3Q0FBd0MsQ0FDcEUsV0FBVyxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FDL0MsQ0FBQztRQUNGLElBQUksU0FBUyxLQUFLLFdBQVcsQ0FBQyxjQUFjLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztZQUNyRSxNQUFNLElBQUksZ0NBQXFCLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN6RCxDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixhQUFhLENBQUMsS0FBZ0I7UUFDNUIsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDeEIsTUFBTSxJQUFJLGdDQUFxQixDQUFDLGdDQUFnQyxDQUFDLENBQUM7UUFDcEUsQ0FBQztJQUNILENBQUM7Q0FDRjtBQTFGRCxnREEwRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCYXNlQWRkcmVzcyxcbiAgQmFzZUtleSxcbiAgQmFzZVRyYW5zYWN0aW9uQnVpbGRlcixcbiAgQnVpbGRUcmFuc2FjdGlvbkVycm9yLFxuICBQdWJsaWNLZXkgYXMgQmFzZVB1YmxpY0tleSxcbiAgU2lnbmF0dXJlLFxuICBUcmFuc2FjdGlvblR5cGUsXG59IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB7IENhbnRvblByZXBhcmVDb21tYW5kUmVzcG9uc2UgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IEtleVBhaXIgfSBmcm9tICcuL2tleVBhaXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRyYW5zYWN0aW9uQnVpbGRlciBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgX3RyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbjtcbiAgcHJvdGVjdGVkIF9zaWduYXR1cmVzOiBTaWduYXR1cmVbXSA9IFtdO1xuXG4gIGluaXRCdWlsZGVyKHR4OiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gdHg7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHRyYW5zYWN0aW9uIHR5cGUuXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGU7XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldCB0cmFuc2FjdGlvbigpOiBUcmFuc2FjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGFic3RyYWN0IHNldFRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uOiBDYW50b25QcmVwYXJlQ29tbWFuZFJlc3BvbnNlKTogdm9pZDtcblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIHNpZ25JbXBsZW1lbnRhdGlvbihrZXk6IEJhc2VLZXkpOiBUcmFuc2FjdGlvbiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGFic3RyYWN0IGFkZFNpZ25hdHVyZShwdWJsaWNLZXk6IEJhc2VQdWJsaWNLZXksIHNpZ25hdHVyZTogQnVmZmVyKTogdm9pZDtcblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgYnVpbGRJbXBsZW1lbnRhdGlvbigpOiBQcm9taXNlPFRyYW5zYWN0aW9uPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICB9XG5cbiAgLy8gcmVnaW9uIFZhbGlkYXRvcnNcbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlQWRkcmVzcyhhZGRyZXNzOiBCYXNlQWRkcmVzcywgYWRkcmVzc0Zvcm1hdD86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghdXRpbHMuaXNWYWxpZEFkZHJlc3MoYWRkcmVzcy5hZGRyZXNzKSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCBhZGRyZXNzICcgKyBhZGRyZXNzLmFkZHJlc3MpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZUtleShrZXk6IEJhc2VLZXkpOiB2b2lkIHtcbiAgICBsZXQga2V5UGFpcjogS2V5UGFpcjtcbiAgICB0cnkge1xuICAgICAga2V5UGFpciA9IG5ldyBLZXlQYWlyKHsgcHJ2OiBrZXkua2V5IH0pO1xuICAgIH0gY2F0Y2gge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCBrZXknKTtcbiAgICB9XG4gICAgaWYgKCFrZXlQYWlyLmdldEtleXMoKS5wcnYpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQga2V5Jyk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGFzeW5jIHZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghcmF3VHJhbnNhY3Rpb24gfHwgIXRoaXMuX3RyYW5zYWN0aW9uLnByZXBhcmVDb21tYW5kKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdpbnZhbGlkIHJhdyB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgICBjb25zdCBsb2NhbEhhc2ggPSBhd2FpdCB1dGlscy5jb21wdXRlSGFzaEZyb21QcmVwYXJlU3VibWlzc2lvblJlc3BvbnNlKHJhd1RyYW5zYWN0aW9uKTtcbiAgICBpZiAobG9jYWxIYXNoICE9PSB0aGlzLl90cmFuc2FjdGlvbi5wcmVwYXJlQ29tbWFuZC5wcmVwYXJlZFRyYW5zYWN0aW9uSGFzaCkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignaW52YWxpZCByYXcgdHJhbnNhY3Rpb24sIGhhc2ggbm90IG1hdGNoaW5nJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGFzeW5jIHZhbGlkYXRlVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24/OiBUcmFuc2FjdGlvbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdHJhbnNhY3Rpb24/LnByZXBhcmVDb21tYW5kPy5wcmVwYXJlZFRyYW5zYWN0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGxvY2FsSGFzaCA9IGF3YWl0IHV0aWxzLmNvbXB1dGVIYXNoRnJvbVByZXBhcmVTdWJtaXNzaW9uUmVzcG9uc2UoXG4gICAgICB0cmFuc2FjdGlvbi5wcmVwYXJlQ29tbWFuZC5wcmVwYXJlZFRyYW5zYWN0aW9uXG4gICAgKTtcbiAgICBpZiAobG9jYWxIYXNoICE9PSB0cmFuc2FjdGlvbi5wcmVwYXJlQ29tbWFuZC5wcmVwYXJlZFRyYW5zYWN0aW9uSGFzaCkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignaW52YWxpZCB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVZhbHVlKHZhbHVlOiBCaWdOdW1iZXIpOiB2b2lkIHtcbiAgICBpZiAodmFsdWUuaXNMZXNzVGhhbigwKSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignVmFsdWUgY2Fubm90IGJlIGxlc3MgdGhhbiB6ZXJvJyk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,12 +1,26 @@
|
|
|
1
1
|
import { BaseTransactionBuilderFactory } from '@bitgo-beta/sdk-core';
|
|
2
|
+
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
3
|
+
import { OneStepPreApprovalBuilder } from './oneStepPreApprovalBuilder';
|
|
4
|
+
import { TransferAcceptanceBuilder } from './transferAcceptanceBuilder';
|
|
5
|
+
import { TransferAcknowledgeBuilder } from './transferAcknowledgeBuilder';
|
|
2
6
|
import { TransactionBuilder } from './transactionBuilder';
|
|
3
7
|
import { TransferBuilder } from './transferBuilder';
|
|
8
|
+
import { TransferRejectionBuilder } from './transferRejectionBuilder';
|
|
9
|
+
import { Transaction } from './transaction/transaction';
|
|
10
|
+
import { WalletInitBuilder } from './walletInitBuilder';
|
|
11
|
+
import { WalletInitTransaction } from './walletInitialization/walletInitTransaction';
|
|
4
12
|
export declare class TransactionBuilderFactory extends BaseTransactionBuilderFactory {
|
|
13
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
5
14
|
/** @inheritdoc */
|
|
6
|
-
from(raw: string): TransactionBuilder;
|
|
15
|
+
from(raw: string): TransactionBuilder | WalletInitBuilder;
|
|
16
|
+
getOneStepPreapprovalBuilder(tx?: Transaction): OneStepPreApprovalBuilder;
|
|
17
|
+
getTransferAcceptanceBuilder(tx?: Transaction): TransferAcceptanceBuilder;
|
|
18
|
+
getTransferAcknowledgeBuilder(tx?: Transaction): TransferAcknowledgeBuilder;
|
|
19
|
+
getTransferRejectBuilder(tx?: Transaction): TransferRejectionBuilder;
|
|
7
20
|
/** @inheritdoc */
|
|
8
|
-
getTransferBuilder(): TransferBuilder;
|
|
21
|
+
getTransferBuilder(tx?: Transaction): TransferBuilder;
|
|
9
22
|
/** @inheritdoc */
|
|
10
|
-
getWalletInitializationBuilder():
|
|
23
|
+
getWalletInitializationBuilder(tx?: WalletInitTransaction): WalletInitBuilder;
|
|
24
|
+
private static initializeBuilder;
|
|
11
25
|
}
|
|
12
26
|
//# 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,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,6BAA6B,EAG9B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAErF,qBAAa,yBAA0B,SAAQ,6BAA6B;gBAC9D,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAG7C,kBAAkB;IAClB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,GAAG,iBAAiB;IA+BzD,4BAA4B,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,yBAAyB;IAIzE,4BAA4B,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,yBAAyB;IAIzE,6BAA6B,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,0BAA0B;IAI3E,wBAAwB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,wBAAwB;IAIpE,kBAAkB;IAClB,kBAAkB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,eAAe;IAIrD,kBAAkB;IAClB,8BAA8B,CAAC,EAAE,CAAC,EAAE,qBAAqB,GAAG,iBAAiB;IAI7E,OAAO,CAAC,MAAM,CAAC,iBAAiB;CASjC"}
|
|
@@ -2,19 +2,76 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.TransactionBuilderFactory = void 0;
|
|
4
4
|
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
5
|
+
const oneStepPreApprovalBuilder_1 = require("./oneStepPreApprovalBuilder");
|
|
6
|
+
const transferAcceptanceBuilder_1 = require("./transferAcceptanceBuilder");
|
|
7
|
+
const transferAcknowledgeBuilder_1 = require("./transferAcknowledgeBuilder");
|
|
8
|
+
const transferBuilder_1 = require("./transferBuilder");
|
|
9
|
+
const transferRejectionBuilder_1 = require("./transferRejectionBuilder");
|
|
10
|
+
const transaction_1 = require("./transaction/transaction");
|
|
11
|
+
const walletInitBuilder_1 = require("./walletInitBuilder");
|
|
12
|
+
const walletInitTransaction_1 = require("./walletInitialization/walletInitTransaction");
|
|
5
13
|
class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory {
|
|
14
|
+
constructor(_coinConfig) {
|
|
15
|
+
super(_coinConfig);
|
|
16
|
+
}
|
|
6
17
|
/** @inheritdoc */
|
|
7
18
|
from(raw) {
|
|
8
|
-
|
|
19
|
+
try {
|
|
20
|
+
const tx = new walletInitTransaction_1.WalletInitTransaction(this._coinConfig);
|
|
21
|
+
tx.fromRawTransaction(raw);
|
|
22
|
+
return this.getWalletInitializationBuilder(tx);
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
const tx = new transaction_1.Transaction(this._coinConfig);
|
|
26
|
+
tx.fromRawTransaction(raw);
|
|
27
|
+
switch (tx.type) {
|
|
28
|
+
case sdk_core_1.TransactionType.OneStepPreApproval: {
|
|
29
|
+
return this.getOneStepPreapprovalBuilder(tx);
|
|
30
|
+
}
|
|
31
|
+
case sdk_core_1.TransactionType.Send: {
|
|
32
|
+
return this.getTransferBuilder(tx);
|
|
33
|
+
}
|
|
34
|
+
case sdk_core_1.TransactionType.TransferAccept: {
|
|
35
|
+
return this.getTransferAcceptanceBuilder(tx);
|
|
36
|
+
}
|
|
37
|
+
case sdk_core_1.TransactionType.TransferAcknowledge: {
|
|
38
|
+
return this.getTransferAcknowledgeBuilder(tx);
|
|
39
|
+
}
|
|
40
|
+
case sdk_core_1.TransactionType.TransferReject: {
|
|
41
|
+
return this.getTransferRejectBuilder(tx);
|
|
42
|
+
}
|
|
43
|
+
default: {
|
|
44
|
+
throw new sdk_core_1.InvalidTransactionError('unsupported transaction');
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
getOneStepPreapprovalBuilder(tx) {
|
|
50
|
+
return TransactionBuilderFactory.initializeBuilder(tx, new oneStepPreApprovalBuilder_1.OneStepPreApprovalBuilder(this._coinConfig));
|
|
51
|
+
}
|
|
52
|
+
getTransferAcceptanceBuilder(tx) {
|
|
53
|
+
return TransactionBuilderFactory.initializeBuilder(tx, new transferAcceptanceBuilder_1.TransferAcceptanceBuilder(this._coinConfig));
|
|
54
|
+
}
|
|
55
|
+
getTransferAcknowledgeBuilder(tx) {
|
|
56
|
+
return TransactionBuilderFactory.initializeBuilder(tx, new transferAcknowledgeBuilder_1.TransferAcknowledgeBuilder(this._coinConfig));
|
|
57
|
+
}
|
|
58
|
+
getTransferRejectBuilder(tx) {
|
|
59
|
+
return TransactionBuilderFactory.initializeBuilder(tx, new transferRejectionBuilder_1.TransferRejectionBuilder(this._coinConfig));
|
|
9
60
|
}
|
|
10
61
|
/** @inheritdoc */
|
|
11
|
-
getTransferBuilder() {
|
|
12
|
-
|
|
62
|
+
getTransferBuilder(tx) {
|
|
63
|
+
return TransactionBuilderFactory.initializeBuilder(tx, new transferBuilder_1.TransferBuilder(this._coinConfig));
|
|
13
64
|
}
|
|
14
65
|
/** @inheritdoc */
|
|
15
|
-
getWalletInitializationBuilder() {
|
|
16
|
-
|
|
66
|
+
getWalletInitializationBuilder(tx) {
|
|
67
|
+
return TransactionBuilderFactory.initializeBuilder(tx, new walletInitBuilder_1.WalletInitBuilder(this._coinConfig));
|
|
68
|
+
}
|
|
69
|
+
static initializeBuilder(tx, builder) {
|
|
70
|
+
if (tx) {
|
|
71
|
+
builder.initBuilder(tx);
|
|
72
|
+
}
|
|
73
|
+
return builder;
|
|
17
74
|
}
|
|
18
75
|
}
|
|
19
76
|
exports.TransactionBuilderFactory = TransactionBuilderFactory;
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFLOEI7QUFFOUIsMkVBQXdFO0FBQ3hFLDJFQUF3RTtBQUN4RSw2RUFBMEU7QUFFMUUsdURBQW9EO0FBQ3BELHlFQUFzRTtBQUN0RSwyREFBd0Q7QUFDeEQsMkRBQXdEO0FBQ3hELHdGQUFxRjtBQUVyRixNQUFhLHlCQUEwQixTQUFRLHdDQUE2QjtJQUMxRSxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBQ0Qsa0JBQWtCO0lBQ2xCLElBQUksQ0FBQyxHQUFXO1FBQ2QsSUFBSSxDQUFDO1lBQ0gsTUFBTSxFQUFFLEdBQUcsSUFBSSw2Q0FBcUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDdkQsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzNCLE9BQU8sSUFBSSxDQUFDLDhCQUE4QixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCxNQUFNLEVBQUUsR0FBRyxJQUFJLHlCQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzdDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMzQixRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDaEIsS0FBSywwQkFBZSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztvQkFDeEMsT0FBTyxJQUFJLENBQUMsNEJBQTRCLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQy9DLENBQUM7Z0JBQ0QsS0FBSywwQkFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7b0JBQzFCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNyQyxDQUFDO2dCQUNELEtBQUssMEJBQWUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO29CQUNwQyxPQUFPLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDL0MsQ0FBQztnQkFDRCxLQUFLLDBCQUFlLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO29CQUN6QyxPQUFPLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDaEQsQ0FBQztnQkFDRCxLQUFLLDBCQUFlLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztvQkFDcEMsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQzNDLENBQUM7Z0JBQ0QsT0FBTyxDQUFDLENBQUMsQ0FBQztvQkFDUixNQUFNLElBQUksa0NBQXVCLENBQUMseUJBQXlCLENBQUMsQ0FBQztnQkFDL0QsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELDRCQUE0QixDQUFDLEVBQWdCO1FBQzNDLE9BQU8seUJBQXlCLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUkscURBQXlCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDMUcsQ0FBQztJQUVELDRCQUE0QixDQUFDLEVBQWdCO1FBQzNDLE9BQU8seUJBQXlCLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUkscURBQXlCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDMUcsQ0FBQztJQUVELDZCQUE2QixDQUFDLEVBQWdCO1FBQzVDLE9BQU8seUJBQXlCLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksdURBQTBCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDM0csQ0FBQztJQUVELHdCQUF3QixDQUFDLEVBQWdCO1FBQ3ZDLE9BQU8seUJBQXlCLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksbURBQXdCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDekcsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixrQkFBa0IsQ0FBQyxFQUFnQjtRQUNqQyxPQUFPLHlCQUF5QixDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLGlDQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDaEcsQ0FBQztJQUVELGtCQUFrQjtJQUNsQiw4QkFBOEIsQ0FBQyxFQUEwQjtRQUN2RCxPQUFPLHlCQUF5QixDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLHFDQUFpQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7SUFFTyxNQUFNLENBQUMsaUJBQWlCLENBQzlCLEVBQW1CLEVBQ25CLE9BQWlCO1FBRWpCLElBQUksRUFBRSxFQUFFLENBQUM7WUFDUCxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0Y7QUF2RUQsOERBdUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQmFzZVRyYW5zYWN0aW9uLFxuICBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsXG4gIFRyYW5zYWN0aW9uVHlwZSxcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgT25lU3RlcFByZUFwcHJvdmFsQnVpbGRlciB9IGZyb20gJy4vb25lU3RlcFByZUFwcHJvdmFsQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2ZlckFjY2VwdGFuY2VCdWlsZGVyIH0gZnJvbSAnLi90cmFuc2ZlckFjY2VwdGFuY2VCdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zZmVyQWNrbm93bGVkZ2VCdWlsZGVyIH0gZnJvbSAnLi90cmFuc2ZlckFja25vd2xlZGdlQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2ZlclJlamVjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyUmVqZWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgV2FsbGV0SW5pdEJ1aWxkZXIgfSBmcm9tICcuL3dhbGxldEluaXRCdWlsZGVyJztcbmltcG9ydCB7IFdhbGxldEluaXRUcmFuc2FjdGlvbiB9IGZyb20gJy4vd2FsbGV0SW5pdGlhbGl6YXRpb24vd2FsbGV0SW5pdFRyYW5zYWN0aW9uJztcblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZnJvbShyYXc6IHN0cmluZyk6IFRyYW5zYWN0aW9uQnVpbGRlciB8IFdhbGxldEluaXRCdWlsZGVyIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgdHggPSBuZXcgV2FsbGV0SW5pdFRyYW5zYWN0aW9uKHRoaXMuX2NvaW5Db25maWcpO1xuICAgICAgdHguZnJvbVJhd1RyYW5zYWN0aW9uKHJhdyk7XG4gICAgICByZXR1cm4gdGhpcy5nZXRXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIodHgpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgY29uc3QgdHggPSBuZXcgVHJhbnNhY3Rpb24odGhpcy5fY29pbkNvbmZpZyk7XG4gICAgICB0eC5mcm9tUmF3VHJhbnNhY3Rpb24ocmF3KTtcbiAgICAgIHN3aXRjaCAodHgudHlwZSkge1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5PbmVTdGVwUHJlQXBwcm92YWw6IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRPbmVTdGVwUHJlYXBwcm92YWxCdWlsZGVyKHR4KTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TZW5kOiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VHJhbnNmZXJCdWlsZGVyKHR4KTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5UcmFuc2ZlckFjY2VwdDoge1xuICAgICAgICAgIHJldHVybiB0aGlzLmdldFRyYW5zZmVyQWNjZXB0YW5jZUJ1aWxkZXIodHgpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlRyYW5zZmVyQWNrbm93bGVkZ2U6IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRUcmFuc2ZlckFja25vd2xlZGdlQnVpbGRlcih0eCk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuVHJhbnNmZXJSZWplY3Q6IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRUcmFuc2ZlclJlamVjdEJ1aWxkZXIodHgpO1xuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ3Vuc3VwcG9ydGVkIHRyYW5zYWN0aW9uJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRPbmVTdGVwUHJlYXBwcm92YWxCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBPbmVTdGVwUHJlQXBwcm92YWxCdWlsZGVyIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IE9uZVN0ZXBQcmVBcHByb3ZhbEJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgZ2V0VHJhbnNmZXJBY2NlcHRhbmNlQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogVHJhbnNmZXJBY2NlcHRhbmNlQnVpbGRlciB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBUcmFuc2ZlckFjY2VwdGFuY2VCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIGdldFRyYW5zZmVyQWNrbm93bGVkZ2VCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBUcmFuc2ZlckFja25vd2xlZGdlQnVpbGRlciB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBUcmFuc2ZlckFja25vd2xlZGdlQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICBnZXRUcmFuc2ZlclJlamVjdEJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IFRyYW5zZmVyUmVqZWN0aW9uQnVpbGRlciB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBUcmFuc2ZlclJlamVjdGlvbkJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldFRyYW5zZmVyQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogVHJhbnNmZXJCdWlsZGVyIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFRyYW5zZmVyQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0V2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyKHR4PzogV2FsbGV0SW5pdFRyYW5zYWN0aW9uKTogV2FsbGV0SW5pdEJ1aWxkZXIge1xuICAgIHJldHVybiBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgV2FsbGV0SW5pdEJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaW5pdGlhbGl6ZUJ1aWxkZXI8VFR4IGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uLCBUQnVpbGRlciBleHRlbmRzIHsgaW5pdEJ1aWxkZXIodHg6IFRUeCk6IHZvaWQgfT4oXG4gICAgdHg6IFRUeCB8IHVuZGVmaW5lZCxcbiAgICBidWlsZGVyOiBUQnVpbGRlclxuICApOiBUQnVpbGRlciB7XG4gICAgaWYgKHR4KSB7XG4gICAgICBidWlsZGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICB9XG4gICAgcmV0dXJuIGJ1aWxkZXI7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { PublicKey, TransactionType } from '@bitgo-beta/sdk-core';
|
|
2
|
+
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
3
|
+
import { CantonPrepareCommandResponse, CantonTransferAcceptRejectRequest } from './iface';
|
|
4
|
+
import { TransactionBuilder } from './transactionBuilder';
|
|
5
|
+
import { Transaction } from './transaction/transaction';
|
|
6
|
+
export declare class TransferAcceptanceBuilder extends TransactionBuilder {
|
|
7
|
+
private _commandId;
|
|
8
|
+
private _contractId;
|
|
9
|
+
private _actAsPartyId;
|
|
10
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
11
|
+
initBuilder(tx: Transaction): void;
|
|
12
|
+
get transactionType(): TransactionType;
|
|
13
|
+
setTransactionType(): void;
|
|
14
|
+
setTransaction(transaction: CantonPrepareCommandResponse): void;
|
|
15
|
+
/** @inheritDoc */
|
|
16
|
+
addSignature(publicKey: PublicKey, signature: Buffer): void;
|
|
17
|
+
/**
|
|
18
|
+
* Sets the unique id for the transfer acceptance
|
|
19
|
+
* Also sets the _id of the transaction
|
|
20
|
+
*
|
|
21
|
+
* @param id - A uuid
|
|
22
|
+
* @returns The current builder instance for chaining.
|
|
23
|
+
* @throws Error if id is empty.
|
|
24
|
+
*/
|
|
25
|
+
commandId(id: string): this;
|
|
26
|
+
/**
|
|
27
|
+
* Sets the acceptance contract id the receiver needs to accept
|
|
28
|
+
* @param id - canton acceptance contract id
|
|
29
|
+
* @returns The current builder instance for chaining.
|
|
30
|
+
* @throws Error if id is empty.
|
|
31
|
+
*/
|
|
32
|
+
contractId(id: string): this;
|
|
33
|
+
/**
|
|
34
|
+
* Sets the receiver of the acceptance
|
|
35
|
+
*
|
|
36
|
+
* @param id - the receiver party id (address)
|
|
37
|
+
* @returns The current builder instance for chaining.
|
|
38
|
+
* @throws Error if id is empty.
|
|
39
|
+
*/
|
|
40
|
+
actAs(id: string): this;
|
|
41
|
+
/**
|
|
42
|
+
* Builds and returns the CantonTransferAcceptRejectRequest object from the builder's internal state.
|
|
43
|
+
*
|
|
44
|
+
* This method performs validation before constructing the object. If required fields are
|
|
45
|
+
* missing or invalid, it throws an error.
|
|
46
|
+
*
|
|
47
|
+
* @returns {CantonTransferAcceptRejectRequest} - A fully constructed and validated request object for transfer acceptance.
|
|
48
|
+
* @throws {Error} If any required field is missing or fails validation.
|
|
49
|
+
*/
|
|
50
|
+
toRequestObject(): CantonTransferAcceptRejectRequest;
|
|
51
|
+
/**
|
|
52
|
+
* Validates the internal state of the builder before building the request object.
|
|
53
|
+
*
|
|
54
|
+
* @private
|
|
55
|
+
* @throws {Error} If any required field is missing or invalid.
|
|
56
|
+
*/
|
|
57
|
+
private validate;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=transferAcceptanceBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transferAcceptanceBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transferAcceptanceBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,SAAS,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,iCAAiC,EAAE,MAAM,SAAS,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGxD,qBAAa,yBAA0B,SAAQ,kBAAkB;IAC/D,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAS;gBAClB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAKlC,IAAI,eAAe,IAAI,eAAe,CAErC;IAED,kBAAkB,IAAI,IAAI;IAI1B,cAAc,CAAC,WAAW,EAAE,4BAA4B,GAAG,IAAI;IAI/D,kBAAkB;IAClB,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAU3D;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAU3B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQ5B;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQvB;;;;;;;;OAQG;IACH,eAAe,IAAI,iCAAiC;IAYpD;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;CAKjB"}
|