@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,6 @@
|
|
|
1
|
+
export * from './lib';
|
|
2
|
+
export * from './register';
|
|
3
|
+
export * from './ton';
|
|
4
|
+
export * from './tton';
|
|
5
|
+
export * from './jettonToken';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxPQUFPLENBQUM7QUFDdEIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxPQUFPLENBQUM7QUFDdEIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYic7XG5leHBvcnQgKiBmcm9tICcuL3JlZ2lzdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdG9uJztcbmV4cG9ydCAqIGZyb20gJy4vdHRvbic7XG5leHBvcnQgKiBmcm9tICcuL2pldHRvblRva2VuJztcbiJdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { BitGoBase, CoinConstructor, NamedCoinConstructor } from '@bitgo/sdk-core';
|
|
2
|
+
import { JettonTokenConfig } from '@bitgo/statics';
|
|
3
|
+
import { Ton } from './ton';
|
|
4
|
+
export declare class JettonToken extends Ton {
|
|
5
|
+
readonly tokenConfig: JettonTokenConfig;
|
|
6
|
+
constructor(bitgo: BitGoBase, tokenConfig: JettonTokenConfig);
|
|
7
|
+
static createTokenConstructor(config: JettonTokenConfig): CoinConstructor;
|
|
8
|
+
static createTokenConstructors(tokenConfig?: JettonTokenConfig[]): NamedCoinConstructor[];
|
|
9
|
+
get name(): string;
|
|
10
|
+
get coin(): string;
|
|
11
|
+
get network(): string;
|
|
12
|
+
get contractAddress(): string;
|
|
13
|
+
get decimalPlaces(): number;
|
|
14
|
+
getChain(): string;
|
|
15
|
+
getBaseChain(): string;
|
|
16
|
+
getFullName(): string;
|
|
17
|
+
getBaseFactor(): number;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=jettonToken.d.ts.map
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { coins, tokens } from '@bitgo/statics';
|
|
2
|
+
import { Ton } from './ton';
|
|
3
|
+
export class JettonToken extends Ton {
|
|
4
|
+
constructor(bitgo, tokenConfig) {
|
|
5
|
+
const staticsCoin = tokenConfig.network === 'Mainnet' ? coins.get('ton') : coins.get('tton');
|
|
6
|
+
super(bitgo, staticsCoin);
|
|
7
|
+
this.tokenConfig = tokenConfig;
|
|
8
|
+
}
|
|
9
|
+
static createTokenConstructor(config) {
|
|
10
|
+
return (bitgo) => new JettonToken(bitgo, config);
|
|
11
|
+
}
|
|
12
|
+
static createTokenConstructors(tokenConfig = [...tokens.bitcoin.ton.tokens, ...tokens.testnet.ton.tokens]) {
|
|
13
|
+
const tokensCtors = [];
|
|
14
|
+
for (const token of tokenConfig) {
|
|
15
|
+
const tokenConstructor = JettonToken.createTokenConstructor(token);
|
|
16
|
+
tokensCtors.push({ name: token.type, coinConstructor: tokenConstructor });
|
|
17
|
+
}
|
|
18
|
+
return tokensCtors;
|
|
19
|
+
}
|
|
20
|
+
get name() {
|
|
21
|
+
return this.tokenConfig.name;
|
|
22
|
+
}
|
|
23
|
+
get coin() {
|
|
24
|
+
return this.tokenConfig.coin;
|
|
25
|
+
}
|
|
26
|
+
get network() {
|
|
27
|
+
return this.tokenConfig.network;
|
|
28
|
+
}
|
|
29
|
+
get contractAddress() {
|
|
30
|
+
return this.tokenConfig.contractAddress;
|
|
31
|
+
}
|
|
32
|
+
get decimalPlaces() {
|
|
33
|
+
return this.tokenConfig.decimalPlaces;
|
|
34
|
+
}
|
|
35
|
+
getChain() {
|
|
36
|
+
return this.tokenConfig.type;
|
|
37
|
+
}
|
|
38
|
+
getBaseChain() {
|
|
39
|
+
return this.coin;
|
|
40
|
+
}
|
|
41
|
+
getFullName() {
|
|
42
|
+
return 'Ton Token';
|
|
43
|
+
}
|
|
44
|
+
getBaseFactor() {
|
|
45
|
+
return Math.pow(10, this.tokenConfig.decimalPlaces);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamV0dG9uVG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvamV0dG9uVG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFxQixLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUU1QixNQUFNLE9BQU8sV0FBWSxTQUFRLEdBQUc7SUFHbEMsWUFBWSxLQUFnQixFQUFFLFdBQThCO1FBQzFELE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxPQUFPLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdGLEtBQUssQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDakMsQ0FBQztJQUVELE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxNQUF5QjtRQUNyRCxPQUFPLENBQUMsS0FBZ0IsRUFBRSxFQUFFLENBQUMsSUFBSSxXQUFXLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxNQUFNLENBQUMsdUJBQXVCLENBQzVCLGNBQW1DLENBQUMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUM7UUFFL0YsTUFBTSxXQUFXLEdBQTJCLEVBQUUsQ0FBQztRQUMvQyxLQUFLLE1BQU0sS0FBSyxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sZ0JBQWdCLEdBQUcsV0FBVyxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25FLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBQzVFLENBQUM7UUFDRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUM7SUFDeEMsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQml0R29CYXNlLCBDb2luQ29uc3RydWN0b3IsIE5hbWVkQ29pbkNvbnN0cnVjdG9yIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IEpldHRvblRva2VuQ29uZmlnLCBjb2lucywgdG9rZW5zIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgVG9uIH0gZnJvbSAnLi90b24nO1xuXG5leHBvcnQgY2xhc3MgSmV0dG9uVG9rZW4gZXh0ZW5kcyBUb24ge1xuICBwdWJsaWMgcmVhZG9ubHkgdG9rZW5Db25maWc6IEpldHRvblRva2VuQ29uZmlnO1xuXG4gIGNvbnN0cnVjdG9yKGJpdGdvOiBCaXRHb0Jhc2UsIHRva2VuQ29uZmlnOiBKZXR0b25Ub2tlbkNvbmZpZykge1xuICAgIGNvbnN0IHN0YXRpY3NDb2luID0gdG9rZW5Db25maWcubmV0d29yayA9PT0gJ01haW5uZXQnID8gY29pbnMuZ2V0KCd0b24nKSA6IGNvaW5zLmdldCgndHRvbicpO1xuICAgIHN1cGVyKGJpdGdvLCBzdGF0aWNzQ29pbik7XG4gICAgdGhpcy50b2tlbkNvbmZpZyA9IHRva2VuQ29uZmlnO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZVRva2VuQ29uc3RydWN0b3IoY29uZmlnOiBKZXR0b25Ub2tlbkNvbmZpZyk6IENvaW5Db25zdHJ1Y3RvciB7XG4gICAgcmV0dXJuIChiaXRnbzogQml0R29CYXNlKSA9PiBuZXcgSmV0dG9uVG9rZW4oYml0Z28sIGNvbmZpZyk7XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoXG4gICAgdG9rZW5Db25maWc6IEpldHRvblRva2VuQ29uZmlnW10gPSBbLi4udG9rZW5zLmJpdGNvaW4udG9uLnRva2VucywgLi4udG9rZW5zLnRlc3RuZXQudG9uLnRva2Vuc11cbiAgKTogTmFtZWRDb2luQ29uc3RydWN0b3JbXSB7XG4gICAgY29uc3QgdG9rZW5zQ3RvcnM6IE5hbWVkQ29pbkNvbnN0cnVjdG9yW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHRva2VuIG9mIHRva2VuQ29uZmlnKSB7XG4gICAgICBjb25zdCB0b2tlbkNvbnN0cnVjdG9yID0gSmV0dG9uVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcih0b2tlbik7XG4gICAgICB0b2tlbnNDdG9ycy5wdXNoKHsgbmFtZTogdG9rZW4udHlwZSwgY29pbkNvbnN0cnVjdG9yOiB0b2tlbkNvbnN0cnVjdG9yIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdG9rZW5zQ3RvcnM7XG4gIH1cblxuICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRva2VuQ29uZmlnLm5hbWU7XG4gIH1cblxuICBnZXQgY29pbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRva2VuQ29uZmlnLmNvaW47XG4gIH1cblxuICBnZXQgbmV0d29yaygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRva2VuQ29uZmlnLm5ldHdvcms7XG4gIH1cblxuICBnZXQgY29udHJhY3RBZGRyZXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5Db25maWcuY29udHJhY3RBZGRyZXNzO1xuICB9XG5cbiAgZ2V0IGRlY2ltYWxQbGFjZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbkNvbmZpZy5kZWNpbWFsUGxhY2VzO1xuICB9XG5cbiAgZ2V0Q2hhaW4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbkNvbmZpZy50eXBlO1xuICB9XG5cbiAgZ2V0QmFzZUNoYWluKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY29pbjtcbiAgfVxuXG4gIGdldEZ1bGxOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdUb24gVG9rZW4nO1xuICB9XG5cbiAgZ2V0QmFzZUZhY3RvcigpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLnBvdygxMCwgdGhpcy50b2tlbkNvbmZpZy5kZWNpbWFsUGxhY2VzKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const VESTING_CONTRACT_WALLET_ID = 268;
|
|
2
|
+
export declare const WALLET_ID = 698983191;
|
|
3
|
+
export declare const JETTON_TRANSFER_OPCODE = 260734629;
|
|
4
|
+
export declare const WITHDRAW_OPCODE = "00001000";
|
|
5
|
+
export declare const VESTING_CONTRACT_CODE_B64 = "te6cckECHAEAA/sAART/APSkE/S88sgLAQIBIAISAgFIAwUDrNBsIiDXScFgkVvgAdDTAwFxsJFb4PpAMNs8AdMf0z/4S1JAxwUjghCnczrNurCOpGwS2zyCEPdzOs0BcIAYyMsFUATPFiP6AhPLassfyz/JgED7AOMOExQEAc74SlJAxwUDghByWKabuhOwjtGOLAH6QH/IygAC+kQByMoHy//J0PhEECOBAQj0QfhkINdKwgAglQHUMNAB3rMS5oIQ8limmzJwgBjIywVQBM8WI/oCE8tqyx/LP8mAQPsA2zySXwPiGwIBIAYPAgEgBwoCAW4ICQAZrc52omhAIGuQ64X/wAAZrx32omhAEGuQ64WPwAIBYgsMAUutNG2eNvwiRw1AgIR6STfSmRDOaQPp/5g3gSgBt4EBSJhxWfMYQBMCAWoNDgAPol+1E0NcLH4BL6LHbPPpEAcjKB8v/ydD4RIEBCPQKb6ExhMCASAQEQEpukYts8+EX4RvhH+Ej4SfhK+Ev4RIEwINuYRts82zyBMVA7jygwjXGCDTH9Mf0x8C+CO78mTtRNDTH9Mf0/8wWrryoVAzuvKiAvkBQDP5EPKj+ADbPCDXSsABjpntRO1F7UeRW+1n7WXtZI6C2zztQe3xAfL/kTDi+EGk+GHbPBMUGwB+7UTQ0x8B+GHTHwH4YtP/Afhj9AQB+GTUAdDTPwH4ZdMfAfhm0x8B+GfTHwH4aPoAAfhp+kAB+Gr6QAH4a9HRAlzTB9TR+CPbPCDCAI6bIsAD8uBkIdDTA/pAMfpA+EpSIMcFs5JfBOMNkTDiAfsAFRYAYPhF+EagUhC8kjBw4PhF+EigUhC5kzD4SeD4SfhJ+EUTofhHqQT4RvhHqQQQI6mEoQP6IfpEAcjKB8v/ydD4RIEBCPQKb6Exj18zAXKwwALy4GUB+gAxcdch+gAx+gAx0z8x0x8x0wABwADy4GbTAAGT1DDQ3iFx2zyOKjHTHzAgghBOc3RLuiGCEEdldCS6sSGCEFZ0Q3C6sQGCEFZvdGW6sfLgZ+MOcJJfA+IgwgAYFxoC6gFw2zyObSDXScIAjmPTHyHAACKDC7qxIoEQAbqxIoIQR9VDkbqxIoIQWV8HvLqxIoIQafswbLqxIoIQVm90ZbqxIoIQVnRDcLqx8uBnAcAAIddJwgCwjhXTBzAgwGQhwHexIcBEsQHAV7Hy4GiRMOKRMOLjDRgZAEQB+kQBw/+SW3DgAfgzIG6SW3Dg0CDXSYMHuZJbcODXC/+6ABrTHzCCEFZvdGW68uBnAA6TcvsCkTDiAGb4SPhH+Eb4RcjLP8sfyx/LH/hJ+gL4Ss8W+EvPFsn4RPhD+EL4QcjLH8sfy//0AMzJ7VSo1+S9";
|
|
6
|
+
export declare const TON_WHALES_DEPOSIT_OPCODE = "2077040623";
|
|
7
|
+
export declare const TON_WHALES_WITHDRAW_OPCODE = "3665837821";
|
|
8
|
+
export declare const SINGLE_NOMINATOR_WITHDRAW_ALL_COMMENT = "w";
|
|
9
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export const VESTING_CONTRACT_WALLET_ID = 268;
|
|
2
|
+
export const WALLET_ID = 698983191;
|
|
3
|
+
export const JETTON_TRANSFER_OPCODE = 0x0f8a7ea5;
|
|
4
|
+
export const WITHDRAW_OPCODE = '00001000';
|
|
5
|
+
export const VESTING_CONTRACT_CODE_B64 = 'te6cckECHAEAA/sAART/APSkE/S88sgLAQIBIAISAgFIAwUDrNBsIiDXScFgkVvgAdDTAwFxsJFb4PpAMNs8AdMf0z/4S1JAxwUjghCnczrNurCOpGwS2zyCEPdzOs0BcIAYyMsFUATPFiP6AhPLassfyz/JgED7AOMOExQEAc74SlJAxwUDghByWKabuhOwjtGOLAH6QH/IygAC+kQByMoHy//J0PhEECOBAQj0QfhkINdKwgAglQHUMNAB3rMS5oIQ8limmzJwgBjIywVQBM8WI/oCE8tqyx/LP8mAQPsA2zySXwPiGwIBIAYPAgEgBwoCAW4ICQAZrc52omhAIGuQ64X/wAAZrx32omhAEGuQ64WPwAIBYgsMAUutNG2eNvwiRw1AgIR6STfSmRDOaQPp/5g3gSgBt4EBSJhxWfMYQBMCAWoNDgAPol+1E0NcLH4BL6LHbPPpEAcjKB8v/ydD4RIEBCPQKb6ExhMCASAQEQEpukYts8+EX4RvhH+Ej4SfhK+Ev4RIEwINuYRts82zyBMVA7jygwjXGCDTH9Mf0x8C+CO78mTtRNDTH9Mf0/8wWrryoVAzuvKiAvkBQDP5EPKj+ADbPCDXSsABjpntRO1F7UeRW+1n7WXtZI6C2zztQe3xAfL/kTDi+EGk+GHbPBMUGwB+7UTQ0x8B+GHTHwH4YtP/Afhj9AQB+GTUAdDTPwH4ZdMfAfhm0x8B+GfTHwH4aPoAAfhp+kAB+Gr6QAH4a9HRAlzTB9TR+CPbPCDCAI6bIsAD8uBkIdDTA/pAMfpA+EpSIMcFs5JfBOMNkTDiAfsAFRYAYPhF+EagUhC8kjBw4PhF+EigUhC5kzD4SeD4SfhJ+EUTofhHqQT4RvhHqQQQI6mEoQP6IfpEAcjKB8v/ydD4RIEBCPQKb6Exj18zAXKwwALy4GUB+gAxcdch+gAx+gAx0z8x0x8x0wABwADy4GbTAAGT1DDQ3iFx2zyOKjHTHzAgghBOc3RLuiGCEEdldCS6sSGCEFZ0Q3C6sQGCEFZvdGW6sfLgZ+MOcJJfA+IgwgAYFxoC6gFw2zyObSDXScIAjmPTHyHAACKDC7qxIoEQAbqxIoIQR9VDkbqxIoIQWV8HvLqxIoIQafswbLqxIoIQVm90ZbqxIoIQVnRDcLqx8uBnAcAAIddJwgCwjhXTBzAgwGQhwHexIcBEsQHAV7Hy4GiRMOKRMOLjDRgZAEQB+kQBw/+SW3DgAfgzIG6SW3Dg0CDXSYMHuZJbcODXC/+6ABrTHzCCEFZvdGW68uBnAA6TcvsCkTDiAGb4SPhH+Eb4RcjLP8sfyx/LH/hJ+gL4Ss8W+EvPFsn4RPhD+EL4QcjLH8sfy//0AMzJ7VSo1+S9';
|
|
6
|
+
export const TON_WHALES_DEPOSIT_OPCODE = '2077040623';
|
|
7
|
+
export const TON_WHALES_WITHDRAW_OPCODE = '3665837821';
|
|
8
|
+
export const SINGLE_NOMINATOR_WITHDRAW_ALL_COMMENT = 'w';
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsR0FBRyxDQUFDO0FBQzlDLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUM7QUFDbkMsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsVUFBVSxDQUFDO0FBQ2pELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUM7QUFDMUMsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQ3BDLHMyQ0FBczJDLENBQUM7QUFDejJDLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLFlBQVksQ0FBQztBQUN0RCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxZQUFZLENBQUM7QUFDdkQsTUFBTSxDQUFDLE1BQU0scUNBQXFDLEdBQUcsR0FBRyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFZFU1RJTkdfQ09OVFJBQ1RfV0FMTEVUX0lEID0gMjY4O1xuZXhwb3J0IGNvbnN0IFdBTExFVF9JRCA9IDY5ODk4MzE5MTtcbmV4cG9ydCBjb25zdCBKRVRUT05fVFJBTlNGRVJfT1BDT0RFID0gMHgwZjhhN2VhNTtcbmV4cG9ydCBjb25zdCBXSVRIRFJBV19PUENPREUgPSAnMDAwMDEwMDAnO1xuZXhwb3J0IGNvbnN0IFZFU1RJTkdfQ09OVFJBQ1RfQ09ERV9CNjQgPVxuICAndGU2Y2NrRUNIQUVBQS9zQUFSVC9BUFNrRS9TODhzZ0xBUUlCSUFJU0FnRklBd1VEck5Cc0lpRFhTY0Zna1Z2Z0FkRFRBd0Z4c0pGYjRQcEFNTnM4QWRNZjB6LzRTMUpBeHdVamdoQ25jenJOdXJDT3BHd1MyenlDRVBkek9zMEJjSUFZeU1zRlVBVFBGaVA2QWhQTGFzc2Z5ei9KZ0VEN0FPTU9FeFFFQWM3NFNsSkF4d1VEZ2hCeVdLYWJ1aE93anRHT0xBSDZRSC9JeWdBQytrUUJ5TW9IeS8vSjBQaEVFQ09CQVFqMFFmaGtJTmRLd2dBZ2xRSFVNTkFCM3JNUzVvSVE4bGltbXpKd2dCakl5d1ZRQk04V0kvb0NFOHRxeXgvTFA4bUFRUHNBMnp5U1h3UGlHd0lCSUFZUEFnRWdCd29DQVc0SUNRQVpyYzUyb21oQUlHdVE2NFgvd0FBWnJ4MzJvbWhBRUd1UTY0V1B3QUlCWWdzTUFVdXRORzJlTnZ3aVJ3MUFnSVI2U1RmU21SRE9hUVBwLzVnM2dTZ0J0NEVCU0poeFdmTVlRQk1DQVdvTkRnQVBvbCsxRTBOY0xINEJMNkxIYlBQcEVBY2pLQjh2L3lkRDRSSUVCQ1BRS2I2RXhoTUNBU0FRRVFFcHVrWXRzOCtFWDRSdmhIK0VqNFNmaEsrRXY0UklFd0lOdVlSdHM4Mnp5Qk1WQTdqeWd3alhHQ0RUSDlNZjB4OEMrQ083OG1UdFJORFRIOU1mMC84d1dycnlvVkF6dXZLaUF2a0JRRFA1RVBLaitBRGJQQ0RYU3NBQmpwbnRSTzFGN1VlUlcrMW43V1h0Wkk2QzJ6enRRZTN4QWZML2tURGkrRUdrK0dIYlBCTVVHd0IrN1VUUTB4OEIrR0hUSHdINFl0UC9BZmhqOUFRQitHVFVBZERUUHdINFpkTWZBZmhtMHg4QitHZlRId0g0YVBvQUFmaHAra0FCK0dyNlFBSDRhOUhSQWx6VEI5VFIrQ1BiUENEQ0FJNmJJc0FEOHVCa0lkRFRBL3BBTWZwQStFcFNJTWNGczVKZkJPTU5rVERpQWZzQUZSWUFZUGhGK0VhZ1VoQzhrakJ3NFBoRitFaWdVaEM1a3pENFNlRDRTZmhKK0VVVG9maEhxUVQ0UnZoSHFRUVFJNm1Fb1FQNklmcEVBY2pLQjh2L3lkRDRSSUVCQ1BRS2I2RXhqMTh6QVhLd3dBTHk0R1VCK2dBeGNkY2grZ0F4K2dBeDB6OHgweDh4MHdBQndBRHk0R2JUQUFHVDFERFEzaUZ4Mnp5T0tqSFRIekFnZ2hCT2MzUkx1aUdDRUVkbGRDUzZzU0dDRUZaMFEzQzZzUUdDRUZadmRHVzZzZkxnWitNT2NKSmZBK0lnd2dBWUZ4b0M2Z0Z3Mnp5T2JTRFhTY0lBam1QVEh5SEFBQ0tEQzdxeElvRVFBYnF4SW9JUVI5VkRrYnF4SW9JUVdWOEh2THF4SW9JUWFmc3diTHF4SW9JUVZtOTBaYnF4SW9JUVZuUkRjTHF4OHVCbkFjQUFJZGRKd2dDd2poWFRCekFnd0dRaHdIZXhJY0JFc1FIQVY3SHk0R2lSTU9LUk1PTGpEUmdaQUVRQitrUUJ3LytTVzNEZ0FmZ3pJRzZTVzNEZzBDRFhTWU1IdVpKYmNPRFhDLys2QUJyVEh6Q0NFRlp2ZEdXNjh1Qm5BQTZUY3ZzQ2tURGlBR2I0U1BoSCtFYjRSY2pMUDhzZnl4L0xIL2hKK2dMNFNzOFcrRXZQRnNuNFJQaEQrRUw0UWNqTEg4c2Z5Ly8wQU16SjdWU28xK1M5JztcbmV4cG9ydCBjb25zdCBUT05fV0hBTEVTX0RFUE9TSVRfT1BDT0RFID0gJzIwNzcwNDA2MjMnO1xuZXhwb3J0IGNvbnN0IFRPTl9XSEFMRVNfV0lUSERSQVdfT1BDT0RFID0gJzM2NjU4Mzc4MjEnO1xuZXhwb3J0IGNvbnN0IFNJTkdMRV9OT01JTkFUT1JfV0lUSERSQVdfQUxMX0NPTU1FTlQgPSAndyc7XG4iXX0=
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WASM-based TON transaction explanation.
|
|
3
|
+
*
|
|
4
|
+
* Built on @bitgo/wasm-ton's parseTransaction(). Derives transaction types,
|
|
5
|
+
* extracts outputs/inputs, and maps to BitGoJS TransactionExplanation format.
|
|
6
|
+
* This is BitGo-specific business logic that lives outside the wasm package.
|
|
7
|
+
*/
|
|
8
|
+
import { TransactionExplanation } from './iface';
|
|
9
|
+
export interface ExplainTonTransactionWasmOptions {
|
|
10
|
+
txBase64: string;
|
|
11
|
+
/** When false, use the original bounce-flag-respecting address format. Defaults to true (bounceable EQ...). */
|
|
12
|
+
toAddressBounceable?: boolean;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Standalone WASM-based transaction explanation for TON.
|
|
16
|
+
*
|
|
17
|
+
* Parses the transaction via `parseTransaction(tx)` from @bitgo/wasm-ton,
|
|
18
|
+
* then derives the transaction type, extracts outputs/inputs, and maps
|
|
19
|
+
* to BitGoJS TransactionExplanation format.
|
|
20
|
+
*/
|
|
21
|
+
export declare function explainTonTransaction(params: ExplainTonTransactionWasmOptions): Promise<TransactionExplanation>;
|
|
22
|
+
/**
|
|
23
|
+
* Get the signable payload (SHA-256 hash of the sign body cell) for a serialized TON transaction.
|
|
24
|
+
*
|
|
25
|
+
* Isolated behind this module (rather than imported directly in ton.ts) so the
|
|
26
|
+
* eagerly-registered `Ton`/`Tton` coin classes don't carry @bitgo/wasm-ton's
|
|
27
|
+
* async WASM initialization into their own module's top-level import graph.
|
|
28
|
+
*/
|
|
29
|
+
export declare function getSignablePayloadWasm(serializedTx: string): Promise<Buffer>;
|
|
30
|
+
/**
|
|
31
|
+
* Convert an already memoId-stripped TON address to its bounceable (EQ...) form.
|
|
32
|
+
*
|
|
33
|
+
* See {@link getSignablePayloadWasm} for why this lives here rather than in ton.ts.
|
|
34
|
+
*/
|
|
35
|
+
export declare function toBounceableAddressWasm(strippedAddress: string): Promise<string>;
|
|
36
|
+
//# sourceMappingURL=explainTransactionWasm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"explainTransactionWasm.d.ts","sourceRoot":"","sources":["../../../src/lib/explainTransactionWasm.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAsBjD,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,+GAA+G;IAC/G,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAuCD;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,gCAAgC,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAkBrH;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIlF;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAItF"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WASM-based TON transaction explanation.
|
|
3
|
+
*
|
|
4
|
+
* Built on @bitgo/wasm-ton's parseTransaction(). Derives transaction types,
|
|
5
|
+
* extracts outputs/inputs, and maps to BitGoJS TransactionExplanation format.
|
|
6
|
+
* This is BitGo-specific business logic that lives outside the wasm package.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* @bitgo/wasm-ton is loaded lazily (not via a static top-level import) so this
|
|
10
|
+
* module doesn't drag the eagerly-registered `Ton`/`Tton` coin classes into
|
|
11
|
+
* the same async-WASM-initialization chain in bundlers, which breaks
|
|
12
|
+
* synchronous coin registration in the browser.
|
|
13
|
+
*
|
|
14
|
+
* This uses `require()`, not dynamic `import()`: Node's `import()` always
|
|
15
|
+
* resolves the package's "import" condition (the ESM build), and that build
|
|
16
|
+
* loads its .wasm binary via a raw ESM import, which throws
|
|
17
|
+
* ERR_UNKNOWN_FILE_EXTENSION on Node 20 without an experimental flag. The CJS
|
|
18
|
+
* build (resolved by `require()`) instantiates the same .wasm file
|
|
19
|
+
* synchronously via `fs.readFileSync`, which works on every supported Node
|
|
20
|
+
* version. In the browser, webpack's `@bitgo/sdk-coin-ton`/`@bitgo/wasm-ton`
|
|
21
|
+
* aliases rewrite the resolved path regardless of require/import syntax, so
|
|
22
|
+
* this still routes to the ESM build there.
|
|
23
|
+
*/
|
|
24
|
+
async function loadWasmTon() {
|
|
25
|
+
return require('@bitgo/wasm-ton');
|
|
26
|
+
}
|
|
27
|
+
function extractOutputs(parsed, toAddressBounceable) {
|
|
28
|
+
const outputs = [];
|
|
29
|
+
let withdrawAmount;
|
|
30
|
+
for (const action of parsed.sendActions) {
|
|
31
|
+
if (action.jettonTransfer) {
|
|
32
|
+
outputs.push({
|
|
33
|
+
address: action.jettonTransfer.destination,
|
|
34
|
+
amount: String(action.jettonTransfer.amount),
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
// destinationBounceable is always EQ... (bounceable)
|
|
39
|
+
// destination respects the original bounce flag (UQ... when bounce=false)
|
|
40
|
+
outputs.push({
|
|
41
|
+
address: toAddressBounceable ? action.destinationBounceable : action.destination,
|
|
42
|
+
amount: String(action.amount),
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
// withdrawAmount comes from the body payload parsed by WASM (not the message TON value)
|
|
46
|
+
if (action.withdrawAmount !== undefined) {
|
|
47
|
+
withdrawAmount = String(action.withdrawAmount);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
const outputAmount = outputs.reduce((sum, o) => sum + BigInt(o.amount), 0n);
|
|
51
|
+
return { outputs, outputAmount: String(outputAmount), withdrawAmount };
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Standalone WASM-based transaction explanation for TON.
|
|
55
|
+
*
|
|
56
|
+
* Parses the transaction via `parseTransaction(tx)` from @bitgo/wasm-ton,
|
|
57
|
+
* then derives the transaction type, extracts outputs/inputs, and maps
|
|
58
|
+
* to BitGoJS TransactionExplanation format.
|
|
59
|
+
*/
|
|
60
|
+
export async function explainTonTransaction(params) {
|
|
61
|
+
const { Transaction: WasmTonTransaction, parseTransaction } = await loadWasmTon();
|
|
62
|
+
const toAddressBounceable = params.toAddressBounceable !== false;
|
|
63
|
+
const tx = WasmTonTransaction.fromBytes(Buffer.from(params.txBase64, 'base64'));
|
|
64
|
+
const parsed = parseTransaction(tx);
|
|
65
|
+
const { outputs, outputAmount, withdrawAmount } = extractOutputs(parsed, toAddressBounceable);
|
|
66
|
+
return {
|
|
67
|
+
displayOrder: ['id', 'outputs', 'outputAmount', 'changeOutputs', 'changeAmount', 'fee', 'withdrawAmount'],
|
|
68
|
+
id: tx.id,
|
|
69
|
+
outputs,
|
|
70
|
+
outputAmount,
|
|
71
|
+
changeOutputs: [],
|
|
72
|
+
changeAmount: '0',
|
|
73
|
+
fee: { fee: 'UNKNOWN' },
|
|
74
|
+
withdrawAmount,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Get the signable payload (SHA-256 hash of the sign body cell) for a serialized TON transaction.
|
|
79
|
+
*
|
|
80
|
+
* Isolated behind this module (rather than imported directly in ton.ts) so the
|
|
81
|
+
* eagerly-registered `Ton`/`Tton` coin classes don't carry @bitgo/wasm-ton's
|
|
82
|
+
* async WASM initialization into their own module's top-level import graph.
|
|
83
|
+
*/
|
|
84
|
+
export async function getSignablePayloadWasm(serializedTx) {
|
|
85
|
+
const { Transaction: WasmTonTransaction } = await loadWasmTon();
|
|
86
|
+
const tx = WasmTonTransaction.fromBytes(Buffer.from(serializedTx, 'base64'));
|
|
87
|
+
return Buffer.from(tx.signablePayload());
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Convert an already memoId-stripped TON address to its bounceable (EQ...) form.
|
|
91
|
+
*
|
|
92
|
+
* See {@link getSignablePayloadWasm} for why this lives here rather than in ton.ts.
|
|
93
|
+
*/
|
|
94
|
+
export async function toBounceableAddressWasm(strippedAddress) {
|
|
95
|
+
const { decode: wasmDecode, encode: wasmEncode } = await loadWasmTon();
|
|
96
|
+
const decoded = wasmDecode(strippedAddress);
|
|
97
|
+
return wasmEncode(decoded.workchainId, decoded.addressHash, true);
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwbGFpblRyYW5zYWN0aW9uV2FzbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvZXhwbGFpblRyYW5zYWN0aW9uV2FzbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFLSDs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDSCxLQUFLLFVBQVUsV0FBVztJQUN4QixPQUFPLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBcUMsQ0FBQztBQUN4RSxDQUFDO0FBUUQsU0FBUyxjQUFjLENBQ3JCLE1BQTZCLEVBQzdCLG1CQUE0QjtJQU01QixNQUFNLE9BQU8sR0FBMEMsRUFBRSxDQUFDO0lBQzFELElBQUksY0FBa0MsQ0FBQztJQUV2QyxLQUFLLE1BQU0sTUFBTSxJQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN4QyxJQUFJLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMxQixPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNYLE9BQU8sRUFBRSxNQUFNLENBQUMsY0FBYyxDQUFDLFdBQVc7Z0JBQzFDLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUM7YUFDN0MsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDTixxREFBcUQ7WUFDckQsMEVBQTBFO1lBQzFFLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ1gsT0FBTyxFQUFFLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXO2dCQUNoRixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7YUFDOUIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELHdGQUF3RjtRQUN4RixJQUFJLE1BQU0sQ0FBQyxjQUFjLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDeEMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDakQsQ0FBQztJQUNILENBQUM7SUFFRCxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFNUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLGNBQWMsRUFBRSxDQUFDO0FBQ3pFLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLHFCQUFxQixDQUFDLE1BQXdDO0lBQ2xGLE1BQU0sRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxNQUFNLFdBQVcsRUFBRSxDQUFDO0lBQ2xGLE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixLQUFLLEtBQUssQ0FBQztJQUNqRSxNQUFNLEVBQUUsR0FBRyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDaEYsTUFBTSxNQUFNLEdBQTBCLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRTNELE1BQU0sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxHQUFHLGNBQWMsQ0FBQyxNQUFNLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUU5RixPQUFPO1FBQ0wsWUFBWSxFQUFFLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLENBQUM7UUFDekcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFO1FBQ1QsT0FBTztRQUNQLFlBQVk7UUFDWixhQUFhLEVBQUUsRUFBRTtRQUNqQixZQUFZLEVBQUUsR0FBRztRQUNqQixHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFO1FBQ3ZCLGNBQWM7S0FDZixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsc0JBQXNCLENBQUMsWUFBb0I7SUFDL0QsTUFBTSxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxHQUFHLE1BQU0sV0FBVyxFQUFFLENBQUM7SUFDaEUsTUFBTSxFQUFFLEdBQUcsa0JBQWtCLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDN0UsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO0FBQzNDLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSx1QkFBdUIsQ0FBQyxlQUF1QjtJQUNuRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsTUFBTSxXQUFXLEVBQUUsQ0FBQztJQUN2RSxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDNUMsT0FBTyxVQUFVLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3BFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFdBU00tYmFzZWQgVE9OIHRyYW5zYWN0aW9uIGV4cGxhbmF0aW9uLlxuICpcbiAqIEJ1aWx0IG9uIEBiaXRnby93YXNtLXRvbidzIHBhcnNlVHJhbnNhY3Rpb24oKS4gRGVyaXZlcyB0cmFuc2FjdGlvbiB0eXBlcyxcbiAqIGV4dHJhY3RzIG91dHB1dHMvaW5wdXRzLCBhbmQgbWFwcyB0byBCaXRHb0pTIFRyYW5zYWN0aW9uRXhwbGFuYXRpb24gZm9ybWF0LlxuICogVGhpcyBpcyBCaXRHby1zcGVjaWZpYyBidXNpbmVzcyBsb2dpYyB0aGF0IGxpdmVzIG91dHNpZGUgdGhlIHdhc20gcGFja2FnZS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFBhcnNlZFRyYW5zYWN0aW9uIGFzIFdhc21QYXJzZWRUcmFuc2FjdGlvbiB9IGZyb20gJ0BiaXRnby93YXNtLXRvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIH0gZnJvbSAnLi9pZmFjZSc7XG5cbi8qKlxuICogQGJpdGdvL3dhc20tdG9uIGlzIGxvYWRlZCBsYXppbHkgKG5vdCB2aWEgYSBzdGF0aWMgdG9wLWxldmVsIGltcG9ydCkgc28gdGhpc1xuICogbW9kdWxlIGRvZXNuJ3QgZHJhZyB0aGUgZWFnZXJseS1yZWdpc3RlcmVkIGBUb25gL2BUdG9uYCBjb2luIGNsYXNzZXMgaW50b1xuICogdGhlIHNhbWUgYXN5bmMtV0FTTS1pbml0aWFsaXphdGlvbiBjaGFpbiBpbiBidW5kbGVycywgd2hpY2ggYnJlYWtzXG4gKiBzeW5jaHJvbm91cyBjb2luIHJlZ2lzdHJhdGlvbiBpbiB0aGUgYnJvd3Nlci5cbiAqXG4gKiBUaGlzIHVzZXMgYHJlcXVpcmUoKWAsIG5vdCBkeW5hbWljIGBpbXBvcnQoKWA6IE5vZGUncyBgaW1wb3J0KClgIGFsd2F5c1xuICogcmVzb2x2ZXMgdGhlIHBhY2thZ2UncyBcImltcG9ydFwiIGNvbmRpdGlvbiAodGhlIEVTTSBidWlsZCksIGFuZCB0aGF0IGJ1aWxkXG4gKiBsb2FkcyBpdHMgLndhc20gYmluYXJ5IHZpYSBhIHJhdyBFU00gaW1wb3J0LCB3aGljaCB0aHJvd3NcbiAqIEVSUl9VTktOT1dOX0ZJTEVfRVhURU5TSU9OIG9uIE5vZGUgMjAgd2l0aG91dCBhbiBleHBlcmltZW50YWwgZmxhZy4gVGhlIENKU1xuICogYnVpbGQgKHJlc29sdmVkIGJ5IGByZXF1aXJlKClgKSBpbnN0YW50aWF0ZXMgdGhlIHNhbWUgLndhc20gZmlsZVxuICogc3luY2hyb25vdXNseSB2aWEgYGZzLnJlYWRGaWxlU3luY2AsIHdoaWNoIHdvcmtzIG9uIGV2ZXJ5IHN1cHBvcnRlZCBOb2RlXG4gKiB2ZXJzaW9uLiBJbiB0aGUgYnJvd3Nlciwgd2VicGFjaydzIGBAYml0Z28vc2RrLWNvaW4tdG9uYC9gQGJpdGdvL3dhc20tdG9uYFxuICogYWxpYXNlcyByZXdyaXRlIHRoZSByZXNvbHZlZCBwYXRoIHJlZ2FyZGxlc3Mgb2YgcmVxdWlyZS9pbXBvcnQgc3ludGF4LCBzb1xuICogdGhpcyBzdGlsbCByb3V0ZXMgdG8gdGhlIEVTTSBidWlsZCB0aGVyZS5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gbG9hZFdhc21Ub24oKSB7XG4gIHJldHVybiByZXF1aXJlKCdAYml0Z28vd2FzbS10b24nKSBhcyB0eXBlb2YgaW1wb3J0KCdAYml0Z28vd2FzbS10b24nKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHBsYWluVG9uVHJhbnNhY3Rpb25XYXNtT3B0aW9ucyB7XG4gIHR4QmFzZTY0OiBzdHJpbmc7XG4gIC8qKiBXaGVuIGZhbHNlLCB1c2UgdGhlIG9yaWdpbmFsIGJvdW5jZS1mbGFnLXJlc3BlY3RpbmcgYWRkcmVzcyBmb3JtYXQuIERlZmF1bHRzIHRvIHRydWUgKGJvdW5jZWFibGUgRVEuLi4pLiAqL1xuICB0b0FkZHJlc3NCb3VuY2VhYmxlPzogYm9vbGVhbjtcbn1cblxuZnVuY3Rpb24gZXh0cmFjdE91dHB1dHMoXG4gIHBhcnNlZDogV2FzbVBhcnNlZFRyYW5zYWN0aW9uLFxuICB0b0FkZHJlc3NCb3VuY2VhYmxlOiBib29sZWFuXG4pOiB7XG4gIG91dHB1dHM6IHsgYWRkcmVzczogc3RyaW5nOyBhbW91bnQ6IHN0cmluZyB9W107XG4gIG91dHB1dEFtb3VudDogc3RyaW5nO1xuICB3aXRoZHJhd0Ftb3VudDogc3RyaW5nIHwgdW5kZWZpbmVkO1xufSB7XG4gIGNvbnN0IG91dHB1dHM6IHsgYWRkcmVzczogc3RyaW5nOyBhbW91bnQ6IHN0cmluZyB9W10gPSBbXTtcbiAgbGV0IHdpdGhkcmF3QW1vdW50OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgZm9yIChjb25zdCBhY3Rpb24gb2YgcGFyc2VkLnNlbmRBY3Rpb25zKSB7XG4gICAgaWYgKGFjdGlvbi5qZXR0b25UcmFuc2Zlcikge1xuICAgICAgb3V0cHV0cy5wdXNoKHtcbiAgICAgICAgYWRkcmVzczogYWN0aW9uLmpldHRvblRyYW5zZmVyLmRlc3RpbmF0aW9uLFxuICAgICAgICBhbW91bnQ6IFN0cmluZyhhY3Rpb24uamV0dG9uVHJhbnNmZXIuYW1vdW50KSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBkZXN0aW5hdGlvbkJvdW5jZWFibGUgaXMgYWx3YXlzIEVRLi4uIChib3VuY2VhYmxlKVxuICAgICAgLy8gZGVzdGluYXRpb24gcmVzcGVjdHMgdGhlIG9yaWdpbmFsIGJvdW5jZSBmbGFnIChVUS4uLiB3aGVuIGJvdW5jZT1mYWxzZSlcbiAgICAgIG91dHB1dHMucHVzaCh7XG4gICAgICAgIGFkZHJlc3M6IHRvQWRkcmVzc0JvdW5jZWFibGUgPyBhY3Rpb24uZGVzdGluYXRpb25Cb3VuY2VhYmxlIDogYWN0aW9uLmRlc3RpbmF0aW9uLFxuICAgICAgICBhbW91bnQ6IFN0cmluZyhhY3Rpb24uYW1vdW50KSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIHdpdGhkcmF3QW1vdW50IGNvbWVzIGZyb20gdGhlIGJvZHkgcGF5bG9hZCBwYXJzZWQgYnkgV0FTTSAobm90IHRoZSBtZXNzYWdlIFRPTiB2YWx1ZSlcbiAgICBpZiAoYWN0aW9uLndpdGhkcmF3QW1vdW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHdpdGhkcmF3QW1vdW50ID0gU3RyaW5nKGFjdGlvbi53aXRoZHJhd0Ftb3VudCk7XG4gICAgfVxuICB9XG5cbiAgY29uc3Qgb3V0cHV0QW1vdW50ID0gb3V0cHV0cy5yZWR1Y2UoKHN1bSwgbykgPT4gc3VtICsgQmlnSW50KG8uYW1vdW50KSwgMG4pO1xuXG4gIHJldHVybiB7IG91dHB1dHMsIG91dHB1dEFtb3VudDogU3RyaW5nKG91dHB1dEFtb3VudCksIHdpdGhkcmF3QW1vdW50IH07XG59XG5cbi8qKlxuICogU3RhbmRhbG9uZSBXQVNNLWJhc2VkIHRyYW5zYWN0aW9uIGV4cGxhbmF0aW9uIGZvciBUT04uXG4gKlxuICogUGFyc2VzIHRoZSB0cmFuc2FjdGlvbiB2aWEgYHBhcnNlVHJhbnNhY3Rpb24odHgpYCBmcm9tIEBiaXRnby93YXNtLXRvbixcbiAqIHRoZW4gZGVyaXZlcyB0aGUgdHJhbnNhY3Rpb24gdHlwZSwgZXh0cmFjdHMgb3V0cHV0cy9pbnB1dHMsIGFuZCBtYXBzXG4gKiB0byBCaXRHb0pTIFRyYW5zYWN0aW9uRXhwbGFuYXRpb24gZm9ybWF0LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZXhwbGFpblRvblRyYW5zYWN0aW9uKHBhcmFtczogRXhwbGFpblRvblRyYW5zYWN0aW9uV2FzbU9wdGlvbnMpOiBQcm9taXNlPFRyYW5zYWN0aW9uRXhwbGFuYXRpb24+IHtcbiAgY29uc3QgeyBUcmFuc2FjdGlvbjogV2FzbVRvblRyYW5zYWN0aW9uLCBwYXJzZVRyYW5zYWN0aW9uIH0gPSBhd2FpdCBsb2FkV2FzbVRvbigpO1xuICBjb25zdCB0b0FkZHJlc3NCb3VuY2VhYmxlID0gcGFyYW1zLnRvQWRkcmVzc0JvdW5jZWFibGUgIT09IGZhbHNlO1xuICBjb25zdCB0eCA9IFdhc21Ub25UcmFuc2FjdGlvbi5mcm9tQnl0ZXMoQnVmZmVyLmZyb20ocGFyYW1zLnR4QmFzZTY0LCAnYmFzZTY0JykpO1xuICBjb25zdCBwYXJzZWQ6IFdhc21QYXJzZWRUcmFuc2FjdGlvbiA9IHBhcnNlVHJhbnNhY3Rpb24odHgpO1xuXG4gIGNvbnN0IHsgb3V0cHV0cywgb3V0cHV0QW1vdW50LCB3aXRoZHJhd0Ftb3VudCB9ID0gZXh0cmFjdE91dHB1dHMocGFyc2VkLCB0b0FkZHJlc3NCb3VuY2VhYmxlKTtcblxuICByZXR1cm4ge1xuICAgIGRpc3BsYXlPcmRlcjogWydpZCcsICdvdXRwdXRzJywgJ291dHB1dEFtb3VudCcsICdjaGFuZ2VPdXRwdXRzJywgJ2NoYW5nZUFtb3VudCcsICdmZWUnLCAnd2l0aGRyYXdBbW91bnQnXSxcbiAgICBpZDogdHguaWQsXG4gICAgb3V0cHV0cyxcbiAgICBvdXRwdXRBbW91bnQsXG4gICAgY2hhbmdlT3V0cHV0czogW10sXG4gICAgY2hhbmdlQW1vdW50OiAnMCcsXG4gICAgZmVlOiB7IGZlZTogJ1VOS05PV04nIH0sXG4gICAgd2l0aGRyYXdBbW91bnQsXG4gIH07XG59XG5cbi8qKlxuICogR2V0IHRoZSBzaWduYWJsZSBwYXlsb2FkIChTSEEtMjU2IGhhc2ggb2YgdGhlIHNpZ24gYm9keSBjZWxsKSBmb3IgYSBzZXJpYWxpemVkIFRPTiB0cmFuc2FjdGlvbi5cbiAqXG4gKiBJc29sYXRlZCBiZWhpbmQgdGhpcyBtb2R1bGUgKHJhdGhlciB0aGFuIGltcG9ydGVkIGRpcmVjdGx5IGluIHRvbi50cykgc28gdGhlXG4gKiBlYWdlcmx5LXJlZ2lzdGVyZWQgYFRvbmAvYFR0b25gIGNvaW4gY2xhc3NlcyBkb24ndCBjYXJyeSBAYml0Z28vd2FzbS10b24nc1xuICogYXN5bmMgV0FTTSBpbml0aWFsaXphdGlvbiBpbnRvIHRoZWlyIG93biBtb2R1bGUncyB0b3AtbGV2ZWwgaW1wb3J0IGdyYXBoLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0U2lnbmFibGVQYXlsb2FkV2FzbShzZXJpYWxpemVkVHg6IHN0cmluZyk6IFByb21pc2U8QnVmZmVyPiB7XG4gIGNvbnN0IHsgVHJhbnNhY3Rpb246IFdhc21Ub25UcmFuc2FjdGlvbiB9ID0gYXdhaXQgbG9hZFdhc21Ub24oKTtcbiAgY29uc3QgdHggPSBXYXNtVG9uVHJhbnNhY3Rpb24uZnJvbUJ5dGVzKEJ1ZmZlci5mcm9tKHNlcmlhbGl6ZWRUeCwgJ2Jhc2U2NCcpKTtcbiAgcmV0dXJuIEJ1ZmZlci5mcm9tKHR4LnNpZ25hYmxlUGF5bG9hZCgpKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0IGFuIGFscmVhZHkgbWVtb0lkLXN0cmlwcGVkIFRPTiBhZGRyZXNzIHRvIGl0cyBib3VuY2VhYmxlIChFUS4uLikgZm9ybS5cbiAqXG4gKiBTZWUge0BsaW5rIGdldFNpZ25hYmxlUGF5bG9hZFdhc219IGZvciB3aHkgdGhpcyBsaXZlcyBoZXJlIHJhdGhlciB0aGFuIGluIHRvbi50cy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHRvQm91bmNlYWJsZUFkZHJlc3NXYXNtKHN0cmlwcGVkQWRkcmVzczogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgeyBkZWNvZGU6IHdhc21EZWNvZGUsIGVuY29kZTogd2FzbUVuY29kZSB9ID0gYXdhaXQgbG9hZFdhc21Ub24oKTtcbiAgY29uc3QgZGVjb2RlZCA9IHdhc21EZWNvZGUoc3RyaXBwZWRBZGRyZXNzKTtcbiAgcmV0dXJuIHdhc21FbmNvZGUoZGVjb2RlZC53b3JrY2hhaW5JZCwgZGVjb2RlZC5hZGRyZXNzSGFzaCwgdHJ1ZSk7XG59XG4iXX0=
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { TransactionFee } from '@bitgo/sdk-core';
|
|
2
|
+
import { ITransactionExplanation } from './transactionExplanation';
|
|
3
|
+
/**
|
|
4
|
+
* The transaction data returned from the toJson() function of a transaction
|
|
5
|
+
*/
|
|
6
|
+
export interface TxData {
|
|
7
|
+
id: string;
|
|
8
|
+
sender: string;
|
|
9
|
+
destination: string;
|
|
10
|
+
destinationAlias: string;
|
|
11
|
+
amount: string;
|
|
12
|
+
withdrawAmount: string;
|
|
13
|
+
seqno: number;
|
|
14
|
+
expirationTime: number;
|
|
15
|
+
publicKey: string;
|
|
16
|
+
sub_wallet_id: number;
|
|
17
|
+
signature: string;
|
|
18
|
+
bounceable: boolean;
|
|
19
|
+
}
|
|
20
|
+
export type TransactionExplanation = ITransactionExplanation<TransactionFee>;
|
|
21
|
+
export type VestingContractParams = {
|
|
22
|
+
subWalletId: number;
|
|
23
|
+
publicKeyHex: string;
|
|
24
|
+
vestingStartTime: number;
|
|
25
|
+
vestingTotalDuration: number;
|
|
26
|
+
unlockPeriod: number;
|
|
27
|
+
cliffDuration: number;
|
|
28
|
+
vestingTotalAmount: bigint;
|
|
29
|
+
vestingSenderAddress: string;
|
|
30
|
+
ownerAddress: string;
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=iface.d.ts.map
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
export {};
|
|
3
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvbkZlZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBJVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb25FeHBsYW5hdGlvbic7XG5cbi8qKlxuICogVGhlIHRyYW5zYWN0aW9uIGRhdGEgcmV0dXJuZWQgZnJvbSB0aGUgdG9Kc29uKCkgZnVuY3Rpb24gb2YgYSB0cmFuc2FjdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFR4RGF0YSB7XG4gIGlkOiBzdHJpbmc7XG4gIHNlbmRlcjogc3RyaW5nO1xuICBkZXN0aW5hdGlvbjogc3RyaW5nO1xuICBkZXN0aW5hdGlvbkFsaWFzOiBzdHJpbmc7XG4gIGFtb3VudDogc3RyaW5nO1xuICB3aXRoZHJhd0Ftb3VudDogc3RyaW5nO1xuICBzZXFubzogbnVtYmVyO1xuICBleHBpcmF0aW9uVGltZTogbnVtYmVyO1xuICBwdWJsaWNLZXk6IHN0cmluZztcbiAgc3ViX3dhbGxldF9pZDogbnVtYmVyO1xuICBzaWduYXR1cmU6IHN0cmluZztcbiAgYm91bmNlYWJsZTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiA9IElUcmFuc2FjdGlvbkV4cGxhbmF0aW9uPFRyYW5zYWN0aW9uRmVlPjtcblxuZXhwb3J0IHR5cGUgVmVzdGluZ0NvbnRyYWN0UGFyYW1zID0ge1xuICBzdWJXYWxsZXRJZDogbnVtYmVyO1xuICBwdWJsaWNLZXlIZXg6IHN0cmluZztcbiAgdmVzdGluZ1N0YXJ0VGltZTogbnVtYmVyO1xuICB2ZXN0aW5nVG90YWxEdXJhdGlvbjogbnVtYmVyO1xuICB1bmxvY2tQZXJpb2Q6IG51bWJlcjtcbiAgY2xpZmZEdXJhdGlvbjogbnVtYmVyO1xuICB2ZXN0aW5nVG90YWxBbW91bnQ6IGJpZ2ludDtcbiAgdmVzdGluZ1NlbmRlckFkZHJlc3M6IHN0cmluZztcbiAgb3duZXJBZGRyZXNzOiBzdHJpbmc7XG59O1xuIl19
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as Utils from './utils';
|
|
2
|
+
import * as Interface from './iface';
|
|
3
|
+
export { KeyPair } from './keyPair';
|
|
4
|
+
export { Transaction } from './transaction';
|
|
5
|
+
export { TokenTransaction } from './tokenTransaction';
|
|
6
|
+
export { TokenTransferBuilder } from './tokenTransferBuilder';
|
|
7
|
+
export { TransactionBuilder } from './transactionBuilder';
|
|
8
|
+
export { TransferBuilder } from './transferBuilder';
|
|
9
|
+
export { TransactionBuilderFactory } from './transactionBuilderFactory';
|
|
10
|
+
export { TonWhalesVestingDepositBuilder } from './tonWhalesVestingDepositBuilder';
|
|
11
|
+
export { TonWhalesVestingWithdrawBuilder } from './tonWhalesVestingWithdrawBuilder';
|
|
12
|
+
export { explainTonTransaction } from './explainTransactionWasm';
|
|
13
|
+
export { Interface, Utils };
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as Utils from './utils';
|
|
2
|
+
import * as Interface from './iface';
|
|
3
|
+
export { KeyPair } from './keyPair';
|
|
4
|
+
export { Transaction } from './transaction';
|
|
5
|
+
export { TokenTransaction } from './tokenTransaction';
|
|
6
|
+
export { TokenTransferBuilder } from './tokenTransferBuilder';
|
|
7
|
+
export { TransactionBuilder } from './transactionBuilder';
|
|
8
|
+
export { TransferBuilder } from './transferBuilder';
|
|
9
|
+
export { TransactionBuilderFactory } from './transactionBuilderFactory';
|
|
10
|
+
export { TonWhalesVestingDepositBuilder } from './tonWhalesVestingDepositBuilder';
|
|
11
|
+
export { TonWhalesVestingWithdrawBuilder } from './tonWhalesVestingWithdrawBuilder';
|
|
12
|
+
export { explainTonTransaction } from './explainTransactionWasm';
|
|
13
|
+
export { Interface, Utils };
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxLQUFLLE1BQU0sU0FBUyxDQUFDO0FBQ2pDLE9BQU8sS0FBSyxTQUFTLE1BQU0sU0FBUyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDeEUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEYsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFV0aWxzIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0ICogYXMgSW50ZXJmYWNlIGZyb20gJy4vaWZhY2UnO1xuXG5leHBvcnQgeyBLZXlQYWlyIH0gZnJvbSAnLi9rZXlQYWlyJztcbmV4cG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5leHBvcnQgeyBUb2tlblRyYW5zYWN0aW9uIH0gZnJvbSAnLi90b2tlblRyYW5zYWN0aW9uJztcbmV4cG9ydCB7IFRva2VuVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90b2tlblRyYW5zZmVyQnVpbGRlcic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5leHBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyQnVpbGRlcic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5JztcbmV4cG9ydCB7IFRvbldoYWxlc1Zlc3RpbmdEZXBvc2l0QnVpbGRlciB9IGZyb20gJy4vdG9uV2hhbGVzVmVzdGluZ0RlcG9zaXRCdWlsZGVyJztcbmV4cG9ydCB7IFRvbldoYWxlc1Zlc3RpbmdXaXRoZHJhd0J1aWxkZXIgfSBmcm9tICcuL3RvbldoYWxlc1Zlc3RpbmdXaXRoZHJhd0J1aWxkZXInO1xuZXhwb3J0IHsgZXhwbGFpblRvblRyYW5zYWN0aW9uIH0gZnJvbSAnLi9leHBsYWluVHJhbnNhY3Rpb25XYXNtJztcbmV4cG9ydCB7IEludGVyZmFjZSwgVXRpbHMgfTtcbiJdfQ==
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { DefaultKeys, Ed25519KeyPair, KeyPairOptions } from '@bitgo/sdk-core';
|
|
2
|
+
export declare class KeyPair extends Ed25519KeyPair {
|
|
3
|
+
/**
|
|
4
|
+
* Public constructor. By default, creates a key pair with a random master seed.
|
|
5
|
+
*
|
|
6
|
+
* @param { KeyPairOptions } source Either a master seed, a private key, or a public key
|
|
7
|
+
*/
|
|
8
|
+
constructor(source?: KeyPairOptions);
|
|
9
|
+
/** @inheritdoc */
|
|
10
|
+
getKeys(): DefaultKeys;
|
|
11
|
+
/** @inheritdoc */
|
|
12
|
+
recordKeysFromPrivateKeyInProtocolFormat(prv: string): DefaultKeys;
|
|
13
|
+
/** @inheritdoc */
|
|
14
|
+
recordKeysFromPublicKeyInProtocolFormat(pub: string): DefaultKeys;
|
|
15
|
+
/** @inheritdoc */
|
|
16
|
+
getAddress(): string;
|
|
17
|
+
/**
|
|
18
|
+
* Sign the message in Uint8Array
|
|
19
|
+
*
|
|
20
|
+
* @param {Uint8Array} message to be signed
|
|
21
|
+
* @returns {Uint8Array} signed message
|
|
22
|
+
*/
|
|
23
|
+
signMessageinUint8Array(message: Uint8Array): Uint8Array;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=keyPair.d.ts.map
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { Ed25519KeyPair, toUint8Array } from '@bitgo/sdk-core';
|
|
2
|
+
import utils from './utils';
|
|
3
|
+
import * as nacl from 'tweetnacl';
|
|
4
|
+
export class KeyPair extends Ed25519KeyPair {
|
|
5
|
+
/**
|
|
6
|
+
* Public constructor. By default, creates a key pair with a random master seed.
|
|
7
|
+
*
|
|
8
|
+
* @param { KeyPairOptions } source Either a master seed, a private key, or a public key
|
|
9
|
+
*/
|
|
10
|
+
constructor(source) {
|
|
11
|
+
super(source);
|
|
12
|
+
}
|
|
13
|
+
/** @inheritdoc */
|
|
14
|
+
getKeys() {
|
|
15
|
+
const result = { pub: this.keyPair.pub };
|
|
16
|
+
if (this.keyPair.prv) {
|
|
17
|
+
result.prv = this.keyPair.prv;
|
|
18
|
+
}
|
|
19
|
+
return result;
|
|
20
|
+
}
|
|
21
|
+
/** @inheritdoc */
|
|
22
|
+
recordKeysFromPrivateKeyInProtocolFormat(prv) {
|
|
23
|
+
throw new Error('Method not implemented.');
|
|
24
|
+
}
|
|
25
|
+
/** @inheritdoc */
|
|
26
|
+
recordKeysFromPublicKeyInProtocolFormat(pub) {
|
|
27
|
+
if (!utils.isValidPublicKey(pub)) {
|
|
28
|
+
throw new Error(`Invalid Public Key ${pub}`);
|
|
29
|
+
}
|
|
30
|
+
return { pub };
|
|
31
|
+
}
|
|
32
|
+
/** @inheritdoc */
|
|
33
|
+
getAddress() {
|
|
34
|
+
throw new Error('Method not implemented.');
|
|
35
|
+
// this is the async way to get the address using tonweb library
|
|
36
|
+
// but we cannot use it as it is aysnc, there is a getAddressfromPublicKey in utlis.ts
|
|
37
|
+
/*
|
|
38
|
+
const tonweb = new TonWeb(new TonWeb.HttpProvider(''));
|
|
39
|
+
|
|
40
|
+
const WalletClass = tonweb.wallet.all['v4R2'];
|
|
41
|
+
const wallet = new WalletClass(tonweb.provider, {
|
|
42
|
+
publicKey: Buffer.from(this.keyPair.pub),
|
|
43
|
+
wc: 0
|
|
44
|
+
});
|
|
45
|
+
const address = await wallet.getAddress();
|
|
46
|
+
return address.toString(true, true, true);
|
|
47
|
+
*/
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Sign the message in Uint8Array
|
|
51
|
+
*
|
|
52
|
+
* @param {Uint8Array} message to be signed
|
|
53
|
+
* @returns {Uint8Array} signed message
|
|
54
|
+
*/
|
|
55
|
+
signMessageinUint8Array(message) {
|
|
56
|
+
const { prv } = this.keyPair;
|
|
57
|
+
if (!prv) {
|
|
58
|
+
throw new Error('Missing private key');
|
|
59
|
+
}
|
|
60
|
+
return nacl.sign.detached(message, nacl.sign.keyPair.fromSeed(toUint8Array(prv)).secretKey);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIva2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsY0FBYyxFQUFrQixZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RixPQUFPLEtBQUssTUFBTSxTQUFTLENBQUM7QUFDNUIsT0FBTyxLQUFLLElBQUksTUFBTSxXQUFXLENBQUM7QUFFbEMsTUFBTSxPQUFPLE9BQVEsU0FBUSxjQUFjO0lBQ3pDOzs7O09BSUc7SUFDSCxZQUFZLE1BQXVCO1FBQ2pDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLE9BQU87UUFDTCxNQUFNLE1BQU0sR0FBZ0IsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN0RCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDckIsTUFBTSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUNoQyxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELGtCQUFrQjtJQUNsQix3Q0FBd0MsQ0FBQyxHQUFXO1FBQ2xELE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLHVDQUF1QyxDQUFDLEdBQVc7UUFDakQsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUVELE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFVBQVU7UUFDUixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFFM0MsZ0VBQWdFO1FBQ2hFLHNGQUFzRjtRQUN0Rjs7Ozs7Ozs7OztVQVVFO0lBQ0osQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsdUJBQXVCLENBQUMsT0FBbUI7UUFDekMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDN0IsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1QsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUYsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVmYXVsdEtleXMsIEVkMjU1MTlLZXlQYWlyLCBLZXlQYWlyT3B0aW9ucywgdG9VaW50OEFycmF5IH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCAqIGFzIG5hY2wgZnJvbSAndHdlZXRuYWNsJztcblxuZXhwb3J0IGNsYXNzIEtleVBhaXIgZXh0ZW5kcyBFZDI1NTE5S2V5UGFpciB7XG4gIC8qKlxuICAgKiBQdWJsaWMgY29uc3RydWN0b3IuIEJ5IGRlZmF1bHQsIGNyZWF0ZXMgYSBrZXkgcGFpciB3aXRoIGEgcmFuZG9tIG1hc3RlciBzZWVkLlxuICAgKlxuICAgKiBAcGFyYW0geyBLZXlQYWlyT3B0aW9ucyB9IHNvdXJjZSBFaXRoZXIgYSBtYXN0ZXIgc2VlZCwgYSBwcml2YXRlIGtleSwgb3IgYSBwdWJsaWMga2V5XG4gICAqL1xuICBjb25zdHJ1Y3Rvcihzb3VyY2U/OiBLZXlQYWlyT3B0aW9ucykge1xuICAgIHN1cGVyKHNvdXJjZSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0S2V5cygpOiBEZWZhdWx0S2V5cyB7XG4gICAgY29uc3QgcmVzdWx0OiBEZWZhdWx0S2V5cyA9IHsgcHViOiB0aGlzLmtleVBhaXIucHViIH07XG4gICAgaWYgKHRoaXMua2V5UGFpci5wcnYpIHtcbiAgICAgIHJlc3VsdC5wcnYgPSB0aGlzLmtleVBhaXIucHJ2O1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHJlY29yZEtleXNGcm9tUHJpdmF0ZUtleUluUHJvdG9jb2xGb3JtYXQocHJ2OiBzdHJpbmcpOiBEZWZhdWx0S2V5cyB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHJlY29yZEtleXNGcm9tUHVibGljS2V5SW5Qcm90b2NvbEZvcm1hdChwdWI6IHN0cmluZyk6IERlZmF1bHRLZXlzIHtcbiAgICBpZiAoIXV0aWxzLmlzVmFsaWRQdWJsaWNLZXkocHViKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFB1YmxpYyBLZXkgJHtwdWJ9YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgcHViIH07XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0QWRkcmVzcygpOiBzdHJpbmcge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcblxuICAgIC8vIHRoaXMgaXMgdGhlIGFzeW5jIHdheSB0byBnZXQgdGhlIGFkZHJlc3MgdXNpbmcgdG9ud2ViIGxpYnJhcnlcbiAgICAvLyBidXQgd2UgY2Fubm90IHVzZSBpdCBhcyBpdCBpcyBheXNuYywgdGhlcmUgaXMgYSBnZXRBZGRyZXNzZnJvbVB1YmxpY0tleSBpbiB1dGxpcy50c1xuICAgIC8qXG4gICAgY29uc3QgdG9ud2ViID0gbmV3IFRvbldlYihuZXcgVG9uV2ViLkh0dHBQcm92aWRlcignJykpO1xuXG4gICAgY29uc3QgV2FsbGV0Q2xhc3MgPSB0b253ZWIud2FsbGV0LmFsbFsndjRSMiddO1xuICAgIGNvbnN0IHdhbGxldCA9IG5ldyBXYWxsZXRDbGFzcyh0b253ZWIucHJvdmlkZXIsIHtcbiAgICAgIHB1YmxpY0tleTogQnVmZmVyLmZyb20odGhpcy5rZXlQYWlyLnB1YiksXG4gICAgICB3YzogMFxuICAgIH0pO1xuICAgIGNvbnN0IGFkZHJlc3MgPSBhd2FpdCB3YWxsZXQuZ2V0QWRkcmVzcygpO1xuICAgIHJldHVybiBhZGRyZXNzLnRvU3RyaW5nKHRydWUsIHRydWUsIHRydWUpO1xuICAgICovXG4gIH1cblxuICAvKipcbiAgICogIFNpZ24gdGhlIG1lc3NhZ2UgaW4gVWludDhBcnJheVxuICAgKlxuICAgKiBAcGFyYW0ge1VpbnQ4QXJyYXl9IG1lc3NhZ2UgdG8gYmUgc2lnbmVkXG4gICAqIEByZXR1cm5zIHtVaW50OEFycmF5fSBzaWduZWQgbWVzc2FnZVxuICAgKi9cbiAgc2lnbk1lc3NhZ2VpblVpbnQ4QXJyYXkobWVzc2FnZTogVWludDhBcnJheSk6IFVpbnQ4QXJyYXkge1xuICAgIGNvbnN0IHsgcHJ2IH0gPSB0aGlzLmtleVBhaXI7XG4gICAgaWYgKCFwcnYpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBwcml2YXRlIGtleScpO1xuICAgIH1cbiAgICByZXR1cm4gbmFjbC5zaWduLmRldGFjaGVkKG1lc3NhZ2UsIG5hY2wuc2lnbi5rZXlQYWlyLmZyb21TZWVkKHRvVWludDhBcnJheShwcnYpKS5zZWNyZXRLZXkpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,17 @@
|
|
|
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 SingleNominatorWithdrawBuilder extends TransactionBuilder {
|
|
5
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
6
|
+
protected get transactionType(): TransactionType;
|
|
7
|
+
setWithdrawAmount(amount: string): SingleNominatorWithdrawBuilder;
|
|
8
|
+
send(recipient: Recipient): SingleNominatorWithdrawBuilder;
|
|
9
|
+
/**
|
|
10
|
+
* Sets the message to withdraw everything from the single nominator contract.
|
|
11
|
+
* Uses a plain transfer with text comment "w" which instructs the contract to
|
|
12
|
+
* drain balance - gas - MIN_TON_FOR_STORAGE automatically.
|
|
13
|
+
*/
|
|
14
|
+
setFullWithdrawalMessage(): SingleNominatorWithdrawBuilder;
|
|
15
|
+
setMessage(msg: string): SingleNominatorWithdrawBuilder;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=singleNominatorWithdrawBuilder.d.ts.map
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { TransactionType } from '@bitgo/sdk-core';
|
|
2
|
+
import { TransactionBuilder } from './transactionBuilder';
|
|
3
|
+
import { Transaction } from './transaction';
|
|
4
|
+
import { SINGLE_NOMINATOR_WITHDRAW_ALL_COMMENT } from './constants';
|
|
5
|
+
export class SingleNominatorWithdrawBuilder extends TransactionBuilder {
|
|
6
|
+
constructor(_coinConfig) {
|
|
7
|
+
super(_coinConfig);
|
|
8
|
+
this._transaction = new Transaction(_coinConfig);
|
|
9
|
+
}
|
|
10
|
+
get transactionType() {
|
|
11
|
+
return TransactionType.SingleNominatorWithdraw;
|
|
12
|
+
}
|
|
13
|
+
setWithdrawAmount(amount) {
|
|
14
|
+
this.transaction.withdrawAmount = amount;
|
|
15
|
+
return this;
|
|
16
|
+
}
|
|
17
|
+
send(recipient) {
|
|
18
|
+
this.transaction.recipient = recipient;
|
|
19
|
+
return this;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Sets the message to withdraw everything from the single nominator contract.
|
|
23
|
+
* Uses a plain transfer with text comment "w" which instructs the contract to
|
|
24
|
+
* drain balance - gas - MIN_TON_FOR_STORAGE automatically.
|
|
25
|
+
*/
|
|
26
|
+
setFullWithdrawalMessage() {
|
|
27
|
+
this.transaction.message = SINGLE_NOMINATOR_WITHDRAW_ALL_COMMENT;
|
|
28
|
+
return this;
|
|
29
|
+
}
|
|
30
|
+
setMessage(msg) {
|
|
31
|
+
throw new Error('Method not implemented.');
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlTm9taW5hdG9yV2l0aGRyYXdCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9zaW5nbGVOb21pbmF0b3JXaXRoZHJhd0J1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFhLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXBFLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxrQkFBa0I7SUFDcEUsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsSUFBYyxlQUFlO1FBQzNCLE9BQU8sZUFBZSxDQUFDLHVCQUF1QixDQUFDO0lBQ2pELENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxNQUFjO1FBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQztRQUN6QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFJLENBQUMsU0FBb0I7UUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCx3QkFBd0I7UUFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEdBQUcscUNBQXFDLENBQUM7UUFDakUsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVc7UUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBSZWNpcGllbnQsIFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgU0lOR0xFX05PTUlOQVRPUl9XSVRIRFJBV19BTExfQ09NTUVOVCB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuZXhwb3J0IGNsYXNzIFNpbmdsZU5vbWluYXRvcldpdGhkcmF3QnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IG5ldyBUcmFuc2FjdGlvbihfY29pbkNvbmZpZyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU2luZ2xlTm9taW5hdG9yV2l0aGRyYXc7XG4gIH1cblxuICBzZXRXaXRoZHJhd0Ftb3VudChhbW91bnQ6IHN0cmluZyk6IFNpbmdsZU5vbWluYXRvcldpdGhkcmF3QnVpbGRlciB7XG4gICAgdGhpcy50cmFuc2FjdGlvbi53aXRoZHJhd0Ftb3VudCA9IGFtb3VudDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHNlbmQocmVjaXBpZW50OiBSZWNpcGllbnQpOiBTaW5nbGVOb21pbmF0b3JXaXRoZHJhd0J1aWxkZXIge1xuICAgIHRoaXMudHJhbnNhY3Rpb24ucmVjaXBpZW50ID0gcmVjaXBpZW50O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG1lc3NhZ2UgdG8gd2l0aGRyYXcgZXZlcnl0aGluZyBmcm9tIHRoZSBzaW5nbGUgbm9taW5hdG9yIGNvbnRyYWN0LlxuICAgKiBVc2VzIGEgcGxhaW4gdHJhbnNmZXIgd2l0aCB0ZXh0IGNvbW1lbnQgXCJ3XCIgd2hpY2ggaW5zdHJ1Y3RzIHRoZSBjb250cmFjdCB0b1xuICAgKiBkcmFpbiBiYWxhbmNlIC0gZ2FzIC0gTUlOX1RPTl9GT1JfU1RPUkFHRSBhdXRvbWF0aWNhbGx5LlxuICAgKi9cbiAgc2V0RnVsbFdpdGhkcmF3YWxNZXNzYWdlKCk6IFNpbmdsZU5vbWluYXRvcldpdGhkcmF3QnVpbGRlciB7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5tZXNzYWdlID0gU0lOR0xFX05PTUlOQVRPUl9XSVRIRFJBV19BTExfQ09NTUVOVDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHNldE1lc3NhZ2UobXNnOiBzdHJpbmcpOiBTaW5nbGVOb21pbmF0b3JXaXRoZHJhd0J1aWxkZXIge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
2
|
+
import { TransactionExplanation, TxData } from './iface';
|
|
3
|
+
import { Transaction } from './transaction';
|
|
4
|
+
export declare class TokenTransaction extends Transaction {
|
|
5
|
+
forwardTonAmount: string;
|
|
6
|
+
senderJettonWalletAddress: string;
|
|
7
|
+
tonAmount: string;
|
|
8
|
+
constructor(coinConfig: Readonly<CoinConfig>);
|
|
9
|
+
toJson(): TxData;
|
|
10
|
+
private createJettonTransferPayload;
|
|
11
|
+
build(): Promise<void>;
|
|
12
|
+
fromRawTransaction(rawTransaction: string): void;
|
|
13
|
+
/** @inheritDoc */
|
|
14
|
+
explainTransaction(): TransactionExplanation;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=tokenTransaction.d.ts.map
|