From d051c73da74c224784390cc061e18d77b9d7abec Mon Sep 17 00:00:00 2001 From: Ilya Evdokimov Date: Tue, 17 Jan 2023 14:04:40 +0100 Subject: [PATCH 1/2] sample contract improvement --- README.md | 4 ++-- sample-project-typescript/contracts/Sample.tsol | 4 ++++ sample-project-typescript/test/sample-test.ts | 10 +++++++++- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 08e4eee..609feb0 100644 --- a/README.md +++ b/README.md @@ -909,6 +909,6 @@ This module provides some utility functions for more convenient work with Ever o ````typescript import { toNano, fromNano, getRandomNonce, convertAmount } from "locklift"; -toNano(10); // 10000000000 -fromNano(10000000000); // 10``` +toNano(10); // 10000000000 nano evers +fromNano(10000000000); // 10 evers``` ```` diff --git a/sample-project-typescript/contracts/Sample.tsol b/sample-project-typescript/contracts/Sample.tsol index 3788dea..e0e548d 100644 --- a/sample-project-typescript/contracts/Sample.tsol +++ b/sample-project-typescript/contracts/Sample.tsol @@ -23,6 +23,10 @@ contract Sample { emit StateChange(_state); } + function fail() public { + require( 1 < 0, 101); // 100 is default error code, it is good to set non-default codes beforehand + } + function getDetails() external view diff --git a/sample-project-typescript/test/sample-test.ts b/sample-project-typescript/test/sample-test.ts index 3384ee4..d24ffef 100644 --- a/sample-project-typescript/test/sample-test.ts +++ b/sample-project-typescript/test/sample-test.ts @@ -29,7 +29,7 @@ describe("Test Sample contract", async function () { constructorParams: { _state: INIT_STATE, }, - value: locklift.utils.toNano(2), + value: locklift.utils.toNano(2), // converts 2 evers to nanos }); sample = contract; @@ -45,5 +45,13 @@ describe("Test Sample contract", async function () { expect(Number(response._state)).to.be.equal(NEW_STATE, "Wrong state"); }); + + it("Test error tracing", async function () { + const { traceTree } = await locklift.tracing.trace( + await sample.methods.fail({}).sendExternal({ publicKey: signer.publicKey }), + {rise: false} + ); + expect(traceTree).to.have.error(101); + }); }); }); From 9a26652ae7499543dafea4ba3e002b4c8dddbbf8 Mon Sep 17 00:00:00 2001 From: Ilya Evdokimov Date: Tue, 17 Jan 2023 14:11:10 +0100 Subject: [PATCH 2/2] forgotten imports --- sample-project-typescript/test/sample-test.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sample-project-typescript/test/sample-test.ts b/sample-project-typescript/test/sample-test.ts index d24ffef..f1c2a6a 100644 --- a/sample-project-typescript/test/sample-test.ts +++ b/sample-project-typescript/test/sample-test.ts @@ -1,6 +1,9 @@ import { expect } from "chai"; import { Contract, Signer } from "locklift"; import { FactorySource } from "../build/factorySource"; +import { lockliftChai } from "locklift"; +import chai from "chai"; +chai.use(lockliftChai); let sample: Contract; let signer: Signer;