4.2.3 • Published 8 months ago

@tact-lang/emulator v4.2.3

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

TON Emulator

Emulation toolkit for TON Smart Contracts

Installation

yarn add @tact-lang/emulator @ton/core @ton/crypto ton-abi

Usage

import { ContractSystem, randomAddress } from '@tact-lang/emulator';
import { WalletContractV4 } from '@ton/ton';

// Contract System is a virtual environment that emulates the TON blockchain
const system = await ContractSystem.create();

// Treasure is a contract that has 1m of TONs and is a handy entry point for your smart contracts
let treasure = await system.treasure('my-treasure');
system.name(treasure, 'my treasure'); // Set a name for the contract. Useful for snapshot testing.

// Update verbosity
system.globalVerbosity = Verbosity.DEBUG; // Global parameter
system.verbosity(treasure, Verbosity.ERROR); // Overwrite for a specific contract

// Track contract transactions and events
let tracker = system.track(treasure);

// Logger to collect VM logs from a contract
let logger = system.log(treasure);

// Create a random unknown address that would be treated as unititialized contract
let unknownAddress = randomAddress('some-unknown-seed'); // This seed is used to generate deterministic address

// Send an empty message to the unknown address
await treasure.send({
    to: unknownAddress,
    bounce: true,
});

// Run a block
let transactions = await system.run();
console.warn(inspect(transactions, false, 10000));

// Open a contract
let wallet = system.open(WalletContractV4.create({ workchain: 0, publicKey: <some-test-key> }));

// Show contract logs
console.warn(logger.collect());

// Test events and transactions
expect(tracker.collect()).toMatchSnapshot();

License

MIT

4.2.3

8 months ago

4.2.2

9 months ago

4.2.1

1 year ago

4.2.0

1 year ago

4.1.0

1 year ago

4.0.0

1 year ago

3.4.1

1 year ago

3.4.0

1 year ago

3.3.1

1 year ago

3.3.0

1 year ago

3.2.3

1 year ago

3.2.2

1 year ago

3.2.1

1 year ago

3.2.0

1 year ago

3.1.0

1 year ago

3.0.0

1 year ago

2.1.1

1 year ago