From 1fa6e745874a2b654a8f7c76ed7ae2280acc0845 Mon Sep 17 00:00:00 2001 From: Juan Ignacio Ubeira Date: Thu, 5 Dec 2024 12:04:18 -0300 Subject: [PATCH] V3 Stable pool factory deployment. (#130) --- CHANGELOG.md | 1 + action-ids/gnosis/action-ids.json | 20 +++++++++++++++++++ action-ids/mainnet/action-ids.json | 20 +++++++++++++++++++ action-ids/sepolia/action-ids.json | 20 +++++++++++++++++++ addresses/gnosis.json | 13 ++++++++++++ addresses/mainnet.json | 13 ++++++++++++ addresses/sepolia.json | 13 ++++++++++++ deployment-txs/gnosis.json | 4 +++- deployment-txs/mainnet.json | 4 +++- deployment-txs/sepolia.json | 4 +++- .../output/gnosis.json | 4 ++++ .../output/mainnet.json | 4 ++++ .../output/sepolia.json | 4 ++++ v3/tasks/20241205-v3-stable-pool/readme.md | 3 +++ 14 files changed, 124 insertions(+), 3 deletions(-) create mode 100644 v3/tasks/20241205-v3-stable-pool/output/gnosis.json create mode 100644 v3/tasks/20241205-v3-stable-pool/output/mainnet.json create mode 100644 v3/tasks/20241205-v3-stable-pool/output/sepolia.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 4fb162d1..f74109e4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ - Deployed V3 Vault to Mainnet, Gnosis and Sepolia. - Deployed V3 Weighted Pool to Mainnet, Gnosis and Sepolia. +- Deployed V3 Stable Pool to Mainnet, Gnosis and Sepolia. - Deployed contracts to Fraxtal with veBAL support. - Deployed contracts to Mode without veBAL support. diff --git a/action-ids/gnosis/action-ids.json b/action-ids/gnosis/action-ids.json index 64e40688..8ec7fc47 100644 --- a/action-ids/gnosis/action-ids.json +++ b/action-ids/gnosis/action-ids.json @@ -608,5 +608,25 @@ "withdrawProtocolFeesForToken(address,address,address)": "0xf830de585800a430465649def91ee4e68e52ef19d8734b6836b9a2237853fc07" } } + }, + "20241205-v3-stable-pool": { + "StablePoolFactory": { + "useAdaptor": false, + "actionIds": { + "create(string,string,(address,uint8,address,bool)[],uint256,(address,address,address),uint256,address,bool,bool,bytes32)": "0xdb564904250dc5972eb6c47e3edc316a249620a262a4bb441cb210df74029969", + "disable()": "0x918265b00e10f59d74df8af13287d5465c19a072459da4ae7d94b20d4e66c1e8" + } + }, + "StablePool": { + "useAdaptor": false, + "factoryOutput": "0x5006082D252c6315C3A83BD621927551a20F3b44", + "actionIds": { + "emitApproval(address,address,uint256)": "0x8c8f671cc91ddb489d1b3041cdbe14dba6f10f6132eb632fb4caec73ef5a1432", + "emitTransfer(address,address,uint256)": "0x801db56805f58f25d8cee5f946ea7a7753926b7ede9f5a3799d4afc4c1a237a0", + "incrementNonce()": "0x2299a54a911d955ed9b090a34b67ab526795eaf6724a738b7350c32c81454606", + "startAmplificationParameterUpdate(uint256,uint256)": "0xd092c49bcc2e34f69b02005821b50d57632951029f4a20eb4fb8d6fcb2ef08a3", + "stopAmplificationParameterUpdate()": "0x66a9e5de1de4dbcb0b1d3979ca06bd4bb8ba535a1f67873ed92779cfd976dcf0" + } + } } } \ No newline at end of file diff --git a/action-ids/mainnet/action-ids.json b/action-ids/mainnet/action-ids.json index f1c76250..5042da9a 100644 --- a/action-ids/mainnet/action-ids.json +++ b/action-ids/mainnet/action-ids.json @@ -1601,5 +1601,25 @@ "withdrawProtocolFeesForToken(address,address,address)": "0xf830de585800a430465649def91ee4e68e52ef19d8734b6836b9a2237853fc07" } } + }, + "20241205-v3-stable-pool": { + "StablePoolFactory": { + "useAdaptor": false, + "actionIds": { + "create(string,string,(address,uint8,address,bool)[],uint256,(address,address,address),uint256,address,bool,bool,bytes32)": "0x482cafcf5f747b5ffd9a54d523a7c34cb9ee4e2c83a1cb9f9539b7321b0145a4", + "disable()": "0x2f54088e4f997de92b7bea3779089047980bab824c65d526fc075413ff373000" + } + }, + "StablePool": { + "useAdaptor": false, + "factoryOutput": "0x89Ef89Fd9a6ec73bcE588F309C1F65C406d2891C", + "actionIds": { + "emitApproval(address,address,uint256)": "0xf2e599a1c0981d10a53f7745c8d867a87f93965373fa984d6be6052d22855623", + "emitTransfer(address,address,uint256)": "0x1b0cc500ac78fab089e6ef703cfca8f620c6e5f32e30db6a3adb851f6907b3ef", + "incrementNonce()": "0x215c7a3a971d8e56f92efbe5d88acc2905eae340a627b9e076d015309d6ceb56", + "startAmplificationParameterUpdate(uint256,uint256)": "0xc1d77fef06a5acef26a30536474b98eb44840e5f17e86114c8aaa4274e206b3c", + "stopAmplificationParameterUpdate()": "0xeeed27c13054947e3283c26fca5c34c2e514ef8caa98f1c6a6778c06f1d247da" + } + } } } \ No newline at end of file diff --git a/action-ids/sepolia/action-ids.json b/action-ids/sepolia/action-ids.json index 3aa5230a..a2a2bb7b 100644 --- a/action-ids/sepolia/action-ids.json +++ b/action-ids/sepolia/action-ids.json @@ -714,5 +714,25 @@ "withdrawProtocolFeesForToken(address,address,address)": "0xf830de585800a430465649def91ee4e68e52ef19d8734b6836b9a2237853fc07" } } + }, + "20241205-v3-stable-pool": { + "StablePoolFactory": { + "useAdaptor": false, + "actionIds": { + "create(string,string,(address,uint8,address,bool)[],uint256,(address,address,address),uint256,address,bool,bool,bytes32)": "0xa9ef94506cd1214e60cdaeba6bbcc61258f20ce5ce3189f734e4e9cf338e378c", + "disable()": "0x4f590268071698f1b978cb58c6ea0ac77cfa53de25625033886c32356d164d23" + } + }, + "StablePool": { + "useAdaptor": false, + "factoryOutput": "0x7373C5b9610d43466395617c428eCAA5b47ac5AA", + "actionIds": { + "emitApproval(address,address,uint256)": "0xc44b2d978d74b04d5bdf6c623afc4261b967668f7215373c7ddb293a49e2b2f8", + "emitTransfer(address,address,uint256)": "0x2aec93459a34ee3142739c99eaf02d4d05a08f85db01ed2ca232e4931d8db5ee", + "incrementNonce()": "0x3fa097b918bdf918071a0b9d2c5c4a9e4178ea7f423463ba4e29e93b6503a184", + "startAmplificationParameterUpdate(uint256,uint256)": "0x3189019c20a64602e95429edae35f1ff6ac0b1ad5f1bb4fc03ca14693d1a9cb7", + "stopAmplificationParameterUpdate()": "0xa5455f6ee362021a73c69b1c3865f21493266a1eb878508937fabf493a942e34" + } + } } } \ No newline at end of file diff --git a/addresses/gnosis.json b/addresses/gnosis.json index 0547428f..aadb6da7 100644 --- a/addresses/gnosis.json +++ b/addresses/gnosis.json @@ -534,6 +534,19 @@ ], "status": "ACTIVE" }, + "20241205-v3-stable-pool": { + "contracts": [ + { + "name": "StablePoolFactory", + "address": "0x22625eEDd92c81a219A83e1dc48f88d54786B017" + }, + { + "name": "MockStablePool", + "address": "0x5006082D252c6315C3A83BD621927551a20F3b44" + } + ], + "status": "ACTIVE" + }, "20241205-v3-weighted-pool": { "contracts": [ { diff --git a/addresses/mainnet.json b/addresses/mainnet.json index 2149ddf1..f40d493b 100644 --- a/addresses/mainnet.json +++ b/addresses/mainnet.json @@ -1298,6 +1298,19 @@ ], "status": "ACTIVE" }, + "20241205-v3-stable-pool": { + "contracts": [ + { + "name": "StablePoolFactory", + "address": "0xB9d01CA61b9C181dA1051bFDd28e1097e920AB14" + }, + { + "name": "MockStablePool", + "address": "0x89Ef89Fd9a6ec73bcE588F309C1F65C406d2891C" + } + ], + "status": "ACTIVE" + }, "20241205-v3-weighted-pool": { "contracts": [ { diff --git a/addresses/sepolia.json b/addresses/sepolia.json index b871a7e4..e23beae3 100644 --- a/addresses/sepolia.json +++ b/addresses/sepolia.json @@ -616,6 +616,19 @@ ], "status": "ACTIVE" }, + "20241205-v3-stable-pool": { + "contracts": [ + { + "name": "StablePoolFactory", + "address": "0xd67F485C07D258B3e93835a3799d862ffcB55923" + }, + { + "name": "MockStablePool", + "address": "0x7373C5b9610d43466395617c428eCAA5b47ac5AA" + } + ], + "status": "ACTIVE" + }, "20241205-v3-weighted-pool": { "contracts": [ { diff --git a/deployment-txs/gnosis.json b/deployment-txs/gnosis.json index 0f64a99c..cfe9fa96 100644 --- a/deployment-txs/gnosis.json +++ b/deployment-txs/gnosis.json @@ -72,5 +72,7 @@ "0xE241C6e48CA045C7f631600a0f1403b2bFea05ad": "0xbddecd204c0ff30e450edee2fd8c90b57632ba63525f7c1771a5e0017308b15e", "0xAc27df81663d139072E615855eF9aB0Af3FBD281": "0x7cd44000bec33d99663fdbcb718ce497d6aaa3ecea1131fbab3a865db9d37725", "0xEB1eeaBF0126d813589C3D2CfeFFE410D9aE3863": "0x04965cda30a501e074b983c40c5ff83d70401597da929e937e39d60022f4f0d9", - "0xd43c36038250c66D46854e536Bf959fdDE5294c3": "0x81103c45f5122e7c48e538cdc4defa0831221bf39cf5efb1d463ff8d77c033eb" + "0xd43c36038250c66D46854e536Bf959fdDE5294c3": "0x81103c45f5122e7c48e538cdc4defa0831221bf39cf5efb1d463ff8d77c033eb", + "0x22625eEDd92c81a219A83e1dc48f88d54786B017": "0xbd157de3b2e45017b96a93474051c6f390f4c5d46a178a8a2e96c7b68ca85873", + "0x5006082D252c6315C3A83BD621927551a20F3b44": "0xf44730a89599bb646bf82595a1d82f255891fef1360488863809f3041e24b2b9" } \ No newline at end of file diff --git a/deployment-txs/mainnet.json b/deployment-txs/mainnet.json index 3cc78060..90768cc3 100644 --- a/deployment-txs/mainnet.json +++ b/deployment-txs/mainnet.json @@ -171,5 +171,7 @@ "0xE241C6e48CA045C7f631600a0f1403b2bFea05ad": "0x8ea045aa2c50cc3fe24f6e9122cac4d1825b9367598fce148fce736b2540a1ab", "0xAc27df81663d139072E615855eF9aB0Af3FBD281": "0xc8ae141334ca62994b5108c39d6d926596272a639edbb06b2d353b8890072db6", "0x201efd508c8DfE9DE1a13c2452863A78CB2a86Cc": "0x1e14baaeb10fc3a6b689e77ec34e8c5e8e21853f6e23257459dd99c35b6ff06b", - "0x527d0E14acc53FB040DeBeae1cAb973D23FB3568": "0x44d82009c125f39bd2bbd1f723e7284e4226d5d752a66b18536e5d92c37b0c82" + "0x527d0E14acc53FB040DeBeae1cAb973D23FB3568": "0x44d82009c125f39bd2bbd1f723e7284e4226d5d752a66b18536e5d92c37b0c82", + "0xB9d01CA61b9C181dA1051bFDd28e1097e920AB14": "0x2794463090a850910415b88df0f756e01e0838c8782e83a89389992c17469513", + "0x89Ef89Fd9a6ec73bcE588F309C1F65C406d2891C": "0xb85dd153e2e12599487632277c99375af44402e6c6053d47fa622a7a02d71691" } \ No newline at end of file diff --git a/deployment-txs/sepolia.json b/deployment-txs/sepolia.json index aa43c59f..78768062 100644 --- a/deployment-txs/sepolia.json +++ b/deployment-txs/sepolia.json @@ -84,5 +84,7 @@ "0x7b0d669142FEDe0eB9065E3B9140a7c90a934a27": "0x254b0ec866c204a1a1eca3d1a85879ddc4b24191141215d7ecff085cf478f70c", "0xAc27df81663d139072E615855eF9aB0Af3FBD281": "0x35299591bbd0daf8013573a132cec517f16a03b2cdcaa6370c3bcc37459924b9", "0x7532d5a3bE916e4a4D900240F49F0BABd4FD855C": "0xe42c9cdc05ab3de2b8698ed32e56dce0f85c1017099aa965784d8023fb29d012", - "0xFc253B433B7225AC7736EAbDF4115F7252aECb91": "0x45579023de61bae57ba62a72a50783509afa7c47f466150b3d5f134d220624b6" + "0xFc253B433B7225AC7736EAbDF4115F7252aECb91": "0x45579023de61bae57ba62a72a50783509afa7c47f466150b3d5f134d220624b6", + "0xd67F485C07D258B3e93835a3799d862ffcB55923": "0x48d803b01baf630543481ca6eefca5dc269d8670cf44afd08dcba3792a48710f", + "0x7373C5b9610d43466395617c428eCAA5b47ac5AA": "0x00dcc321792c060560757aea332ba6247d84c0365f535105229ea75b8d9d3f9d" } \ No newline at end of file diff --git a/v3/tasks/20241205-v3-stable-pool/output/gnosis.json b/v3/tasks/20241205-v3-stable-pool/output/gnosis.json new file mode 100644 index 00000000..bf0c7e89 --- /dev/null +++ b/v3/tasks/20241205-v3-stable-pool/output/gnosis.json @@ -0,0 +1,4 @@ +{ + "StablePoolFactory": "0x22625eEDd92c81a219A83e1dc48f88d54786B017", + "MockStablePool": "0x5006082D252c6315C3A83BD621927551a20F3b44" +} \ No newline at end of file diff --git a/v3/tasks/20241205-v3-stable-pool/output/mainnet.json b/v3/tasks/20241205-v3-stable-pool/output/mainnet.json new file mode 100644 index 00000000..eab25f0d --- /dev/null +++ b/v3/tasks/20241205-v3-stable-pool/output/mainnet.json @@ -0,0 +1,4 @@ +{ + "StablePoolFactory": "0xB9d01CA61b9C181dA1051bFDd28e1097e920AB14", + "MockStablePool": "0x89Ef89Fd9a6ec73bcE588F309C1F65C406d2891C" +} \ No newline at end of file diff --git a/v3/tasks/20241205-v3-stable-pool/output/sepolia.json b/v3/tasks/20241205-v3-stable-pool/output/sepolia.json new file mode 100644 index 00000000..2f28905e --- /dev/null +++ b/v3/tasks/20241205-v3-stable-pool/output/sepolia.json @@ -0,0 +1,4 @@ +{ + "StablePoolFactory": "0xd67F485C07D258B3e93835a3799d862ffcB55923", + "MockStablePool": "0x7373C5b9610d43466395617c428eCAA5b47ac5AA" +} \ No newline at end of file diff --git a/v3/tasks/20241205-v3-stable-pool/readme.md b/v3/tasks/20241205-v3-stable-pool/readme.md index 64dbab42..a67ceb36 100644 --- a/v3/tasks/20241205-v3-stable-pool/readme.md +++ b/v3/tasks/20241205-v3-stable-pool/readme.md @@ -6,5 +6,8 @@ Pools from this factory use stable math, inspired by Curve stable pools, which i ## Useful Files - [Code](https://github.com/balancer/balancer-v3-monorepo/commit/25d73b3d091f5dde943ad6b7d90db9569222510d). +- [Ethereum mainnet addresses](./output/mainnet.json) +- [Gnosis mainnet addresses](./output/gnosis.json) +- [Sepolia testnet addresses](./output/sepolia.json) - [`StablePoolFactory` artifact](./artifact/StablePoolFactory.json) - [`StablePool` artifact](./artifact/StablePool.json)