// execute trade(): open position with 1 leverage
await ensureFinished(liquidityPool.connect(signer).trade(0, signer.address, toWei("1"), toWei("4500"), Math.floor(Date.now()/1000)+999999, NONE, 12800))
// execute trade(): close position with 1 leverage
await ensureFinished(liquidityPool.connect(signer).trade(0, signer.address, toWei("-1"), toWei("3000"), Math.floor(Date.now()/1000)+999999, NONE, 12800))
// execute trade(): open position with 2 leverage
await ensureFinished(liquidityPool.connect(signer).trade(0, signer.address, toWei("1"), toWei("4500"), Math.floor(Date.now()/1000)+999999, NONE, 25600))
// execute trade(): close position with 2 leverage
await ensureFinished(liquidityPool.connect(signer).trade(0, signer.address, toWei("-1"), toWei("3000"), Math.floor(Date.now()/1000)+999999, NONE, 25600))
// execute trade(): open position without automatically deposit. make sure your marginAccount is safe.
await ensureFinished(liquidityPool.connect(signer).trade(0, signer.address, toWei("1"), toWei("4500"), Math.floor(Date.now()/1000)+999999, NONE, 0))
// execute trade(): close position without automatically withdraw. make sure your marginAccount is safe.
await ensureFinished(liquidityPool.connect(signer).trade(0, signer.address, toWei("-1"), toWei("3000"), Math.floor(Date.now()/1000)+999999, NONE, 0))
// execute trade(): market price with 1 leverage
await ensureFinished(liquidityPool.connect(signer).trade(0, signer.address, toWei("1"), toWei("3000"), Math.floor(Date.now()/1000)+999999, NONE, 0x40000000+12800))
// execute trade(): close only. make sure you have position to close
await ensureFinished(liquidityPool.connect(signer).trade(0, signer.address, toWei("-1"), toWei("3000"), Math.floor(Date.now()/1000)+999999, NONE, 0x80000000+12800))