@bitgo/sdk-coin-ton 4.0.4 → 4.0.6
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/cjs/src/index.d.ts.map +1 -0
- package/dist/{src → cjs/src}/index.js +1 -1
- package/dist/cjs/src/jettonToken.d.ts.map +1 -0
- package/dist/cjs/src/jettonToken.js +52 -0
- package/dist/cjs/src/lib/constants.d.ts.map +1 -0
- package/dist/cjs/src/lib/constants.js +12 -0
- package/dist/{src → cjs/src}/lib/explainTransactionWasm.d.ts +15 -1
- package/dist/cjs/src/lib/explainTransactionWasm.d.ts.map +1 -0
- package/dist/cjs/src/lib/explainTransactionWasm.js +104 -0
- package/dist/cjs/src/lib/iface.d.ts.map +1 -0
- package/dist/cjs/src/lib/iface.js +3 -0
- package/dist/cjs/src/lib/index.d.ts.map +1 -0
- package/dist/{src → cjs/src}/lib/index.js +1 -1
- package/dist/cjs/src/lib/keyPair.d.ts.map +1 -0
- package/dist/cjs/src/lib/keyPair.js +103 -0
- package/dist/cjs/src/lib/singleNominatorWithdrawBuilder.d.ts.map +1 -0
- package/dist/cjs/src/lib/singleNominatorWithdrawBuilder.js +38 -0
- package/dist/cjs/src/lib/tokenTransaction.d.ts.map +1 -0
- package/dist/cjs/src/lib/tokenTransaction.js +97 -0
- package/dist/cjs/src/lib/tokenTransferBuilder.d.ts.map +1 -0
- package/dist/cjs/src/lib/tokenTransferBuilder.js +57 -0
- package/dist/cjs/src/lib/tonWhalesDepositBuilder.d.ts.map +1 -0
- package/dist/cjs/src/lib/tonWhalesDepositBuilder.js +42 -0
- package/dist/cjs/src/lib/tonWhalesVestingDepositBuilder.d.ts.map +1 -0
- package/dist/cjs/src/lib/tonWhalesVestingDepositBuilder.js +37 -0
- package/dist/cjs/src/lib/tonWhalesVestingWithdrawBuilder.d.ts.map +1 -0
- package/dist/cjs/src/lib/tonWhalesVestingWithdrawBuilder.js +37 -0
- package/dist/cjs/src/lib/tonWhalesWithdrawalBuilder.d.ts.map +1 -0
- package/dist/cjs/src/lib/tonWhalesWithdrawalBuilder.js +60 -0
- package/dist/cjs/src/lib/transaction.d.ts.map +1 -0
- package/dist/cjs/src/lib/transaction.js +415 -0
- package/dist/cjs/src/lib/transactionBuilder.d.ts.map +1 -0
- package/dist/cjs/src/lib/transactionBuilder.js +152 -0
- package/dist/cjs/src/lib/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/cjs/src/lib/transactionBuilderFactory.js +100 -0
- package/dist/cjs/src/lib/transactionExplanation.d.ts.map +1 -0
- package/dist/cjs/src/lib/transactionExplanation.js +3 -0
- package/dist/cjs/src/lib/transferBuilder.d.ts.map +1 -0
- package/dist/cjs/src/lib/transferBuilder.js +21 -0
- package/dist/cjs/src/lib/utils.d.ts.map +1 -0
- package/dist/cjs/src/lib/utils.js +159 -0
- package/dist/cjs/src/register.d.ts.map +1 -0
- package/dist/cjs/src/register.js +15 -0
- package/dist/cjs/src/ton.d.ts.map +1 -0
- package/dist/cjs/src/ton.js +520 -0
- package/dist/cjs/src/tton.d.ts.map +1 -0
- package/dist/cjs/src/tton.js +30 -0
- package/dist/cjs/test/resources/ton.d.ts.map +1 -0
- package/dist/cjs/test/resources/ton.js +208 -0
- package/dist/cjs/test/unit/explainTransactionWasm.d.ts.map +1 -0
- package/dist/cjs/test/unit/explainTransactionWasm.js +147 -0
- package/dist/cjs/test/unit/jettonToken.d.ts.map +1 -0
- package/dist/cjs/test/unit/jettonToken.js +341 -0
- package/dist/{test → cjs/test}/unit/keyPair.d.ts.map +1 -1
- package/dist/cjs/test/unit/keyPair.js +55 -0
- package/dist/cjs/test/unit/singleNominatorWithdrawBuilder.d.ts.map +1 -0
- package/dist/cjs/test/unit/singleNominatorWithdrawBuilder.js +314 -0
- package/dist/cjs/test/unit/tokenTransferBuilder.d.ts.map +1 -0
- package/dist/cjs/test/unit/tokenTransferBuilder.js +262 -0
- package/dist/{test → cjs/test}/unit/ton.d.ts.map +1 -1
- package/dist/cjs/test/unit/ton.js +752 -0
- package/dist/cjs/test/unit/tonWhalesDepositBuilder.d.ts.map +1 -0
- package/dist/cjs/test/unit/tonWhalesDepositBuilder.js +114 -0
- package/dist/cjs/test/unit/tonWhalesVestingDepositBuilder.d.ts.map +1 -0
- package/dist/cjs/test/unit/tonWhalesVestingDepositBuilder.js +136 -0
- package/dist/cjs/test/unit/tonWhalesVestingWithdrawBuilder.d.ts.map +1 -0
- package/dist/cjs/test/unit/tonWhalesVestingWithdrawBuilder.js +136 -0
- package/dist/cjs/test/unit/tonWhalesWithdrawalBuilder.d.ts.map +1 -0
- package/dist/cjs/test/unit/tonWhalesWithdrawalBuilder.js +130 -0
- package/dist/cjs/test/unit/transferBuilder.d.ts.map +1 -0
- package/dist/cjs/test/unit/transferBuilder.js +281 -0
- package/dist/cjs/test/unit/wasmCrossCompatibility.d.ts.map +1 -0
- package/dist/cjs/test/unit/wasmCrossCompatibility.js +176 -0
- package/dist/cjs/tsconfig.tsbuildinfo +1 -0
- package/dist/esm/index.d.ts +6 -0
- package/dist/esm/index.js +6 -0
- package/dist/esm/jettonToken.d.ts +19 -0
- package/dist/esm/jettonToken.js +48 -0
- package/dist/esm/lib/constants.d.ts +9 -0
- package/dist/esm/lib/constants.js +9 -0
- package/dist/esm/lib/explainTransactionWasm.d.ts +36 -0
- package/dist/esm/lib/explainTransactionWasm.d.ts.map +1 -0
- package/dist/esm/lib/explainTransactionWasm.js +99 -0
- package/dist/esm/lib/iface.d.ts +32 -0
- package/dist/{src → esm}/lib/iface.js +1 -2
- package/dist/esm/lib/index.d.ts +14 -0
- package/dist/esm/lib/index.js +14 -0
- package/dist/esm/lib/keyPair.d.ts +25 -0
- package/dist/esm/lib/keyPair.js +63 -0
- package/dist/esm/lib/singleNominatorWithdrawBuilder.d.ts +17 -0
- package/dist/esm/lib/singleNominatorWithdrawBuilder.js +34 -0
- package/dist/esm/lib/tokenTransaction.d.ts +16 -0
- package/dist/esm/lib/tokenTransaction.js +90 -0
- package/dist/esm/lib/tokenTransferBuilder.d.ts +20 -0
- package/dist/esm/lib/tokenTransferBuilder.js +53 -0
- package/dist/esm/lib/tonWhalesDepositBuilder.d.ts +12 -0
- package/dist/esm/lib/tonWhalesDepositBuilder.js +38 -0
- package/dist/esm/lib/tonWhalesVestingDepositBuilder.d.ts +12 -0
- package/dist/esm/lib/tonWhalesVestingDepositBuilder.js +33 -0
- package/dist/esm/lib/tonWhalesVestingWithdrawBuilder.d.ts +12 -0
- package/dist/esm/lib/tonWhalesVestingWithdrawBuilder.js +33 -0
- package/dist/esm/lib/tonWhalesWithdrawalBuilder.d.ts +30 -0
- package/dist/esm/lib/tonWhalesWithdrawalBuilder.js +56 -0
- package/dist/esm/lib/transaction.d.ts +42 -0
- package/dist/esm/lib/transaction.js +408 -0
- package/dist/esm/lib/transactionBuilder.d.ts +74 -0
- package/dist/esm/lib/transactionBuilder.js +145 -0
- package/dist/esm/lib/transactionBuilderFactory.d.ts +32 -0
- package/dist/esm/lib/transactionBuilderFactory.js +96 -0
- package/dist/esm/lib/transactionExplanation.d.ts +14 -0
- package/dist/{src → esm}/lib/transactionExplanation.js +1 -2
- package/dist/esm/lib/transferBuilder.d.ts +9 -0
- package/dist/esm/lib/transferBuilder.js +17 -0
- package/dist/esm/lib/utils.d.ts +41 -0
- package/dist/esm/lib/utils.js +151 -0
- package/dist/esm/register.d.ts +3 -0
- package/dist/esm/register.js +11 -0
- package/dist/esm/ton.d.ts +59 -0
- package/dist/{src → esm}/ton.d.ts.map +1 -1
- package/dist/esm/ton.js +480 -0
- package/dist/esm/tton.d.ts +22 -0
- package/dist/esm/tton.js +26 -0
- package/package.json +27 -10
- package/dist/src/jettonToken.js +0 -52
- package/dist/src/lib/constants.js +0 -12
- package/dist/src/lib/explainTransactionWasm.d.ts.map +0 -1
- package/dist/src/lib/explainTransactionWasm.js +0 -61
- package/dist/src/lib/keyPair.js +0 -103
- package/dist/src/lib/singleNominatorWithdrawBuilder.js +0 -38
- package/dist/src/lib/tokenTransaction.js +0 -97
- package/dist/src/lib/tokenTransferBuilder.js +0 -57
- package/dist/src/lib/tonWhalesDepositBuilder.js +0 -42
- package/dist/src/lib/tonWhalesVestingDepositBuilder.js +0 -37
- package/dist/src/lib/tonWhalesVestingWithdrawBuilder.js +0 -37
- package/dist/src/lib/tonWhalesWithdrawalBuilder.js +0 -60
- package/dist/src/lib/transaction.js +0 -415
- package/dist/src/lib/transactionBuilder.js +0 -152
- package/dist/src/lib/transactionBuilderFactory.js +0 -100
- package/dist/src/lib/transferBuilder.js +0 -21
- package/dist/src/lib/utils.js +0 -159
- package/dist/src/register.js +0 -15
- package/dist/src/ton.js +0 -525
- package/dist/src/tton.js +0 -30
- package/dist/test/resources/ton.d.ts.map +0 -1
- package/dist/test/resources/ton.js +0 -208
- package/dist/test/unit/explainTransactionWasm.d.ts.map +0 -1
- package/dist/test/unit/explainTransactionWasm.js +0 -147
- package/dist/test/unit/jettonToken.d.ts.map +0 -1
- package/dist/test/unit/jettonToken.js +0 -341
- package/dist/test/unit/keyPair.js +0 -55
- package/dist/test/unit/singleNominatorWithdrawBuilder.d.ts.map +0 -1
- package/dist/test/unit/singleNominatorWithdrawBuilder.js +0 -314
- package/dist/test/unit/tokenTransferBuilder.d.ts.map +0 -1
- package/dist/test/unit/tokenTransferBuilder.js +0 -262
- package/dist/test/unit/ton.js +0 -752
- package/dist/test/unit/tonWhalesDepositBuilder.d.ts.map +0 -1
- package/dist/test/unit/tonWhalesDepositBuilder.js +0 -114
- package/dist/test/unit/tonWhalesVestingDepositBuilder.d.ts.map +0 -1
- package/dist/test/unit/tonWhalesVestingDepositBuilder.js +0 -136
- package/dist/test/unit/tonWhalesVestingWithdrawBuilder.d.ts.map +0 -1
- package/dist/test/unit/tonWhalesVestingWithdrawBuilder.js +0 -136
- package/dist/test/unit/tonWhalesWithdrawalBuilder.d.ts.map +0 -1
- package/dist/test/unit/tonWhalesWithdrawalBuilder.js +0 -130
- package/dist/test/unit/transferBuilder.d.ts.map +0 -1
- package/dist/test/unit/transferBuilder.js +0 -281
- package/dist/test/unit/wasmCrossCompatibility.d.ts.map +0 -1
- package/dist/test/unit/wasmCrossCompatibility.js +0 -176
- package/dist/tsconfig.tsbuildinfo +0 -1
- /package/dist/{src → cjs/src}/index.d.ts +0 -0
- /package/dist/{src → cjs/src}/jettonToken.d.ts +0 -0
- /package/dist/{src → cjs/src}/lib/constants.d.ts +0 -0
- /package/dist/{src → cjs/src}/lib/iface.d.ts +0 -0
- /package/dist/{src → cjs/src}/lib/index.d.ts +0 -0
- /package/dist/{src → cjs/src}/lib/keyPair.d.ts +0 -0
- /package/dist/{src → cjs/src}/lib/singleNominatorWithdrawBuilder.d.ts +0 -0
- /package/dist/{src → cjs/src}/lib/tokenTransaction.d.ts +0 -0
- /package/dist/{src → cjs/src}/lib/tokenTransferBuilder.d.ts +0 -0
- /package/dist/{src → cjs/src}/lib/tonWhalesDepositBuilder.d.ts +0 -0
- /package/dist/{src → cjs/src}/lib/tonWhalesVestingDepositBuilder.d.ts +0 -0
- /package/dist/{src → cjs/src}/lib/tonWhalesVestingWithdrawBuilder.d.ts +0 -0
- /package/dist/{src → cjs/src}/lib/tonWhalesWithdrawalBuilder.d.ts +0 -0
- /package/dist/{src → cjs/src}/lib/transaction.d.ts +0 -0
- /package/dist/{src → cjs/src}/lib/transactionBuilder.d.ts +0 -0
- /package/dist/{src → cjs/src}/lib/transactionBuilderFactory.d.ts +0 -0
- /package/dist/{src → cjs/src}/lib/transactionExplanation.d.ts +0 -0
- /package/dist/{src → cjs/src}/lib/transferBuilder.d.ts +0 -0
- /package/dist/{src → cjs/src}/lib/utils.d.ts +0 -0
- /package/dist/{src → cjs/src}/register.d.ts +0 -0
- /package/dist/{src → cjs/src}/ton.d.ts +0 -0
- /package/dist/{src → cjs/src}/tton.d.ts +0 -0
- /package/dist/{test → cjs/test}/resources/ton.d.ts +0 -0
- /package/dist/{test → cjs/test}/unit/explainTransactionWasm.d.ts +0 -0
- /package/dist/{test → cjs/test}/unit/jettonToken.d.ts +0 -0
- /package/dist/{test → cjs/test}/unit/keyPair.d.ts +0 -0
- /package/dist/{test → cjs/test}/unit/singleNominatorWithdrawBuilder.d.ts +0 -0
- /package/dist/{test → cjs/test}/unit/tokenTransferBuilder.d.ts +0 -0
- /package/dist/{test → cjs/test}/unit/ton.d.ts +0 -0
- /package/dist/{test → cjs/test}/unit/tonWhalesDepositBuilder.d.ts +0 -0
- /package/dist/{test → cjs/test}/unit/tonWhalesVestingDepositBuilder.d.ts +0 -0
- /package/dist/{test → cjs/test}/unit/tonWhalesVestingWithdrawBuilder.d.ts +0 -0
- /package/dist/{test → cjs/test}/unit/tonWhalesWithdrawalBuilder.d.ts +0 -0
- /package/dist/{test → cjs/test}/unit/transferBuilder.d.ts +0 -0
- /package/dist/{test → cjs/test}/unit/wasmCrossCompatibility.d.ts +0 -0
- /package/dist/{src → esm}/index.d.ts.map +0 -0
- /package/dist/{src → esm}/jettonToken.d.ts.map +0 -0
- /package/dist/{src → esm}/lib/constants.d.ts.map +0 -0
- /package/dist/{src → esm}/lib/iface.d.ts.map +0 -0
- /package/dist/{src → esm}/lib/index.d.ts.map +0 -0
- /package/dist/{src → esm}/lib/keyPair.d.ts.map +0 -0
- /package/dist/{src → esm}/lib/singleNominatorWithdrawBuilder.d.ts.map +0 -0
- /package/dist/{src → esm}/lib/tokenTransaction.d.ts.map +0 -0
- /package/dist/{src → esm}/lib/tokenTransferBuilder.d.ts.map +0 -0
- /package/dist/{src → esm}/lib/tonWhalesDepositBuilder.d.ts.map +0 -0
- /package/dist/{src → esm}/lib/tonWhalesVestingDepositBuilder.d.ts.map +0 -0
- /package/dist/{src → esm}/lib/tonWhalesVestingWithdrawBuilder.d.ts.map +0 -0
- /package/dist/{src → esm}/lib/tonWhalesWithdrawalBuilder.d.ts.map +0 -0
- /package/dist/{src → esm}/lib/transaction.d.ts.map +0 -0
- /package/dist/{src → esm}/lib/transactionBuilder.d.ts.map +0 -0
- /package/dist/{src → esm}/lib/transactionBuilderFactory.d.ts.map +0 -0
- /package/dist/{src → esm}/lib/transactionExplanation.d.ts.map +0 -0
- /package/dist/{src → esm}/lib/transferBuilder.d.ts.map +0 -0
- /package/dist/{src → esm}/lib/utils.d.ts.map +0 -0
- /package/dist/{src → esm}/register.d.ts.map +0 -0
- /package/dist/{src → esm}/tton.d.ts.map +0 -0
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import BigNumber from 'bignumber.js';
|
|
2
|
+
import TonWeb from 'tonweb';
|
|
3
|
+
import { BaseTransactionBuilder, BuildTransactionError, } from '@bitgo/sdk-core';
|
|
4
|
+
import utils from './utils';
|
|
5
|
+
export const WITHDRAW_OPCODE = '00001000';
|
|
6
|
+
export class TransactionBuilder extends BaseTransactionBuilder {
|
|
7
|
+
constructor(coinConfig) {
|
|
8
|
+
super(coinConfig);
|
|
9
|
+
this._signatures = [];
|
|
10
|
+
}
|
|
11
|
+
/** @inheritdoc */
|
|
12
|
+
get transaction() {
|
|
13
|
+
return this._transaction;
|
|
14
|
+
}
|
|
15
|
+
/** @inheritdoc */
|
|
16
|
+
set transaction(transaction) {
|
|
17
|
+
this._transaction = transaction;
|
|
18
|
+
}
|
|
19
|
+
/** @inheritdoc */
|
|
20
|
+
signImplementation(key) {
|
|
21
|
+
throw new Error('Method not implemented.');
|
|
22
|
+
}
|
|
23
|
+
/** @inheritDoc */
|
|
24
|
+
addSignature(publicKey, signature) {
|
|
25
|
+
this.transaction.signature[0] = signature.toString('hex');
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Sets the sender of this transaction.
|
|
29
|
+
* This account will be responsible for paying transaction fees.
|
|
30
|
+
*
|
|
31
|
+
* @param {string} senderAddress the account that is sending this transaction
|
|
32
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
33
|
+
*/
|
|
34
|
+
sender(senderAddress) {
|
|
35
|
+
this.transaction.sender = senderAddress;
|
|
36
|
+
return this;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Sets the transaction to be bounceable or not.
|
|
40
|
+
*
|
|
41
|
+
* @param {string} bounceable whether the transaction can be bounced
|
|
42
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
43
|
+
*/
|
|
44
|
+
bounceable(bounceable) {
|
|
45
|
+
this.transaction.bounceable = bounceable;
|
|
46
|
+
return this;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Sets the fromAddress to be in bounceable format or not.
|
|
50
|
+
*
|
|
51
|
+
* @param {string} bounceable whether the address format is bounceable
|
|
52
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
53
|
+
*/
|
|
54
|
+
fromAddressBounceable(bounceable) {
|
|
55
|
+
this.transaction.fromAddressBounceable = bounceable;
|
|
56
|
+
this.sender(new TonWeb.Address(this.transaction.sender).toString(true, true, bounceable));
|
|
57
|
+
return this;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Sets the toAddress to be in bounceable format or not.
|
|
61
|
+
*
|
|
62
|
+
* @param {string} bounceable whether the address format is bounceable
|
|
63
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
64
|
+
*/
|
|
65
|
+
toAddressBounceable(bounceable) {
|
|
66
|
+
this.transaction.toAddressBounceable = bounceable;
|
|
67
|
+
this.transaction.recipient.address = new TonWeb.Address(this.transaction.recipient.address).toString(true, true, bounceable);
|
|
68
|
+
return this;
|
|
69
|
+
}
|
|
70
|
+
fee(feeOptions) {
|
|
71
|
+
throw new Error('Method not implemented.');
|
|
72
|
+
}
|
|
73
|
+
/** @inheritdoc */
|
|
74
|
+
fromImplementation(rawTransaction) {
|
|
75
|
+
this.transaction.transactionType = this.transactionType;
|
|
76
|
+
this.transaction.fromRawTransaction(rawTransaction);
|
|
77
|
+
return this.transaction;
|
|
78
|
+
}
|
|
79
|
+
/** @inheritdoc */
|
|
80
|
+
async buildImplementation() {
|
|
81
|
+
this.transaction.transactionType = this.transactionType;
|
|
82
|
+
await this.transaction.build();
|
|
83
|
+
this.transaction.loadInputsAndOutputs();
|
|
84
|
+
return this.transaction;
|
|
85
|
+
}
|
|
86
|
+
// region Validators
|
|
87
|
+
/** @inheritdoc */
|
|
88
|
+
validateAddress(address, addressFormat) {
|
|
89
|
+
if (!utils.isValidAddress(address.address)) {
|
|
90
|
+
throw new BuildTransactionError('Invalid address ' + address.address);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
/** @inheritdoc */
|
|
94
|
+
validateKey(key) {
|
|
95
|
+
throw new Error('Method not implemented.');
|
|
96
|
+
}
|
|
97
|
+
/** @inheritdoc */
|
|
98
|
+
validateRawTransaction(rawTransaction) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
/** @inheritdoc */
|
|
102
|
+
validateTransaction(transaction) {
|
|
103
|
+
if (!transaction) {
|
|
104
|
+
throw new Error('transaction not defined');
|
|
105
|
+
}
|
|
106
|
+
this.validateAddress(transaction.recipient);
|
|
107
|
+
this.validateValue(new BigNumber(transaction.recipient.amount));
|
|
108
|
+
}
|
|
109
|
+
/** @inheritdoc */
|
|
110
|
+
validateValue(value) {
|
|
111
|
+
if (value.isLessThan(0)) {
|
|
112
|
+
throw new BuildTransactionError('Value cannot be less than zero');
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
setMessage(msg) {
|
|
116
|
+
this.transaction.message = msg;
|
|
117
|
+
return this;
|
|
118
|
+
}
|
|
119
|
+
setWithdrawMessage() {
|
|
120
|
+
const queryId = '0000000000000000';
|
|
121
|
+
this.transaction.message = WITHDRAW_OPCODE + queryId + this.transaction.withdrawAmount;
|
|
122
|
+
return this;
|
|
123
|
+
}
|
|
124
|
+
sequenceNumber(number) {
|
|
125
|
+
this.transaction.seqno = number;
|
|
126
|
+
return this;
|
|
127
|
+
}
|
|
128
|
+
expireTime(number) {
|
|
129
|
+
this.transaction.expireTime = number;
|
|
130
|
+
return this;
|
|
131
|
+
}
|
|
132
|
+
publicKey(key) {
|
|
133
|
+
this.transaction.publicKey = key;
|
|
134
|
+
return this;
|
|
135
|
+
}
|
|
136
|
+
isV3ContractMessage(bool) {
|
|
137
|
+
this.transaction.isV3ContractMessage = bool;
|
|
138
|
+
return this;
|
|
139
|
+
}
|
|
140
|
+
subWalletId(id) {
|
|
141
|
+
this.transaction.sub_wallet_id = id;
|
|
142
|
+
return this;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxTQUFTLE1BQU0sY0FBYyxDQUFDO0FBQ3JDLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUU1QixPQUFPLEVBR0wsc0JBQXNCLEVBQ3RCLHFCQUFxQixHQUt0QixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sS0FBSyxNQUFNLFNBQVMsQ0FBQztBQUU1QixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsVUFBVSxDQUFDO0FBRTFDLE1BQU0sT0FBZ0Isa0JBQW1CLFNBQVEsc0JBQXNCO0lBSXJFLFlBQVksVUFBZ0M7UUFDMUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBSFosZ0JBQVcsR0FBZ0IsRUFBRSxDQUFDO0lBSXRDLENBQUM7SUFRRCxrQkFBa0I7SUFDbEIsSUFBYyxXQUFXO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLElBQWMsV0FBVyxDQUFDLFdBQXdCO1FBQ2hELElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxrQkFBa0I7SUFDUixrQkFBa0IsQ0FBQyxHQUFZO1FBQ3ZDLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFlBQVksQ0FBQyxTQUF3QixFQUFFLFNBQWlCO1FBQ3RELElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxhQUFxQjtRQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUM7UUFDeEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxVQUFVLENBQUMsVUFBbUI7UUFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQ3pDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gscUJBQXFCLENBQUMsVUFBbUI7UUFDdkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsR0FBRyxVQUFVLENBQUM7UUFDcEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQzFGLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsbUJBQW1CLENBQUMsVUFBbUI7UUFDckMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsR0FBRyxVQUFVLENBQUM7UUFDbEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsT0FBTyxHQUFHLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQ2xHLElBQUksRUFDSixJQUFJLEVBQ0osVUFBVSxDQUNYLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxHQUFHLENBQUMsVUFBc0I7UUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxrQkFBa0I7SUFDUixrQkFBa0IsQ0FBQyxjQUFzQjtRQUNqRCxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQ3hELElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDcEQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxrQkFBa0I7SUFDUixLQUFLLENBQUMsbUJBQW1CO1FBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDeEQsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUN4QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUVELG9CQUFvQjtJQUNwQixrQkFBa0I7SUFDbEIsZUFBZSxDQUFDLE9BQW9CLEVBQUUsYUFBc0I7UUFDMUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDM0MsTUFBTSxJQUFJLHFCQUFxQixDQUFDLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4RSxDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixXQUFXLENBQUMsR0FBWTtRQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixzQkFBc0IsQ0FBQyxjQUFzQjtRQUMzQyxPQUFPO0lBQ1QsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixtQkFBbUIsQ0FBQyxXQUF5QjtRQUMzQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksU0FBUyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGFBQWEsQ0FBQyxLQUFnQjtRQUM1QixJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN4QixNQUFNLElBQUkscUJBQXFCLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUNwRSxDQUFDO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFXO1FBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztRQUMvQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsTUFBTSxPQUFPLEdBQUcsa0JBQWtCLENBQUM7UUFDbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEdBQUcsZUFBZSxHQUFHLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQztRQUN2RixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxjQUFjLENBQUMsTUFBYztRQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7UUFDaEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsVUFBVSxDQUFDLE1BQWM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDO1FBQ3JDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELFNBQVMsQ0FBQyxHQUFXO1FBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztRQUNqQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxJQUFhO1FBQy9CLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO1FBQzVDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELFdBQVcsQ0FBQyxFQUFVO1FBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCBUb25XZWIgZnJvbSAndG9ud2ViJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQge1xuICBCYXNlQWRkcmVzcyxcbiAgQmFzZUtleSxcbiAgQmFzZVRyYW5zYWN0aW9uQnVpbGRlcixcbiAgQnVpbGRUcmFuc2FjdGlvbkVycm9yLFxuICBGZWVPcHRpb25zLFxuICBQdWJsaWNLZXkgYXMgQmFzZVB1YmxpY0tleSxcbiAgU2lnbmF0dXJlLFxuICBUcmFuc2FjdGlvblR5cGUsXG59IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgV0lUSERSQVdfT1BDT0RFID0gJzAwMDAxMDAwJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRyYW5zYWN0aW9uQnVpbGRlciBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgX3RyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbjtcbiAgcHJpdmF0ZSBfc2lnbmF0dXJlczogU2lnbmF0dXJlW10gPSBbXTtcblxuICBjb25zdHJ1Y3Rvcihjb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKGNvaW5Db25maWcpO1xuICB9XG5cbiAgLy8gZ2V0IGFuZCBzZXQgcmVnaW9uXG4gIC8qKlxuICAgKiBUaGUgdHJhbnNhY3Rpb24gdHlwZS5cbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZTtcblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvbigpOiBUcmFuc2FjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBzZXQgdHJhbnNhY3Rpb24odHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSB7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24gPSB0cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgc2lnbkltcGxlbWVudGF0aW9uKGtleTogQmFzZUtleSk6IFRyYW5zYWN0aW9uIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgYWRkU2lnbmF0dXJlKHB1YmxpY0tleTogQmFzZVB1YmxpY0tleSwgc2lnbmF0dXJlOiBCdWZmZXIpOiB2b2lkIHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnNpZ25hdHVyZVswXSA9IHNpZ25hdHVyZS50b1N0cmluZygnaGV4Jyk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgc2VuZGVyIG9mIHRoaXMgdHJhbnNhY3Rpb24uXG4gICAqIFRoaXMgYWNjb3VudCB3aWxsIGJlIHJlc3BvbnNpYmxlIGZvciBwYXlpbmcgdHJhbnNhY3Rpb24gZmVlcy5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHNlbmRlckFkZHJlc3MgdGhlIGFjY291bnQgdGhhdCBpcyBzZW5kaW5nIHRoaXMgdHJhbnNhY3Rpb25cbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyXG4gICAqL1xuICBzZW5kZXIoc2VuZGVyQWRkcmVzczogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5zZW5kZXIgPSBzZW5kZXJBZGRyZXNzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHRyYW5zYWN0aW9uIHRvIGJlIGJvdW5jZWFibGUgb3Igbm90LlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYm91bmNlYWJsZSB3aGV0aGVyIHRoZSB0cmFuc2FjdGlvbiBjYW4gYmUgYm91bmNlZFxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSBUaGlzIHRyYW5zYWN0aW9uIGJ1aWxkZXJcbiAgICovXG4gIGJvdW5jZWFibGUoYm91bmNlYWJsZTogYm9vbGVhbik6IHRoaXMge1xuICAgIHRoaXMudHJhbnNhY3Rpb24uYm91bmNlYWJsZSA9IGJvdW5jZWFibGU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgZnJvbUFkZHJlc3MgdG8gYmUgaW4gYm91bmNlYWJsZSBmb3JtYXQgb3Igbm90LlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYm91bmNlYWJsZSB3aGV0aGVyIHRoZSBhZGRyZXNzIGZvcm1hdCBpcyBib3VuY2VhYmxlXG4gICAqIEByZXR1cm5zIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IFRoaXMgdHJhbnNhY3Rpb24gYnVpbGRlclxuICAgKi9cbiAgZnJvbUFkZHJlc3NCb3VuY2VhYmxlKGJvdW5jZWFibGU6IGJvb2xlYW4pOiB0aGlzIHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLmZyb21BZGRyZXNzQm91bmNlYWJsZSA9IGJvdW5jZWFibGU7XG4gICAgdGhpcy5zZW5kZXIobmV3IFRvbldlYi5BZGRyZXNzKHRoaXMudHJhbnNhY3Rpb24uc2VuZGVyKS50b1N0cmluZyh0cnVlLCB0cnVlLCBib3VuY2VhYmxlKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgdG9BZGRyZXNzIHRvIGJlIGluIGJvdW5jZWFibGUgZm9ybWF0IG9yIG5vdC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGJvdW5jZWFibGUgd2hldGhlciB0aGUgYWRkcmVzcyBmb3JtYXQgaXMgYm91bmNlYWJsZVxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSBUaGlzIHRyYW5zYWN0aW9uIGJ1aWxkZXJcbiAgICovXG4gIHRvQWRkcmVzc0JvdW5jZWFibGUoYm91bmNlYWJsZTogYm9vbGVhbik6IHRoaXMge1xuICAgIHRoaXMudHJhbnNhY3Rpb24udG9BZGRyZXNzQm91bmNlYWJsZSA9IGJvdW5jZWFibGU7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5yZWNpcGllbnQuYWRkcmVzcyA9IG5ldyBUb25XZWIuQWRkcmVzcyh0aGlzLnRyYW5zYWN0aW9uLnJlY2lwaWVudC5hZGRyZXNzKS50b1N0cmluZyhcbiAgICAgIHRydWUsXG4gICAgICB0cnVlLFxuICAgICAgYm91bmNlYWJsZVxuICAgICk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBmZWUoZmVlT3B0aW9uczogRmVlT3B0aW9ucyk6IHRoaXMge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiBUcmFuc2FjdGlvbiB7XG4gICAgdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvblR5cGUgPSB0aGlzLnRyYW5zYWN0aW9uVHlwZTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLmZyb21SYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb247XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkSW1wbGVtZW50YXRpb24oKTogUHJvbWlzZTxUcmFuc2FjdGlvbj4ge1xuICAgIHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25UeXBlID0gdGhpcy50cmFuc2FjdGlvblR5cGU7XG4gICAgYXdhaXQgdGhpcy50cmFuc2FjdGlvbi5idWlsZCgpO1xuICAgIHRoaXMudHJhbnNhY3Rpb24ubG9hZElucHV0c0FuZE91dHB1dHMoKTtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8vIHJlZ2lvbiBWYWxpZGF0b3JzXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZUFkZHJlc3MoYWRkcmVzczogQmFzZUFkZHJlc3MsIGFkZHJlc3NGb3JtYXQ/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXV0aWxzLmlzVmFsaWRBZGRyZXNzKGFkZHJlc3MuYWRkcmVzcykpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgYWRkcmVzcyAnICsgYWRkcmVzcy5hZGRyZXNzKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVLZXkoa2V5OiBCYXNlS2V5KTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IHZvaWQge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uPzogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBpZiAoIXRyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3RyYW5zYWN0aW9uIG5vdCBkZWZpbmVkJyk7XG4gICAgfVxuICAgIHRoaXMudmFsaWRhdGVBZGRyZXNzKHRyYW5zYWN0aW9uLnJlY2lwaWVudCk7XG4gICAgdGhpcy52YWxpZGF0ZVZhbHVlKG5ldyBCaWdOdW1iZXIodHJhbnNhY3Rpb24ucmVjaXBpZW50LmFtb3VudCkpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlVmFsdWUodmFsdWU6IEJpZ051bWJlcik6IHZvaWQge1xuICAgIGlmICh2YWx1ZS5pc0xlc3NUaGFuKDApKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdWYWx1ZSBjYW5ub3QgYmUgbGVzcyB0aGFuIHplcm8nKTtcbiAgICB9XG4gIH1cblxuICBzZXRNZXNzYWdlKG1zZzogc3RyaW5nKTogVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLm1lc3NhZ2UgPSBtc2c7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBzZXRXaXRoZHJhd01lc3NhZ2UoKTogVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgICBjb25zdCBxdWVyeUlkID0gJzAwMDAwMDAwMDAwMDAwMDAnO1xuICAgIHRoaXMudHJhbnNhY3Rpb24ubWVzc2FnZSA9IFdJVEhEUkFXX09QQ09ERSArIHF1ZXJ5SWQgKyB0aGlzLnRyYW5zYWN0aW9uLndpdGhkcmF3QW1vdW50O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgc2VxdWVuY2VOdW1iZXIobnVtYmVyOiBudW1iZXIpOiBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc2Vxbm8gPSBudW1iZXI7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBleHBpcmVUaW1lKG51bWJlcjogbnVtYmVyKTogVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLmV4cGlyZVRpbWUgPSBudW1iZXI7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWNLZXkoa2V5OiBzdHJpbmcpOiBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIHRoaXMudHJhbnNhY3Rpb24ucHVibGljS2V5ID0ga2V5O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgaXNWM0NvbnRyYWN0TWVzc2FnZShib29sOiBib29sZWFuKTogVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLmlzVjNDb250cmFjdE1lc3NhZ2UgPSBib29sO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG4gIHN1YldhbGxldElkKGlkOiBudW1iZXIpOiBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc3ViX3dhbGxldF9pZCA9IGlkO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { BaseTransactionBuilderFactory } from '@bitgo/sdk-core';
|
|
2
|
+
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
3
|
+
import { TransactionBuilder } from './transactionBuilder';
|
|
4
|
+
import { TransferBuilder } from './transferBuilder';
|
|
5
|
+
import { SingleNominatorWithdrawBuilder } from './singleNominatorWithdrawBuilder';
|
|
6
|
+
import { TokenTransferBuilder } from './tokenTransferBuilder';
|
|
7
|
+
import { TonWhalesDepositBuilder } from './tonWhalesDepositBuilder';
|
|
8
|
+
import { TonWhalesWithdrawalBuilder } from './tonWhalesWithdrawalBuilder';
|
|
9
|
+
import { TonWhalesVestingDepositBuilder } from './tonWhalesVestingDepositBuilder';
|
|
10
|
+
import { TonWhalesVestingWithdrawBuilder } from './tonWhalesVestingWithdrawBuilder';
|
|
11
|
+
export declare class TransactionBuilderFactory extends BaseTransactionBuilderFactory {
|
|
12
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
13
|
+
/** @inheritdoc */
|
|
14
|
+
from(raw: string): TransactionBuilder;
|
|
15
|
+
/** @inheritdoc */
|
|
16
|
+
getTransferBuilder(): TransferBuilder;
|
|
17
|
+
/**
|
|
18
|
+
* Returns a specific builder to create a TON withdraw transaction
|
|
19
|
+
*/
|
|
20
|
+
getSingleNominatorWithdrawBuilder(): SingleNominatorWithdrawBuilder;
|
|
21
|
+
/**
|
|
22
|
+
* Returns a specific builder to create a TON token transfer transaction
|
|
23
|
+
*/
|
|
24
|
+
getTokenTransferBuilder(): TokenTransferBuilder;
|
|
25
|
+
/** @inheritdoc */
|
|
26
|
+
getWalletInitializationBuilder(): void;
|
|
27
|
+
getTonWhalesDepositBuilder(): TonWhalesDepositBuilder;
|
|
28
|
+
getTonWhalesWithdrawalBuilder(): TonWhalesWithdrawalBuilder;
|
|
29
|
+
getTonWhalesVestingDepositBuilder(): TonWhalesVestingDepositBuilder;
|
|
30
|
+
getTonWhalesVestingWithdrawBuilder(): TonWhalesVestingWithdrawBuilder;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=transactionBuilderFactory.d.ts.map
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { BaseTransactionBuilderFactory, InvalidTransactionError, TransactionType } from '@bitgo/sdk-core';
|
|
2
|
+
import { TransferBuilder } from './transferBuilder';
|
|
3
|
+
import { SingleNominatorWithdrawBuilder } from './singleNominatorWithdrawBuilder';
|
|
4
|
+
import { Transaction } from './transaction';
|
|
5
|
+
import { TokenTransferBuilder } from './tokenTransferBuilder';
|
|
6
|
+
import { TokenTransaction } from './tokenTransaction';
|
|
7
|
+
import { TonWhalesDepositBuilder } from './tonWhalesDepositBuilder';
|
|
8
|
+
import { TonWhalesWithdrawalBuilder } from './tonWhalesWithdrawalBuilder';
|
|
9
|
+
import { TonWhalesVestingDepositBuilder } from './tonWhalesVestingDepositBuilder';
|
|
10
|
+
import { TonWhalesVestingWithdrawBuilder } from './tonWhalesVestingWithdrawBuilder';
|
|
11
|
+
export class TransactionBuilderFactory extends BaseTransactionBuilderFactory {
|
|
12
|
+
constructor(_coinConfig) {
|
|
13
|
+
super(_coinConfig);
|
|
14
|
+
}
|
|
15
|
+
/** @inheritdoc */
|
|
16
|
+
from(raw) {
|
|
17
|
+
let builder;
|
|
18
|
+
try {
|
|
19
|
+
const checkTx = new Transaction(this._coinConfig);
|
|
20
|
+
checkTx.fromRawTransaction(raw);
|
|
21
|
+
let tx;
|
|
22
|
+
if (checkTx.type === TransactionType.SendToken) {
|
|
23
|
+
// It's a token transaction, so use TokenTransaction for proper parsing
|
|
24
|
+
tx = new TokenTransaction(this._coinConfig);
|
|
25
|
+
tx.fromRawTransaction(raw);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
// It's a regular transaction, use the already parsed one
|
|
29
|
+
tx = checkTx;
|
|
30
|
+
}
|
|
31
|
+
switch (tx.type) {
|
|
32
|
+
case TransactionType.Send:
|
|
33
|
+
builder = this.getTransferBuilder();
|
|
34
|
+
break;
|
|
35
|
+
case TransactionType.SingleNominatorWithdraw:
|
|
36
|
+
builder = this.getSingleNominatorWithdrawBuilder();
|
|
37
|
+
break;
|
|
38
|
+
case TransactionType.SendToken:
|
|
39
|
+
builder = this.getTokenTransferBuilder();
|
|
40
|
+
break;
|
|
41
|
+
case TransactionType.TonWhalesDeposit:
|
|
42
|
+
builder = this.getTonWhalesDepositBuilder();
|
|
43
|
+
break;
|
|
44
|
+
case TransactionType.TonWhalesWithdrawal:
|
|
45
|
+
builder = this.getTonWhalesWithdrawalBuilder();
|
|
46
|
+
break;
|
|
47
|
+
case TransactionType.TonWhalesVestingDeposit:
|
|
48
|
+
builder = this.getTonWhalesVestingDepositBuilder();
|
|
49
|
+
break;
|
|
50
|
+
case TransactionType.TonWhalesVestingWithdrawal:
|
|
51
|
+
builder = this.getTonWhalesVestingWithdrawBuilder();
|
|
52
|
+
break;
|
|
53
|
+
default:
|
|
54
|
+
throw new InvalidTransactionError('unsupported transaction');
|
|
55
|
+
}
|
|
56
|
+
builder.from(raw);
|
|
57
|
+
return builder;
|
|
58
|
+
}
|
|
59
|
+
catch (e) {
|
|
60
|
+
throw e;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/** @inheritdoc */
|
|
64
|
+
getTransferBuilder() {
|
|
65
|
+
return new TransferBuilder(this._coinConfig);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Returns a specific builder to create a TON withdraw transaction
|
|
69
|
+
*/
|
|
70
|
+
getSingleNominatorWithdrawBuilder() {
|
|
71
|
+
return new SingleNominatorWithdrawBuilder(this._coinConfig);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Returns a specific builder to create a TON token transfer transaction
|
|
75
|
+
*/
|
|
76
|
+
getTokenTransferBuilder() {
|
|
77
|
+
return new TokenTransferBuilder(this._coinConfig);
|
|
78
|
+
}
|
|
79
|
+
/** @inheritdoc */
|
|
80
|
+
getWalletInitializationBuilder() {
|
|
81
|
+
throw new Error('Method not implemented.');
|
|
82
|
+
}
|
|
83
|
+
getTonWhalesDepositBuilder() {
|
|
84
|
+
return new TonWhalesDepositBuilder(this._coinConfig);
|
|
85
|
+
}
|
|
86
|
+
getTonWhalesWithdrawalBuilder() {
|
|
87
|
+
return new TonWhalesWithdrawalBuilder(this._coinConfig);
|
|
88
|
+
}
|
|
89
|
+
getTonWhalesVestingDepositBuilder() {
|
|
90
|
+
return new TonWhalesVestingDepositBuilder(this._coinConfig);
|
|
91
|
+
}
|
|
92
|
+
getTonWhalesVestingWithdrawBuilder() {
|
|
93
|
+
return new TonWhalesVestingWithdrawBuilder(this._coinConfig);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsdUJBQXVCLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHMUcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDMUUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEYsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFcEYsTUFBTSxPQUFPLHlCQUEwQixTQUFRLDZCQUE2QjtJQUMxRSxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBQ0Qsa0JBQWtCO0lBQ2xCLElBQUksQ0FBQyxHQUFXO1FBQ2QsSUFBSSxPQUEyQixDQUFDO1FBQ2hDLElBQUksQ0FBQztZQUNILE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNsRCxPQUFPLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7WUFFaEMsSUFBSSxFQUFlLENBQUM7WUFDcEIsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLGVBQWUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDL0MsdUVBQXVFO2dCQUN2RSxFQUFFLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQzVDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM3QixDQUFDO2lCQUFNLENBQUM7Z0JBQ04seURBQXlEO2dCQUN6RCxFQUFFLEdBQUcsT0FBTyxDQUFDO1lBQ2YsQ0FBQztZQUNELFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNoQixLQUFLLGVBQWUsQ0FBQyxJQUFJO29CQUN2QixPQUFPLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7b0JBQ3BDLE1BQU07Z0JBQ1IsS0FBSyxlQUFlLENBQUMsdUJBQXVCO29CQUMxQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGlDQUFpQyxFQUFFLENBQUM7b0JBQ25ELE1BQU07Z0JBQ1IsS0FBSyxlQUFlLENBQUMsU0FBUztvQkFDNUIsT0FBTyxHQUFHLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO29CQUN6QyxNQUFNO2dCQUNSLEtBQUssZUFBZSxDQUFDLGdCQUFnQjtvQkFDbkMsT0FBTyxHQUFHLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO29CQUM1QyxNQUFNO2dCQUNSLEtBQUssZUFBZSxDQUFDLG1CQUFtQjtvQkFDdEMsT0FBTyxHQUFHLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO29CQUMvQyxNQUFNO2dCQUNSLEtBQUssZUFBZSxDQUFDLHVCQUF1QjtvQkFDMUMsT0FBTyxHQUFHLElBQUksQ0FBQyxpQ0FBaUMsRUFBRSxDQUFDO29CQUNuRCxNQUFNO2dCQUNSLEtBQUssZUFBZSxDQUFDLDBCQUEwQjtvQkFDN0MsT0FBTyxHQUFHLElBQUksQ0FBQyxrQ0FBa0MsRUFBRSxDQUFDO29CQUNwRCxNQUFNO2dCQUNSO29CQUNFLE1BQU0sSUFBSSx1QkFBdUIsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1lBQ2pFLENBQUM7WUFDRCxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2xCLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsTUFBTSxDQUFDLENBQUM7UUFDVixDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixrQkFBa0I7UUFDaEIsT0FBTyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsaUNBQWlDO1FBQy9CLE9BQU8sSUFBSSw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsdUJBQXVCO1FBQ3JCLE9BQU8sSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELGtCQUFrQjtJQUNsQiw4QkFBOEI7UUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCwwQkFBMEI7UUFDeEIsT0FBTyxJQUFJLHVCQUF1QixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsNkJBQTZCO1FBQzNCLE9BQU8sSUFBSSwwQkFBMEIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELGlDQUFpQztRQUMvQixPQUFPLElBQUksOEJBQThCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxrQ0FBa0M7UUFDaEMsT0FBTyxJQUFJLCtCQUErQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMvRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSwgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsIFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90cmFuc2ZlckJ1aWxkZXInO1xuaW1wb3J0IHsgU2luZ2xlTm9taW5hdG9yV2l0aGRyYXdCdWlsZGVyIH0gZnJvbSAnLi9zaW5nbGVOb21pbmF0b3JXaXRoZHJhd0J1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFRva2VuVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90b2tlblRyYW5zZmVyQnVpbGRlcic7XG5pbXBvcnQgeyBUb2tlblRyYW5zYWN0aW9uIH0gZnJvbSAnLi90b2tlblRyYW5zYWN0aW9uJztcbmltcG9ydCB7IFRvbldoYWxlc0RlcG9zaXRCdWlsZGVyIH0gZnJvbSAnLi90b25XaGFsZXNEZXBvc2l0QnVpbGRlcic7XG5pbXBvcnQgeyBUb25XaGFsZXNXaXRoZHJhd2FsQnVpbGRlciB9IGZyb20gJy4vdG9uV2hhbGVzV2l0aGRyYXdhbEJ1aWxkZXInO1xuaW1wb3J0IHsgVG9uV2hhbGVzVmVzdGluZ0RlcG9zaXRCdWlsZGVyIH0gZnJvbSAnLi90b25XaGFsZXNWZXN0aW5nRGVwb3NpdEJ1aWxkZXInO1xuaW1wb3J0IHsgVG9uV2hhbGVzVmVzdGluZ1dpdGhkcmF3QnVpbGRlciB9IGZyb20gJy4vdG9uV2hhbGVzVmVzdGluZ1dpdGhkcmF3QnVpbGRlcic7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnkge1xuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGZyb20ocmF3OiBzdHJpbmcpOiBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIGxldCBidWlsZGVyOiBUcmFuc2FjdGlvbkJ1aWxkZXI7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGNoZWNrVHggPSBuZXcgVHJhbnNhY3Rpb24odGhpcy5fY29pbkNvbmZpZyk7XG4gICAgICBjaGVja1R4LmZyb21SYXdUcmFuc2FjdGlvbihyYXcpO1xuXG4gICAgICBsZXQgdHg6IFRyYW5zYWN0aW9uO1xuICAgICAgaWYgKGNoZWNrVHgudHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlLlNlbmRUb2tlbikge1xuICAgICAgICAvLyBJdCdzIGEgdG9rZW4gdHJhbnNhY3Rpb24sIHNvIHVzZSBUb2tlblRyYW5zYWN0aW9uIGZvciBwcm9wZXIgcGFyc2luZ1xuICAgICAgICB0eCA9IG5ldyBUb2tlblRyYW5zYWN0aW9uKHRoaXMuX2NvaW5Db25maWcpO1xuICAgICAgICB0eC5mcm9tUmF3VHJhbnNhY3Rpb24ocmF3KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEl0J3MgYSByZWd1bGFyIHRyYW5zYWN0aW9uLCB1c2UgdGhlIGFscmVhZHkgcGFyc2VkIG9uZVxuICAgICAgICB0eCA9IGNoZWNrVHg7XG4gICAgICB9XG4gICAgICBzd2l0Y2ggKHR4LnR5cGUpIHtcbiAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU2VuZDpcbiAgICAgICAgICBidWlsZGVyID0gdGhpcy5nZXRUcmFuc2ZlckJ1aWxkZXIoKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU2luZ2xlTm9taW5hdG9yV2l0aGRyYXc6XG4gICAgICAgICAgYnVpbGRlciA9IHRoaXMuZ2V0U2luZ2xlTm9taW5hdG9yV2l0aGRyYXdCdWlsZGVyKCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlNlbmRUb2tlbjpcbiAgICAgICAgICBidWlsZGVyID0gdGhpcy5nZXRUb2tlblRyYW5zZmVyQnVpbGRlcigpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5Ub25XaGFsZXNEZXBvc2l0OlxuICAgICAgICAgIGJ1aWxkZXIgPSB0aGlzLmdldFRvbldoYWxlc0RlcG9zaXRCdWlsZGVyKCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlRvbldoYWxlc1dpdGhkcmF3YWw6XG4gICAgICAgICAgYnVpbGRlciA9IHRoaXMuZ2V0VG9uV2hhbGVzV2l0aGRyYXdhbEJ1aWxkZXIoKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuVG9uV2hhbGVzVmVzdGluZ0RlcG9zaXQ6XG4gICAgICAgICAgYnVpbGRlciA9IHRoaXMuZ2V0VG9uV2hhbGVzVmVzdGluZ0RlcG9zaXRCdWlsZGVyKCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlRvbldoYWxlc1Zlc3RpbmdXaXRoZHJhd2FsOlxuICAgICAgICAgIGJ1aWxkZXIgPSB0aGlzLmdldFRvbldoYWxlc1Zlc3RpbmdXaXRoZHJhd0J1aWxkZXIoKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ3Vuc3VwcG9ydGVkIHRyYW5zYWN0aW9uJyk7XG4gICAgICB9XG4gICAgICBidWlsZGVyLmZyb20ocmF3KTtcbiAgICAgIHJldHVybiBidWlsZGVyO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IGU7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldFRyYW5zZmVyQnVpbGRlcigpOiBUcmFuc2ZlckJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgVHJhbnNmZXJCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzcGVjaWZpYyBidWlsZGVyIHRvIGNyZWF0ZSBhIFRPTiB3aXRoZHJhdyB0cmFuc2FjdGlvblxuICAgKi9cbiAgZ2V0U2luZ2xlTm9taW5hdG9yV2l0aGRyYXdCdWlsZGVyKCk6IFNpbmdsZU5vbWluYXRvcldpdGhkcmF3QnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBTaW5nbGVOb21pbmF0b3JXaXRoZHJhd0J1aWxkZXIodGhpcy5fY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIHNwZWNpZmljIGJ1aWxkZXIgdG8gY3JlYXRlIGEgVE9OIHRva2VuIHRyYW5zZmVyIHRyYW5zYWN0aW9uXG4gICAqL1xuICBnZXRUb2tlblRyYW5zZmVyQnVpbGRlcigpOiBUb2tlblRyYW5zZmVyQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBUb2tlblRyYW5zZmVyQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIoKTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICB9XG5cbiAgZ2V0VG9uV2hhbGVzRGVwb3NpdEJ1aWxkZXIoKTogVG9uV2hhbGVzRGVwb3NpdEJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgVG9uV2hhbGVzRGVwb3NpdEJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZyk7XG4gIH1cblxuICBnZXRUb25XaGFsZXNXaXRoZHJhd2FsQnVpbGRlcigpOiBUb25XaGFsZXNXaXRoZHJhd2FsQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBUb25XaGFsZXNXaXRoZHJhd2FsQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIGdldFRvbldoYWxlc1Zlc3RpbmdEZXBvc2l0QnVpbGRlcigpOiBUb25XaGFsZXNWZXN0aW5nRGVwb3NpdEJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgVG9uV2hhbGVzVmVzdGluZ0RlcG9zaXRCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpO1xuICB9XG5cbiAgZ2V0VG9uV2hhbGVzVmVzdGluZ1dpdGhkcmF3QnVpbGRlcigpOiBUb25XaGFsZXNWZXN0aW5nV2l0aGRyYXdCdWlsZGVyIHtcbiAgICByZXR1cm4gbmV3IFRvbldoYWxlc1Zlc3RpbmdXaXRoZHJhd0J1aWxkZXIodGhpcy5fY29pbkNvbmZpZyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ITransactionRecipient } from '@bitgo/sdk-core';
|
|
2
|
+
export interface ITransactionExplanation<TFee = any, TAmount = any> {
|
|
3
|
+
displayOrder: string[];
|
|
4
|
+
id: string;
|
|
5
|
+
outputs: ITransactionRecipient[];
|
|
6
|
+
outputAmount: TAmount;
|
|
7
|
+
changeOutputs: ITransactionRecipient[];
|
|
8
|
+
changeAmount: TAmount;
|
|
9
|
+
fee: TFee;
|
|
10
|
+
proxy?: string;
|
|
11
|
+
producers?: string[];
|
|
12
|
+
withdrawAmount?: string;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=transactionExplanation.d.ts.map
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
export {};
|
|
3
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25FeHBsYW5hdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25FeHBsYW5hdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVRyYW5zYWN0aW9uUmVjaXBpZW50IH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBJVHJhbnNhY3Rpb25FeHBsYW5hdGlvbjxURmVlID0gYW55LCBUQW1vdW50ID0gYW55PiB7XG4gIGRpc3BsYXlPcmRlcjogc3RyaW5nW107XG4gIGlkOiBzdHJpbmc7XG4gIG91dHB1dHM6IElUcmFuc2FjdGlvblJlY2lwaWVudFtdO1xuICBvdXRwdXRBbW91bnQ6IFRBbW91bnQ7XG4gIGNoYW5nZU91dHB1dHM6IElUcmFuc2FjdGlvblJlY2lwaWVudFtdO1xuICBjaGFuZ2VBbW91bnQ6IFRBbW91bnQ7XG4gIGZlZTogVEZlZTtcbiAgcHJveHk/OiBzdHJpbmc7XG4gIHByb2R1Y2Vycz86IHN0cmluZ1tdO1xuICB3aXRoZHJhd0Ftb3VudD86IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
2
|
+
import { Recipient, TransactionType } from '@bitgo/sdk-core';
|
|
3
|
+
import { TransactionBuilder } from './transactionBuilder';
|
|
4
|
+
export declare class TransferBuilder extends TransactionBuilder {
|
|
5
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
6
|
+
protected get transactionType(): TransactionType;
|
|
7
|
+
send(recipient: Recipient): TransferBuilder;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=transferBuilder.d.ts.map
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { TransactionType } from '@bitgo/sdk-core';
|
|
2
|
+
import { TransactionBuilder } from './transactionBuilder';
|
|
3
|
+
import { Transaction } from './transaction';
|
|
4
|
+
export class TransferBuilder extends TransactionBuilder {
|
|
5
|
+
constructor(_coinConfig) {
|
|
6
|
+
super(_coinConfig);
|
|
7
|
+
this._transaction = new Transaction(_coinConfig);
|
|
8
|
+
}
|
|
9
|
+
get transactionType() {
|
|
10
|
+
return TransactionType.Send;
|
|
11
|
+
}
|
|
12
|
+
send(recipient) {
|
|
13
|
+
this.transaction.recipient = recipient;
|
|
14
|
+
return this;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFhLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUMsTUFBTSxPQUFPLGVBQWdCLFNBQVEsa0JBQWtCO0lBQ3JELFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksQ0FBQyxTQUFvQjtRQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDdkMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgUmVjaXBpZW50LCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcblxuZXhwb3J0IGNsYXNzIFRyYW5zZmVyQnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IG5ldyBUcmFuc2FjdGlvbihfY29pbkNvbmZpZyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU2VuZDtcbiAgfVxuXG4gIHNlbmQocmVjaXBpZW50OiBSZWNpcGllbnQpOiBUcmFuc2ZlckJ1aWxkZXIge1xuICAgIHRoaXMudHJhbnNhY3Rpb24ucmVjaXBpZW50ID0gcmVjaXBpZW50O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { BaseUtils } from '@bitgo/sdk-core';
|
|
2
|
+
import { VestingContractParams } from './iface';
|
|
3
|
+
export declare class Utils implements BaseUtils {
|
|
4
|
+
/** @inheritdoc */
|
|
5
|
+
isValidAddress(address: string): boolean;
|
|
6
|
+
/** @inheritdoc */
|
|
7
|
+
isValidBlockId(hash: string): boolean;
|
|
8
|
+
/** @inheritdoc */
|
|
9
|
+
isValidPrivateKey(key: string): boolean;
|
|
10
|
+
/** @inheritdoc */
|
|
11
|
+
isValidPublicKey(key: string): boolean;
|
|
12
|
+
/** @inheritdoc */
|
|
13
|
+
isValidSignature(signature: string): boolean;
|
|
14
|
+
/** @inheritdoc */
|
|
15
|
+
isValidTransactionId(txId: string): boolean;
|
|
16
|
+
getAddressFromPublicKey(publicKey: string, bounceable?: boolean, isUserFriendly?: boolean): Promise<string>;
|
|
17
|
+
getAddress(address: string, bounceable?: boolean): string;
|
|
18
|
+
getMessageHashFromData(data: string): Promise<string>;
|
|
19
|
+
getRawWalletAddressFromCell(data: string): string;
|
|
20
|
+
getVestingContractAddress(params: VestingContractParams): Promise<string>;
|
|
21
|
+
/**
|
|
22
|
+
* Converts a TON address into a Base64 encoded BOC (Bag of Cells) string.
|
|
23
|
+
* This is required when passing an address as a 'slice' argument to `runGetMethod`.
|
|
24
|
+
* @param address - The TON address (friendly or raw)
|
|
25
|
+
* @returns Base64 string of the serialized address cell
|
|
26
|
+
*/
|
|
27
|
+
getAddressBoc(address: string): Promise<string>;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Function to estimate the fee for a transaction.
|
|
31
|
+
* This function uses the dummy private key exclusively for fee estimation.
|
|
32
|
+
* @param wallet - The wallet instance.
|
|
33
|
+
* @param toAddress - The destination address.
|
|
34
|
+
* @param amount - The amount to transfer.
|
|
35
|
+
* @param seqno - The sequence number for the transaction.
|
|
36
|
+
* @returns The estimated fee for the transaction.
|
|
37
|
+
*/
|
|
38
|
+
export declare function getFeeEstimate(wallet: any, toAddress: string, amount: string, seqno: number): Promise<any>;
|
|
39
|
+
declare const utils: Utils;
|
|
40
|
+
export default utils;
|
|
41
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import TonWeb from 'tonweb';
|
|
2
|
+
import { BN } from 'bn.js';
|
|
3
|
+
import { isValidEd25519PublicKey } from '@bitgo/sdk-core';
|
|
4
|
+
import { VESTING_CONTRACT_CODE_B64 } from './constants';
|
|
5
|
+
export class Utils {
|
|
6
|
+
/** @inheritdoc */
|
|
7
|
+
isValidAddress(address) {
|
|
8
|
+
try {
|
|
9
|
+
if (address.length != 48) {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
Buffer.from(address, 'base64');
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
catch (e) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
/** @inheritdoc */
|
|
20
|
+
isValidBlockId(hash) {
|
|
21
|
+
try {
|
|
22
|
+
return Buffer.from(hash, 'base64').length === 32;
|
|
23
|
+
}
|
|
24
|
+
catch (e) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/** @inheritdoc */
|
|
29
|
+
isValidPrivateKey(key) {
|
|
30
|
+
throw new Error('Method not implemented.');
|
|
31
|
+
}
|
|
32
|
+
/** @inheritdoc */
|
|
33
|
+
isValidPublicKey(key) {
|
|
34
|
+
return isValidEd25519PublicKey(key);
|
|
35
|
+
}
|
|
36
|
+
/** @inheritdoc */
|
|
37
|
+
isValidSignature(signature) {
|
|
38
|
+
throw new Error('Method not implemented.');
|
|
39
|
+
}
|
|
40
|
+
/** @inheritdoc */
|
|
41
|
+
isValidTransactionId(txId) {
|
|
42
|
+
try {
|
|
43
|
+
return Buffer.from(txId, 'base64').length === 32;
|
|
44
|
+
}
|
|
45
|
+
catch (e) {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
async getAddressFromPublicKey(publicKey, bounceable = true, isUserFriendly = true) {
|
|
50
|
+
const tonweb = new TonWeb(new TonWeb.HttpProvider(''));
|
|
51
|
+
const WalletClass = tonweb.wallet.all['v4R2'];
|
|
52
|
+
const wallet = new WalletClass(tonweb.provider, {
|
|
53
|
+
publicKey: TonWeb.utils.hexToBytes(publicKey),
|
|
54
|
+
wc: 0,
|
|
55
|
+
});
|
|
56
|
+
const address = await wallet.getAddress();
|
|
57
|
+
const legacyAddress = address.toString(isUserFriendly, true, bounceable);
|
|
58
|
+
return legacyAddress;
|
|
59
|
+
}
|
|
60
|
+
getAddress(address, bounceable = true) {
|
|
61
|
+
if (bounceable) {
|
|
62
|
+
return new TonWeb.Address(address).isBounceable
|
|
63
|
+
? address
|
|
64
|
+
: new TonWeb.Address(address).toString(true, true, bounceable);
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
return new TonWeb.Address(address).isBounceable
|
|
68
|
+
? new TonWeb.Address(address).toString(true, true, bounceable)
|
|
69
|
+
: address;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
async getMessageHashFromData(data) {
|
|
73
|
+
const cell = TonWeb.boc.Cell.oneFromBoc(TonWeb.utils.base64ToBytes(data));
|
|
74
|
+
// this is need to be confirmed by ton team
|
|
75
|
+
const message = cell.refs[0].refs[0];
|
|
76
|
+
const hash = TonWeb.utils.bytesToBase64(await message.hash());
|
|
77
|
+
return hash.toString();
|
|
78
|
+
}
|
|
79
|
+
getRawWalletAddressFromCell(data) {
|
|
80
|
+
const cell = TonWeb.boc.Cell.oneFromBoc(TonWeb.utils.base64ToBytes(data));
|
|
81
|
+
const slice = cell.beginParse();
|
|
82
|
+
const address = slice.loadAddress();
|
|
83
|
+
return address.toString();
|
|
84
|
+
}
|
|
85
|
+
async getVestingContractAddress(params) {
|
|
86
|
+
const cell = new TonWeb.boc.Cell();
|
|
87
|
+
cell.bits.writeUint(0, 32); //seq no
|
|
88
|
+
cell.bits.writeUint(params.subWalletId, 32);
|
|
89
|
+
cell.bits.writeBytes(TonWeb.utils.hexToBytes(params.publicKeyHex));
|
|
90
|
+
cell.bits.writeUint(0, 1); // empty whitelist
|
|
91
|
+
const vestingParamsCell = new TonWeb.boc.Cell();
|
|
92
|
+
vestingParamsCell.bits.writeUint(params.vestingStartTime, 64);
|
|
93
|
+
vestingParamsCell.bits.writeUint(params.vestingTotalDuration, 32);
|
|
94
|
+
vestingParamsCell.bits.writeUint(params.unlockPeriod, 32);
|
|
95
|
+
vestingParamsCell.bits.writeUint(params.cliffDuration, 32);
|
|
96
|
+
vestingParamsCell.bits.writeCoins(new BN(params.vestingTotalAmount.toString()));
|
|
97
|
+
const senderAddress = new TonWeb.Address(params.vestingSenderAddress);
|
|
98
|
+
vestingParamsCell.bits.writeAddress(senderAddress);
|
|
99
|
+
const ownerAddress = new TonWeb.Address(params.ownerAddress);
|
|
100
|
+
vestingParamsCell.bits.writeAddress(ownerAddress);
|
|
101
|
+
cell.refs.push(vestingParamsCell);
|
|
102
|
+
const contractCodeCell = TonWeb.boc.Cell.oneFromBoc(TonWeb.utils.base64ToBytes(VESTING_CONTRACT_CODE_B64));
|
|
103
|
+
const stateInit = TonWeb.Contract.createStateInit(contractCodeCell, cell);
|
|
104
|
+
const stateInitHash = await stateInit.hash();
|
|
105
|
+
const contractAddress = new TonWeb.Address('0:' + TonWeb.utils.bytesToHex(stateInitHash));
|
|
106
|
+
return contractAddress.toString(true, true, true);
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Converts a TON address into a Base64 encoded BOC (Bag of Cells) string.
|
|
110
|
+
* This is required when passing an address as a 'slice' argument to `runGetMethod`.
|
|
111
|
+
* @param address - The TON address (friendly or raw)
|
|
112
|
+
* @returns Base64 string of the serialized address cell
|
|
113
|
+
*/
|
|
114
|
+
async getAddressBoc(address) {
|
|
115
|
+
const cell = new TonWeb.boc.Cell();
|
|
116
|
+
cell.bits.writeAddress(new TonWeb.Address(address));
|
|
117
|
+
const boc = await cell.toBoc(false);
|
|
118
|
+
return TonWeb.utils.bytesToBase64(boc);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
const DUMMY_PRIVATE_KEY = '43e8594854cb53947c4a1a2fab926af11e123f6251dcd5bd0dfb100604186430'; // This dummy private key is used only for fee estimation
|
|
122
|
+
/**
|
|
123
|
+
* Function to estimate the fee for a transaction.
|
|
124
|
+
* This function uses the dummy private key exclusively for fee estimation.
|
|
125
|
+
* @param wallet - The wallet instance.
|
|
126
|
+
* @param toAddress - The destination address.
|
|
127
|
+
* @param amount - The amount to transfer.
|
|
128
|
+
* @param seqno - The sequence number for the transaction.
|
|
129
|
+
* @returns The estimated fee for the transaction.
|
|
130
|
+
*/
|
|
131
|
+
export async function getFeeEstimate(wallet, toAddress, amount, seqno) {
|
|
132
|
+
try {
|
|
133
|
+
const secretKey = TonWeb.utils.stringToBytes(DUMMY_PRIVATE_KEY);
|
|
134
|
+
const feeEstimate = await wallet.methods
|
|
135
|
+
.transfer({
|
|
136
|
+
secretKey,
|
|
137
|
+
toAddress,
|
|
138
|
+
amount,
|
|
139
|
+
seqno,
|
|
140
|
+
sendMode: 1,
|
|
141
|
+
})
|
|
142
|
+
.estimateFee();
|
|
143
|
+
return feeEstimate;
|
|
144
|
+
}
|
|
145
|
+
catch (error) {
|
|
146
|
+
throw new Error(`Failed to estimate fee: ${error.message}`);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
const utils = new Utils();
|
|
150
|
+
export default utils;
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQzNCLE9BQU8sRUFBYSx1QkFBdUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV4RCxNQUFNLE9BQU8sS0FBSztJQUNoQixrQkFBa0I7SUFDbEIsY0FBYyxDQUFDLE9BQWU7UUFDNUIsSUFBSSxDQUFDO1lBQ0gsSUFBSSxPQUFPLENBQUMsTUFBTSxJQUFJLEVBQUUsRUFBRSxDQUFDO2dCQUN6QixPQUFPLEtBQUssQ0FBQztZQUNmLENBQUM7WUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztZQUMvQixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixjQUFjLENBQUMsSUFBWTtRQUN6QixJQUFJLENBQUM7WUFDSCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLENBQUM7UUFDbkQsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGlCQUFpQixDQUFDLEdBQVc7UUFDM0IsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsZ0JBQWdCLENBQUMsR0FBVztRQUMxQixPQUFPLHVC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IH0gZnJvbSAnYm4uanMnO1xuaW1wb3J0IHsgQmFzZVV0aWxzLCBpc1ZhbGlkRWQyNTUxOVB1YmxpY0tleSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBWRVNUSU5HX0NPTlRSQUNUX0NPREVfQjY0IH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgVmVzdGluZ0NvbnRyYWN0UGFyYW1zIH0gZnJvbSAnLi9pZmFjZSc7XG5leHBvcnQgY2xhc3MgVXRpbHMgaW1wbGVtZW50cyBCYXNlVXRpbHMge1xuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgaXNWYWxpZEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChhZGRyZXNzLmxlbmd0aCAhPSA0OCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICBCdWZmZXIuZnJvbShhZGRyZXNzLCAnYmFzZTY0Jyk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGlzVmFsaWRCbG9ja0lkKGhhc2g6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gQnVmZmVyLmZyb20oaGFzaCwgJ2Jhc2U2NCcpLmxlbmd0aCA9PT0gMzI7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkUHJpdmF0ZUtleShrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkUHVibGljS2V5KGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzVmFsaWRFZDI1NTE5UHVibGljS2V5KGtleSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgaXNWYWxpZFNpZ25hdHVyZShzaWduYXR1cmU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkVHJhbnNhY3Rpb25JZCh0eElkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIEJ1ZmZlci5mcm9tKHR4SWQsICdiYXNlNjQnKS5sZW5ndGggPT09IDMyO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBnZXRBZGRyZXNzRnJvbVB1YmxpY0tleShwdWJsaWNLZXk6IHN0cmluZywgYm91bmNlYWJsZSA9IHRydWUsIGlzVXNlckZyaWVuZGx5ID0gdHJ1ZSk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgdG9ud2ViID0gbmV3IFRvbldlYihuZXcgVG9uV2ViLkh0dHBQcm92aWRlcignJykpO1xuICAgIGNvbnN0IFdhbGxldENsYXNzID0gdG9ud2ViLndhbGxldC5hbGxbJ3Y0UjInXTtcbiAgICBjb25zdCB3YWxsZXQgPSBuZXcgV2FsbGV0Q2xhc3ModG9ud2ViLnByb3ZpZGVyLCB7XG4gICAgICBwdWJsaWNLZXk6IFRvbldlYi51dGlscy5oZXhUb0J5dGVzKHB1YmxpY0tleSksXG4gICAgICB3YzogMCxcbiAgICB9KTtcbiAgICBjb25zdCBhZGRyZXNzID0gYXdhaXQgd2FsbGV0LmdldEFkZHJlc3MoKTtcbiAgICBjb25zdCBsZWdhY3lBZGRyZXNzID0gYWRkcmVzcy50b1N0cmluZyhpc1VzZXJGcmllbmRseSwgdHJ1ZSwgYm91bmNlYWJsZSk7XG4gICAgcmV0dXJuIGxlZ2FjeUFkZHJlc3M7XG4gIH1cblxuICBnZXRBZGRyZXNzKGFkZHJlc3M6IHN0cmluZywgYm91bmNlYWJsZSA9IHRydWUpOiBzdHJpbmcge1xuICAgIGlmIChib3VuY2VhYmxlKSB7XG4gICAgICByZXR1cm4gbmV3IFRvbldlYi5BZGRyZXNzKGFkZHJlc3MpLmlzQm91bmNlYWJsZVxuICAgICAgICA/IGFkZHJlc3NcbiAgICAgICAgOiBuZXcgVG9uV2ViLkFkZHJlc3MoYWRkcmVzcykudG9TdHJpbmcodHJ1ZSwgdHJ1ZSwgYm91bmNlYWJsZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBuZXcgVG9uV2ViLkFkZHJlc3MoYWRkcmVzcykuaXNCb3VuY2VhYmxlXG4gICAgICAgID8gbmV3IFRvbldlYi5BZGRyZXNzKGFkZHJlc3MpLnRvU3RyaW5nKHRydWUsIHRydWUsIGJvdW5jZWFibGUpXG4gICAgICAgIDogYWRkcmVzcztcbiAgICB9XG4gIH1cblxuICBhc3luYyBnZXRNZXNzYWdlSGFzaEZyb21EYXRhKGRhdGE6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgY2VsbCA9IFRvbldlYi5ib2MuQ2VsbC5vbmVGcm9tQm9jKFRvbldlYi51dGlscy5iYXNlNjRUb0J5dGVzKGRhdGEpKTtcbiAgICAvLyB0aGlzIGlzIG5lZWQgdG8gYmUgY29uZmlybWVkIGJ5IHRvbiB0ZWFtXG4gICAgY29uc3QgbWVzc2FnZSA9IGNlbGwucmVmc1swXS5yZWZzWzBdO1xuICAgIGNvbnN0IGhhc2ggPSBUb25XZWIudXRpbHMuYnl0ZXNUb0Jhc2U2NChhd2FpdCBtZXNzYWdlLmhhc2goKSk7XG4gICAgcmV0dXJuIGhhc2gudG9TdHJpbmcoKTtcbiAgfVxuXG4gIGdldFJhd1dhbGxldEFkZHJlc3NGcm9tQ2VsbChkYXRhOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNlbGwgPSBUb25XZWIuYm9jLkNlbGwub25lRnJvbUJvYyhUb25XZWIudXRpbHMuYmFzZTY0VG9CeXRlcyhkYXRhKSk7XG4gICAgY29uc3Qgc2xpY2UgPSAoY2VsbCBhcyBhbnkpLmJlZ2luUGFyc2UoKTtcbiAgICBjb25zdCBhZGRyZXNzID0gc2xpY2UubG9hZEFkZHJlc3MoKTtcbiAgICByZXR1cm4gYWRkcmVzcy50b1N0cmluZygpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VmVzdGluZ0NvbnRyYWN0QWRkcmVzcyhwYXJhbXM6IFZlc3RpbmdDb250cmFjdFBhcmFtcyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgY2VsbCA9IG5ldyBUb25XZWIuYm9jLkNlbGwoKTtcbiAgICBjZWxsLmJpdHMud3JpdGVVaW50KDAsIDMyKTsgLy9zZXEgbm9cbiAgICBjZWxsLmJpdHMud3JpdGVVaW50KHBhcmFtcy5zdWJXYWxsZXRJZCwgMzIpO1xuICAgIGNlbGwuYml0cy53cml0ZUJ5dGVzKFRvbldlYi51dGlscy5oZXhUb0J5dGVzKHBhcmFtcy5wdWJsaWNLZXlIZXgpKTtcbiAgICBjZWxsLmJpdHMud3JpdGVVaW50KDAsIDEpOyAvLyBlbXB0eSB3aGl0ZWxpc3RcbiAgICBjb25zdCB2ZXN0aW5nUGFyYW1zQ2VsbCA9IG5ldyBUb25XZWIuYm9jLkNlbGwoKTtcbiAgICB2ZXN0aW5nUGFyYW1zQ2VsbC5iaXRzLndyaXRlVWludChwYXJhbXMudmVzdGluZ1N0YXJ0VGltZSwgNjQpO1xuICAgIHZlc3RpbmdQYXJhbXNDZWxsLmJpdHMud3JpdGVVaW50KHBhcmFtcy52ZXN0aW5nVG90YWxEdXJhdGlvbiwgMzIpO1xuICAgIHZlc3RpbmdQYXJhbXNDZWxsLmJpdHMud3JpdGVVaW50KHBhcmFtcy51bmxvY2tQZXJpb2QsIDMyKTtcbiAgICB2ZXN0aW5nUGFyYW1zQ2VsbC5iaXRzLndyaXRlVWludChwYXJhbXMuY2xpZmZEdXJhdGlvbiwgMzIpO1xuICAgIHZlc3RpbmdQYXJhbXNDZWxsLmJpdHMud3JpdGVDb2lucyhuZXcgQk4ocGFyYW1zLnZlc3RpbmdUb3RhbEFtb3VudC50b1N0cmluZygpKSk7XG4gICAgY29uc3Qgc2VuZGVyQWRkcmVzcyA9IG5ldyBUb25XZWIuQWRkcmVzcyhwYXJhbXMudmVzdGluZ1NlbmRlckFkZHJlc3MpO1xuICAgIHZlc3RpbmdQYXJhbXNDZWxsLmJpdHMud3JpdGVBZGRyZXNzKHNlbmRlckFkZHJlc3MpO1xuICAgIGNvbnN0IG93bmVyQWRkcmVzcyA9IG5ldyBUb25XZWIuQWRkcmVzcyhwYXJhbXMub3duZXJBZGRyZXNzKTtcbiAgICB2ZXN0aW5nUGFyYW1zQ2VsbC5iaXRzLndyaXRlQWRkcmVzcyhvd25lckFkZHJlc3MpO1xuICAgIGNlbGwucmVmcy5wdXNoKHZlc3RpbmdQYXJhbXNDZWxsKTtcbiAgICBjb25zdCBjb250cmFjdENvZGVDZWxsID0gVG9uV2ViLmJvYy5DZWxsLm9uZUZyb21Cb2MoVG9uV2ViLnV0aWxzLmJhc2U2NFRvQnl0ZXMoVkVTVElOR19DT05UUkFDVF9DT0RFX0I2NCkpO1xuICAgIGNvbnN0IHN0YXRlSW5pdCA9IFRvbldlYi5Db250cmFjdC5jcmVhdGVTdGF0ZUluaXQoY29udHJhY3RDb2RlQ2VsbCwgY2VsbCk7XG4gICAgY29uc3Qgc3RhdGVJbml0SGFzaCA9IGF3YWl0IHN0YXRlSW5pdC5oYXNoKCk7XG4gICAgY29uc3QgY29udHJhY3RBZGRyZXNzID0gbmV3IFRvbldlYi5BZGRyZXNzKCcwOicgKyBUb25XZWIudXRpbHMuYnl0ZXNUb0hleChzdGF0ZUluaXRIYXNoKSk7XG4gICAgcmV0dXJuIGNvbnRyYWN0QWRkcmVzcy50b1N0cmluZyh0cnVlLCB0cnVlLCB0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBhIFRPTiBhZGRyZXNzIGludG8gYSBCYXNlNjQgZW5jb2RlZCBCT0MgKEJhZyBvZiBDZWxscykgc3RyaW5nLlxuICAgKiBUaGlzIGlzIHJlcXVpcmVkIHdoZW4gcGFzc2luZyBhbiBhZGRyZXNzIGFzIGEgJ3NsaWNlJyBhcmd1bWVudCB0byBgcnVuR2V0TWV0aG9kYC5cbiAgICogQHBhcmFtIGFkZHJlc3MgLSBUaGUgVE9OIGFkZHJlc3MgKGZyaWVuZGx5IG9yIHJhdylcbiAgICogQHJldHVybnMgQmFzZTY0IHN0cmluZyBvZiB0aGUgc2VyaWFsaXplZCBhZGRyZXNzIGNlbGxcbiAgICovXG4gIGFzeW5jIGdldEFkZHJlc3NCb2MoYWRkcmVzczogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBjZWxsID0gbmV3IFRvbldlYi5ib2MuQ2VsbCgpO1xuICAgIGNlbGwuYml0cy53cml0ZUFkZHJlc3MobmV3IFRvbldlYi5BZGRyZXNzKGFkZHJlc3MpKTtcbiAgICBjb25zdCBib2MgPSBhd2FpdCBjZWxsLnRvQm9jKGZhbHNlKTtcbiAgICByZXR1cm4gVG9uV2ViLnV0aWxzLmJ5dGVzVG9CYXNlNjQoYm9jKTtcbiAgfVxufVxuXG5jb25zdCBEVU1NWV9QUklWQVRFX0tFWSA9ICc0M2U4NTk0ODU0Y2I1Mzk0N2M0YTFhMmZhYjkyNmFmMTFlMTIzZjYyNTFkY2Q1YmQwZGZiMTAwNjA0MTg2NDMwJzsgLy8gVGhpcyBkdW1teSBwcml2YXRlIGtleSBpcyB1c2VkIG9ubHkgZm9yIGZlZSBlc3RpbWF0aW9uXG5cbi8qKlxuICogRnVuY3Rpb24gdG8gZXN0aW1hdGUgdGhlIGZlZSBmb3IgYSB0cmFuc2FjdGlvbi5cbiAqIFRoaXMgZnVuY3Rpb24gdXNlcyB0aGUgZHVtbXkgcHJpdmF0ZSBrZXkgZXhjbHVzaXZlbHkgZm9yIGZlZSBlc3RpbWF0aW9uLlxuICogQHBhcmFtIHdhbGxldCAtIFRoZSB3YWxsZXQgaW5zdGFuY2UuXG4gKiBAcGFyYW0gdG9BZGRyZXNzIC0gVGhlIGRlc3RpbmF0aW9uIGFkZHJlc3MuXG4gKiBAcGFyYW0gYW1vdW50IC0gVGhlIGFtb3VudCB0byB0cmFuc2Zlci5cbiAqIEBwYXJhbSBzZXFubyAtIFRoZSBzZXF1ZW5jZSBudW1iZXIgZm9yIHRoZSB0cmFuc2FjdGlvbi5cbiAqIEByZXR1cm5zIFRoZSBlc3RpbWF0ZWQgZmVlIGZvciB0aGUgdHJhbnNhY3Rpb24uXG4gKi9cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEZlZUVzdGltYXRlKHdhbGxldDogYW55LCB0b0FkZHJlc3M6IHN0cmluZywgYW1vdW50OiBzdHJpbmcsIHNlcW5vOiBudW1iZXIpOiBQcm9taXNlPGFueT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHNlY3JldEtleSA9IFRvbldlYi51dGlscy5zdHJpbmdUb0J5dGVzKERVTU1ZX1BSSVZBVEVfS0VZKTtcbiAgICBjb25zdCBmZWVFc3RpbWF0ZSA9IGF3YWl0IHdhbGxldC5tZXRob2RzXG4gICAgICAudHJhbnNmZXIoe1xuICAgICAgICBzZWNyZXRLZXksXG4gICAgICAgIHRvQWRkcmVzcyxcbiAgICAgICAgYW1vdW50LFxuICAgICAgICBzZXFubyxcbiAgICAgICAgc2VuZE1vZGU6IDEsXG4gICAgICB9KVxuICAgICAgLmVzdGltYXRlRmVlKCk7XG4gICAgcmV0dXJuIGZlZUVzdGltYXRlO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIGVzdGltYXRlIGZlZTogJHtlcnJvci5tZXNzYWdlfWApO1xuICB9XG59XG5cbmNvbnN0IHV0aWxzID0gbmV3IFV0aWxzKCk7XG5cbmV4cG9ydCBkZWZhdWx0IHV0aWxzO1xuIl19
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Ton } from './ton';
|
|
2
|
+
import { Tton } from './tton';
|
|
3
|
+
import { JettonToken } from './jettonToken';
|
|
4
|
+
export const register = (sdk) => {
|
|
5
|
+
sdk.register('ton', Ton.createInstance);
|
|
6
|
+
sdk.register('tton', Tton.createInstance);
|
|
7
|
+
JettonToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
|
|
8
|
+
sdk.register(name, coinConstructor);
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVnaXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUM1QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUMsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBYyxFQUFRLEVBQUU7SUFDL0MsR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hDLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMxQyxXQUFXLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFO1FBQzFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ3RDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IFRvbiB9IGZyb20gJy4vdG9uJztcbmltcG9ydCB7IFR0b24gfSBmcm9tICcuL3R0b24nO1xuaW1wb3J0IHsgSmV0dG9uVG9rZW4gfSBmcm9tICcuL2pldHRvblRva2VuJztcblxuZXhwb3J0IGNvbnN0IHJlZ2lzdGVyID0gKHNkazogQml0R29CYXNlKTogdm9pZCA9PiB7XG4gIHNkay5yZWdpc3RlcigndG9uJywgVG9uLmNyZWF0ZUluc3RhbmNlKTtcbiAgc2RrLnJlZ2lzdGVyKCd0dG9uJywgVHRvbi5jcmVhdGVJbnN0YW5jZSk7XG4gIEpldHRvblRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKCkuZm9yRWFjaCgoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgIHNkay5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICB9KTtcbn07XG4iXX0=
|