@ton/ton 13.11.2 → 14.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/TonClient.js +22 -14
- package/dist/index.d.ts +2 -0
- package/dist/index.js +5 -1
- package/dist/multisig/MultisigWallet.js +1 -1
- package/dist/wallets/WalletContractV3R1.d.ts +2 -7
- package/dist/wallets/WalletContractV3R1.js +2 -9
- package/dist/wallets/WalletContractV3R2.d.ts +2 -7
- package/dist/wallets/WalletContractV3R2.js +2 -9
- package/dist/wallets/WalletContractV3Types.d.ts +12 -0
- package/dist/wallets/WalletContractV3Types.js +2 -0
- package/dist/wallets/WalletContractV4.d.ts +10 -7
- package/dist/wallets/WalletContractV4.js +2 -9
- package/dist/wallets/WalletContractV5Beta.d.ts +3 -0
- package/dist/wallets/WalletContractV5Beta.js +19 -0
- package/dist/wallets/WalletContractV5R1.d.ts +3 -0
- package/dist/wallets/WalletContractV5R1.js +19 -0
- package/dist/wallets/signing/createWalletTransfer.d.ts +24 -15
- package/dist/wallets/signing/createWalletTransfer.js +85 -17
- package/dist/wallets/signing/singer.d.ts +9 -0
- package/dist/wallets/signing/singer.js +21 -0
- package/dist/wallets/v5beta/WalletContractV5Beta.d.ts +130 -0
- package/dist/wallets/v5beta/WalletContractV5Beta.js +211 -0
- package/dist/wallets/v5beta/WalletContractV5Beta.spec.d.ts +8 -0
- package/dist/wallets/v5beta/WalletContractV5Beta.spec.js +298 -0
- package/dist/wallets/v5beta/WalletV5BetaActions.d.ts +6 -0
- package/dist/wallets/v5beta/WalletV5BetaActions.js +92 -0
- package/dist/wallets/v5beta/WalletV5BetaActions.spec.d.ts +1 -0
- package/dist/wallets/v5beta/WalletV5BetaActions.spec.js +166 -0
- package/dist/wallets/v5beta/WalletV5BetaWalletId.d.ts +13 -0
- package/dist/wallets/v5beta/WalletV5BetaWalletId.js +31 -0
- package/dist/wallets/v5beta/WalletV5BetaWalletId.spec.d.ts +1 -0
- package/dist/wallets/v5beta/WalletV5BetaWalletId.spec.js +68 -0
- package/dist/wallets/v5beta/WalletV5OutActions.d.ts +17 -0
- package/dist/wallets/v5beta/WalletV5OutActions.js +11 -0
- package/dist/wallets/v5r1/WalletContractV5R1.d.ts +125 -0
- package/dist/wallets/v5r1/WalletContractV5R1.js +207 -0
- package/dist/wallets/v5r1/WalletContractV5R1.spec.d.ts +8 -0
- package/dist/wallets/v5r1/WalletContractV5R1.spec.js +321 -0
- package/dist/wallets/v5r1/WalletV5R1Actions.d.ts +12 -0
- package/dist/wallets/v5r1/WalletV5R1Actions.js +128 -0
- package/dist/wallets/v5r1/WalletV5R1Actions.spec.d.ts +1 -0
- package/dist/wallets/v5r1/WalletV5R1Actions.spec.js +262 -0
- package/dist/wallets/v5r1/WalletV5R1WalletId.d.ts +47 -0
- package/dist/wallets/v5r1/WalletV5R1WalletId.js +69 -0
- package/dist/wallets/v5r1/WalletV5R1WalletId.spec.d.ts +1 -0
- package/dist/wallets/v5r1/WalletV5R1WalletId.spec.js +72 -0
- package/package.json +1 -1
package/dist/client/TonClient.js
CHANGED
|
@@ -269,18 +269,30 @@ class TonClient {
|
|
|
269
269
|
}
|
|
270
270
|
}
|
|
271
271
|
exports.TonClient = TonClient;
|
|
272
|
-
function parseStackEntry(
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
case
|
|
277
|
-
return
|
|
272
|
+
function parseStackEntry(x) {
|
|
273
|
+
const typeName = x['@type'];
|
|
274
|
+
switch (typeName) {
|
|
275
|
+
case 'tvm.list':
|
|
276
|
+
case 'tvm.tuple':
|
|
277
|
+
return x.elements.map(parseStackEntry);
|
|
278
|
+
case 'tvm.cell':
|
|
279
|
+
return core_1.Cell.fromBoc(Buffer.from(x.bytes, 'base64'))[0];
|
|
280
|
+
case 'tvm.slice':
|
|
281
|
+
return core_1.Cell.fromBoc(Buffer.from(x.bytes, 'base64'))[0];
|
|
282
|
+
case 'tvm.stackEntryCell':
|
|
283
|
+
return parseStackEntry(x.cell);
|
|
284
|
+
case 'tvm.stackEntrySlice':
|
|
285
|
+
return parseStackEntry(x.slice);
|
|
278
286
|
case 'tvm.stackEntryTuple':
|
|
279
|
-
return
|
|
287
|
+
return parseStackEntry(x.tuple);
|
|
280
288
|
case 'tvm.stackEntryList':
|
|
281
|
-
return
|
|
289
|
+
return parseStackEntry(x.list);
|
|
290
|
+
case 'tvm.stackEntryNumber':
|
|
291
|
+
return parseStackEntry(x.number);
|
|
292
|
+
case 'tvm.numberDecimal':
|
|
293
|
+
return BigInt(x.number);
|
|
282
294
|
default:
|
|
283
|
-
throw Error(
|
|
295
|
+
throw Error('Unsupported item type: ' + typeName);
|
|
284
296
|
}
|
|
285
297
|
}
|
|
286
298
|
function parseStackItem(s) {
|
|
@@ -306,14 +318,10 @@ function parseStackItem(s) {
|
|
|
306
318
|
return { type: 'builder', cell: core_1.Cell.fromBoc(Buffer.from(s[1].bytes, 'base64'))[0] };
|
|
307
319
|
}
|
|
308
320
|
else if (s[0] === 'tuple' || s[0] === 'list') {
|
|
309
|
-
// toncenter.com missbehaviour
|
|
310
321
|
if (s[1].elements.length === 0) {
|
|
311
322
|
return { type: 'null' };
|
|
312
323
|
}
|
|
313
|
-
return {
|
|
314
|
-
type: s[0],
|
|
315
|
-
items: s[1].elements.map(parseStackEntry)
|
|
316
|
-
};
|
|
324
|
+
return { type: 'tuple', items: s[1].elements.map(parseStackEntry) };
|
|
317
325
|
}
|
|
318
326
|
else {
|
|
319
327
|
throw Error('Unsupported stack item type: ' + s[0]);
|
package/dist/index.d.ts
CHANGED
|
@@ -17,6 +17,8 @@ export { WalletContractV2R2 } from './wallets/WalletContractV2R2';
|
|
|
17
17
|
export { WalletContractV3R1 } from './wallets/WalletContractV3R1';
|
|
18
18
|
export { WalletContractV3R2 } from './wallets/WalletContractV3R2';
|
|
19
19
|
export { WalletContractV4 } from './wallets/WalletContractV4';
|
|
20
|
+
export { WalletContractV5Beta } from './wallets/WalletContractV5Beta';
|
|
21
|
+
export { WalletContractV5R1 } from './wallets/WalletContractV5R1';
|
|
20
22
|
export { JettonMaster } from './jetton/JettonMaster';
|
|
21
23
|
export { JettonWallet } from './jetton/JettonWallet';
|
|
22
24
|
export { MultisigOrder } from './multisig/MultisigOrder';
|
package/dist/index.js
CHANGED
|
@@ -21,7 +21,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
21
21
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
22
22
|
};
|
|
23
23
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
-
exports.computeStorageFees = exports.computeMessageForwardFees = exports.computeGasPrices = exports.computeFwdFees = exports.computeExternalMessageFees = exports.loadConfigParamsAsSlice = exports.loadConfigParamById = exports.parseFullConfig = exports.parseVotingSetup = exports.parseValidatorSet = exports.parseProposalSetup = exports.parseBridge = exports.configParseWorkchainDescriptor = exports.configParseValidatorSet = exports.configParseMsgPrices = exports.configParseMasterAddressRequired = exports.configParseMasterAddress = exports.configParseGasLimitsPrices = exports.configParseBridge = exports.configParse40 = exports.configParse29 = exports.configParse28 = exports.configParse18 = exports.configParse17 = exports.configParse16 = exports.configParse15 = exports.configParse13 = exports.configParse12 = exports.configParse8 = exports.configParse5 = exports.ElectorContract = exports.MultisigWallet = exports.MultisigOrderBuilder = exports.MultisigOrder = exports.JettonWallet = exports.JettonMaster = exports.WalletContractV4 = exports.WalletContractV3R2 = exports.WalletContractV3R1 = exports.WalletContractV2R2 = exports.WalletContractV2R1 = exports.WalletContractV1R3 = exports.WalletContractV1R2 = exports.WalletContractV1R1 = exports.TonClient4 = exports.TonClient = exports.HttpApi = void 0;
|
|
24
|
+
exports.computeStorageFees = exports.computeMessageForwardFees = exports.computeGasPrices = exports.computeFwdFees = exports.computeExternalMessageFees = exports.loadConfigParamsAsSlice = exports.loadConfigParamById = exports.parseFullConfig = exports.parseVotingSetup = exports.parseValidatorSet = exports.parseProposalSetup = exports.parseBridge = exports.configParseWorkchainDescriptor = exports.configParseValidatorSet = exports.configParseMsgPrices = exports.configParseMasterAddressRequired = exports.configParseMasterAddress = exports.configParseGasLimitsPrices = exports.configParseBridge = exports.configParse40 = exports.configParse29 = exports.configParse28 = exports.configParse18 = exports.configParse17 = exports.configParse16 = exports.configParse15 = exports.configParse13 = exports.configParse12 = exports.configParse8 = exports.configParse5 = exports.ElectorContract = exports.MultisigWallet = exports.MultisigOrderBuilder = exports.MultisigOrder = exports.JettonWallet = exports.JettonMaster = exports.WalletContractV5R1 = exports.WalletContractV5Beta = exports.WalletContractV4 = exports.WalletContractV3R2 = exports.WalletContractV3R1 = exports.WalletContractV2R2 = exports.WalletContractV2R1 = exports.WalletContractV1R3 = exports.WalletContractV1R2 = exports.WalletContractV1R1 = exports.TonClient4 = exports.TonClient = exports.HttpApi = void 0;
|
|
25
25
|
__exportStar(require("@ton/core"), exports);
|
|
26
26
|
//
|
|
27
27
|
// toncenter Client
|
|
@@ -54,6 +54,10 @@ var WalletContractV3R2_1 = require("./wallets/WalletContractV3R2");
|
|
|
54
54
|
Object.defineProperty(exports, "WalletContractV3R2", { enumerable: true, get: function () { return WalletContractV3R2_1.WalletContractV3R2; } });
|
|
55
55
|
var WalletContractV4_1 = require("./wallets/WalletContractV4");
|
|
56
56
|
Object.defineProperty(exports, "WalletContractV4", { enumerable: true, get: function () { return WalletContractV4_1.WalletContractV4; } });
|
|
57
|
+
var WalletContractV5Beta_1 = require("./wallets/WalletContractV5Beta");
|
|
58
|
+
Object.defineProperty(exports, "WalletContractV5Beta", { enumerable: true, get: function () { return WalletContractV5Beta_1.WalletContractV5Beta; } });
|
|
59
|
+
var WalletContractV5R1_1 = require("./wallets/WalletContractV5R1");
|
|
60
|
+
Object.defineProperty(exports, "WalletContractV5R1", { enumerable: true, get: function () { return WalletContractV5R1_1.WalletContractV5R1; } });
|
|
57
61
|
//
|
|
58
62
|
// Jettons
|
|
59
63
|
//
|
|
@@ -83,7 +83,7 @@ class MultisigWallet {
|
|
|
83
83
|
}
|
|
84
84
|
async deployInternal(sender, value = 1000000000n) {
|
|
85
85
|
await sender.send({
|
|
86
|
-
sendMode:
|
|
86
|
+
sendMode: core_1.SendMode.PAY_GAS_SEPARATELY + core_1.SendMode.IGNORE_ERRORS,
|
|
87
87
|
to: this.address,
|
|
88
88
|
value: value,
|
|
89
89
|
init: this.init,
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
/// <reference types="node" />
|
|
9
9
|
import { Address, Cell, Contract, ContractProvider, MessageRelaxed, Sender, SendMode } from "@ton/core";
|
|
10
10
|
import { Maybe } from "../utils/maybe";
|
|
11
|
+
import { WalletV3SendArgsSignable, WalletV3SendArgsSigned } from "./WalletContractV3Types";
|
|
11
12
|
export declare class WalletContractV3R1 implements Contract {
|
|
12
13
|
static create(args: {
|
|
13
14
|
workchain: number;
|
|
@@ -48,13 +49,7 @@ export declare class WalletContractV3R1 implements Contract {
|
|
|
48
49
|
/**
|
|
49
50
|
* Create transfer
|
|
50
51
|
*/
|
|
51
|
-
createTransfer(args:
|
|
52
|
-
seqno: number;
|
|
53
|
-
secretKey: Buffer;
|
|
54
|
-
messages: MessageRelaxed[];
|
|
55
|
-
sendMode?: Maybe<SendMode>;
|
|
56
|
-
timeout?: Maybe<number>;
|
|
57
|
-
}): Cell;
|
|
52
|
+
createTransfer<T extends WalletV3SendArgsSigned | WalletV3SendArgsSignable>(args: T): T extends WalletV3SendArgsSignable ? Promise<Cell> : Cell;
|
|
58
53
|
/**
|
|
59
54
|
* Create sender
|
|
60
55
|
*/
|
|
@@ -71,16 +71,9 @@ class WalletContractV3R1 {
|
|
|
71
71
|
* Create transfer
|
|
72
72
|
*/
|
|
73
73
|
createTransfer(args) {
|
|
74
|
-
let sendMode = core_1.SendMode.PAY_GAS_SEPARATELY;
|
|
75
|
-
if (args.sendMode !== null && args.sendMode !== undefined) {
|
|
76
|
-
sendMode = args.sendMode;
|
|
77
|
-
}
|
|
78
74
|
return (0, createWalletTransfer_1.createWalletTransferV3)({
|
|
79
|
-
|
|
80
|
-
sendMode,
|
|
81
|
-
secretKey: args.secretKey,
|
|
82
|
-
messages: args.messages,
|
|
83
|
-
timeout: args.timeout,
|
|
75
|
+
...args,
|
|
76
|
+
sendMode: args.sendMode ?? core_1.SendMode.PAY_GAS_SEPARATELY,
|
|
84
77
|
walletId: this.walletId
|
|
85
78
|
});
|
|
86
79
|
}
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
/// <reference types="node" />
|
|
9
9
|
import { Address, Cell, Contract, ContractProvider, MessageRelaxed, Sender, SendMode } from "@ton/core";
|
|
10
10
|
import { Maybe } from "../utils/maybe";
|
|
11
|
+
import { WalletV3SendArgsSignable, WalletV3SendArgsSigned } from "./WalletContractV3Types";
|
|
11
12
|
export declare class WalletContractV3R2 implements Contract {
|
|
12
13
|
static create(args: {
|
|
13
14
|
workchain: number;
|
|
@@ -48,13 +49,7 @@ export declare class WalletContractV3R2 implements Contract {
|
|
|
48
49
|
/**
|
|
49
50
|
* Create transfer
|
|
50
51
|
*/
|
|
51
|
-
createTransfer(args:
|
|
52
|
-
seqno: number;
|
|
53
|
-
sendMode?: Maybe<SendMode>;
|
|
54
|
-
secretKey: Buffer;
|
|
55
|
-
messages: MessageRelaxed[];
|
|
56
|
-
timeout?: Maybe<number>;
|
|
57
|
-
}): Cell;
|
|
52
|
+
createTransfer<T extends WalletV3SendArgsSigned | WalletV3SendArgsSignable>(args: T): T extends WalletV3SendArgsSignable ? Promise<Cell> : Cell;
|
|
58
53
|
/**
|
|
59
54
|
* Create sender
|
|
60
55
|
*/
|
|
@@ -71,16 +71,9 @@ class WalletContractV3R2 {
|
|
|
71
71
|
* Create transfer
|
|
72
72
|
*/
|
|
73
73
|
createTransfer(args) {
|
|
74
|
-
let sendMode = core_1.SendMode.PAY_GAS_SEPARATELY;
|
|
75
|
-
if (args.sendMode !== null && args.sendMode !== undefined) {
|
|
76
|
-
sendMode = args.sendMode;
|
|
77
|
-
}
|
|
78
74
|
return (0, createWalletTransfer_1.createWalletTransferV3)({
|
|
79
|
-
|
|
80
|
-
sendMode,
|
|
81
|
-
secretKey: args.secretKey,
|
|
82
|
-
messages: args.messages,
|
|
83
|
-
timeout: args.timeout,
|
|
75
|
+
...args,
|
|
76
|
+
sendMode: args.sendMode ?? core_1.SendMode.PAY_GAS_SEPARATELY,
|
|
84
77
|
walletId: this.walletId
|
|
85
78
|
});
|
|
86
79
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { MessageRelaxed, SendMode } from "@ton/core";
|
|
2
|
+
import { Maybe } from "../utils/maybe";
|
|
3
|
+
import { SendArgsSignable } from "./signing/singer";
|
|
4
|
+
import { SendArgsSigned } from "./signing/singer";
|
|
5
|
+
export type WalletV3BasicSendArgs = {
|
|
6
|
+
seqno: number;
|
|
7
|
+
messages: MessageRelaxed[];
|
|
8
|
+
sendMode?: Maybe<SendMode>;
|
|
9
|
+
timeout?: Maybe<number>;
|
|
10
|
+
};
|
|
11
|
+
export type WalletV3SendArgsSigned = WalletV3BasicSendArgs & SendArgsSigned;
|
|
12
|
+
export type WalletV3SendArgsSignable = WalletV3BasicSendArgs & SendArgsSignable;
|
|
@@ -8,6 +8,15 @@
|
|
|
8
8
|
/// <reference types="node" />
|
|
9
9
|
import { Address, Cell, Contract, ContractProvider, MessageRelaxed, Sender, SendMode } from "@ton/core";
|
|
10
10
|
import { Maybe } from "../utils/maybe";
|
|
11
|
+
import { SendArgsSignable, SendArgsSigned } from "./signing/singer";
|
|
12
|
+
export type WalletV4BasicSendArgs = {
|
|
13
|
+
seqno: number;
|
|
14
|
+
messages: MessageRelaxed[];
|
|
15
|
+
sendMode?: Maybe<SendMode>;
|
|
16
|
+
timeout?: Maybe<number>;
|
|
17
|
+
};
|
|
18
|
+
export type Wallet4SendArgsSigned = WalletV4BasicSendArgs & SendArgsSigned;
|
|
19
|
+
export type Wallet4SendArgsSignable = WalletV4BasicSendArgs & SendArgsSignable;
|
|
11
20
|
export declare class WalletContractV4 implements Contract {
|
|
12
21
|
static create(args: {
|
|
13
22
|
workchain: number;
|
|
@@ -48,13 +57,7 @@ export declare class WalletContractV4 implements Contract {
|
|
|
48
57
|
/**
|
|
49
58
|
* Create signed transfer
|
|
50
59
|
*/
|
|
51
|
-
createTransfer(args:
|
|
52
|
-
seqno: number;
|
|
53
|
-
secretKey: Buffer;
|
|
54
|
-
messages: MessageRelaxed[];
|
|
55
|
-
sendMode?: Maybe<SendMode>;
|
|
56
|
-
timeout?: Maybe<number>;
|
|
57
|
-
}): Cell;
|
|
60
|
+
createTransfer<T extends Wallet4SendArgsSigned | Wallet4SendArgsSignable>(args: T): T extends Wallet4SendArgsSignable ? Promise<Cell> : Cell;
|
|
58
61
|
/**
|
|
59
62
|
* Create sender
|
|
60
63
|
*/
|
|
@@ -72,16 +72,9 @@ class WalletContractV4 {
|
|
|
72
72
|
* Create signed transfer
|
|
73
73
|
*/
|
|
74
74
|
createTransfer(args) {
|
|
75
|
-
let sendMode = core_1.SendMode.PAY_GAS_SEPARATELY;
|
|
76
|
-
if (args.sendMode !== null && args.sendMode !== undefined) {
|
|
77
|
-
sendMode = args.sendMode;
|
|
78
|
-
}
|
|
79
75
|
return (0, createWalletTransfer_1.createWalletTransferV4)({
|
|
80
|
-
|
|
81
|
-
sendMode,
|
|
82
|
-
secretKey: args.secretKey,
|
|
83
|
-
messages: args.messages,
|
|
84
|
-
timeout: args.timeout,
|
|
76
|
+
...args,
|
|
77
|
+
sendMode: args.sendMode ?? core_1.SendMode.PAY_GAS_SEPARATELY,
|
|
85
78
|
walletId: this.walletId
|
|
86
79
|
});
|
|
87
80
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./v5beta/WalletContractV5Beta"), exports);
|
|
18
|
+
__exportStar(require("./v5beta/WalletV5BetaActions"), exports);
|
|
19
|
+
__exportStar(require("./v5beta/WalletV5BetaWalletId"), exports);
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./v5r1/WalletContractV5R1"), exports);
|
|
18
|
+
__exportStar(require("./v5r1/WalletV5R1Actions"), exports);
|
|
19
|
+
__exportStar(require("./v5r1/WalletV5R1WalletId"), exports);
|
|
@@ -6,34 +6,43 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*/
|
|
8
8
|
/// <reference types="node" />
|
|
9
|
-
import { MessageRelaxed } from "@ton/core";
|
|
9
|
+
import { Builder, Cell, MessageRelaxed, OutActionSendMsg } from "@ton/core";
|
|
10
10
|
import { Maybe } from "../../utils/maybe";
|
|
11
|
+
import { WalletV5BetaPackedCell, WalletV5BetaSendArgs, WalletV5BetaSendArgsExtensionAuth } from "../v5beta/WalletContractV5Beta";
|
|
12
|
+
import { Wallet4SendArgsSignable, Wallet4SendArgsSigned } from "../WalletContractV4";
|
|
13
|
+
import { WalletV3SendArgsSignable, WalletV3SendArgsSigned } from "../WalletContractV3Types";
|
|
14
|
+
import { OutActionExtended } from "../v5beta/WalletV5OutActions";
|
|
15
|
+
import { Wallet5VR1SendArgsExtensionAuth, WalletV5R1PackedCell, WalletV5R1SendArgs } from "../v5r1/WalletContractV5R1";
|
|
11
16
|
export declare function createWalletTransferV1(args: {
|
|
12
17
|
seqno: number;
|
|
13
18
|
sendMode: number;
|
|
14
19
|
message: Maybe<MessageRelaxed>;
|
|
15
20
|
secretKey: Buffer;
|
|
16
|
-
}):
|
|
21
|
+
}): Cell;
|
|
17
22
|
export declare function createWalletTransferV2(args: {
|
|
18
23
|
seqno: number;
|
|
19
24
|
sendMode: number;
|
|
20
25
|
messages: MessageRelaxed[];
|
|
21
26
|
secretKey: Buffer;
|
|
22
27
|
timeout?: Maybe<number>;
|
|
23
|
-
}):
|
|
24
|
-
export declare function createWalletTransferV3(args: {
|
|
25
|
-
seqno: number;
|
|
28
|
+
}): Cell;
|
|
29
|
+
export declare function createWalletTransferV3<T extends WalletV3SendArgsSignable | WalletV3SendArgsSigned>(args: T & {
|
|
26
30
|
sendMode: number;
|
|
27
31
|
walletId: number;
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
timeout?: Maybe<number>;
|
|
31
|
-
}): import("@ton/core").Cell;
|
|
32
|
-
export declare function createWalletTransferV4(args: {
|
|
33
|
-
seqno: number;
|
|
32
|
+
}): T extends WalletV3SendArgsSignable ? Promise<Cell> : Cell;
|
|
33
|
+
export declare function createWalletTransferV4<T extends Wallet4SendArgsSignable | Wallet4SendArgsSigned>(args: T & {
|
|
34
34
|
sendMode: number;
|
|
35
35
|
walletId: number;
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}
|
|
36
|
+
}): T extends Wallet4SendArgsSignable ? Promise<Cell> : Cell;
|
|
37
|
+
export declare function createWalletTransferV5Beta<T extends WalletV5BetaSendArgs>(args: T extends WalletV5BetaSendArgsExtensionAuth ? T & {
|
|
38
|
+
actions: (OutActionSendMsg | OutActionExtended)[];
|
|
39
|
+
} : T & {
|
|
40
|
+
actions: (OutActionSendMsg | OutActionExtended)[];
|
|
41
|
+
walletId: (builder: Builder) => void;
|
|
42
|
+
}): WalletV5BetaPackedCell<T>;
|
|
43
|
+
export declare function createWalletTransferV5R1<T extends WalletV5R1SendArgs>(args: T extends Wallet5VR1SendArgsExtensionAuth ? T & {
|
|
44
|
+
actions: (OutActionSendMsg | OutActionExtended)[];
|
|
45
|
+
} : T & {
|
|
46
|
+
actions: (OutActionSendMsg | OutActionExtended)[];
|
|
47
|
+
walletId: (builder: Builder) => void;
|
|
48
|
+
}): WalletV5R1PackedCell<T>;
|
|
@@ -7,9 +7,28 @@
|
|
|
7
7
|
* LICENSE file in the root directory of this source tree.
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.createWalletTransferV4 = exports.createWalletTransferV3 = exports.createWalletTransferV2 = exports.createWalletTransferV1 = void 0;
|
|
10
|
+
exports.createWalletTransferV5R1 = exports.createWalletTransferV5Beta = exports.createWalletTransferV4 = exports.createWalletTransferV3 = exports.createWalletTransferV2 = exports.createWalletTransferV1 = void 0;
|
|
11
11
|
const core_1 = require("@ton/core");
|
|
12
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
|
+
}
|
|
13
32
|
function createWalletTransferV1(args) {
|
|
14
33
|
// Create message
|
|
15
34
|
let signingMessage = (0, core_1.beginCell)()
|
|
@@ -79,14 +98,7 @@ function createWalletTransferV3(args) {
|
|
|
79
98
|
signingMessage.storeUint(args.sendMode, 8);
|
|
80
99
|
signingMessage.storeRef((0, core_1.beginCell)().store((0, core_1.storeMessageRelaxed)(m)));
|
|
81
100
|
}
|
|
82
|
-
|
|
83
|
-
let signature = (0, crypto_1.sign)(signingMessage.endCell().hash(), args.secretKey);
|
|
84
|
-
// Body
|
|
85
|
-
const body = (0, core_1.beginCell)()
|
|
86
|
-
.storeBuffer(signature)
|
|
87
|
-
.storeBuilder(signingMessage)
|
|
88
|
-
.endCell();
|
|
89
|
-
return body;
|
|
101
|
+
return (0, singer_1.signPayload)(args, signingMessage, packSignatureToFront);
|
|
90
102
|
}
|
|
91
103
|
exports.createWalletTransferV3 = createWalletTransferV3;
|
|
92
104
|
function createWalletTransferV4(args) {
|
|
@@ -110,13 +122,69 @@ function createWalletTransferV4(args) {
|
|
|
110
122
|
signingMessage.storeUint(args.sendMode, 8);
|
|
111
123
|
signingMessage.storeRef((0, core_1.beginCell)().store((0, core_1.storeMessageRelaxed)(m)));
|
|
112
124
|
}
|
|
113
|
-
|
|
114
|
-
let signature = (0, crypto_1.sign)(signingMessage.endCell().hash(), args.secretKey);
|
|
115
|
-
// Body
|
|
116
|
-
const body = (0, core_1.beginCell)()
|
|
117
|
-
.storeBuffer(signature)
|
|
118
|
-
.storeBuilder(signingMessage)
|
|
119
|
-
.endCell();
|
|
120
|
-
return body;
|
|
125
|
+
return (0, singer_1.signPayload)(args, signingMessage, packSignatureToFront);
|
|
121
126
|
}
|
|
122
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;
|
|
@@ -0,0 +1,9 @@
|
|
|
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;
|
|
@@ -0,0 +1,21 @@
|
|
|
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;
|
|
@@ -0,0 +1,130 @@
|
|
|
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
|
+
}
|