Skip to content

Commit

Permalink
Merge pull request #88 from bandohq/chore/deploy-celo
Browse files Browse the repository at this point in the history
CHORE - Deploy prod contracts on Celo Mainnet
  • Loading branch information
luisgj authored Dec 20, 2024
2 parents 938c5db + 8e02cac commit 908de0a
Show file tree
Hide file tree
Showing 8 changed files with 267 additions and 19 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
- name: create env file
run: |
touch .env
echo ENVIRONMENT=test >> .env
echo HH_ENVIRONMENT=test >> .env
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
- name: Install packages
Expand Down
212 changes: 202 additions & 10 deletions deployments/_deployments_log_file.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,23 @@
"TIMESTAMP": "2024-12-18 17:59:20",
"CONSTRUCTOR_ARGS": "0x000000000000000000000000e873c736da1d47425d51b3b251dd88171519a47500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de80000000000000000000000004c244916a0f0b4a54aa8377655b156d48f083aa500000000000000000000000000000000000000000000000000000000",
"SALT": "27182818284590452353602874713556",
"VERIFIED": "false",
"VERIFIED": "true",
"CONTRACT_FILE_PATH": "contracts/proxy/FulfillableRegistryProxy.sol",
"CONTRACT_NAME": "FulfillableRegistryProxy"
}
]
}
},
"celo": {
"production": {
"1.0.0": [
{
"ADDRESS": "0x201E5FCbd9ef2652BBd328031674F63beaDDaA5B",
"OPTIMIZER_RUNS": "1000000",
"TIMESTAMP": "2024-12-20 12:01:25",
"CONSTRUCTOR_ARGS": "0x0000000000000000000000004940fcae36a85d74070689de78f1218f4152864700000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000d3962d8494c12211b788cbc0d0e2f5c476a1c51f00000000000000000000000000000000000000000000000000000000",
"SALT": "27182818284590452353602874713556",
"VERIFIED": "true",
"CONTRACT_FILE_PATH": "contracts/proxy/FulfillableRegistryProxy.sol",
"CONTRACT_NAME": "FulfillableRegistryProxy"
}
Expand Down Expand Up @@ -59,7 +75,23 @@
"TIMESTAMP": "2024-12-18 17:59:20",
"CONSTRUCTOR_ARGS": "0x",
"SALT": "27182818284590452353602874713556",
"VERIFIED": "false",
"VERIFIED": "true",
"CONTRACT_FILE_PATH": "contracts/periphery/registry/FulfillableRegistryV1.sol",
"CONTRACT_NAME": "FulfillableRegistryV1"
}
]
}
},
"celo": {
"production": {
"1.0.0": [
{
"ADDRESS": "0x4940FcAe36a85D74070689dE78F1218f41528647",
"OPTIMIZER_RUNS": "1000000",
"TIMESTAMP": "2024-12-20 12:01:25",
"CONSTRUCTOR_ARGS": "0x",
"SALT": "27182818284590452353602874713556",
"VERIFIED": "true",
"CONTRACT_FILE_PATH": "contracts/periphery/registry/FulfillableRegistryV1.sol",
"CONTRACT_NAME": "FulfillableRegistryV1"
}
Expand Down Expand Up @@ -99,6 +131,22 @@
}
]
}
},
"celo": {
"production": {
"1.0.0": [
{
"ADDRESS": "0x4ded9945D27372035dAA5aA48aC6A84ED942fcBa",
"OPTIMIZER_RUNS": "1000000",
"TIMESTAMP": "2024-12-20 12:11:00",
"CONSTRUCTOR_ARGS": "0x0000000000000000000000002e2d7cd0979620dadae5c2ee25b9585e7d09b77000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000d3962d8494c12211b788cbc0d0e2f5c476a1c51f00000000000000000000000000000000000000000000000000000000",
"SALT": "27182818284590452353602874713556",
"VERIFIED": "true",
"CONTRACT_FILE_PATH": "contracts/proxy/ERC20TokenRegistryProxy.sol",
"CONTRACT_NAME": "ERC20TokenRegistryProxy"
}
]
}
}
},
"ERC20TokenRegistry": {
Expand Down Expand Up @@ -133,6 +181,22 @@
}
]
}
},
"celo": {
"production": {
"1.0.0": [
{
"ADDRESS": "0x2e2d7CD0979620daDaE5C2Ee25b9585e7d09B770",
"OPTIMIZER_RUNS": "1000000",
"TIMESTAMP": "2024-12-20 12:11:00",
"CONSTRUCTOR_ARGS": "0x",
"SALT": "27182818284590452353602874713556",
"VERIFIED": "true",
"CONTRACT_FILE_PATH": "contracts/periphery/registry/ERC20TokenRegistryV1.sol",
"CONTRACT_NAME": "ERC20TokenRegistryV1"
}
]
}
}
},
"BandoERC20FulfillableProxy": {
Expand All @@ -145,7 +209,23 @@
"TIMESTAMP": "2024-12-18 18:27:22",
"CONSTRUCTOR_ARGS": "0x0000000000000000000000006c6a9b139ad79d34571b61a9ff87fb780f95134800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de80000000000000000000000004c244916a0f0b4a54aa8377655b156d48f083aa500000000000000000000000000000000000000000000000000000000",
"SALT": "27182818284590452353602874713556",
"VERIFIED": "false",
"VERIFIED": "true",
"CONTRACT_FILE_PATH": "contracts/proxy/BandoERC20FulfillableProxy.sol",
"CONTRACT_NAME": "BandoERC20FulfillableProxy"
}
]
}
},
"celo": {
"production": {
"1.0.0": [
{
"ADDRESS": "0x5A2690225a7efFF7e368d9437AD93603797685c6",
"OPTIMIZER_RUNS": "1000000",
"TIMESTAMP": "2024-12-20 12:12:35",
"CONSTRUCTOR_ARGS": "0x000000000000000000000000e221007b74419d30edc3a62d3cdc0e3e1a4e79ce00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000d3962d8494c12211b788cbc0d0e2f5c476a1c51f00000000000000000000000000000000000000000000000000000000",
"SALT": "27182818284590452353602874713556",
"VERIFIED": "true",
"CONTRACT_FILE_PATH": "contracts/proxy/BandoERC20FulfillableProxy.sol",
"CONTRACT_NAME": "BandoERC20FulfillableProxy"
}
Expand All @@ -163,7 +243,23 @@
"TIMESTAMP": "2024-12-18 18:27:22",
"CONSTRUCTOR_ARGS": "0x",
"SALT": "27182818284590452353602874713556",
"VERIFIED": "false",
"VERIFIED": "true",
"CONTRACT_FILE_PATH": "contracts/BandoERC20FulfillableV1.sol",
"CONTRACT_NAME": "BandoERC20FulfillableV1"
}
]
}
},
"celo": {
"production": {
"1.0.0": [
{
"ADDRESS": "0xe221007B74419D30eDc3A62d3cdc0E3e1a4E79ce",
"OPTIMIZER_RUNS": "1000000",
"TIMESTAMP": "2024-12-20 12:12:35",
"CONSTRUCTOR_ARGS": "0x",
"SALT": "27182818284590452353602874713556",
"VERIFIED": "true",
"CONTRACT_FILE_PATH": "contracts/BandoERC20FulfillableV1.sol",
"CONTRACT_NAME": "BandoERC20FulfillableV1"
}
Expand All @@ -181,7 +277,23 @@
"TIMESTAMP": "2024-12-18 18:28:18",
"CONSTRUCTOR_ARGS": "0x0000000000000000000000003f3996536518c836eccf10c35e335cf4d3a241f900000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de80000000000000000000000004c244916a0f0b4a54aa8377655b156d48f083aa500000000000000000000000000000000000000000000000000000000",
"SALT": "27182818284590452353602874713556",
"VERIFIED": "false",
"VERIFIED": "true",
"CONTRACT_FILE_PATH": "contracts/proxy/BandoFulfillableProxy.sol",
"CONTRACT_NAME": "BandoFulfillableProxy"
}
]
}
},
"celo": {
"production": {
"1.0.0": [
{
"ADDRESS": "0x5319790745f95b9F68c55C536d3e991042976166",
"OPTIMIZER_RUNS": "1000000",
"TIMESTAMP": "2024-12-20 12:13:31",
"CONSTRUCTOR_ARGS": "0x000000000000000000000000dcd81523b789086db95f90ba92757de3f0e84a9d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000d3962d8494c12211b788cbc0d0e2f5c476a1c51f00000000000000000000000000000000000000000000000000000000",
"SALT": "27182818284590452353602874713556",
"VERIFIED": "true",
"CONTRACT_FILE_PATH": "contracts/proxy/BandoFulfillableProxy.sol",
"CONTRACT_NAME": "BandoFulfillableProxy"
}
Expand All @@ -199,7 +311,23 @@
"TIMESTAMP": "2024-12-18 18:28:18",
"CONSTRUCTOR_ARGS": "0x",
"SALT": "27182818284590452353602874713556",
"VERIFIED": "false",
"VERIFIED": "true",
"CONTRACT_FILE_PATH": "contracts/BandoFulfillableV1.sol",
"CONTRACT_NAME": "BandoFulfillableV1"
}
]
}
},
"celo": {
"production": {
"1.0.0": [
{
"ADDRESS": "0xDCD81523B789086db95F90bA92757DE3f0e84a9D",
"OPTIMIZER_RUNS": "1000000",
"TIMESTAMP": "2024-12-20 12:13:31",
"CONSTRUCTOR_ARGS": "0x",
"SALT": "27182818284590452353602874713556",
"VERIFIED": "true",
"CONTRACT_FILE_PATH": "contracts/BandoFulfillableV1.sol",
"CONTRACT_NAME": "BandoFulfillableV1"
}
Expand All @@ -217,7 +345,23 @@
"TIMESTAMP": "2024-12-18 18:28:46",
"CONSTRUCTOR_ARGS": "0x00000000000000000000000090c10d3e1f7c3195b65ebfc2198f62662516d10800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de80000000000000000000000004c244916a0f0b4a54aa8377655b156d48f083aa500000000000000000000000000000000000000000000000000000000",
"SALT": "27182818284590452353602874713556",
"VERIFIED": "false",
"VERIFIED": "true",
"CONTRACT_FILE_PATH": "contracts/proxy/BandoFulfillmentManagerProxy.sol",
"CONTRACT_NAME": "BandoFulfillmentManagerProxy"
}
]
}
},
"celo": {
"production": {
"1.0.0": [
{
"ADDRESS": "0x1c3bDfdb5d662C1cA386a75e21d2d8Dd83BadcC1",
"OPTIMIZER_RUNS": "1000000",
"TIMESTAMP": "2024-12-20 12:15:45",
"CONSTRUCTOR_ARGS": "0x0000000000000000000000004d611299977ae7c3cb2fa9093ec875d1d90fb30100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000d3962d8494c12211b788cbc0d0e2f5c476a1c51f00000000000000000000000000000000000000000000000000000000",
"SALT": "27182818284590452353602874713556",
"VERIFIED": "true",
"CONTRACT_FILE_PATH": "contracts/proxy/BandoFulfillmentManagerProxy.sol",
"CONTRACT_NAME": "BandoFulfillmentManagerProxy"
}
Expand All @@ -235,7 +379,23 @@
"TIMESTAMP": "2024-12-18 18:28:46",
"CONSTRUCTOR_ARGS": "0x",
"SALT": "27182818284590452353602874713556",
"VERIFIED": "false",
"VERIFIED": "true",
"CONTRACT_FILE_PATH": "contracts/BandoFulfillmentManagerV1.sol",
"CONTRACT_NAME": "BandoFulfillmentManagerV1"
}
]
}
},
"celo": {
"production": {
"1.0.0": [
{
"ADDRESS": "0x4d611299977aE7C3Cb2fa9093Ec875d1D90fb301",
"OPTIMIZER_RUNS": "1000000",
"TIMESTAMP": "2024-12-20 12:15:45",
"CONSTRUCTOR_ARGS": "0x",
"SALT": "27182818284590452353602874713556",
"VERIFIED": "true",
"CONTRACT_FILE_PATH": "contracts/BandoFulfillmentManagerV1.sol",
"CONTRACT_NAME": "BandoFulfillmentManagerV1"
}
Expand All @@ -253,7 +413,23 @@
"TIMESTAMP": "2024-12-18 18:29:24",
"CONSTRUCTOR_ARGS": "0x0000000000000000000000005b938360a2495133af6bc8cbcacd838edb59c42700000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de80000000000000000000000004c244916a0f0b4a54aa8377655b156d48f083aa500000000000000000000000000000000000000000000000000000000",
"SALT": "27182818284590452353602874713556",
"VERIFIED": "false",
"VERIFIED": "true",
"CONTRACT_FILE_PATH": "contracts/proxy/BandoRouterProxy.sol",
"CONTRACT_NAME": "BandoRouterProxy"
}
]
}
},
"celo": {
"production": {
"1.0.0": [
{
"ADDRESS": "0x5c4931430fFCC573bAD970Fc9f3746d62b212fB7",
"OPTIMIZER_RUNS": "1000000",
"TIMESTAMP": "2024-12-20 12:16:19",
"CONSTRUCTOR_ARGS": "0x0000000000000000000000000c97904477117985406ffe6f65d2e34d63d5311100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000d3962d8494c12211b788cbc0d0e2f5c476a1c51f00000000000000000000000000000000000000000000000000000000",
"SALT": "27182818284590452353602874713556",
"VERIFIED": "true",
"CONTRACT_FILE_PATH": "contracts/proxy/BandoRouterProxy.sol",
"CONTRACT_NAME": "BandoRouterProxy"
}
Expand All @@ -271,7 +447,23 @@
"TIMESTAMP": "2024-12-18 18:29:24",
"CONSTRUCTOR_ARGS": "0x",
"SALT": "27182818284590452353602874713556",
"VERIFIED": "false",
"VERIFIED": "true",
"CONTRACT_FILE_PATH": "contracts/BandoRouterV1.sol",
"CONTRACT_NAME": "BandoRouterV1"
}
]
}
},
"celo": {
"production": {
"1.0.0": [
{
"ADDRESS": "0x0c97904477117985406fFE6f65D2E34D63d53111",
"OPTIMIZER_RUNS": "1000000",
"TIMESTAMP": "2024-12-20 12:16:19",
"CONSTRUCTOR_ARGS": "0x",
"SALT": "27182818284590452353602874713556",
"VERIFIED": "true",
"CONTRACT_FILE_PATH": "contracts/BandoRouterV1.sol",
"CONTRACT_NAME": "BandoRouterV1"
}
Expand Down
14 changes: 14 additions & 0 deletions deployments/celo.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"FulfillableRegistryProxy": "0x201E5FCbd9ef2652BBd328031674F63beaDDaA5B",
"FulfillableRegistry": "0x4940FcAe36a85D74070689dE78F1218f41528647",
"ERC20TokenRegistryProxy": "0x4ded9945D27372035dAA5aA48aC6A84ED942fcBa",
"ERC20TokenRegistry": "0x2e2d7CD0979620daDaE5C2Ee25b9585e7d09B770",
"BandoERC20FulfillableProxy": "0x5A2690225a7efFF7e368d9437AD93603797685c6",
"BandoERC20Fulfillable": "0xe221007B74419D30eDc3A62d3cdc0E3e1a4E79ce",
"BandoFulfillableProxy": "0x5319790745f95b9F68c55C536d3e991042976166",
"BandoFulfillable": "0xDCD81523B789086db95F90bA92757DE3f0e84a9D",
"BandoFulfillmentManagerProxy": "0x1c3bDfdb5d662C1cA386a75e21d2d8Dd83BadcC1",
"BandoFulfillmentManager": "0x4d611299977aE7C3Cb2fa9093Ec875d1D90fb301",
"BandoRouterProxy": "0x5c4931430fFCC573bAD970Fc9f3746d62b212fB7",
"BandoRouter": "0x0c97904477117985406fFE6f65D2E34D63d53111"
}
22 changes: 22 additions & 0 deletions deployments/configuration_logs_celo.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
Configuring BFP Contracts...
Account: 0xD3962D8494c12211b788CBC0d0E2F5C476a1C51f
Registry - Set Manager: 0xa477bb8db3fbe4d219809172bdc2b70c2720f096c5dd767e35981eb17b5ab182
ERC20Escrow - Set Fulfillable Registry: 0xed48a17fea13fc47b775046de5a13467fb31c6ec4cfb49c129230b80ac181114
ERC20Escrow - Set Manager: 0x3f53cdc30b08a1716c148c5550012f8226afc5630e63607092b1246b01b8e451
ERC20Escrow - Set Router: 0xce10cb4bab9d747b0bfa9f0164cdcd4935d3e8c8667c59e8f0b9e5ca6800a959
ERC20Escrow - Set Fulfillable Registry: 0x0380ca8ff5d25cc26df70fbccfe6de36acc0a6801d62efff914a0eceb3914510
ERC20Escrow - Set Manager: 0x237acc66f0d635fcc145feb41ab5ffc224c2e52d048091750411b63b735eee74
ERC20Escrow - Set Router: 0x00afa5c259730f25804b855473e019c33c909183897f2dffa24c844254298109
Router - Set erc20 escrow: 0x0dd9db9e9e86d2fb1d8ee19b4829c37018f9e4a950221f7ce920f3ddad71c1f9
Router - Set escrow: 0xe493f98b46e44f00465d5a8ed858fb14ce172130b2a645acb278ca68d06a4649
Router - Set Fulfillable Registry: 0xb45c8090c142d25032263e585b9646ced92308f2ca364931b2f11411f9d46e53
Router - Set Token Registry: 0xcbde890e31947914f27862daa4cd74ecd7197f10bafea8d136417ce7dd02f776
Manager - Set Service Registry: 0x53943d344635ad5b9ee32397f4e32d81e4bfc8c2413b06f9d71046979c269961
Manager - Set Escrow: 0x66ff73e5be151807b6f4dac5ec2039bac6f17d43b7376a3ce21ee9a06d25487e
Manager - Set ERC20 Escrow: 0xd14652f1d085cfba964c244337fa8ffa9b946a516130a58a6e009b63657b7c89
Registry Ownership Transferred
ERC20Escrow Ownership Transferred
Escrow Ownership Transferred
Router Ownership Transferred
Manager Ownership Transferred
Configuration Complete
3 changes: 2 additions & 1 deletion foundry.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ fs_permissions = [
ffi = true
cache = true
solc_version = "0.8.28"
evm_version = "paris"

[rpc_endpoints]
mainnet = "${ETH_NODE_URI_MAINNET}"
Expand Down Expand Up @@ -59,7 +60,7 @@ aurora = { key = "${AURORA_ETHERSCAN_API_KEY}", url = "https://api.aurorascan.de
avalanche = { key = "${AVALANCHE_ETHERSCAN_API_KEY}", url = "https://api.snowtrace.io/api" }
boba = { key = "${BOBA_ETHERSCAN_API_KEY}", url = "https://api.bobascan.com/api" }
bsc = { key = "${BSC_ETHERSCAN_API_KEY}", url = "https://api.bscscan.com/api" }
celo = { key = "${CELO_ETHERSCAN_API_KEY}", url = "https://explorer.celo.org/api" }
celo = { key = "${CELO_ETHERSCAN_API_KEY}", url = "https://api.celoscan.io/api" }
cronos = { key = "${CRONOS_ETHERSCAN_API_KEY}", url = "https://api.cronoscan.com/api" }
fantom = { key = "${FANTOM_ETHERSCAN_API_KEY}", url = "https://api.ftmscan.com/api" }
fuse = { key = "${FUSE_ETHERSCAN_API_KEY}", url = "https://explorer.fuse.io/api" }
Expand Down
17 changes: 13 additions & 4 deletions hardhat.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,29 @@ const createConfig = (env) => {
const privateKey = env === 'prod' ? process.env.PRIVATE_KEY_PRODUCTION : process.env.PRIVATE_KEY;
return {
solidity: "0.8.28",
evm_version: "paris",
networks: {
arbitrum: {
url: process.env.ETH_NODE_URI_ARBITRUM,
accounts: [privateKey],
protocolOwner: 'tbd',
managerOwner: 'tbd',
tokenRegistryOwner: 'tbd',
protocolOwner: process.env.PROTOCOL_OWNER,
managerOwner: process.env.MANAGER_OWNER,
tokenRegistryOwner: process.env.TOKEN_REGISTRY_OWNER,
},
celo: {
url: process.env.ETH_NODE_URI_CELO,
accounts: [privateKey],
protocolOwner: process.env.PROTOCOL_OWNER,
managerOwner: process.env.MANAGER_OWNER,
tokenRegistryOwner: process.env.TOKEN_REGISTRY_OWNER,
}
// Add more networks here
}
}
} else {
return {
solidity: "0.8.28",
evm_version: "paris",
networks: {
hardhat: {
chainId: 1337
Expand All @@ -32,4 +41,4 @@ const createConfig = (env) => {
}
}

module.exports = createConfig(process.env.ENVIRONMENT);
module.exports = createConfig(process.env.HH_ENVIRONMENT);
Loading

0 comments on commit 908de0a

Please sign in to comment.