@ton/ton
Version:
[](https://www.npmjs.com/package/ton)
74 lines (73 loc) • 3.3 kB
JavaScript
;
/**
* Copyright (c) Whales Corp.
* All Rights Reserved.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
Object.defineProperty(exports, "__esModule", { value: true });
const randomTestKey_1 = require("../utils/randomTestKey");
const testWallets_1 = require("../utils/testWallets");
const WalletContractV4_1 = require("./WalletContractV4");
const createTestClient4_1 = require("../utils/createTestClient4");
const core_1 = require("@ton/core");
describe('WalletContractV4', () => {
it('should has balance and correct address', async () => {
// Create contract
let client = (0, createTestClient4_1.createTestClient4)();
let key = (0, randomTestKey_1.randomTestKey)('v4-treasure');
let contract = client.open(WalletContractV4_1.WalletContractV4.create({ workchain: 0, publicKey: key.publicKey }));
let balance = await contract.getBalance();
// Check parameters
expect(contract.address.equals(core_1.Address.parse('EQDnBF4JTFKHTYjulEJyNd4dstLGH1m51UrLdu01_tw4z2Au'))).toBe(true);
expect(balance > 0n).toBe(true);
});
it('should perform transfer', async () => {
// Create contract
let client = (0, createTestClient4_1.createTestClient4)();
let key = (0, randomTestKey_1.randomTestKey)('v4-treasure');
let contract = client.open(WalletContractV4_1.WalletContractV4.create({ workchain: 0, publicKey: key.publicKey }));
// Prepare transfer
let seqno = await contract.getSeqno();
let transfer = contract.createTransfer({
seqno,
secretKey: key.secretKey,
messages: [(0, core_1.internal)({
to: 'kQD6oPnzaaAMRW24R8F0_nlSsJQni0cGHntR027eT9_sgtwt',
value: '0.1',
body: 'Hello world: 1'
}), (0, core_1.internal)({
to: 'kQD6oPnzaaAMRW24R8F0_nlSsJQni0cGHntR027eT9_sgtwt',
value: '0.1',
body: 'Hello world: 2'
})]
});
// Perform transfer
await contract.send(transfer);
// Awaiting update
await (0, testWallets_1.tillNextSeqno)(contract, seqno);
});
it('should perform extra currency transfer', async () => {
// Create contract
let client = (0, createTestClient4_1.createTestClient4)();
let key = (0, randomTestKey_1.randomTestKey)('v4-treasure');
let contract = client.open(WalletContractV4_1.WalletContractV4.create({ workchain: 0, publicKey: key.publicKey }));
// Prepare transfer
let seqno = await contract.getSeqno();
let transfer = contract.createTransfer({
seqno,
secretKey: key.secretKey,
messages: [(0, core_1.internal)({
to: 'kQD6oPnzaaAMRW24R8F0_nlSsJQni0cGHntR027eT9_sgtwt',
value: '0.01',
extracurrency: { 100: BigInt(10 ** 6) },
body: 'Hello extra currency v4'
})]
});
// Perform transfer
await contract.send(transfer);
// Awaiting update
await (0, testWallets_1.tillNextSeqno)(contract, seqno);
});
});