Skip to content

Commit ef2fed2

Browse files
authored
Merge pull request #232 from stabilitydao/sonic
Rings and Angles leverage vaults
2 parents ee933f6 + afa7442 commit ef2fed2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+4161
-157
lines changed

ADM.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ function addPools(AddPoolData[] memory pools, bool rewrite) external;
105105
* AlgebraV4 (SwapX CL): 0xcb2dfcaec4F1a4c61c5D09100482109574E6b8C7
106106
* UniswapV3 (Shadow): 0xAf95468B1a624605bbFb862B0FB6e9C73Ad847b8
107107
* ERC4626: 0xB7192f4b8f741E21b9022D2F8Fd19Ca8c94E7774
108+
* BalancerV3Stable: 0xcd85425fF6C07cF09Ca6Ac8F683E8164F27C143c
108109
</details>
109110

110111
* [Swapper sonicscan](https://sonicscan.org/address/0xe52Fcf607A8328106723804De1ef65Da512771Be#writeProxyContract)
@@ -142,7 +143,6 @@ function setStrategyLogicConfig(StrategyLogicConfig memory config, address devel
142143
* `8. setStrategyLogicConfig`
143144
* fill
144145

145-
146146
## Multisig actions
147147

148148
### Set vault config
@@ -247,3 +247,11 @@ Use `IMerkleDistributor.setupCampaign`.
247247
7. merkleRoot: `<copy>`
248248
8. mint: `true`
249249
250+
### Upgrade platform
251+
252+
Use `IPlatform.announcePlatformUpgrade`
253+
254+
1. [New Transaction](https://app.safe.global/apps/open?safe=sonic:0xF564EBaC1182578398E94868bea1AbA6ba339652&appUrl=https%3A%2F%2Fapps-portal.safe.global%2Ftx-builder)
255+
2. `0x4Aca671A420eEB58ecafE83700686a2AD06b20D8` (Platform)
256+
3. Enter ABI: `[{"type": "function","name": "announcePlatformUpgrade","inputs": [{"name": "newVersion","type": "string","internalType": "string"}, {"name": "proxies","type": "address[]","internalType": "address[]"}, {"name": "newImplementations","type": "address[]","internalType": "address[]"}],"outputs": [],"stateMutability": "nonpayable"}]`
257+
4. Fill

chains/SonicLib.sol

Lines changed: 76 additions & 48 deletions
Large diffs are not rendered by default.

script/deploy-adapter/AlgebraV4.Sonic.s.sol

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,19 @@
11
// SPDX-License-Identifier: MIT
22
pragma solidity ^0.8.23;
33

4-
import "forge-std/Script.sol";
5-
import "../../src/core/proxy/Proxy.sol";
6-
import "../../src/adapters/AlgebraV4Adapter.sol";
4+
import {Script} from "forge-std/Script.sol";
5+
import {Proxy} from "../../src/core/proxy/Proxy.sol";
6+
import {AlgebraV4Adapter} from "../../src/adapters/AlgebraV4Adapter.sol";
77

88
contract DeployAlgebraV4AdapterSonic is Script {
99
address public constant PLATFORM = 0x4Aca671A420eEB58ecafE83700686a2AD06b20D8;
1010

1111
function run() external {
1212
uint deployerPrivateKey = vm.envUint("PRIVATE_KEY");
1313
vm.startBroadcast(deployerPrivateKey);
14-
1514
Proxy proxy = new Proxy();
1615
proxy.initProxy(address(new AlgebraV4Adapter()));
1716
AlgebraV4Adapter(address(proxy)).init(PLATFORM);
18-
1917
vm.stopBroadcast();
2018
}
2119

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// SPDX-License-Identifier: MIT
2+
pragma solidity ^0.8.23;
3+
4+
import {Script} from "forge-std/Script.sol";
5+
import {Proxy} from "../../src/core/proxy/Proxy.sol";
6+
import {BalancerV3StableAdapter} from "../../src/adapters/BalancerV3StableAdapter.sol";
7+
8+
contract DeployBalancerV3StableAdapterSonic is Script {
9+
address public constant PLATFORM = 0x4Aca671A420eEB58ecafE83700686a2AD06b20D8;
10+
11+
function run() external {
12+
uint deployerPrivateKey = vm.envUint("PRIVATE_KEY");
13+
vm.startBroadcast(deployerPrivateKey);
14+
Proxy proxy = new Proxy();
15+
proxy.initProxy(address(new BalancerV3StableAdapter()));
16+
BalancerV3StableAdapter(address(proxy)).init(PLATFORM);
17+
vm.stopBroadcast();
18+
}
19+
20+
function testDeployAdapter() external {}
21+
}

script/deploy-adapter/ChainlinkAdapter.Sonic.s.sol

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
// SPDX-License-Identifier: MIT
22
pragma solidity ^0.8.23;
33

4-
import "forge-std/Script.sol";
5-
import "../../src/core/proxy/Proxy.sol";
4+
import {Script} from "forge-std/Script.sol";
5+
import {Proxy} from "../../src/core/proxy/Proxy.sol";
66
import {ChainlinkAdapter} from "../../src/adapters/ChainlinkAdapter.sol";
77

88
contract DeployChainlinkAdapterSonic is Script {
@@ -11,11 +11,9 @@ contract DeployChainlinkAdapterSonic is Script {
1111
function run() external {
1212
uint deployerPrivateKey = vm.envUint("PRIVATE_KEY");
1313
vm.startBroadcast(deployerPrivateKey);
14-
1514
Proxy proxy = new Proxy();
1615
proxy.initProxy(address(new ChainlinkAdapter()));
1716
ChainlinkAdapter(address(proxy)).initialize(PLATFORM);
18-
1917
vm.stopBroadcast();
2018
}
2119

script/deploy-adapter/ERC4626.Sonic.s.sol

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,9 @@ contract DeployERC4626AdapterSonic is Script {
1111
function run() external {
1212
uint deployerPrivateKey = vm.envUint("PRIVATE_KEY");
1313
vm.startBroadcast(deployerPrivateKey);
14-
1514
Proxy proxy = new Proxy();
1615
proxy.initProxy(address(new ERC4626Adapter()));
1716
ERC4626Adapter(address(proxy)).init(PLATFORM);
18-
1917
vm.stopBroadcast();
2018
}
2119

script/deploy-adapter/Solidly.Real.s.sol

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,19 @@
11
// SPDX-License-Identifier: MIT
22
pragma solidity ^0.8.23;
33

4-
import "forge-std/Script.sol";
5-
import "../../src/core/proxy/Proxy.sol";
6-
import "../../src/adapters/SolidlyAdapter.sol";
4+
import {Script} from "forge-std/Script.sol";
5+
import {Proxy} from "../../src/core/proxy/Proxy.sol";
6+
import {SolidlyAdapter} from "../../src/adapters/SolidlyAdapter.sol";
77

88
contract DeploySolidlyAdapterReal is Script {
99
address public constant PLATFORM = 0xB7838d447deece2a9A5794De0f342B47d0c1B9DC;
1010

1111
function run() external {
1212
uint deployerPrivateKey = vm.envUint("PRIVATE_KEY");
1313
vm.startBroadcast(deployerPrivateKey);
14-
1514
Proxy proxy = new Proxy();
1615
proxy.initProxy(address(new SolidlyAdapter()));
1716
SolidlyAdapter(address(proxy)).init(PLATFORM);
18-
1917
vm.stopBroadcast();
2018
}
2119

script/deploy-adapter/Solidly.Sonic.s.sol

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,19 @@
11
// SPDX-License-Identifier: MIT
22
pragma solidity ^0.8.23;
33

4-
import "forge-std/Script.sol";
5-
import "../../src/core/proxy/Proxy.sol";
6-
import "../../src/adapters/SolidlyAdapter.sol";
4+
import {Script} from "forge-std/Script.sol";
5+
import {Proxy} from "../../src/core/proxy/Proxy.sol";
6+
import {SolidlyAdapter} from "../../src/adapters/SolidlyAdapter.sol";
77

88
contract DeploySolidlyAdapterSonic is Script {
99
address public constant PLATFORM = 0x4Aca671A420eEB58ecafE83700686a2AD06b20D8;
1010

1111
function run() external {
1212
uint deployerPrivateKey = vm.envUint("PRIVATE_KEY");
1313
vm.startBroadcast(deployerPrivateKey);
14-
1514
Proxy proxy = new Proxy();
1615
proxy.initProxy(address(new SolidlyAdapter()));
1716
SolidlyAdapter(address(proxy)).init(PLATFORM);
18-
1917
vm.stopBroadcast();
2018
}
2119

script/libs/DeployAdapterLib.sol

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import {BalancerWeightedAdapter} from "../../src/adapters/BalancerWeightedAdapte
1313
import {SolidlyAdapter} from "../../src/adapters/SolidlyAdapter.sol";
1414
import {AlgebraV4Adapter} from "../../src/adapters/AlgebraV4Adapter.sol";
1515
import {ERC4626Adapter} from "../../src/adapters/ERC4626Adapter.sol";
16+
import {BalancerV3StableAdapter} from "../../src/adapters/BalancerV3StableAdapter.sol";
1617

1718
library DeployAdapterLib {
1819
function deployAmmAdapter(address platform, string memory id) internal returns (address) {
@@ -59,6 +60,10 @@ library DeployAdapterLib {
5960
proxy.initProxy(address(new ERC4626Adapter()));
6061
}
6162

63+
if (eq(id, AmmAdapterIdLib.BALANCER_V3_STABLE)) {
64+
proxy.initProxy(address(new BalancerV3StableAdapter()));
65+
}
66+
6267
require(proxy.implementation() != address(0), string.concat("Unknown AmmAdapter:", id));
6368
IAmmAdapter(address(proxy)).init(platform);
6469
IPlatform(platform).addAmmAdapter(id, address(proxy));
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
// SPDX-License-Identifier: MIT
2+
pragma solidity ^0.8.23;
3+
4+
import {Script} from "forge-std/Script.sol";
5+
import {Swapper} from "../../src/core/Swapper.sol";
6+
7+
contract PrepareUpgrade8 is Script {
8+
function run() external {
9+
uint deployerPrivateKey = vm.envUint("PRIVATE_KEY");
10+
vm.startBroadcast(deployerPrivateKey);
11+
// Swapper 1.1.0: long routes
12+
new Swapper();
13+
vm.stopBroadcast();
14+
}
15+
16+
function testPrepareUpgrade() external {}
17+
}

0 commit comments

Comments
 (0)