Skip to content

Commit 60cb7c4

Browse files
authored
Merge pull request #16 from aragon/f/avalanche
Avalanche
2 parents 986efb6 + 93656a6 commit 60cb7c4

File tree

3 files changed

+68
-44
lines changed

3 files changed

+68
-44
lines changed

DEPLOYMENTS.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,15 @@
7272
Condition Factory: 0x988B0e1542d5e9494897778ebc444E9FfDa58Ddb
7373
```
7474

75+
## Avalanche
76+
77+
```
78+
Deploying from: 0x15a9520995d426C77D001e26BA221ab1593B5AdC
79+
Chain ID: 43114
80+
81+
Condition Factory: 0x3AB0866601fD82f255432D2Bb78E37C115537aB5
82+
```
83+
7584
## Peaq
7685

7786
```

Makefile

Lines changed: 59 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@ SHELL:=/bin/bash
88
# CONSTANTS
99

1010
SOLC_VERSION := $(shell cat foundry.toml | grep solc | cut -d= -f2 | xargs echo || echo "0.8.23")
11-
TEST_TREE_MARKDOWN=TEST_TREE.md
11+
TEST_TREE_MARKDOWN=TESTS.md
1212
MAKEFILE=Makefile
1313
DEPLOYMENT_SCRIPT=Deploy
1414
DEPLOY_SCRIPT:=script/$(DEPLOYMENT_SCRIPT).s.sol:$(DEPLOYMENT_SCRIPT)
1515
CREATE_SCRIPT:=script/Create.s.sol:Create
1616
VERIFY_CONTRACTS_SCRIPT := script/verify-contracts.sh
17-
SUPPORTED_VERIFIERS := etherscan blockscout sourcify routescan-mainnet routescan-testnet
17+
SUPPORTED_VERIFIERS := etherscan blockscout sourcify zksync routescan-mainnet routescan-testnet
1818
MAKE_TEST_TREE_CMD=deno run ./test/script/make-test-tree.ts
1919
LOGS_FOLDER := ./logs
2020
VERBOSITY:=-vvv
@@ -28,6 +28,7 @@ DEPLOYMENT_ADDRESS = $(shell cast wallet address --private-key $(DEPLOYMENT_PRIV
2828
NETWORK_NAME:=$(strip $(subst ',, $(subst ",,$(NETWORK_NAME))))
2929
CHAIN_ID:=$(strip $(subst ',, $(subst ",,$(CHAIN_ID))))
3030
VERIFIER:=$(strip $(subst ',, $(subst ",,$(VERIFIER))))
31+
BLOCKSCOUT_HOST_NAME:=$(strip $(subst ',, $(subst ",,$(BLOCKSCOUT_HOST_NAME))))
3132

3233
DEPLOYMENT_LOG_FILE=deployment-$(NETWORK_NAME)-$(shell date +"%y-%m-%d-%H-%M").log
3334
CREATION_LOG_FILE=creation-$(NETWORK_NAME)-$(shell date +"%y-%m-%d-%H-%M").log
@@ -44,18 +45,20 @@ ifeq ($(VERIFIER), etherscan)
4445
VERIFIER_URL := https://api.etherscan.io/api
4546
VERIFIER_API_KEY := $(ETHERSCAN_API_KEY)
4647
VERIFIER_PARAMS := --verifier $(VERIFIER) --etherscan-api-key $(ETHERSCAN_API_KEY)
47-
endif
48-
49-
ifeq ($(VERIFIER), blockscout)
48+
else ifeq ($(VERIFIER), blockscout)
5049
VERIFIER_URL := https://$(BLOCKSCOUT_HOST_NAME)/api\?
5150
VERIFIER_API_KEY := ""
5251
VERIFIER_PARAMS = --verifier $(VERIFIER) --verifier-url "$(VERIFIER_URL)"
53-
endif
54-
55-
# ifeq ($(VERIFIER), sourcify)
56-
# endif
57-
58-
ifneq ($(filter $(VERIFIER), routescan-mainnet routescan-testnet),)
52+
else ifeq ($(VERIFIER), sourcify)
53+
else ifeq ($(VERIFIER), zksync)
54+
ifeq ($(CHAIN_ID),300)
55+
VERIFIER_URL := https://explorer.sepolia.era.zksync.dev/contract_verification
56+
else ifeq ($(CHAIN_ID),324)
57+
VERIFIER_URL := https://zksync2-mainnet-explorer.zksync.io/contract_verification
58+
endif
59+
VERIFIER_API_KEY := ""
60+
VERIFIER_PARAMS = --verifier $(VERIFIER) --verifier-url "$(VERIFIER_URL)"
61+
else ifneq ($(filter $(VERIFIER), routescan-mainnet routescan-testnet),)
5962
ifeq ($(VERIFIER), routescan-mainnet)
6063
VERIFIER_URL := https://api.routescan.io/v2/network/mainnet/evm/$(CHAIN_ID)/etherscan
6164
else
@@ -67,9 +70,15 @@ ifneq ($(filter $(VERIFIER), routescan-mainnet routescan-testnet),)
6770
VERIFIER_PARAMS = --verifier $(VERIFIER) --verifier-url '$(VERIFIER_URL)' --etherscan-api-key $(VERIFIER_API_KEY)
6871
endif
6972

70-
# When invoked like `make deploy slow=true`
71-
ifeq ($(slow),true)
72-
SLOW_FLAG := --slow
73+
# Additional chain-dependent params (Foundry)
74+
ifeq ($(CHAIN_ID),88888)
75+
FORGE_SCRIPT_CUSTOM_PARAMS := --priority-gas-price 1000000000 --gas-price 5200000000000
76+
else ifeq ($(CHAIN_ID),300)
77+
FORGE_SCRIPT_CUSTOM_PARAMS := --slow
78+
FORGE_BUILD_CUSTOM_PARAMS := --zksync
79+
else ifeq ($(CHAIN_ID),324)
80+
FORGE_SCRIPT_CUSTOM_PARAMS := --slow
81+
FORGE_BUILD_CUSTOM_PARAMS := --zksync
7382
endif
7483

7584
# TARGETS
@@ -110,6 +119,7 @@ clean: ## Clean the build artifacts
110119
test: export RPC_URL=""
111120
test: export ETHERSCAN_API_KEY=
112121
test-coverage: export RPC_URL=""
122+
test-coverage: export ETHERSCAN_API_KEY=
113123

114124
.PHONY: test
115125
test: ## Run unit tests, locally
@@ -174,18 +184,15 @@ $(TEST_TREE_FILES): $(TEST_SOURCE_FILES)
174184
cat $$file | $(MAKE_TEST_TREE_CMD) > $${file%.t.yaml}.tree ; \
175185
done
176186

177-
# Copy the .env files if not present
178-
.env:
179-
cp .env.example .env
180-
@echo "NOTE: Edit the correct values of .env before you continue"
181-
182187
## Deployment targets:
183188

184189
.PHONY: predeploy
185190
predeploy: ## Simulate a factory deployment
186191
@echo "Simulating the deployment"
187192
forge script $(DEPLOY_SCRIPT) \
188193
--rpc-url $(RPC_URL) \
194+
$(FORGE_BUILD_CUSTOM_PARAMS) \
195+
$(FORGE_SCRIPT_CUSTOM_PARAMS) \
189196
$(VERBOSITY)
190197

191198
.PHONY: deploy
@@ -197,9 +204,10 @@ deploy: test ## Deploy the factory and verify the source code
197204
--retries 10 \
198205
--delay 8 \
199206
--broadcast \
200-
$(SLOW_FLAG) \
201207
--verify \
202208
$(VERIFIER_PARAMS) \
209+
$(FORGE_BUILD_CUSTOM_PARAMS) \
210+
$(FORGE_SCRIPT_CUSTOM_PARAMS) \
203211
$(VERBOSITY) 2>&1 | tee -a $(LOGS_FOLDER)/$(DEPLOYMENT_LOG_FILE)
204212

205213
##
@@ -209,6 +217,8 @@ precreate: ## Simulate running Create.s.sol
209217
@echo "Simulating condition creation"
210218
forge script $(CREATE_SCRIPT) \
211219
--rpc-url $(RPC_URL) \
220+
$(FORGE_BUILD_CUSTOM_PARAMS) \
221+
$(FORGE_SCRIPT_CUSTOM_PARAMS) \
212222
$(VERBOSITY)
213223

214224
.PHONY: create
@@ -220,26 +230,27 @@ create: test ## Run Create.s.sol to create new condition instances
220230
--retries 10 \
221231
--delay 8 \
222232
--broadcast \
223-
$(SLOW_FLAG) \
224233
--verify \
225234
$(VERIFIER_PARAMS) \
235+
$(FORGE_BUILD_CUSTOM_PARAMS) \
236+
$(FORGE_SCRIPT_CUSTOM_PARAMS) \
226237
$(VERBOSITY) 2>&1 | tee -a $(LOGS_FOLDER)/$(CREATION_LOG_FILE)
227238

228239
## Verification:
229240

230241
.PHONY: verify-etherscan
231242
verify-etherscan: broadcast/$(DEPLOYMENT_SCRIPT).s.sol/$(CHAIN_ID)/run-latest.json ## Verify the last deployment on an Etherscan (compatible) explorer
232-
forge build
243+
forge build $(FORGE_BUILD_CUSTOM_PARAMS)
233244
bash $(VERIFY_CONTRACTS_SCRIPT) $(CHAIN_ID) $(VERIFIER) $(VERIFIER_URL) $(VERIFIER_API_KEY)
234245

235246
.PHONY: verify-blockscout
236247
verify-blockscout: broadcast/$(DEPLOYMENT_SCRIPT).s.sol/$(CHAIN_ID)/run-latest.json ## Verify the last deployment on BlockScout
237-
forge build
248+
forge build $(FORGE_BUILD_CUSTOM_PARAMS)
238249
bash $(VERIFY_CONTRACTS_SCRIPT) $(CHAIN_ID) $(VERIFIER) https://$(BLOCKSCOUT_HOST_NAME)/api $(VERIFIER_API_KEY)
239250

240251
.PHONY: verify-sourcify
241252
verify-sourcify: broadcast/$(DEPLOYMENT_SCRIPT).s.sol/$(CHAIN_ID)/run-latest.json ## Verify the last deployment on Sourcify
242-
forge build
253+
forge build $(FORGE_BUILD_CUSTOM_PARAMS)
243254
bash $(VERIFY_CONTRACTS_SCRIPT) $(CHAIN_ID) $(VERIFIER) "" ""
244255

245256
##
@@ -270,24 +281,28 @@ refund: ## Refund the remaining balance left on the deployment account
270281
--value $$REMAINING \
271282
$(REFUND_ADDRESS)
272283

284+
.PHONY: gas-price
285+
gas-price:
286+
@echo "Gas price ($(NETWORK_NAME)):"
287+
@cast gas-price --rpc-url $(RPC_URL)
288+
289+
.PHONY: balance
290+
balance:
291+
@echo "Balance of $(DEPLOYMENT_ADDRESS) ($(NETWORK_NAME)):"
292+
@BALANCE=$$(cast balance $(DEPLOYMENT_ADDRESS) --rpc-url $(RPC_URL)) && \
293+
cast --to-unit $$BALANCE ether
294+
273295
# In the case we need to whipe stuck transactions, by submiting a 0 value transaction with a specific nonce and higher gas
274-
# .PHONY: clean-nonces
275-
# clean-nonces:
276-
# for nonce in $(nonces); do \
277-
# make clean-nonce nonce=$$nonce ; \
278-
# done
279-
280-
# .PHONY: clean-nonce
281-
# clean-nonce:
282-
# cast send --private-key $(DEPLOYMENT_PRIVATE_KEY) \
283-
# --rpc-url $(RPC_URL) \
284-
# --value 0 \
285-
# --nonce $(nonce) \
286-
# set the following 2 params in deploy target too if needed
287-
# --priority-gas-price 1000000000 \
288-
# --gas-price 6501000000000 \
289-
# $(DEPLOYMENT_ADDRESS)
290-
291-
# .PHONY: gas-price
292-
# gas-price:
293-
# cast gas-price --rpc-url $(RPC_URL)
296+
.PHONY: clean-nonces
297+
clean-nonces:
298+
for nonce in $(nonces); do \
299+
make clean-nonce nonce=$$nonce ; \
300+
done
301+
302+
.PHONY: clean-nonce
303+
clean-nonce:
304+
cast send --private-key $(DEPLOYMENT_PRIVATE_KEY) \
305+
--rpc-url $(RPC_URL) \
306+
--value 0 \
307+
--nonce $(nonce) \
308+
$(DEPLOYMENT_ADDRESS)
File renamed without changes.

0 commit comments

Comments
 (0)