From fa13fff0778f369150f5230261490184eae4ee89 Mon Sep 17 00:00:00 2001 From: sirius Date: Wed, 17 Jan 2024 09:07:54 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=F0=9F=90=9B=20complete=20error=20info?= =?UTF-8?q?=20for=20call=20and=20send?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ✅ Closes: #21 --- src/evm/engine/ether/index.ts | 4 ++-- src/evm/engine/web3/index.ts | 4 ++-- test/evm/error.test.ts | 16 +++++++++++++--- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/src/evm/engine/ether/index.ts b/src/evm/engine/ether/index.ts index 8ba65d7..17db637 100644 --- a/src/evm/engine/ether/index.ts +++ b/src/evm/engine/ether/index.ts @@ -218,7 +218,7 @@ export class EthersEvmEngine implements IEVMEngine { } catch (error) { return { ok: false, - error: `Call contract error: ${error}`, + error: `Call contract error: ${JSON.stringify(error)}`, } } } @@ -521,7 +521,7 @@ export class EthersEvmEngine implements IEVMEngine { } catch (error) { return { ok: false, - error: `send error:${error}`, + error: `send error:${JSON.stringify(error)}`, } } } diff --git a/src/evm/engine/web3/index.ts b/src/evm/engine/web3/index.ts index df81e46..d2d9ed0 100644 --- a/src/evm/engine/web3/index.ts +++ b/src/evm/engine/web3/index.ts @@ -256,7 +256,7 @@ export class Web3EvmEngine implements IEVMEngine { } catch (error) { return { ok: false, - error: `Call contract error: ${error}`, + error: `Call contract error: ${JSON.stringify(error)}`, } } } @@ -672,7 +672,7 @@ export class Web3EvmEngine implements IEVMEngine { } catch (error) { return { ok: false, - error: `Send to contract error: ${error}`, + error: `Send to contract error: ${JSON.stringify(error)}`, } } } diff --git a/test/evm/error.test.ts b/test/evm/error.test.ts index 79f14ed..c1fe291 100644 --- a/test/evm/error.test.ts +++ b/test/evm/error.test.ts @@ -26,8 +26,8 @@ import { generateRandomString } from "../tools/utils/randomString" import * as dotenv from "dotenv" dotenv.config() -describe.only("Send test(By privateKey)", () => { - it("web3 correct test", async function (this: Context) { +describe("Complete error test", () => { + it("web3 send complete error test", async function (this: Context) { this.timeout(100000) const data = [ generateRandomString(10), @@ -51,7 +51,12 @@ describe.only("Send test(By privateKey)", () => { assert.ok((web3Result.error as String).includes("SysErrInsufficientFunds")) }) - it("ethers correct test", async function (this: Context) { + it("web3 call complete error test", async () => { + const web3Meta = await web3Datasets.getDatasetMetadata(0) + assert.ok((web3Meta.error as String).includes("Value must not be zero")) + }) + + it("ethers send complete error test", async function (this: Context) { this.timeout(100000) const data = [ generateRandomString(10), @@ -75,4 +80,9 @@ describe.only("Send test(By privateKey)", () => { assert.equal(ethersResult.ok,false) assert.ok((ethersResult.error as String).includes("SysErrInsufficientFunds")) }) + + it("ethers call complete error test", async () => { + const ethersMeta = await ethersDatasets.getDatasetMetadata(0) + assert.ok((ethersMeta.error as String).includes("Value must not be zero")) + }) })