Files
contract/bin/shmockenv
dexorder 25def69c66 dexorder
2024-10-17 02:42:28 -04:00

77 lines
2.9 KiB
Bash
Executable File

#!/bin/bash
RPC=${RPC_URL:-http://localhost:8545}
c() {
# echo cast "$1" --rpc-url $RPC "${@:2}" >&2
cast "$1" --rpc-url "$RPC" "${@:2}"
}
CHAINID=$(c chain-id)
FILE_TAG=${TAG:-mock}
# find script directory
SOURCE=${BASH_SOURCE[0]}
while [ -L "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
DIR=$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )
SOURCE=$(readlink "$SOURCE")
[[ $SOURCE != /* ]] && SOURCE=$DIR/$SOURCE # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
done
DIR=$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )/..
if [ "$FILE_TAG" == "mock" ]; then
BROADCAST=$DIR/broadcast
FILE_TAG=latest
else
BROADCAST=$DIR/deployment/$TAG/broadcast
fi
MOCKENV=$(jq -r '.transactions[] | select(.contractName=="MockEnv") | select(.function==null).contractAddress' "$BROADCAST/DeployMock.sol/$CHAINID/run-latest.json" | cast to-check-sum-address) || echo WARNING no MockEnv detected
export MOCKENV
MIRRORENV=$(jq -r '.transactions[] | select(.contractName=="MirrorEnv") | select(.function==null).contractAddress' "$BROADCAST/DeployMirror.sol/$CHAINID/run-latest.json" | cast to-check-sum-address) || echo WARNING no MirrorEnv detected
export MIRRORENV
FACTORY=$(jq -r '.transactions[] | select(.contractName=="VaultFactory") | select(.function==null).contractAddress' "$BROADCAST/Deploy.sol/$CHAINID/run-latest.json" | cast to-check-sum-address) || exit 1
export FACTORY
HELPER=$(jq -r '.transactions[] | select(.contractName=="QueryHelper") | select(.function==null).contractAddress' "$BROADCAST/Deploy.sol/$CHAINID/run-latest.json" | cast to-check-sum-address) || exit 1
export HELPER
DEXORDER=$(jq -r '.transactions[] | select(.contractName=="Dexorder") | select(.function==null).contractAddress' "$BROADCAST/Deploy.sol/$CHAINID/run-latest.json" | cast to-check-sum-address) || exit 1
export DEXORDER
VAULT_INIT_CODE_HASH=$("$DIR/bin/vault-init-code-hash") || exit 1
export VAULT_INIT_CODE_HASH
POOL=$(c call $MOCKENV "pool()" | cast parse-bytes32-address) || exit 1
export POOL
MEH=$(c call $MOCKENV "COIN()" | cast parse-bytes32-address) || exit 1
export MEH
USXD=$(c call $MOCKENV "USD()" | cast parse-bytes32-address) || exit 1
export USXD
MOCK=$MEH
export MOCK
USD=$USDX
export USD
TOKEN0=$(c call $MOCKENV "token0()" | cast parse-bytes32-address) || exit 1
export TOKEN0
TOKEN1=$(c call $MOCKENV "token1()" | cast parse-bytes32-address) || exit 1
export TOKEN1
T0DEC=$(c call $TOKEN0 "decimals()" | cast to-dec) || exit 1
export T0DEC
T1DEC=$(c call $TOKEN1 "decimals()" | cast to-dec) || exit 1
export T1DEC
POOLDEC=$(echo $T1DEC - $T0DEC | bc)
export POOLDEC
MEH_INT=$(cast to-dec $MEH)
USXD_INT=$(cast to-dec $USXD)
#echo $MEH_INT $USXD_INT
INVERTED=$(echo $MEH_INT '>' $USXD_INT | bc)
export INVERTED
echo "\$MOCKENV $MOCKENV"
echo "\$MIRRORENV $MIRRORENV"
echo "\$MEH $MEH"
echo "\$USXD $USXD"
echo "\$INVERTED $INVERTED"
echo "\$POOL $POOL"