# 智能合约治理

### 合约管理

Solv协议的智能合约升级机制利用了[OpenZeppelin](https://www.openzeppelin.com/)的可升级合约框架。该框架允许安全、无缝的合约升级，确保可以在不破坏现有合约状态的情况下添加新功能。更多信息请参考官方文档：[可升级合约文档](https://docs.openzeppelin.com/contracts/5.x/upgradeable)

升级的管理权限被分配给Gnosis Safe多重签名地址，提供安全且去中心化的方式来管理合约升级。将添加时间锁机制，通过在升级提案和执行之间引入延迟来进一步增强安全性。

#### 合约管理员

<table><thead><tr><th width="248">合约名称</th><th>合约管理员地址</th></tr></thead><tbody><tr><td><p>SolvBTCFactory </p><p>SolvBTCYieldTokenFactory</p><p>MultiAssetPool</p><p>Router Oracle</p></td><td>0x0c2Bc4d2698820e12E6eBe863E7b9E2650CD5b7D</td></tr></tbody></table>

**要点：**

1. 合约升级管理员地址在所有链上是统一的。
2. 这些合约的关系请参考[智能合约文档](/solv-docs/technical-docs/smart-contracts.md)。

### Runtime配置

#### **访问控制模型**

Solv协议的智能合约Runtime配置使用OpenZeppelin的访问控制模型，如[访问控制文档](https://docs.openzeppelin.com/contracts/5.x/access-control)中所述。

**参数配置**

更新参数 (如添加支持的代币、设置Oracle地址等) 的权限模型采用OpenZeppelin的[**Ownable**](https://docs.openzeppelin.com/contracts/5.x/api/access#Ownable)实现，权限地址为Gnosis Safe多重签名地址。

**代币铸造/销毁**

SolvBTC及相关LSTs的跨链铸造/销毁采用基于角色的访问控制机制进行权限管理，可以灵活管理和分配各种合约权限。通过为不同实体分配特定角色，Solv确保合约操作的安全性和可控性。

#### 角色定义

<table><thead><tr><th width="153">角色名称</th><th width="350">角色 ID</th><th>角色权限</th></tr></thead><tbody><tr><td>Admin Role</td><td>0x0000000000000000000000000000000000000000000000000000000000000000</td><td>有权向指定账户授予Minter/Burner角色</td></tr><tr><td>Minter</td><td>0x21c4541be81880876bb5b786c07d484291318693feeeefe46b97010f158e9044</td><td>有权铸造和销毁SolvBTC或 LST代币</td></tr><tr><td>Pool Burner</td><td>0x5ee216b0da65f8a36132240e2b0dd9725f0f5dda45a110091be9a42ddd32c71c</td><td>有权从任何账户销毁SolvBTC或LST代币，该角色只能授予控制SolvBTC和相关LST的资产池。</td></tr></tbody></table>

#### 参数配置角色 <a href="#parameter-configuration-roles" id="parameter-configuration-roles"></a>

<table><thead><tr><th width="158">合约名称</th><th width="121">角色名称</th><th>合约地址</th></tr></thead><tbody><tr><td>SolvBTC</td><td>Admin Role</td><td>0x0c2Bc4d2698820e12E6eBe863E7b9E2650CD5b7D</td></tr><tr><td><p>SolvBTC.BBN</p><p>SolvBTC.ENA</p><p>SolvBTC.CORE</p><p>SolvBTC.JUP</p></td><td><p>Admin Role</p><p>Owner</p></td><td>0x0c2Bc4d2698820e12E6eBe863E7b9E2650CD5b7D</td></tr></tbody></table>

#### 铸造/销毁角色

* **Ethereum**

<table><thead><tr><th width="160">合约名称</th><th width="121">角色</th><th width="306">合约地址</th><th>角色持有者</th></tr></thead><tbody><tr><td>SolvBTC</td><td>Minter</td><td>0x1d5262919C4AAb745A8C9dD56B80DB9FeaEf86BA</td><td>MultiAssetPool</td></tr><tr><td></td><td></td><td>0xd8f734c938200BA294d0De5B555E8ff77d66c351</td><td>Chainlink CCIP</td></tr><tr><td></td><td></td><td>0xa2bF58cBAefFc76F8433B7B8492010aC8A51ef80</td><td>Meson.fi Bridge</td></tr><tr><td></td><td>Pool Burner</td><td>0x1d5262919C4AAb745A8C9dD56B80DB9FeaEf86BA</td><td>MultiAssetPool</td></tr><tr><td>SolvBTC.BBN</td><td>Minter</td><td>0x763b8a88Ac40eDb6Cc5c13FAac1fCFf4b393218D</td><td>MultiAssetPool</td></tr><tr><td></td><td></td><td>0x80Cc104119901fd66088C9a8219E50D9547dE2d4</td><td>Chainlink CCIP</td></tr><tr><td></td><td></td><td>0xa2bF58cBAefFc76F8433B7B8492010aC8A51ef80</td><td>Meson.fi Bridge</td></tr><tr><td></td><td>Pool Burner</td><td>0x763b8a88Ac40eDb6Cc5c13FAac1fCFf4b393218D</td><td>MultiAssetPool</td></tr><tr><td>SolvBTC.ENA</td><td>Minter</td><td>0x763b8a88Ac40eDb6Cc5c13FAac1fCFf4b393218D</td><td>MultiAssetPool</td></tr><tr><td></td><td></td><td>0xBA0E1c1F702D7Ec44a555759517BDBe9f7c824C3</td><td>Chainlink CCIP</td></tr><tr><td></td><td></td><td>0xa2bF58cBAefFc76F8433B7B8492010aC8A51ef80</td><td>Meson.fi Bridge</td></tr><tr><td></td><td>Pool Burner</td><td>0x763b8a88Ac40eDb6Cc5c13FAac1fCFf4b393218D</td><td>MultiAssetPool</td></tr></tbody></table>

* **BNB Chain**

<table><thead><tr><th width="159">合约名称</th><th width="126">角色</th><th width="304">合约地址</th><th>角色持有者</th></tr></thead><tbody><tr><td>SolvBTC</td><td>Minter</td><td>0x1FF72318deeD339e724e3c8deBCD528dC013D845</td><td>MutiAssetPool</td></tr><tr><td></td><td></td><td>0x85167add801b063F29186Ea15eC5041a9C4C7DC0</td><td>Chainlink CCIP</td></tr><tr><td></td><td></td><td>0x09d334C6197F52308EfC53E3D6726151c6BD0533</td><td>Meson.fi Bridge</td></tr><tr><td></td><td>Pool Burner</td><td>0x1FF72318deeD339e724e3c8deBCD528dC013D845</td><td>MutiAssetPool</td></tr><tr><td>SolvBTC.BBN</td><td>Minter</td><td>0x2bE4500C50D99A81C8b4cF8DA10C5EDbaE6A234A</td><td>MultiAssetPool</td></tr><tr><td></td><td></td><td>0xA91a447D8fea44712D0157e88cF9aC53fA80C4dd</td><td>Chainlink CCIP</td></tr><tr><td></td><td></td><td>0x09d334C6197F52308EfC53E3D6726151c6BD0533</td><td>Meson.fi Bridge</td></tr><tr><td></td><td>Pool Burner</td><td>0x2bE4500C50D99A81C8b4cF8DA10C5EDbaE6A234A</td><td>MultiAssetPool</td></tr><tr><td>SolvBTC.ENA</td><td>Minter</td><td>0x2bE4500C50D99A81C8b4cF8DA10C5EDbaE6A234A</td><td>MutiAssetPool</td></tr><tr><td></td><td></td><td>0x6c0D3271d3A4Cf72d091e404E6D011f37074e546</td><td>Chainlink CCIP</td></tr><tr><td></td><td></td><td>0x09d334C6197F52308EfC53E3D6726151c6BD0533</td><td>Meson.fi Bridge</td></tr><tr><td></td><td>Pool Burner</td><td>0x2bE4500C50D99A81C8b4cF8DA10C5EDbaE6A234A</td><td>MultiAssetPool</td></tr><tr><td>SolvBTC.CORE</td><td>Minter</td><td>0x2bE4500C50D99A81C8b4cF8DA10C5EDbaE6A234A</td><td>MutiAssetPool</td></tr><tr><td></td><td>Pool Burner</td><td>0x2bE4500C50D99A81C8b4cF8DA10C5EDbaE6A234A</td><td>MultiAssetPool</td></tr><tr><td>SolvBTC.JUP</td><td>Minter</td><td>0x2bE4500C50D99A81C8b4cF8DA10C5EDbaE6A234A</td><td>MutiAssetPool</td></tr><tr><td></td><td>Pool Burner</td><td>0x2bE4500C50D99A81C8b4cF8DA10C5EDbaE6A234A</td><td>MultiAssetPool</td></tr></tbody></table>

* **Arbitrum**

<table><thead><tr><th width="160">合约名称</th><th width="126">角色</th><th width="305">合约地址</th><th>角色持有者</th></tr></thead><tbody><tr><td>SolvBTC</td><td>Minter</td><td>0xf00aa0442bD2abFA2Fe20B12a1f88104A61037c7</td><td>MutiAssetPool</td></tr><tr><td></td><td></td><td>0x1Af4Eaaf574fe8622febe5BE1f242485D9Ae4196</td><td>Chainlink CCIP</td></tr><tr><td></td><td></td><td>0xD3d62E118E820FFd24A43f6a303c8187F6C7e41A</td><td>Meson.fi Bridge</td></tr><tr><td></td><td>Pool Burner</td><td>0xf00aa0442bD2abFA2Fe20B12a1f88104A61037c7</td><td>MutiAssetPool</td></tr><tr><td>SolvBTC.BBN</td><td>Minter</td><td>0x0679E96f5EEDa5313099f812b558714717AEC176</td><td>MutiAssetPool</td></tr><tr><td></td><td></td><td>0x445f5d5e09f269a3bb7CAaC87d1feC46e068A8f3</td><td>Chainlink CCIP</td></tr><tr><td></td><td></td><td>0xD3d62E118E820FFd24A43f6a303c8187F6C7e41A</td><td>Meson.fi Bridge</td></tr><tr><td></td><td>Pool Burner</td><td>0x0679E96f5EEDa5313099f812b558714717AEC176</td><td>MutiAssetPool</td></tr><tr><td>SolvBTC.ENA</td><td>Minter</td><td>0x0679E96f5EEDa5313099f812b558714717AEC176</td><td>MutiAssetPool</td></tr><tr><td></td><td></td><td>0x407320028216a0D91be5c582225Aee9F8447A6e5</td><td>Chainlink CCIP</td></tr><tr><td></td><td></td><td>0xD3d62E118E820FFd24A43f6a303c8187F6C7e41A</td><td>Meson.fi Bridge</td></tr><tr><td></td><td>Pool Burner</td><td>0x0679E96f5EEDa5313099f812b558714717AEC176</td><td>MutiAssetPool</td></tr></tbody></table>

* **Merlin**

<table><thead><tr><th width="160">合约名称</th><th width="130">角色</th><th width="306">合约地址</th><th>角色持有者</th></tr></thead><tbody><tr><td>SolvBTC</td><td>Minter</td><td>0xB777E64E70836f43939955e4561A4a7B3366016D</td><td>MultiAssetPool</td></tr><tr><td></td><td>Pool Burner</td><td>0xB777E64E70836f43939955e4561A4a7B3366016D</td><td>MultiAssetPool</td></tr><tr><td>SolvBTC.BBN</td><td>Minter</td><td>0x7bf5827F3aa751D08Ba1835d3cdB330654ad348b</td><td>MultiAssetPool</td></tr><tr><td></td><td></td><td>0xAFCDfdd3364F6b62670D580c4b47184ef74EA86b</td><td>Meson.fi Bridge</td></tr><tr><td></td><td>Pool Burner</td><td>0x7bf5827F3aa751D08Ba1835d3cdB330654ad348b</td><td>MultiAssetPool</td></tr><tr><td>SolvBTC.ENA</td><td>Minter</td><td>0x7bf5827F3aa751D08Ba1835d3cdB330654ad348b</td><td>MultiAssetPool</td></tr><tr><td></td><td></td><td>0xAFCDfdd3364F6b62670D580c4b47184ef74EA86b</td><td>Meson.fi Bridge</td></tr><tr><td></td><td>Pool Burner</td><td>0x7bf5827F3aa751D08Ba1835d3cdB330654ad348b</td><td>MultiAssetPool</td></tr></tbody></table>

* **Avalanche**

<table><thead><tr><th width="160">合约名称</th><th width="133">角色</th><th width="306">合约地址</th><th>角色持有者</th></tr></thead><tbody><tr><td>SolvBTC</td><td>Minter</td><td>0x0BA5f53a4Bf22C9e5947aeb6eA4521D030f35705</td><td>MultiAssetPool</td></tr><tr><td></td><td></td><td>0x660cE38Fb7682Dfa2bEf3e41bB365c39EC2C4Db8</td><td>Chainlink CCIP</td></tr><tr><td></td><td></td><td>0x5E306700C61d90E7dEE260F01572e4AB803d388D</td><td>Meson.fi Bridge</td></tr><tr><td></td><td>Pool Burner</td><td>0x0BA5f53a4Bf22C9e5947aeb6eA4521D030f35705</td><td>MultiAssetPool</td></tr><tr><td>SolvBTC.BBN</td><td>Minter</td><td>0x814F3ae67dF0da9fe2399a29516FD14b9085263a</td><td>MultiAssetPool</td></tr><tr><td></td><td></td><td>0x19A90F20Ff81BE9F4ebfd1d7B42E84691Db1773A</td><td>Chainlink CCIP</td></tr><tr><td></td><td></td><td>0x5E306700C61d90E7dEE260F01572e4AB803d388D</td><td>Meson.fi Bridge</td></tr><tr><td></td><td>Pool Burner</td><td>0x814F3ae67dF0da9fe2399a29516FD14b9085263a</td><td>MultiAssetPool</td></tr></tbody></table>

* **BOB**

<table><thead><tr><th width="161">合约名称</th><th width="132">角色</th><th width="304">合约地址</th><th>角色持有者</th></tr></thead><tbody><tr><td>SolvBTC</td><td>Minter</td><td>0xc2f69541e3dC306777D260dC66bfD54fcb897100</td><td>MultiAssetPool</td></tr><tr><td></td><td></td><td>0xa6b3746d1b2270824e6560Adafe3Bc5e7545D33b</td><td>Meson.fi Bridge</td></tr><tr><td></td><td>Pool Burner</td><td>0xc2f69541e3dC306777D260dC66bfD54fcb897100</td><td>MultiAssetPool</td></tr><tr><td>SolvBTC.BBN</td><td>Minter</td><td>0xd157B70F917fEf3A59502b9128feCA911dEbC864</td><td>MultiAssetPool</td></tr><tr><td></td><td></td><td>0xa6b3746d1b2270824e6560Adafe3Bc5e7545D33b</td><td>Meson.fi Bridge</td></tr><tr><td></td><td>Pool Burner</td><td>0xd157B70F917fEf3A59502b9128feCA911dEbC864</td><td>MultiAssetPool</td></tr></tbody></table>

* **Base**

<table><thead><tr><th width="161">合约名称</th><th width="137">角色</th><th width="304">合约地址</th><th>角色持有者</th></tr></thead><tbody><tr><td>SolvBTC</td><td>Minter</td><td>0x540a9DBBA1AE6250253ba8793714492ee357ac1D</td><td>MultiAssetPool</td></tr><tr><td></td><td></td><td>0xAc9B7fac15312fECb73e889118C009b2d2Cd5a71</td><td>Chainlink CCIP</td></tr><tr><td></td><td>Pool Burner</td><td>0x540a9DBBA1AE6250253ba8793714492ee357ac1D</td><td>MultiAssetPool</td></tr><tr><td>SolvBTC.BBN</td><td>Minter</td><td>0xD7bf464839a28969846F2E0d1709d61c281d7888</td><td>MultiAssetPool</td></tr><tr><td></td><td></td><td>0x7c7b15c7e71986a63De5486b4C4386264782bcBa</td><td>Chainlink CCIP</td></tr><tr><td></td><td>Pool Burner</td><td>0xD7bf464839a28969846F2E0d1709d61c281d7888</td><td>MultiAssetPool</td></tr></tbody></table>

* **Core**

<table><thead><tr><th width="161">合约名称</th><th width="135">角色</th><th width="307">合约地址</th><th>角色持有者</th></tr></thead><tbody><tr><td>SolvBTC.CORE</td><td>Minter</td><td>0xA29aC443560Ef79732A6d444e73a585416676d1e</td><td>MultiAssetPool</td></tr><tr><td></td><td>Pool Burner</td><td>0xA29aC443560Ef79732A6d444e73a585416676d1e</td><td>MultiAssetPool</td></tr></tbody></table>

* **Mantle**

<table><thead><tr><th width="160">合约名称</th><th width="137">角色</th><th width="307">合约地址</th><th>角色持有者</th></tr></thead><tbody><tr><td>SolvBTC</td><td>Minter</td><td>0x9954Ec753e60515Cde96765efF4D35b18542C09f</td><td>MultiAssetPool</td></tr><tr><td></td><td>Pool Burner</td><td>0x9954Ec753e60515Cde96765efF4D35b18542C09f</td><td>MultiAssetPool</td></tr><tr><td>SolvBTC.BBN</td><td>Minter</td><td>0x7c8f50cb4d1a5b9E58a084BC8D792D7d22108C74</td><td>MultiAssetPool</td></tr><tr><td></td><td>Pool Burner</td><td>0x7c8f50cb4d1a5b9E58a084BC8D792D7d22108C74</td><td>MultiAssetPool</td></tr></tbody></table>

* **Taiko**

<table><thead><tr><th width="157">合约名称</th><th width="136">角色</th><th width="304">合约地址</th><th>角色持有者</th></tr></thead><tbody><tr><td>SolvBTC</td><td>Minter</td><td>0x962B242e02BbcFe5475aB2272B1C77E5f1E9683F</td><td>Meson.fi Bridge</td></tr><tr><td>SolvBTC.BBN</td><td>Minter</td><td>0x962B242e02BbcFe5475aB2272B1C77E5f1E9683F</td><td>Meson.fi Bridge</td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://www.docszh.com/solv-docs/security/contract-governance.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
