in

No se pudo probar la cantidad de transferencia en solidez en moka. Pero la prueba manual funciona bien

Mi contrato

pragma solidity ^0.8.13;

contract Escrow{
    address payable public dev;
    address public website;
    address public customer;
    uint public amount;

    constructor( address payable _dev, address _customer,uint _amount){
        dev = _dev;
        website = msg.sender;
        customer = _customer;
        amount = _amount;

    }

    function deposit() payable public{
        require(msg.sender == customer, "Only customer can add money");
        require(address(this).balance <= amount, "Money can not exceed given amount");
    }

    function sendMoney() public{
        dev.transfer(amount);
    }

}

Cuando realizo pruebas manuales en el sitio web de remix, funciona bien. Pero al probar sendMoney funcion esta arrojando error

const Escrow = artifacts.require("Escrow");

contract("Escrow", (accounts) => {
  let escrow = null;
  const [website, dev, customer] = accounts;
  before(async () => {
    escrow = await Escrow.deployed();
  }); 

  it("Check money send", async ()=>{
    try{
      const prevDevBalance = web3.utils.toBN(await web3.eth.getBalance(dev))
      await escrow.sendMoney({from:accounts[0]})
      const newDevBalance = web3.utils.toBN(await web3.eth.getBalance(dev))
      assert(true)
      return
    }catch(e){
      assert(false)
      console.log("ERRORR",e)
    }
  }) 
});

A veces, las pruebas son exitosas, pero el 90% del tiempo arroja este problema.


  1) Contract: Escrow
       Check money send:
     Uncaught AssertionError: Unspecified AssertionError
      at checkError (test/index.js:7:5)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)



UnhandledRejections detected
Promise {
  <rejected> AssertionError: Unspecified AssertionError
      at checkError (test/index.js:7:5)
      at processTicksAndRejections (node:internal/process/task_queues:96:5) {
    showDiff: false,
    actual: null,
    expected: undefined,
    uncaught: true
  }
} AssertionError: Unspecified AssertionError
    at checkError (test/index.js:7:5)
    at processTicksAndRejections (node:internal/process/task_queues:96:5) {
  showDiff: false,
  actual: null,
  expected: undefined,
  uncaught: true
}

1 respuesta
1

Parece que no inicializa el contrato, su constructor espera 3 argumentos address payable _dev, address _customer,uint _amount.

¿Te ayudó la respuesta?

Subscribirse
Notificar por
guest
0 Comentarios
Inline Feedbacks
Ver todas las Respuestas

¿Cómo clasificar las entradas en una consulta?

Algunas dudas sobre GnuPG