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';
const system = await ContractSystem.create();
let treasure = await system.treasure('my-treasure');
system.name(treasure, 'my treasure');
system.globalVerbosity = Verbosity.DEBUG;
system.verbosity(treasure, Verbosity.ERROR);
let tracker = system.track(treasure);
let logger = system.log(treasure);
let unknownAddress = randomAddress('some-unknown-seed');
await treasure.send({
to: unknownAddress,
bounce: true,
});
let transactions = await system.run();
console.warn(inspect(transactions, false, 10000));
let wallet = system.open(WalletContractV4.create({ workchain: 0, publicKey: <some-test-key> }));
console.warn(logger.collect());
expect(tracker.collect()).toMatchSnapshot();
License
MIT