UNPKG

@ton/ton

Version:

[![Version npm](https://img.shields.io/npm/v/ton.svg?logo=npm)](https://www.npmjs.com/package/ton)

74 lines (73 loc) 3.3 kB
"use strict"; /** * 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); }); });