【发布时间】:2022-08-17 23:00:01
【问题描述】:
我正在测试这个功能:
function Deposit(uint256 StopLoss) public payable {//Deposita quantity i es registre
//Pay subscription
if (msg.value == 0){
revert Quantity_zero();
}
//Add wallet to the s_Wallets
s_Wallets.push(payable(msg.sender));
//Start subscription time
Dades storage dades = s_Registre[msg.sender];
dades.Quantity += msg.value;
dades.Stop = StopLoss;
}
当发送价值和止损参数时,它总是给我一些错误。 这是 js 测试代码是 1850 参数 StopLoss 值并发送 5 ETH 值。
describe(\"Subscription\", async function () {//PriceConversion
it(\"Subscribes the deployer\", async function () {
await MarketOrder.Deposit(1850, {value: ethers.utils.parseEther(\"5\")})
const Quantity = await MarketOrder.CallQuantity()
console.log(`Q: ${Quantity}`)
const Stop = await MarketOrder.CallStop()
console.log(`S: ${Stop}`)
assert.equal(Quantity.toString(), 1850)
assert.equal(Stop.toString(), 5)
}
})
这是错误:
1) MarketOrder Unit Tests
Subscription
Subscribes the deployer:
Error: invalid BigNumber value (argument=\"value\", value=[1850], code=INVALID_ARGUMENT, version=bignumber/5.6.2)
at Logger.makeError (node_modules/@ethersproject/logger/src.ts/index.ts:261:28)
at Logger.throwError (node_modules/@ethersproject/logger/src.ts/index.ts:273:20)
at Logger.throwArgumentError (node_modules/@ethersproject/logger/src.ts/index.ts:277:21)
at Function.BigNumber.from (node_modules/@ethersproject/bignumber/src.ts/bignumber.ts:289:23)
at NumberCoder.encode (node_modules/@ethersproject/abi/src.ts/coders/number.ts:25:27)
at /home/oriok/hh-ff/1.uniswapV3/node_modules/@ethersproject/abi/src.ts/coders/array.ts:71:19
at Array.forEach (<anonymous>)
at pack (node_modules/@ethersproject/abi/src.ts/coders/array.ts:54:12)
at TupleCoder.encode (node_modules/@ethersproject/abi/src.ts/coders/tuple.ts:54:20)
at AbiCoder.encode (node_modules/@ethersproject/abi/src.ts/abi-coder.ts:111:15)
error Command failed with exit code 1.
有谁知道如何正确发送参数+值?我尝试了很多代码,但没有工作。 伙计们!
标签: solidity ethers.js hardhat