Skip to content

Commit 69c12fa

Browse files
Merge pull request #2433 from BalancerMaxis/BIP-875-ezkl-perms
[BIP-875] Implement EZKL Dynamic Fee Control for Balancer Pools
2 parents 15c0292 + 03dca48 commit 69c12fa

10 files changed

+270
-0
lines changed
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
{
2+
"version": "1.0",
3+
"chainId": "1",
4+
"createdAt": 1759342022116,
5+
"meta": {
6+
"name": "Transactions Batch",
7+
"description": "",
8+
"txBuilderVersion": "1.18.2",
9+
"createdFromSafeAddress": "0x9ff471F9f98F42E5151C7855fD1b5aa906b1AF7e",
10+
"createdFromOwnerAddress": "",
11+
"checksum": "0xdcd899bb90598ff1911d749a19732122431406be563cf340f3d534cef009814b"
12+
},
13+
"transactions": [
14+
{
15+
"to": "0x8A8B9f35765899B3a0291700141470D79EA2eA88",
16+
"value": "0",
17+
"data": null,
18+
"contractMethod": {
19+
"inputs": [
20+
{
21+
"internalType": "address",
22+
"name": "initialManager",
23+
"type": "address"
24+
},
25+
{
26+
"internalType": "bytes32[]",
27+
"name": "newPoolIds",
28+
"type": "bytes32[]"
29+
}
30+
],
31+
"name": "createPoolSet",
32+
"payable": false
33+
},
34+
"contractInputsValues": {
35+
"initialManager": "0xB7aadD330A64088A85e500874DCDcFB7F253fEB4",
36+
"newPoolIds": "[0x3de27efa2f1aa663ae5d458857e731c129069f29000200000000000000000588]"
37+
}
38+
}
39+
]
40+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
FILENAME: `BIPs/2025-W41/BIP-875-create_ezkl_poolset.json`
2+
MULTISIG: `multisigs/maxi_omni (mainnet:0x9ff471F9f98F42E5151C7855fD1b5aa906b1AF7e)`
3+
COMMIT: `3e8e819c6042b3f289f5d2c7fa61940fe2cffd5d`
4+
CHAIN(S): `mainnet`
5+
TENDERLY: [`🟩 SUCCESS`](https://www.tdly.co/shared/simulation/e18d6eb1-4da0-4ff3-a356-35ede3726534)
6+
7+
```
8+
+---------------+----------------------------------------------------------------------------------------------+-------+--------------------------------------------------------------------------+------------+----------+
9+
| fx_name | to | value | inputs | bip_number | tx_index |
10+
+---------------+----------------------------------------------------------------------------------------------+-------+--------------------------------------------------------------------------+------------+----------+
11+
| createPoolSet | 0x8A8B9f35765899B3a0291700141470D79EA2eA88 (20250919-pool-swap-fee-helper/PoolSwapFeeHelper) | 0 | { | BIP-875 | N/A |
12+
| | | | "initialManager": [ | | |
13+
| | | | "0xB7aadD330A64088A85e500874DCDcFB7F253fEB4 (N/A)" | | |
14+
| | | | ], | | |
15+
| | | | "newPoolIds": [ | | |
16+
| | | | "0x3de27efa2f1aa663ae5d458857e731c129069f29000200000000000000000588" | | |
17+
| | | | ] | | |
18+
| | | | } | | |
19+
+---------------+----------------------------------------------------------------------------------------------+-------+--------------------------------------------------------------------------+------------+----------+
20+
```
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
{
2+
"version": "1.0",
3+
"chainId": "8453",
4+
"createdAt": 1758784856,
5+
"meta": {
6+
"name": "Transactions Batch",
7+
"description": "EZKL fee perms - v2 base",
8+
"txBuilderVersion": "1.18.0",
9+
"createdFromSafeAddress": "0xC40DCFB13651e64C8551007aa57F9260827B6462",
10+
"createdFromOwnerAddress": ""
11+
},
12+
"transactions": [
13+
{
14+
"to": "0x809B79b53F18E9bc08A961ED4678B901aC93213a",
15+
"value": "0",
16+
"data": null,
17+
"contractMethod": {
18+
"inputs": [
19+
{
20+
"internalType": "bytes32[]",
21+
"name": "roles",
22+
"type": "bytes32[]"
23+
},
24+
{
25+
"internalType": "address",
26+
"name": "account",
27+
"type": "address"
28+
}
29+
],
30+
"name": "grantRoles",
31+
"payable": false
32+
},
33+
"contractInputsValues": {
34+
"roles": "[0x82082fa8e750c32535c8828ada82d6f47fd7ec82740773fc3bb3f7eb88a11717]",
35+
"account": "0xd22eecBB495380Ef52b1CCeF1cA594979885D484"
36+
}
37+
}
38+
]
39+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
FILENAME: `BIPs/2025-W41/BIP-875-v2-fee-helper-perms-base.json`
2+
MULTISIG: `multisigs/dao (base:0xC40DCFB13651e64C8551007aa57F9260827B6462)`
3+
COMMIT: `3e8e819c6042b3f289f5d2c7fa61940fe2cffd5d`
4+
CHAIN(S): `base`
5+
TENDERLY: [`🟩 SUCCESS`](https://www.tdly.co/shared/simulation/af0f3357-93a6-46d8-9649-83a86252dbb3)
6+
7+
```
8+
+-----------------------+-------------------------------------------------+--------------------------------------------+----------------------------------------------------------------------+--------------------------------------------------------------------+---------+----------+
9+
| function | caller_name | caller_address | fx_paths | action_ids | bip | tx_index |
10+
+-----------------------+-------------------------------------------------+--------------------------------------------+----------------------------------------------------------------------+--------------------------------------------------------------------+---------+----------+
11+
| Authorizer/grantRoles | 20250919-pool-swap-fee-helper/PoolSwapFeeHelper | 0xd22eecBB495380Ef52b1CCeF1cA594979885D484 | 20230320-weighted-pool-v4/WeightedPool/setSwapFeePercentage(uint256) | 0x82082fa8e750c32535c8828ada82d6f47fd7ec82740773fc3bb3f7eb88a11717 | BIP-875 | 0 |
12+
+-----------------------+-------------------------------------------------+--------------------------------------------+----------------------------------------------------------------------+--------------------------------------------------------------------+---------+----------+
13+
```
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
{
2+
"version": "1.0",
3+
"chainId": "1",
4+
"createdAt": 1758784752,
5+
"meta": {
6+
"name": "Transactions Batch",
7+
"description": "EZKL fee perms - v2 mainnet",
8+
"txBuilderVersion": "1.18.0",
9+
"createdFromSafeAddress": "0x10A19e7eE7d7F8a52822f6817de8ea18204F2e4f",
10+
"createdFromOwnerAddress": ""
11+
},
12+
"transactions": [
13+
{
14+
"to": "0xA331D84eC860Bf466b4CdCcFb4aC09a1B43F3aE6",
15+
"value": "0",
16+
"data": null,
17+
"contractMethod": {
18+
"inputs": [
19+
{
20+
"internalType": "bytes32[]",
21+
"name": "roles",
22+
"type": "bytes32[]"
23+
},
24+
{
25+
"internalType": "address",
26+
"name": "account",
27+
"type": "address"
28+
}
29+
],
30+
"name": "grantRoles",
31+
"payable": false
32+
},
33+
"contractInputsValues": {
34+
"roles": "[0x78e9adfe5f05d7114a59d0870d78971192f871f57bb36e2aff2edbe75d425844, 0xd8638fc873fb8c5c0e67c437099a19eb0546fb439dab8babff44196f11d44831, 0xa5547190e3d59f2bfeb4174ca3454b2f2acaeed644bc7ad7018014516f73f2bd]",
35+
"account": "0x8A8B9f35765899B3a0291700141470D79EA2eA88"
36+
}
37+
}
38+
]
39+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
FILENAME: `BIPs/2025-W41/BIP-875-v2-fee-helper-perms-mainnet.json`
2+
MULTISIG: `multisigs/dao (mainnet:0x10A19e7eE7d7F8a52822f6817de8ea18204F2e4f)`
3+
COMMIT: `3e8e819c6042b3f289f5d2c7fa61940fe2cffd5d`
4+
CHAIN(S): `mainnet`
5+
TENDERLY: [`🟩 SUCCESS`](https://www.tdly.co/shared/simulation/88ddb0d6-5098-4d8a-84f8-8325e35f2a6f)
6+
7+
```
8+
+-----------------------+-------------------------------------------------+--------------------------------------------+----------------------------------------------------------------------+--------------------------------------------------------------------+---------+----------+
9+
| function | caller_name | caller_address | fx_paths | action_ids | bip | tx_index |
10+
+-----------------------+-------------------------------------------------+--------------------------------------------+----------------------------------------------------------------------+--------------------------------------------------------------------+---------+----------+
11+
| Authorizer/grantRoles | 20250919-pool-swap-fee-helper/PoolSwapFeeHelper | 0x8A8B9f35765899B3a0291700141470D79EA2eA88 | 20220908-weighted-pool-v2/WeightedPool/setSwapFeePercentage(uint256) | 0x78e9adfe5f05d7114a59d0870d78971192f871f57bb36e2aff2edbe75d425844 | BIP-875 | 0 |
12+
| | | | 20230206-weighted-pool-v3/WeightedPool/setSwapFeePercentage(uint256) | 0xd8638fc873fb8c5c0e67c437099a19eb0546fb439dab8babff44196f11d44831 | | |
13+
| | | | 20230320-weighted-pool-v4/WeightedPool/setSwapFeePercentage(uint256) | 0xa5547190e3d59f2bfeb4174ca3454b2f2acaeed644bc7ad7018014516f73f2bd | | |
14+
+-----------------------+-------------------------------------------------+--------------------------------------------+----------------------------------------------------------------------+--------------------------------------------------------------------+---------+----------+
15+
```
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
{
2+
"version": "1.0",
3+
"chainId": "8453",
4+
"createdAt": 1758784887,
5+
"meta": {
6+
"name": "Transactions Batch",
7+
"description": "EZKL fee perms - v3 base",
8+
"txBuilderVersion": "1.18.0",
9+
"createdFromSafeAddress": "0xC40DCFB13651e64C8551007aa57F9260827B6462",
10+
"createdFromOwnerAddress": ""
11+
},
12+
"transactions": [
13+
{
14+
"to": "0x809B79b53F18E9bc08A961ED4678B901aC93213a",
15+
"value": "0",
16+
"data": null,
17+
"contractMethod": {
18+
"inputs": [
19+
{
20+
"internalType": "bytes32[]",
21+
"name": "roles",
22+
"type": "bytes32[]"
23+
},
24+
{
25+
"internalType": "address",
26+
"name": "account",
27+
"type": "address"
28+
}
29+
],
30+
"name": "grantRoles",
31+
"payable": false
32+
},
33+
"contractInputsValues": {
34+
"roles": "[0x535f82655cb6a856d1452d97dc8e7b3393044c974f85cfcdd2c1d304c08ce34c]",
35+
"account": "0xFc00536A0fd292c284deeF6af8F644d8373d9cad"
36+
}
37+
}
38+
]
39+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
FILENAME: `BIPs/2025-W41/BIP-875-v3-fee-helper-perms-base.json`
2+
MULTISIG: `multisigs/dao (base:0xC40DCFB13651e64C8551007aa57F9260827B6462)`
3+
COMMIT: `3e8e819c6042b3f289f5d2c7fa61940fe2cffd5d`
4+
CHAIN(S): `base`
5+
TENDERLY: [`🟩 SUCCESS`](https://www.tdly.co/shared/simulation/82d94835-4a14-4519-9c20-220d3e132b15)
6+
7+
```
8+
+-----------------------+-------------------------------------------------------+--------------------------------------------+--------------------------------------------------------------------------+--------------------------------------------------------------------+---------+----------+
9+
| function | caller_name | caller_address | fx_paths | action_ids | bip | tx_index |
10+
+-----------------------+-------------------------------------------------------+--------------------------------------------+--------------------------------------------------------------------------+--------------------------------------------------------------------+---------+----------+
11+
| Authorizer/grantRoles | 20250919-v3-pool-swap-fee-helper-v2/PoolSwapFeeHelper | 0xFc00536A0fd292c284deeF6af8F644d8373d9cad | 20241204-v3-vault/VaultAdmin/setStaticSwapFeePercentage(address,uint256) | 0x535f82655cb6a856d1452d97dc8e7b3393044c974f85cfcdd2c1d304c08ce34c | BIP-875 | 0 |
12+
+-----------------------+-------------------------------------------------------+--------------------------------------------+--------------------------------------------------------------------------+--------------------------------------------------------------------+---------+----------+
13+
```
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
{
2+
"version": "1.0",
3+
"chainId": "1",
4+
"createdAt": 1758784815,
5+
"meta": {
6+
"name": "Transactions Batch",
7+
"description": "EZKL fee perms - v3 mainnet",
8+
"txBuilderVersion": "1.18.0",
9+
"createdFromSafeAddress": "0x10A19e7eE7d7F8a52822f6817de8ea18204F2e4f",
10+
"createdFromOwnerAddress": ""
11+
},
12+
"transactions": [
13+
{
14+
"to": "0xA331D84eC860Bf466b4CdCcFb4aC09a1B43F3aE6",
15+
"value": "0",
16+
"data": null,
17+
"contractMethod": {
18+
"inputs": [
19+
{
20+
"internalType": "bytes32[]",
21+
"name": "roles",
22+
"type": "bytes32[]"
23+
},
24+
{
25+
"internalType": "address",
26+
"name": "account",
27+
"type": "address"
28+
}
29+
],
30+
"name": "grantRoles",
31+
"payable": false
32+
},
33+
"contractInputsValues": {
34+
"roles": "[0x535f82655cb6a856d1452d97dc8e7b3393044c974f85cfcdd2c1d304c08ce34c]",
35+
"account": "0xc00fF743B73346c9a4C40509e0550FfC18e5426d"
36+
}
37+
}
38+
]
39+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
FILENAME: `BIPs/2025-W41/BIP-875-v3-fee-helper-perms-mainnet.json`
2+
MULTISIG: `multisigs/dao (mainnet:0x10A19e7eE7d7F8a52822f6817de8ea18204F2e4f)`
3+
COMMIT: `3e8e819c6042b3f289f5d2c7fa61940fe2cffd5d`
4+
CHAIN(S): `mainnet`
5+
TENDERLY: [`🟩 SUCCESS`](https://www.tdly.co/shared/simulation/630abe1a-0e46-45c5-82a5-5f5ceef97b2d)
6+
7+
```
8+
+-----------------------+-------------------------------------------------------+--------------------------------------------+--------------------------------------------------------------------------+--------------------------------------------------------------------+---------+----------+
9+
| function | caller_name | caller_address | fx_paths | action_ids | bip | tx_index |
10+
+-----------------------+-------------------------------------------------------+--------------------------------------------+--------------------------------------------------------------------------+--------------------------------------------------------------------+---------+----------+
11+
| Authorizer/grantRoles | 20250919-v3-pool-swap-fee-helper-v2/PoolSwapFeeHelper | 0xc00fF743B73346c9a4C40509e0550FfC18e5426d | 20241204-v3-vault/VaultAdmin/setStaticSwapFeePercentage(address,uint256) | 0x535f82655cb6a856d1452d97dc8e7b3393044c974f85cfcdd2c1d304c08ce34c | BIP-875 | 0 |
12+
+-----------------------+-------------------------------------------------------+--------------------------------------------+--------------------------------------------------------------------------+--------------------------------------------------------------------+---------+----------+
13+
```

0 commit comments

Comments
 (0)