order state tweak
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
# this script requires the jq command $(sudo apt install jq)
|
# this script requires the jq command $(sudo apt install jq)
|
||||||
|
|
||||||
# first-pass build
|
# first-pass build
|
||||||
forge build "$@"
|
forge build "$@" || exit 1
|
||||||
|
|
||||||
# calculate the Vault init code hash using the bytecode generated for Vault
|
# calculate the Vault init code hash using the bytecode generated for Vault
|
||||||
# shellcheck disable=SC2046
|
# shellcheck disable=SC2046
|
||||||
@@ -16,4 +16,4 @@ mkdir gen &> /dev/null
|
|||||||
echo "export const VAULT_INIT_CODE_HASH='$VAULT_INIT_CODE_HASH';" > gen/vaultHash.js
|
echo "export const VAULT_INIT_CODE_HASH='$VAULT_INIT_CODE_HASH';" > gen/vaultHash.js
|
||||||
|
|
||||||
# final build after hash values are set
|
# final build after hash values are set
|
||||||
forge build "$@"
|
forge build "$@" || exit 1
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
./bin/build.sh
|
./bin/build.sh || exit 1
|
||||||
|
PRIVATE_KEY=${PRIVATE_KEY:='0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80'}
|
||||||
forge script script/Deploy.sol -vvvv --fork-url http://localhost:8545 --broadcast
|
forge script script/Deploy.sol -vvvv --fork-url http://localhost:8545 --broadcast
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
#db-migrate up
|
#db-migrate up
|
||||||
#cd ../contract
|
#cd ../contract
|
||||||
|
|
||||||
#source ./bin/build.sh
|
#./bin/build.sh
|
||||||
anvil -f arbitrum_ankr --chain-id 1338 &
|
anvil -f arbitrum_ankr --chain-id 1338 &
|
||||||
# todo check anvil result
|
# todo check anvil result
|
||||||
ANVIL_PID=$!
|
ANVIL_PID=$!
|
||||||
|
|||||||
@@ -21,9 +21,8 @@ library OrderLib {
|
|||||||
|
|
||||||
event DexorderSwapError (uint64 orderIndex, string reason);
|
event DexorderSwapError (uint64 orderIndex, string reason);
|
||||||
|
|
||||||
// todo If a tranche fails to fill, an order can stay Open forever without any active tranches. maybe replace state with a simple canceled flag
|
|
||||||
enum SwapOrderState {
|
enum SwapOrderState {
|
||||||
Open, Canceled, Filled, Template
|
Open, Canceled, Filled, Expired // Expired isn't ever shown on-chain. the Expired state is implied by tranche constraints.
|
||||||
}
|
}
|
||||||
|
|
||||||
enum Exchange {
|
enum Exchange {
|
||||||
@@ -297,7 +296,7 @@ library OrderLib {
|
|||||||
|
|
||||||
function _cancelOrder(OrdersInfo storage self, uint64 orderIndex) internal {
|
function _cancelOrder(OrdersInfo storage self, uint64 orderIndex) internal {
|
||||||
SwapOrderState state = self.orders[orderIndex].state;
|
SwapOrderState state = self.orders[orderIndex].state;
|
||||||
if( state == SwapOrderState.Open || state == SwapOrderState.Template ) {
|
if( state == SwapOrderState.Open ) {
|
||||||
self.orders[orderIndex].state = SwapOrderState.Canceled;
|
self.orders[orderIndex].state = SwapOrderState.Canceled;
|
||||||
emit DexorderSwapCompleted(orderIndex);
|
emit DexorderSwapCompleted(orderIndex);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +0,0 @@
|
|||||||
// SPDX-License-Identifier: UNLICENSED
|
|
||||||
pragma solidity =0.7.6;
|
|
||||||
pragma abicoder v2;
|
|
||||||
|
|
||||||
|
|
||||||
enum OrderStatus {
|
|
||||||
ACTIVE, // the only status while the order is still executing
|
|
||||||
CANCELED, // canceled by the owner
|
|
||||||
FILLED, // full trade amount was filled
|
|
||||||
EXPIRED // trade ended without completing its fills
|
|
||||||
}
|
|
||||||
@@ -10,7 +10,7 @@ library VaultAddress {
|
|||||||
// keccak-256 hash of the Vault's bytecode (not the deployed bytecode but the initialization bytecode)
|
// keccak-256 hash of the Vault's bytecode (not the deployed bytecode but the initialization bytecode)
|
||||||
// can paste into:
|
// can paste into:
|
||||||
// https://emn178.github.io/online-tools/keccak_256.html
|
// https://emn178.github.io/online-tools/keccak_256.html
|
||||||
bytes32 internal constant VAULT_INIT_CODE_HASH = 0x40d5f4d1aa2f505a4b156599c452d0e7df5003430246ca5798a932dc031a9127;
|
bytes32 internal constant VAULT_INIT_CODE_HASH = 0xe5ccc5781ec7c9aa6e1ca21f73022e0b4606f22aca8dde4e455fd8051007d378;
|
||||||
|
|
||||||
// the contract being constructed must not have any constructor arguments or the determinism will be broken. instead, use a callback to
|
// the contract being constructed must not have any constructor arguments or the determinism will be broken. instead, use a callback to
|
||||||
// get construction arguments
|
// get construction arguments
|
||||||
|
|||||||
Reference in New Issue
Block a user