@ton-wallet/create 14.0.5 → 14.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/package.json +1 -2
- package/dist/client/TonClient.d.ts +0 -228
- package/dist/client/TonClient.js +0 -441
- package/dist/client/TonClient.spec.d.ts +0 -1
- package/dist/client/TonClient.spec.js +0 -45
- package/dist/client/TonClient4.d.ts +0 -1130
- package/dist/client/TonClient4.js +0 -687
- package/dist/client/TonClient4.spec.d.ts +0 -1
- package/dist/client/TonClient4.spec.js +0 -42
- package/dist/client/api/HttpApi.d.ts +0 -764
- package/dist/client/api/HttpApi.js +0 -306
- package/dist/client/api/TonCache.d.ts +0 -16
- package/dist/client/api/TonCache.js +0 -33
- package/dist/config/ConfigParser.d.ts +0 -622
- package/dist/config/ConfigParser.js +0 -711
- package/dist/config/ConfigParser.spec.d.ts +0 -8
- package/dist/config/ConfigParser.spec.js +0 -97
- package/dist/elector/ElectorContract.d.ts +0 -51
- package/dist/elector/ElectorContract.js +0 -192
- package/dist/elector/ElectorContract.spec.d.ts +0 -8
- package/dist/elector/ElectorContract.spec.js +0 -104
- package/dist/index.d.ts +0 -32
- package/dist/index.js +0 -129
- package/dist/jetton/JettonMaster.d.ts +0 -21
- package/dist/jetton/JettonMaster.js +0 -39
- package/dist/jetton/JettonMaster.spec.d.ts +0 -8
- package/dist/jetton/JettonMaster.spec.js +0 -27
- package/dist/jetton/JettonWallet.d.ts +0 -14
- package/dist/jetton/JettonWallet.js +0 -27
- package/dist/multisig/MultisigOrder.d.ts +0 -17
- package/dist/multisig/MultisigOrder.js +0 -73
- package/dist/multisig/MultisigOrder.spec.d.ts +0 -1
- package/dist/multisig/MultisigOrder.spec.js +0 -139
- package/dist/multisig/MultisigOrderBuilder.d.ts +0 -13
- package/dist/multisig/MultisigOrderBuilder.js +0 -37
- package/dist/multisig/MultisigWallet.d.ts +0 -27
- package/dist/multisig/MultisigWallet.js +0 -134
- package/dist/multisig/MultisigWallet.spec.d.ts +0 -1
- package/dist/multisig/MultisigWallet.spec.js +0 -248
- package/dist/utils/createTestClient.d.ts +0 -9
- package/dist/utils/createTestClient.js +0 -18
- package/dist/utils/createTestClient4.d.ts +0 -9
- package/dist/utils/createTestClient4.js +0 -15
- package/dist/utils/fees.d.ts +0 -25
- package/dist/utils/fees.js +0 -105
- package/dist/utils/fees.spec.d.ts +0 -1
- package/dist/utils/fees.spec.js +0 -83
- package/dist/utils/maybe.d.ts +0 -8
- package/dist/utils/maybe.js +0 -9
- package/dist/utils/randomTestKey.d.ts +0 -8
- package/dist/utils/randomTestKey.js +0 -24
- package/dist/utils/time.d.ts +0 -15
- package/dist/utils/time.js +0 -63
- package/dist/utils/toUrlSafe.d.ts +0 -8
- package/dist/utils/toUrlSafe.js +0 -23
- package/dist/wallets/WalletContractV1R1.d.ts +0 -58
- package/dist/wallets/WalletContractV1R1.js +0 -100
- package/dist/wallets/WalletContractV1R1.spec.d.ts +0 -8
- package/dist/wallets/WalletContractV1R1.spec.js +0 -44
- package/dist/wallets/WalletContractV1R2.d.ts +0 -58
- package/dist/wallets/WalletContractV1R2.js +0 -101
- package/dist/wallets/WalletContractV1R2.spec.d.ts +0 -8
- package/dist/wallets/WalletContractV1R2.spec.js +0 -44
- package/dist/wallets/WalletContractV1R3.d.ts +0 -58
- package/dist/wallets/WalletContractV1R3.js +0 -101
- package/dist/wallets/WalletContractV1R3.spec.d.ts +0 -8
- package/dist/wallets/WalletContractV1R3.spec.js +0 -44
- package/dist/wallets/WalletContractV2R1.d.ts +0 -60
- package/dist/wallets/WalletContractV2R1.js +0 -102
- package/dist/wallets/WalletContractV2R1.spec.d.ts +0 -8
- package/dist/wallets/WalletContractV2R1.spec.js +0 -44
- package/dist/wallets/WalletContractV2R2.d.ts +0 -60
- package/dist/wallets/WalletContractV2R2.js +0 -102
- package/dist/wallets/WalletContractV2R2.spec.d.ts +0 -8
- package/dist/wallets/WalletContractV2R2.spec.js +0 -44
- package/dist/wallets/WalletContractV3R1.d.ts +0 -57
- package/dist/wallets/WalletContractV3R1.js +0 -104
- package/dist/wallets/WalletContractV3R1.spec.d.ts +0 -8
- package/dist/wallets/WalletContractV3R1.spec.js +0 -44
- package/dist/wallets/WalletContractV3R2.d.ts +0 -57
- package/dist/wallets/WalletContractV3R2.js +0 -104
- package/dist/wallets/WalletContractV3R2.spec.d.ts +0 -8
- package/dist/wallets/WalletContractV3R2.spec.js +0 -44
- package/dist/wallets/WalletContractV3Types.d.ts +0 -12
- package/dist/wallets/WalletContractV3Types.js +0 -2
- package/dist/wallets/WalletContractV4.d.ts +0 -65
- package/dist/wallets/WalletContractV4.js +0 -105
- package/dist/wallets/WalletContractV4.spec.d.ts +0 -8
- package/dist/wallets/WalletContractV4.spec.js +0 -48
- package/dist/wallets/WalletContractV5Beta.d.ts +0 -3
- package/dist/wallets/WalletContractV5Beta.js +0 -19
- package/dist/wallets/WalletContractV5R1.d.ts +0 -3
- package/dist/wallets/WalletContractV5R1.js +0 -19
- package/dist/wallets/signing/createWalletTransfer.d.ts +0 -48
- package/dist/wallets/signing/createWalletTransfer.js +0 -190
- package/dist/wallets/signing/singer.d.ts +0 -9
- package/dist/wallets/signing/singer.js +0 -21
- package/dist/wallets/v5beta/WalletContractV5Beta.d.ts +0 -130
- package/dist/wallets/v5beta/WalletContractV5Beta.js +0 -211
- package/dist/wallets/v5beta/WalletContractV5Beta.spec.d.ts +0 -8
- package/dist/wallets/v5beta/WalletContractV5Beta.spec.js +0 -298
- package/dist/wallets/v5beta/WalletV5BetaActions.d.ts +0 -6
- package/dist/wallets/v5beta/WalletV5BetaActions.js +0 -92
- package/dist/wallets/v5beta/WalletV5BetaActions.spec.d.ts +0 -1
- package/dist/wallets/v5beta/WalletV5BetaActions.spec.js +0 -166
- package/dist/wallets/v5beta/WalletV5BetaWalletId.d.ts +0 -13
- package/dist/wallets/v5beta/WalletV5BetaWalletId.js +0 -31
- package/dist/wallets/v5beta/WalletV5BetaWalletId.spec.d.ts +0 -1
- package/dist/wallets/v5beta/WalletV5BetaWalletId.spec.js +0 -68
- package/dist/wallets/v5beta/WalletV5OutActions.d.ts +0 -17
- package/dist/wallets/v5beta/WalletV5OutActions.js +0 -11
- package/dist/wallets/v5r1/WalletContractV5R1.d.ts +0 -125
- package/dist/wallets/v5r1/WalletContractV5R1.js +0 -207
- package/dist/wallets/v5r1/WalletContractV5R1.spec.d.ts +0 -8
- package/dist/wallets/v5r1/WalletContractV5R1.spec.js +0 -321
- package/dist/wallets/v5r1/WalletV5R1Actions.d.ts +0 -12
- package/dist/wallets/v5r1/WalletV5R1Actions.js +0 -128
- package/dist/wallets/v5r1/WalletV5R1Actions.spec.d.ts +0 -1
- package/dist/wallets/v5r1/WalletV5R1Actions.spec.js +0 -262
- package/dist/wallets/v5r1/WalletV5R1WalletId.d.ts +0 -47
- package/dist/wallets/v5r1/WalletV5R1WalletId.js +0 -69
- package/dist/wallets/v5r1/WalletV5R1WalletId.spec.d.ts +0 -1
- package/dist/wallets/v5r1/WalletV5R1WalletId.spec.js +0 -72
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Copyright (c) Whales Corp.
|
|
4
|
-
* All Rights Reserved.
|
|
5
|
-
*
|
|
6
|
-
* This source code is licensed under the MIT license found in the
|
|
7
|
-
* LICENSE file in the root directory of this source tree.
|
|
8
|
-
*/
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.createWalletTransferV5R1 = exports.createWalletTransferV5Beta = exports.createWalletTransferV4 = exports.createWalletTransferV3 = exports.createWalletTransferV2 = exports.createWalletTransferV1 = void 0;
|
|
11
|
-
const core_1 = require("@ton/core");
|
|
12
|
-
const crypto_1 = require("@ton/crypto");
|
|
13
|
-
const WalletContractV5Beta_1 = require("../v5beta/WalletContractV5Beta");
|
|
14
|
-
const WalletV5BetaActions_1 = require("../v5beta/WalletV5BetaActions");
|
|
15
|
-
const singer_1 = require("./singer");
|
|
16
|
-
const WalletContractV5R1_1 = require("../v5r1/WalletContractV5R1");
|
|
17
|
-
const WalletV5R1Actions_1 = require("../v5r1/WalletV5R1Actions");
|
|
18
|
-
function packSignatureToFront(signature, signingMessage) {
|
|
19
|
-
const body = (0, core_1.beginCell)()
|
|
20
|
-
.storeBuffer(signature)
|
|
21
|
-
.storeBuilder(signingMessage)
|
|
22
|
-
.endCell();
|
|
23
|
-
return body;
|
|
24
|
-
}
|
|
25
|
-
function packSignatureToTail(signature, signingMessage) {
|
|
26
|
-
const body = (0, core_1.beginCell)()
|
|
27
|
-
.storeBuilder(signingMessage)
|
|
28
|
-
.storeBuffer(signature)
|
|
29
|
-
.endCell();
|
|
30
|
-
return body;
|
|
31
|
-
}
|
|
32
|
-
function createWalletTransferV1(args) {
|
|
33
|
-
// Create message
|
|
34
|
-
let signingMessage = (0, core_1.beginCell)()
|
|
35
|
-
.storeUint(args.seqno, 32);
|
|
36
|
-
if (args.message) {
|
|
37
|
-
signingMessage.storeUint(args.sendMode, 8);
|
|
38
|
-
signingMessage.storeRef((0, core_1.beginCell)().store((0, core_1.storeMessageRelaxed)(args.message)));
|
|
39
|
-
}
|
|
40
|
-
// Sign message
|
|
41
|
-
let signature = (0, crypto_1.sign)(signingMessage.endCell().hash(), args.secretKey);
|
|
42
|
-
// Body
|
|
43
|
-
const body = (0, core_1.beginCell)()
|
|
44
|
-
.storeBuffer(signature)
|
|
45
|
-
.storeBuilder(signingMessage)
|
|
46
|
-
.endCell();
|
|
47
|
-
return body;
|
|
48
|
-
}
|
|
49
|
-
exports.createWalletTransferV1 = createWalletTransferV1;
|
|
50
|
-
function createWalletTransferV2(args) {
|
|
51
|
-
// Check number of messages
|
|
52
|
-
if (args.messages.length > 4) {
|
|
53
|
-
throw Error("Maximum number of messages in a single transfer is 4");
|
|
54
|
-
}
|
|
55
|
-
// Create message
|
|
56
|
-
let signingMessage = (0, core_1.beginCell)()
|
|
57
|
-
.storeUint(args.seqno, 32);
|
|
58
|
-
if (args.seqno === 0) {
|
|
59
|
-
for (let i = 0; i < 32; i++) {
|
|
60
|
-
signingMessage.storeBit(1);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
signingMessage.storeUint(args.timeout || Math.floor(Date.now() / 1e3) + 60, 32); // Default timeout: 60 seconds
|
|
65
|
-
}
|
|
66
|
-
for (let m of args.messages) {
|
|
67
|
-
signingMessage.storeUint(args.sendMode, 8);
|
|
68
|
-
signingMessage.storeRef((0, core_1.beginCell)().store((0, core_1.storeMessageRelaxed)(m)));
|
|
69
|
-
}
|
|
70
|
-
// Sign message
|
|
71
|
-
let signature = (0, crypto_1.sign)(signingMessage.endCell().hash(), args.secretKey);
|
|
72
|
-
// Body
|
|
73
|
-
const body = (0, core_1.beginCell)()
|
|
74
|
-
.storeBuffer(signature)
|
|
75
|
-
.storeBuilder(signingMessage)
|
|
76
|
-
.endCell();
|
|
77
|
-
return body;
|
|
78
|
-
}
|
|
79
|
-
exports.createWalletTransferV2 = createWalletTransferV2;
|
|
80
|
-
function createWalletTransferV3(args) {
|
|
81
|
-
// Check number of messages
|
|
82
|
-
if (args.messages.length > 4) {
|
|
83
|
-
throw Error("Maximum number of messages in a single transfer is 4");
|
|
84
|
-
}
|
|
85
|
-
// Create message to sign
|
|
86
|
-
let signingMessage = (0, core_1.beginCell)()
|
|
87
|
-
.storeUint(args.walletId, 32);
|
|
88
|
-
if (args.seqno === 0) {
|
|
89
|
-
for (let i = 0; i < 32; i++) {
|
|
90
|
-
signingMessage.storeBit(1);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
signingMessage.storeUint(args.timeout || Math.floor(Date.now() / 1e3) + 60, 32); // Default timeout: 60 seconds
|
|
95
|
-
}
|
|
96
|
-
signingMessage.storeUint(args.seqno, 32);
|
|
97
|
-
for (let m of args.messages) {
|
|
98
|
-
signingMessage.storeUint(args.sendMode, 8);
|
|
99
|
-
signingMessage.storeRef((0, core_1.beginCell)().store((0, core_1.storeMessageRelaxed)(m)));
|
|
100
|
-
}
|
|
101
|
-
return (0, singer_1.signPayload)(args, signingMessage, packSignatureToFront);
|
|
102
|
-
}
|
|
103
|
-
exports.createWalletTransferV3 = createWalletTransferV3;
|
|
104
|
-
function createWalletTransferV4(args) {
|
|
105
|
-
// Check number of messages
|
|
106
|
-
if (args.messages.length > 4) {
|
|
107
|
-
throw Error("Maximum number of messages in a single transfer is 4");
|
|
108
|
-
}
|
|
109
|
-
let signingMessage = (0, core_1.beginCell)()
|
|
110
|
-
.storeUint(args.walletId, 32);
|
|
111
|
-
if (args.seqno === 0) {
|
|
112
|
-
for (let i = 0; i < 32; i++) {
|
|
113
|
-
signingMessage.storeBit(1);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
else {
|
|
117
|
-
signingMessage.storeUint(args.timeout || Math.floor(Date.now() / 1e3) + 60, 32); // Default timeout: 60 seconds
|
|
118
|
-
}
|
|
119
|
-
signingMessage.storeUint(args.seqno, 32);
|
|
120
|
-
signingMessage.storeUint(0, 8); // Simple order
|
|
121
|
-
for (let m of args.messages) {
|
|
122
|
-
signingMessage.storeUint(args.sendMode, 8);
|
|
123
|
-
signingMessage.storeRef((0, core_1.beginCell)().store((0, core_1.storeMessageRelaxed)(m)));
|
|
124
|
-
}
|
|
125
|
-
return (0, singer_1.signPayload)(args, signingMessage, packSignatureToFront);
|
|
126
|
-
}
|
|
127
|
-
exports.createWalletTransferV4 = createWalletTransferV4;
|
|
128
|
-
function createWalletTransferV5Beta(args) {
|
|
129
|
-
// Check number of actions
|
|
130
|
-
if (args.actions.length > 255) {
|
|
131
|
-
throw Error("Maximum number of OutActions in a single request is 255");
|
|
132
|
-
}
|
|
133
|
-
if (args.authType === 'extension') {
|
|
134
|
-
return (0, core_1.beginCell)()
|
|
135
|
-
.storeUint(WalletContractV5Beta_1.WalletContractV5Beta.OpCodes.auth_extension, 32)
|
|
136
|
-
.store((0, WalletV5BetaActions_1.storeOutListExtendedV5Beta)(args.actions))
|
|
137
|
-
.endCell();
|
|
138
|
-
}
|
|
139
|
-
const signingMessage = (0, core_1.beginCell)()
|
|
140
|
-
.storeUint(args.authType === 'internal'
|
|
141
|
-
? WalletContractV5Beta_1.WalletContractV5Beta.OpCodes.auth_signed_internal
|
|
142
|
-
: WalletContractV5Beta_1.WalletContractV5Beta.OpCodes.auth_signed_external, 32)
|
|
143
|
-
.store(args.walletId);
|
|
144
|
-
if (args.seqno === 0) {
|
|
145
|
-
for (let i = 0; i < 32; i++) {
|
|
146
|
-
signingMessage.storeBit(1);
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
else {
|
|
150
|
-
signingMessage.storeUint(args.timeout || Math.floor(Date.now() / 1e3) + 60, 32); // Default timeout: 60 seconds
|
|
151
|
-
}
|
|
152
|
-
signingMessage
|
|
153
|
-
.storeUint(args.seqno, 32)
|
|
154
|
-
.store((0, WalletV5BetaActions_1.storeOutListExtendedV5Beta)(args.actions));
|
|
155
|
-
return (0, singer_1.signPayload)(args, signingMessage, packSignatureToTail);
|
|
156
|
-
}
|
|
157
|
-
exports.createWalletTransferV5Beta = createWalletTransferV5Beta;
|
|
158
|
-
function createWalletTransferV5R1(args) {
|
|
159
|
-
// Check number of actions
|
|
160
|
-
if (args.actions.length > 255) {
|
|
161
|
-
throw Error("Maximum number of OutActions in a single request is 255");
|
|
162
|
-
}
|
|
163
|
-
args = { ...args };
|
|
164
|
-
if (args.authType === 'extension') {
|
|
165
|
-
return (0, core_1.beginCell)()
|
|
166
|
-
.storeUint(WalletContractV5R1_1.WalletContractV5R1.OpCodes.auth_extension, 32)
|
|
167
|
-
.storeUint(args.queryId ?? 0, 64)
|
|
168
|
-
.store((0, WalletV5R1Actions_1.storeOutListExtendedV5R1)(args.actions))
|
|
169
|
-
.endCell();
|
|
170
|
-
}
|
|
171
|
-
args.actions = (0, WalletV5R1Actions_1.patchV5R1ActionsSendMode)(args.actions, args.authType);
|
|
172
|
-
const signingMessage = (0, core_1.beginCell)()
|
|
173
|
-
.storeUint(args.authType === 'internal'
|
|
174
|
-
? WalletContractV5R1_1.WalletContractV5R1.OpCodes.auth_signed_internal
|
|
175
|
-
: WalletContractV5R1_1.WalletContractV5R1.OpCodes.auth_signed_external, 32)
|
|
176
|
-
.store(args.walletId);
|
|
177
|
-
if (args.seqno === 0) {
|
|
178
|
-
for (let i = 0; i < 32; i++) {
|
|
179
|
-
signingMessage.storeBit(1);
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
else {
|
|
183
|
-
signingMessage.storeUint(args.timeout || Math.floor(Date.now() / 1e3) + 60, 32); // Default timeout: 60 seconds
|
|
184
|
-
}
|
|
185
|
-
signingMessage
|
|
186
|
-
.storeUint(args.seqno, 32)
|
|
187
|
-
.store((0, WalletV5R1Actions_1.storeOutListExtendedV5R1)(args.actions));
|
|
188
|
-
return (0, singer_1.signPayload)(args, signingMessage, packSignatureToTail);
|
|
189
|
-
}
|
|
190
|
-
exports.createWalletTransferV5R1 = createWalletTransferV5R1;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { Builder, Cell } from "@ton/core";
|
|
3
|
-
export type SendArgsSigned = {
|
|
4
|
-
secretKey: Buffer;
|
|
5
|
-
};
|
|
6
|
-
export type SendArgsSignable = {
|
|
7
|
-
signer: (message: Cell) => Promise<Buffer>;
|
|
8
|
-
};
|
|
9
|
-
export declare function signPayload<T extends SendArgsSigned | SendArgsSignable>(args: T, signingMessage: Builder, packMessage: (signature: Buffer, signingMessage: Builder) => Cell): T extends SendArgsSignable ? Promise<Cell> : Cell;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.signPayload = void 0;
|
|
4
|
-
const crypto_1 = require("@ton/crypto");
|
|
5
|
-
function signPayload(args, signingMessage, packMessage) {
|
|
6
|
-
if ('secretKey' in args) {
|
|
7
|
-
/**
|
|
8
|
-
* Client provider an secretKey to sign transaction.
|
|
9
|
-
*/
|
|
10
|
-
return packMessage((0, crypto_1.sign)(signingMessage.endCell().hash(), args.secretKey), signingMessage);
|
|
11
|
-
}
|
|
12
|
-
else {
|
|
13
|
-
/**
|
|
14
|
-
* Client use external storage for secretKey.
|
|
15
|
-
* In this case lib could create a request to external resource to sign transaction.
|
|
16
|
-
*/
|
|
17
|
-
return args.signer(signingMessage.endCell())
|
|
18
|
-
.then(signature => packMessage(signature, signingMessage));
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
exports.signPayload = signPayload;
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) Whales Corp.
|
|
3
|
-
* All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* This source code is licensed under the MIT license found in the
|
|
6
|
-
* LICENSE file in the root directory of this source tree.
|
|
7
|
-
*/
|
|
8
|
-
/// <reference types="node" />
|
|
9
|
-
import { Address, Cell, Contract, ContractProvider, MessageRelaxed, Sender, SendMode } from "@ton/core";
|
|
10
|
-
import { Maybe } from "../../utils/maybe";
|
|
11
|
-
import { SendArgsSignable, SendArgsSigned } from "../signing/singer";
|
|
12
|
-
import { OutActionWalletV5 } from "./WalletV5OutActions";
|
|
13
|
-
import { WalletIdV5Beta } from "./WalletV5BetaWalletId";
|
|
14
|
-
export type WalletV5BetaBasicSendArgs = {
|
|
15
|
-
seqno: number;
|
|
16
|
-
timeout?: Maybe<number>;
|
|
17
|
-
};
|
|
18
|
-
export type WalletV5BetaSendArgsSigned = WalletV5BetaBasicSendArgs & SendArgsSigned & {
|
|
19
|
-
authType?: 'external' | 'internal';
|
|
20
|
-
};
|
|
21
|
-
export type WalletV5BetaSendArgsSignable = WalletV5BetaBasicSendArgs & SendArgsSignable & {
|
|
22
|
-
authType?: 'external' | 'internal';
|
|
23
|
-
};
|
|
24
|
-
export type WalletV5BetaSendArgsExtensionAuth = WalletV5BetaBasicSendArgs & {
|
|
25
|
-
authType: 'extension';
|
|
26
|
-
};
|
|
27
|
-
export type WalletV5BetaSendArgs = WalletV5BetaSendArgsSigned | WalletV5BetaSendArgsSignable | WalletV5BetaSendArgsExtensionAuth;
|
|
28
|
-
export type WalletV5BetaPackedCell<T> = T extends WalletV5BetaSendArgsSignable ? Promise<Cell> : Cell;
|
|
29
|
-
/**
|
|
30
|
-
* @deprecated
|
|
31
|
-
* use WalletContractV5R1 instead
|
|
32
|
-
*/
|
|
33
|
-
export declare class WalletContractV5Beta implements Contract {
|
|
34
|
-
readonly walletId: WalletIdV5Beta;
|
|
35
|
-
readonly publicKey: Buffer;
|
|
36
|
-
static OpCodes: {
|
|
37
|
-
auth_extension: number;
|
|
38
|
-
auth_signed_external: number;
|
|
39
|
-
auth_signed_internal: number;
|
|
40
|
-
};
|
|
41
|
-
static create(args: {
|
|
42
|
-
walletId?: Partial<WalletIdV5Beta>;
|
|
43
|
-
publicKey: Buffer;
|
|
44
|
-
}): WalletContractV5Beta;
|
|
45
|
-
readonly address: Address;
|
|
46
|
-
readonly init: {
|
|
47
|
-
data: Cell;
|
|
48
|
-
code: Cell;
|
|
49
|
-
};
|
|
50
|
-
private constructor();
|
|
51
|
-
/**
|
|
52
|
-
* Get Wallet Balance
|
|
53
|
-
*/
|
|
54
|
-
getBalance(provider: ContractProvider): Promise<bigint>;
|
|
55
|
-
/**
|
|
56
|
-
* Get Wallet Seqno
|
|
57
|
-
*/
|
|
58
|
-
getSeqno(provider: ContractProvider): Promise<number>;
|
|
59
|
-
/**
|
|
60
|
-
* Get Wallet Extensions
|
|
61
|
-
*/
|
|
62
|
-
getExtensions(provider: ContractProvider): Promise<Cell | null>;
|
|
63
|
-
/**
|
|
64
|
-
* Get Wallet Extensions
|
|
65
|
-
*/
|
|
66
|
-
getExtensionsArray(provider: ContractProvider): Promise<Address[]>;
|
|
67
|
-
/**
|
|
68
|
-
* Get is secret-key authentication enabled
|
|
69
|
-
*/
|
|
70
|
-
getIsSecretKeyAuthEnabled(provider: ContractProvider): Promise<boolean>;
|
|
71
|
-
/**
|
|
72
|
-
* Send signed transfer
|
|
73
|
-
*/
|
|
74
|
-
send(provider: ContractProvider, message: Cell): Promise<void>;
|
|
75
|
-
/**
|
|
76
|
-
* Sign and send transfer
|
|
77
|
-
*/
|
|
78
|
-
sendTransfer(provider: ContractProvider, args: WalletV5BetaSendArgs & {
|
|
79
|
-
messages: MessageRelaxed[];
|
|
80
|
-
sendMode: SendMode;
|
|
81
|
-
}): Promise<void>;
|
|
82
|
-
/**
|
|
83
|
-
* Sign and send add extension request
|
|
84
|
-
*/
|
|
85
|
-
sendAddExtension(provider: ContractProvider, args: WalletV5BetaSendArgs & {
|
|
86
|
-
extensionAddress: Address;
|
|
87
|
-
}): Promise<void>;
|
|
88
|
-
/**
|
|
89
|
-
* Sign and send remove extension request
|
|
90
|
-
*/
|
|
91
|
-
sendRemoveExtension(provider: ContractProvider, args: WalletV5BetaSendArgs & {
|
|
92
|
-
extensionAddress: Address;
|
|
93
|
-
}): Promise<void>;
|
|
94
|
-
/**
|
|
95
|
-
* Sign and send actions batch
|
|
96
|
-
*/
|
|
97
|
-
sendActionsBatch(provider: ContractProvider, args: WalletV5BetaSendArgs & {
|
|
98
|
-
actions: OutActionWalletV5[];
|
|
99
|
-
}): Promise<void>;
|
|
100
|
-
private createActions;
|
|
101
|
-
/**
|
|
102
|
-
* Create signed transfer
|
|
103
|
-
*/
|
|
104
|
-
createTransfer<T extends WalletV5BetaSendArgs>(args: T & {
|
|
105
|
-
messages: MessageRelaxed[];
|
|
106
|
-
sendMode: SendMode;
|
|
107
|
-
}): WalletV5BetaPackedCell<T>;
|
|
108
|
-
/**
|
|
109
|
-
* Create signed add extension request
|
|
110
|
-
*/
|
|
111
|
-
createAddExtension<T extends WalletV5BetaSendArgs>(args: T & {
|
|
112
|
-
extensionAddress: Address;
|
|
113
|
-
}): WalletV5BetaPackedCell<T>;
|
|
114
|
-
/**
|
|
115
|
-
* Create signed remove extension request
|
|
116
|
-
*/
|
|
117
|
-
createRemoveExtension<T extends WalletV5BetaSendArgs>(args: T & {
|
|
118
|
-
extensionAddress: Address;
|
|
119
|
-
}): WalletV5BetaPackedCell<T>;
|
|
120
|
-
/**
|
|
121
|
-
* Create signed request or extension auth request
|
|
122
|
-
*/
|
|
123
|
-
createRequest<T extends WalletV5BetaSendArgs>(args: T & {
|
|
124
|
-
actions: OutActionWalletV5[];
|
|
125
|
-
}): WalletV5BetaPackedCell<T>;
|
|
126
|
-
/**
|
|
127
|
-
* Create sender
|
|
128
|
-
*/
|
|
129
|
-
sender(provider: ContractProvider, secretKey: Buffer): Sender;
|
|
130
|
-
}
|
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Copyright (c) Whales Corp.
|
|
4
|
-
* All Rights Reserved.
|
|
5
|
-
*
|
|
6
|
-
* This source code is licensed under the MIT license found in the
|
|
7
|
-
* LICENSE file in the root directory of this source tree.
|
|
8
|
-
*/
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.WalletContractV5Beta = void 0;
|
|
11
|
-
const core_1 = require("@ton/core");
|
|
12
|
-
const createWalletTransfer_1 = require("../signing/createWalletTransfer");
|
|
13
|
-
const WalletV5BetaWalletId_1 = require("./WalletV5BetaWalletId");
|
|
14
|
-
/**
|
|
15
|
-
* @deprecated
|
|
16
|
-
* use WalletContractV5R1 instead
|
|
17
|
-
*/
|
|
18
|
-
class WalletContractV5Beta {
|
|
19
|
-
static create(args) {
|
|
20
|
-
const walletId = {
|
|
21
|
-
networkGlobalId: args.walletId?.networkGlobalId ?? -239,
|
|
22
|
-
workchain: args?.walletId?.workchain ?? 0,
|
|
23
|
-
subwalletNumber: args?.walletId?.subwalletNumber ?? 0,
|
|
24
|
-
walletVersion: args?.walletId?.walletVersion ?? 'v5'
|
|
25
|
-
};
|
|
26
|
-
return new WalletContractV5Beta(walletId, args.publicKey);
|
|
27
|
-
}
|
|
28
|
-
constructor(walletId, publicKey) {
|
|
29
|
-
this.walletId = walletId;
|
|
30
|
-
this.publicKey = publicKey;
|
|
31
|
-
this.walletId = walletId;
|
|
32
|
-
// https://github.com/tonkeeper/w5/commit/fa1b372a417a32af104fe1b949b6b31d29cee349 code with library
|
|
33
|
-
let code = core_1.Cell.fromBoc(Buffer.from('te6cckEBAQEAIwAIQgLkzzsvTG1qYeoPK1RH0mZ4WyavNjfbLe7mvNGqgm80Eg3NjhE=', 'base64'))[0];
|
|
34
|
-
let data = (0, core_1.beginCell)()
|
|
35
|
-
.storeInt(0, 33) // Seqno
|
|
36
|
-
.store((0, WalletV5BetaWalletId_1.storeWalletIdV5Beta)(this.walletId))
|
|
37
|
-
.storeBuffer(this.publicKey, 32)
|
|
38
|
-
.storeBit(0) // Empty plugins dict
|
|
39
|
-
.endCell();
|
|
40
|
-
this.init = { code, data };
|
|
41
|
-
this.address = (0, core_1.contractAddress)(this.walletId.workchain, { code, data });
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Get Wallet Balance
|
|
45
|
-
*/
|
|
46
|
-
async getBalance(provider) {
|
|
47
|
-
let state = await provider.getState();
|
|
48
|
-
return state.balance;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Get Wallet Seqno
|
|
52
|
-
*/
|
|
53
|
-
async getSeqno(provider) {
|
|
54
|
-
let state = await provider.getState();
|
|
55
|
-
if (state.state.type === 'active') {
|
|
56
|
-
let res = await provider.get('seqno', []);
|
|
57
|
-
return res.stack.readNumber();
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
return 0;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Get Wallet Extensions
|
|
65
|
-
*/
|
|
66
|
-
async getExtensions(provider) {
|
|
67
|
-
let state = await provider.getState();
|
|
68
|
-
if (state.state.type === 'active') {
|
|
69
|
-
const result = await provider.get('get_extensions', []);
|
|
70
|
-
return result.stack.readCellOpt();
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
return null;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Get Wallet Extensions
|
|
78
|
-
*/
|
|
79
|
-
async getExtensionsArray(provider) {
|
|
80
|
-
const extensions = await this.getExtensions(provider);
|
|
81
|
-
if (!extensions) {
|
|
82
|
-
return [];
|
|
83
|
-
}
|
|
84
|
-
const dict = core_1.Dictionary.loadDirect(core_1.Dictionary.Keys.BigUint(256), core_1.Dictionary.Values.BigInt(8), extensions);
|
|
85
|
-
return dict.keys().map(key => {
|
|
86
|
-
const wc = dict.get(key);
|
|
87
|
-
const addressHex = key ^ (wc + 1n);
|
|
88
|
-
return core_1.Address.parseRaw(`${wc}:${addressHex.toString(16).padStart(64, "0")}`);
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Get is secret-key authentication enabled
|
|
93
|
-
*/
|
|
94
|
-
async getIsSecretKeyAuthEnabled(provider) {
|
|
95
|
-
let res = await provider.get('get_is_signature_auth_allowed', []);
|
|
96
|
-
const result = res.stack.readNumber();
|
|
97
|
-
return result !== 0;
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Send signed transfer
|
|
101
|
-
*/
|
|
102
|
-
async send(provider, message) {
|
|
103
|
-
await provider.external(message);
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Sign and send transfer
|
|
107
|
-
*/
|
|
108
|
-
async sendTransfer(provider, args) {
|
|
109
|
-
const transfer = await this.createTransfer(args);
|
|
110
|
-
await this.send(provider, transfer);
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Sign and send add extension request
|
|
114
|
-
*/
|
|
115
|
-
async sendAddExtension(provider, args) {
|
|
116
|
-
const request = await this.createAddExtension(args);
|
|
117
|
-
await this.send(provider, request);
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Sign and send remove extension request
|
|
121
|
-
*/
|
|
122
|
-
async sendRemoveExtension(provider, args) {
|
|
123
|
-
const request = await this.createRemoveExtension(args);
|
|
124
|
-
await this.send(provider, request);
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Sign and send actions batch
|
|
128
|
-
*/
|
|
129
|
-
async sendActionsBatch(provider, args) {
|
|
130
|
-
const request = await this.createRequest(args);
|
|
131
|
-
await this.send(provider, request);
|
|
132
|
-
}
|
|
133
|
-
createActions(args) {
|
|
134
|
-
const actions = args.messages.map(message => ({ type: 'sendMsg', mode: args.sendMode, outMsg: message }));
|
|
135
|
-
return actions;
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* Create signed transfer
|
|
139
|
-
*/
|
|
140
|
-
createTransfer(args) {
|
|
141
|
-
return this.createRequest({
|
|
142
|
-
...args,
|
|
143
|
-
actions: this.createActions({ messages: args.messages, sendMode: args.sendMode })
|
|
144
|
-
});
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* Create signed add extension request
|
|
148
|
-
*/
|
|
149
|
-
createAddExtension(args) {
|
|
150
|
-
return this.createRequest({
|
|
151
|
-
...args,
|
|
152
|
-
actions: [{
|
|
153
|
-
type: 'addExtension',
|
|
154
|
-
address: args.extensionAddress
|
|
155
|
-
}]
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Create signed remove extension request
|
|
160
|
-
*/
|
|
161
|
-
createRemoveExtension(args) {
|
|
162
|
-
return this.createRequest({
|
|
163
|
-
...args,
|
|
164
|
-
actions: [{
|
|
165
|
-
type: 'removeExtension',
|
|
166
|
-
address: args.extensionAddress
|
|
167
|
-
}]
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* Create signed request or extension auth request
|
|
172
|
-
*/
|
|
173
|
-
createRequest(args) {
|
|
174
|
-
if (args.authType === 'extension') {
|
|
175
|
-
return (0, createWalletTransfer_1.createWalletTransferV5Beta)(args);
|
|
176
|
-
}
|
|
177
|
-
return (0, createWalletTransfer_1.createWalletTransferV5Beta)({
|
|
178
|
-
...args,
|
|
179
|
-
walletId: (0, WalletV5BetaWalletId_1.storeWalletIdV5Beta)(this.walletId)
|
|
180
|
-
});
|
|
181
|
-
}
|
|
182
|
-
/**
|
|
183
|
-
* Create sender
|
|
184
|
-
*/
|
|
185
|
-
sender(provider, secretKey) {
|
|
186
|
-
return {
|
|
187
|
-
send: async (args) => {
|
|
188
|
-
let seqno = await this.getSeqno(provider);
|
|
189
|
-
let transfer = this.createTransfer({
|
|
190
|
-
seqno,
|
|
191
|
-
secretKey,
|
|
192
|
-
sendMode: args.sendMode ?? core_1.SendMode.PAY_GAS_SEPARATELY + core_1.SendMode.IGNORE_ERRORS,
|
|
193
|
-
messages: [(0, core_1.internal)({
|
|
194
|
-
to: args.to,
|
|
195
|
-
value: args.value,
|
|
196
|
-
init: args.init,
|
|
197
|
-
body: args.body,
|
|
198
|
-
bounce: args.bounce
|
|
199
|
-
})]
|
|
200
|
-
});
|
|
201
|
-
await this.send(provider, transfer);
|
|
202
|
-
}
|
|
203
|
-
};
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
exports.WalletContractV5Beta = WalletContractV5Beta;
|
|
207
|
-
WalletContractV5Beta.OpCodes = {
|
|
208
|
-
auth_extension: 0x6578746e,
|
|
209
|
-
auth_signed_external: 0x7369676e,
|
|
210
|
-
auth_signed_internal: 0x73696e74
|
|
211
|
-
};
|