New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@tact-lang/emulator

Package Overview
Dependencies
Maintainers
3
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@tact-lang/emulator - npm Package Compare versions

Comparing version 2.1.1 to 3.0.0

dist/utils/randomAddress.d.ts

1

dist/bindings/EmulatorBindings.d.ts

@@ -71,3 +71,2 @@ /// <reference types="node" />

private getModule;
private getInstance;
}

@@ -13,3 +13,3 @@ "use strict";

};
var _EmulatorBindings_lock, _EmulatorBindings_instances, _EmulatorBindings_module, _EmulatorBindings_errLogs;
var _EmulatorBindings_lock, _EmulatorBindings_module, _EmulatorBindings_errLogs;
Object.defineProperty(exports, "__esModule", { value: true });

@@ -20,4 +20,4 @@ exports.EmulatorBindings = void 0;

// WASM bindings
const createModule = require(__dirname + '/../../wasm/emulator-emscripten');
const wasmBinaryPack = require(__dirname + '/../../wasm/emulator-emscripten.wasm.js');
const createModule = require('./wasm/emulator-emscripten');
const wasmBinaryPack = require('./wasm/emulator-emscripten.wasm.js');
const wasmBinary = Buffer.from(wasmBinaryPack.wasmBinary, 'base64');

@@ -34,3 +34,2 @@ const writeToCString = (mod, data) => {

_EmulatorBindings_lock.set(this, new teslabot_1.AsyncLock());
_EmulatorBindings_instances.set(this, new Map());
_EmulatorBindings_module.set(this, null);

@@ -129,3 +128,3 @@ _EmulatorBindings_errLogs.set(this, []);

let module = await this.getModule();
let instance = this.getInstance(module, args.config, args.verbosity);
// let instance = this.getInstance(module, args.config, args.verbosity);
// Params

@@ -140,4 +139,5 @@ const params = {

let res = this.invoke(module, '_emulate', [
instance,
args.config.toBoc().toString('base64'),
args.libs ? args.libs.toBoc().toString('base64') : 0,
args.verbosity,
args.shardAccount.toBoc().toString('base64'),

@@ -194,16 +194,5 @@ args.message.toBoc().toString('base64'),

}
getInstance(module, config, verbosity) {
// Check if instance already exists
let key = config.hash().toString('hex') + ':' + verbosity;
if (__classPrivateFieldGet(this, _EmulatorBindings_instances, "f").has(key)) {
return __classPrivateFieldGet(this, _EmulatorBindings_instances, "f").get(key);
}
// Create instance
let emulator = this.invoke(module, '_create_emulator', [config.toBoc().toString('base64'), verbosity]);
__classPrivateFieldGet(this, _EmulatorBindings_instances, "f").set(key, emulator);
return emulator;
}
}
exports.EmulatorBindings = EmulatorBindings;
_EmulatorBindings_lock = new WeakMap(), _EmulatorBindings_instances = new WeakMap(), _EmulatorBindings_module = new WeakMap(), _EmulatorBindings_errLogs = new WeakMap();
_EmulatorBindings_lock = new WeakMap(), _EmulatorBindings_module = new WeakMap(), _EmulatorBindings_errLogs = new WeakMap();
function prepareLogs(errors, stdout, vmLogs) {

@@ -210,0 +199,0 @@ let logs = '';

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const ton_core_1 = require("ton-core");
const testAddress_1 = require("../utils/testAddress");
const randomAddress_1 = require("../utils/randomAddress");
const ContractExecutor_1 = require("./ContractExecutor");

@@ -28,3 +28,3 @@ const ContractSystem_1 = require("./ContractSystem");

type: 'internal',
src: (0, testAddress_1.testAddress)('address-1'),
src: (0, randomAddress_1.randomAddress)('address-1'),
dest: contract.address,

@@ -31,0 +31,0 @@ value: { coins: (0, ton_core_1.toNano)(1) },

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const ContractSystem_1 = require("./ContractSystem");
const testAddress_1 = require("../utils/testAddress");
const randomAddress_1 = require("../utils/randomAddress");
const ton_core_1 = require("ton-core");

@@ -11,3 +11,3 @@ describe('ContractSystem', () => {

let treasure = system.treasure('treasure');
let unknownAddress = (0, testAddress_1.testAddress)('unknown');
let unknownAddress = (0, randomAddress_1.randomAddress)('unknown');
let tracker = system.track(treasure.address);

@@ -14,0 +14,0 @@ let logs = system.log(treasure.address);

export { ContractSystem } from './emulator/ContractSystem';
export { ContractExecutor } from './emulator/ContractExecutor';
export { testAddress, testExternalAddress } from './utils/testAddress';
export { randomAddress, randomExternalAddress } from './utils/randomAddress';
export { testKey } from './utils/testKey';

@@ -5,0 +5,0 @@ export { Treasure } from './treasure/Treasure';

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Logger = exports.Tracker = exports.testKey = exports.testExternalAddress = exports.testAddress = exports.ContractExecutor = exports.ContractSystem = void 0;
exports.Logger = exports.Tracker = exports.testKey = exports.randomExternalAddress = exports.randomAddress = exports.ContractExecutor = exports.ContractSystem = void 0;
// Contract system

@@ -9,5 +9,5 @@ var ContractSystem_1 = require("./emulator/ContractSystem");

Object.defineProperty(exports, "ContractExecutor", { enumerable: true, get: function () { return ContractExecutor_1.ContractExecutor; } });
var testAddress_1 = require("./utils/testAddress");
Object.defineProperty(exports, "testAddress", { enumerable: true, get: function () { return testAddress_1.testAddress; } });
Object.defineProperty(exports, "testExternalAddress", { enumerable: true, get: function () { return testAddress_1.testExternalAddress; } });
var randomAddress_1 = require("./utils/randomAddress");
Object.defineProperty(exports, "randomAddress", { enumerable: true, get: function () { return randomAddress_1.randomAddress; } });
Object.defineProperty(exports, "randomExternalAddress", { enumerable: true, get: function () { return randomAddress_1.randomExternalAddress; } });
var testKey_1 = require("./utils/testKey");

@@ -14,0 +14,0 @@ Object.defineProperty(exports, "testKey", { enumerable: true, get: function () { return testKey_1.testKey; } });

{
"name": "@tact-lang/emulator",
"version": "2.1.1",
"version": "3.0.0",
"main": "dist/index.js",

@@ -5,0 +5,0 @@ "repository": "https://github.com/tact-lang/tact-emulator.git",

@@ -8,3 +8,3 @@ # TON Emulator

```bash
yarn add @tact-lange/emulator ton-core ton-crypto
yarn add @tact-lang/emulator ton-core ton-crypto
```

@@ -15,3 +15,4 @@

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

@@ -31,3 +32,3 @@ // Contract System is a virtual environment that emulates the TON blockchain

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

@@ -34,0 +35,0 @@ // Send an empty message to the unknown address

@@ -5,4 +5,4 @@ import { AsyncLock } from "teslabot";

// WASM bindings
const createModule: (options: any) => Promise<any> = require(__dirname + '/../../wasm/emulator-emscripten');
const wasmBinaryPack = require(__dirname + '/../../wasm/emulator-emscripten.wasm.js');
const createModule: (options: any) => Promise<any> = require('./wasm/emulator-emscripten');
const wasmBinaryPack = require('./wasm/emulator-emscripten.wasm.js');
const wasmBinary = Buffer.from(wasmBinaryPack.wasmBinary, 'base64');

@@ -115,3 +115,2 @@

#lock = new AsyncLock();
#instances = new Map<string, Pointer>();
#module: any = null;

@@ -196,3 +195,3 @@ #errLogs: string[] = [];

let module = await this.getModule();
let instance = this.getInstance(module, args.config, args.verbosity);
// let instance = this.getInstance(module, args.config, args.verbosity);

@@ -209,4 +208,5 @@ // Params

let res = this.invoke(module, '_emulate', [
instance,
args.config.toBoc().toString('base64'),
args.libs ? args.libs.toBoc().toString('base64') : 0,
args.verbosity,
args.shardAccount.toBoc().toString('base64'),

@@ -287,16 +287,2 @@ args.message.toBoc().toString('base64'),

}
private getInstance(module: any, config: Cell, verbosity: number): Pointer {
// Check if instance already exists
let key = config.hash().toString('hex') + ':' + verbosity;
if (this.#instances.has(key)) {
return this.#instances.get(key);
}
// Create instance
let emulator = this.invoke(module, '_create_emulator', [config.toBoc().toString('base64'), verbosity]);
this.#instances.set(key, emulator);
return emulator;
}
}

@@ -303,0 +289,0 @@

import { beginCell, Cell, toNano } from "ton-core";
import { testAddress } from "../utils/testAddress";
import { randomAddress } from "../utils/randomAddress";
import { ContractExecutor } from "./ContractExecutor";

@@ -29,3 +29,3 @@ import { ContractSystem } from "./ContractSystem";

type: 'internal',
src: testAddress('address-1'),
src: randomAddress('address-1'),
dest: contract.address,

@@ -32,0 +32,0 @@ value: { coins: toNano(1) },

import { ContractSystem } from "./ContractSystem";
import { testAddress } from "../utils/testAddress";
import { randomAddress } from "../utils/randomAddress";
import { beginCell, toNano } from "ton-core";

@@ -11,3 +11,3 @@

let treasure = system.treasure('treasure');
let unknownAddress = testAddress('unknown');
let unknownAddress = randomAddress('unknown');
let tracker = system.track(treasure.address);

@@ -14,0 +14,0 @@ let logs = system.log(treasure.address);

// Contract system
export { ContractSystem } from './emulator/ContractSystem';
export { ContractExecutor } from './emulator/ContractExecutor';
export { testAddress, testExternalAddress } from './utils/testAddress'
export { randomAddress, randomExternalAddress } from './utils/randomAddress'
export { testKey } from './utils/testKey';

@@ -6,0 +6,0 @@ export { Treasure } from './treasure/Treasure';

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc