Pickle Protocol
Solidity files relating to the PICKLE protocol.
Getting Started
We're using dapp-tools to compile, and test contracts. To get the dapp binary, you'll first need to install Nix.
# Install Nix
curl -L https://nixos.org/nix/install | sh
# Install dapp-tools
curl https://dapp.tools/install | sh
git clone [email protected]:pickle-finance/protocol.git
cd protocol
dapp update
dapp build
Dev
# Using ganche as a caching layer
ganache-cli -f https://mainnet.infura.io/v3/<URL>
DAPP_TEST_NUMBER=$(seth block-number) DAPP_TEST_TIMESTAMP=$(date +%s) DAPP_TEST_BALANCE_CREATE=10000000000000000000000000 dapp test --rpc-url http://localhost:8545 -m <test to run> -vv
# Dapp tools cli args
# -vv - Verbose (Show stacktraces if fail)
# -vv - Very verbose (ALWAYS show stacktraces)
# -m - Only runs tests whos regex matches this string
Deploy
Via Remix
# Flatten
hevm flatten --source-file src/<sol> --json-file out/dapp.sol.json
# Deploy file via remix
Via JavaScript
export SOLC_FLAGS="--optimize --optimize-runs 200"
dapp build
# Export keys
export DEPLOYER_PRIVATE_KEY=<PRIVATE_KEY>
export PROVIDER_URL=<RPC_URL>
# You'll need to edit the deploy.js to fit your needs
node scripts/deploy.js