Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
{
"version": "1.0",
"chainId": "1",
"createdAt": 1741510800000,
"meta": {
"name": "Transactions Batch",
"description": "Grant setNetworkRemappingManager permission, set StakeDAO as network remapping manager for their veBAL locker, then revoke permission",
"txBuilderVersion": "1.16.5",
"createdFromSafeAddress": "0x10A19e7eE7d7F8a52822f6817de8ea18204F2e4f",
"createdFromOwnerAddress": ""
},
"transactions": [
{
"to": "0xA331D84eC860Bf466b4CdCcFb4aC09a1B43F3aE6",
"value": "0",
"data": null,
"contractMethod": {
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "grantRole",
"payable": false
},
"contractInputsValues": {
"role": "0x6bb341db03eede206e544c654a59ef89eea83bc65fada2cfeeaf18c5c0f76ac0",
"account": "0x10A19e7eE7d7F8a52822f6817de8ea18204F2e4f"
}
},
{
"to": "0x83E443EF4f9963C77bd860f94500075556668cb8",
"value": "0",
"data": null,
"contractMethod": {
"inputs": [
{
"internalType": "address",
"name": "localUser",
"type": "address"
},
{
"internalType": "address",
"name": "delegate",
"type": "address"
}
],
"name": "setNetworkRemappingManager",
"payable": false
},
"contractInputsValues": {
"localUser": "0xea79d1A83Da6DB43a85942767C389fE0ACf336A5",
"delegate": "0xB0552b6860CE5C0202976Db056b5e3Cc4f9CC765"
}
},
{
"to": "0xA331D84eC860Bf466b4CdCcFb4aC09a1B43F3aE6",
"value": "0",
"data": null,
"contractMethod": {
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "revokeRole",
"payable": false
},
"contractInputsValues": {
"role": "0x6bb341db03eede206e544c654a59ef89eea83bc65fada2cfeeaf18c5c0f76ac0",
"account": "0x10A19e7eE7d7F8a52822f6817de8ea18204F2e4f"
}
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# [BIP-916] Set Network Remapping Manager for StakeDAO

## Motivation

StakeDAO is launching their OnlyBoost strategies, which optimally allocate boost between StakeDAO and Aura on sidechains (Base and Arbitrum initially). To enable cross-chain boost for their veBAL position, the StakeDAO multisig needs to be designated as the `NetworkRemappingManager` for their veBAL locker on the [VotingEscrowRemapper](https://etherscan.io/address/0x83e443ef4f9963c77bd860f94500075556668cb8) contract. This grants StakeDAO the ability to call `setNetworkRemapping`, allowing them to manage their own L2 boost addresses.

This follows the same procedure as [BIP-341](https://forum.balancer.fi/t/bip-341-enable-tetu-cross-chain-boost/5007), which enabled cross-chain boost for Tetu.

## Specification

The DAO Multisig `0x10A19e7eE7d7F8a52822f6817de8ea18204F2e4f` will execute a single transaction batch on **Ethereum mainnet**:

1. **Grant permission**: Call `grantRole` on the Authorizer (`0xA331D84eC860Bf466b4CdCcFb4aC09a1B43F3aE6`) with:
- `role`: `0x6bb341db03eede206e544c654a59ef89eea83bc65fada2cfeeaf18c5c0f76ac0` — the action ID for `setNetworkRemappingManager` on the VotingEscrowRemapper ([verifiable here](https://github.com/balancer/balancer-deployments/blob/912cfaebda16d3b26a7bd931ce663ee8e44285f0/action-ids/mainnet/action-ids.json#L1340))
- `account`: `0x10A19e7eE7d7F8a52822f6817de8ea18204F2e4f` (DAO Multisig)

2. **Set remapping manager**: Call `setNetworkRemappingManager` on the VotingEscrowRemapper (`0x83E443EF4f9963C77bd860f94500075556668cb8`) with:
- `localUser`: `0xea79d1A83Da6DB43a85942767C389fE0ACf336A5` (StakeDAO veBAL locker)
- `delegate`: `0xB0552b6860CE5C0202976Db056b5e3Cc4f9CC765` (StakeDAO multisig)

3. **Revoke permission**: Call `revokeRole` on the Authorizer to remove the `setNetworkRemappingManager` permission from the DAO Multisig.

## Risk Assessment

Low risk. The permission is granted and revoked atomically within the same transaction batch, so the DAO Multisig never retains the elevated permission beyond execution. The `setNetworkRemappingManager` function only designates who can manage L2 boost remappings for a specific veBAL locker — it does not grant access to any funds.
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
FILENAME: `BIPs/2026-W14/BIP-916/BIP-916-set-network-remapping-manager-stakedao.json`
MULTISIG: `multisigs/dao (mainnet:0x10A19e7eE7d7F8a52822f6817de8ea18204F2e4f)`
COMMIT: `a20b21682f9406d28753cee63f165579cfacfa27`
CHAIN(S): `mainnet`
TENDERLY: [`🟩 SUCCESS`](https://www.tdly.co/shared/simulation/d1a54608-15ae-4edb-9957-6328c2cf0a00)

```
+-----------------------+---------------+--------------------------------------------+------------------------------------------------------------------------------------------+--------------------------------------------------------------------+---------+----------+
| function | caller_name | caller_address | fx_paths | action_ids | bip | tx_index |
+-----------------------+---------------+--------------------------------------------+------------------------------------------------------------------------------------------+--------------------------------------------------------------------+---------+----------+
| Authorizer/grantRole | multisigs/dao | 0x10A19e7eE7d7F8a52822f6817de8ea18204F2e4f | 20230504-vebal-remapper/VotingEscrowRemapper/setNetworkRemappingManager(address,address) | 0x6bb341db03eede206e544c654a59ef89eea83bc65fada2cfeeaf18c5c0f76ac0 | BIP-916 | 0 |
| Authorizer/revokeRole | multisigs/dao | 0x10A19e7eE7d7F8a52822f6817de8ea18204F2e4f | 20230504-vebal-remapper/VotingEscrowRemapper/setNetworkRemappingManager(address,address) | 0x6bb341db03eede206e544c654a59ef89eea83bc65fada2cfeeaf18c5c0f76ac0 | BIP-916 | 2 |
+-----------------------+---------------+--------------------------------------------+------------------------------------------------------------------------------------------+--------------------------------------------------------------------+---------+----------+
```
FILENAME: `BIPs/2026-W14/BIP-916/BIP-916-set-network-remapping-manager-stakedao.json`
MULTISIG: `multisigs/dao (mainnet:0x10A19e7eE7d7F8a52822f6817de8ea18204F2e4f)`
COMMIT: `a20b21682f9406d28753cee63f165579cfacfa27`
CHAIN(S): `mainnet`
TENDERLY: [`🟩 SUCCESS`](https://www.tdly.co/shared/simulation/d1a54608-15ae-4edb-9957-6328c2cf0a00)

```
+----------------------------+-------------------------------------------------------------------------------------------+-------+-------------------------------------------------------------------------------------+------------+----------+
| fx_name | to | value | inputs | bip_number | tx_index |
+----------------------------+-------------------------------------------------------------------------------------------+-------+-------------------------------------------------------------------------------------+------------+----------+
| setNetworkRemappingManager | 0x83E443EF4f9963C77bd860f94500075556668cb8 (20230504-vebal-remapper/VotingEscrowRemapper) | 0 | { | BIP-916 | N/A |
| | | | "localUser": [ | | |
| | | | "0xea79d1A83Da6DB43a85942767C389fE0ACf336A5 (stake_dao/vebal_locker)" | | |
| | | | ], | | |
| | | | "delegate": [ | | |
| | | | "0xB0552b6860CE5C0202976Db056b5e3Cc4f9CC765 (multisigs/stakedao_vebal_manager)" | | |
| | | | ] | | |
| | | | } | | |
+----------------------------+-------------------------------------------------------------------------------------------+-------+-------------------------------------------------------------------------------------+------------+----------+
```
Loading