From 0f1676f415b478e5f9e9db10483c4ec4189b78f8 Mon Sep 17 00:00:00 2001 From: oldchili <130549691+oldchili@users.noreply.github.com> Date: Tue, 23 Jul 2024 10:34:57 +0300 Subject: [PATCH 01/35] chore: forge init --- .github/workflows/test.yml | 34 +++++++++++++++++++ .gitignore | 14 ++++++++ README.md | 67 +++++++++++++++++++++++++++++++++++++- foundry.toml | 6 ++++ script/Counter.s.sol | 12 +++++++ src/Counter.sol | 14 ++++++++ test/Counter.t.sol | 24 ++++++++++++++ 7 files changed, 170 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/test.yml create mode 100644 .gitignore create mode 100644 foundry.toml create mode 100644 script/Counter.s.sol create mode 100644 src/Counter.sol create mode 100644 test/Counter.t.sol diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..9282e82 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,34 @@ +name: test + +on: workflow_dispatch + +env: + FOUNDRY_PROFILE: ci + +jobs: + check: + strategy: + fail-fast: true + + name: Foundry project + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + + - name: Install Foundry + uses: foundry-rs/foundry-toolchain@v1 + with: + version: nightly + + - name: Run Forge build + run: | + forge --version + forge build --sizes + id: build + + - name: Run Forge tests + run: | + forge test -vvv + id: test diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..85198aa --- /dev/null +++ b/.gitignore @@ -0,0 +1,14 @@ +# Compiler files +cache/ +out/ + +# Ignores development broadcast logs +!/broadcast +/broadcast/*/31337/ +/broadcast/**/dry-run/ + +# Docs +docs/ + +# Dotenv file +.env diff --git a/README.md b/README.md index ba880b3..9265b45 100644 --- a/README.md +++ b/README.md @@ -1 +1,66 @@ -# op-farms \ No newline at end of file +## Foundry + +**Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust.** + +Foundry consists of: + +- **Forge**: Ethereum testing framework (like Truffle, Hardhat and DappTools). +- **Cast**: Swiss army knife for interacting with EVM smart contracts, sending transactions and getting chain data. +- **Anvil**: Local Ethereum node, akin to Ganache, Hardhat Network. +- **Chisel**: Fast, utilitarian, and verbose solidity REPL. + +## Documentation + +https://book.getfoundry.sh/ + +## Usage + +### Build + +```shell +$ forge build +``` + +### Test + +```shell +$ forge test +``` + +### Format + +```shell +$ forge fmt +``` + +### Gas Snapshots + +```shell +$ forge snapshot +``` + +### Anvil + +```shell +$ anvil +``` + +### Deploy + +```shell +$ forge script script/Counter.s.sol:CounterScript --rpc-url --private-key +``` + +### Cast + +```shell +$ cast +``` + +### Help + +```shell +$ forge --help +$ anvil --help +$ cast --help +``` diff --git a/foundry.toml b/foundry.toml new file mode 100644 index 0000000..25b918f --- /dev/null +++ b/foundry.toml @@ -0,0 +1,6 @@ +[profile.default] +src = "src" +out = "out" +libs = ["lib"] + +# See more config options https://github.com/foundry-rs/foundry/blob/master/crates/config/README.md#all-options diff --git a/script/Counter.s.sol b/script/Counter.s.sol new file mode 100644 index 0000000..df9ee8b --- /dev/null +++ b/script/Counter.s.sol @@ -0,0 +1,12 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.13; + +import {Script, console} from "forge-std/Script.sol"; + +contract CounterScript is Script { + function setUp() public {} + + function run() public { + vm.broadcast(); + } +} diff --git a/src/Counter.sol b/src/Counter.sol new file mode 100644 index 0000000..aded799 --- /dev/null +++ b/src/Counter.sol @@ -0,0 +1,14 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.13; + +contract Counter { + uint256 public number; + + function setNumber(uint256 newNumber) public { + number = newNumber; + } + + function increment() public { + number++; + } +} diff --git a/test/Counter.t.sol b/test/Counter.t.sol new file mode 100644 index 0000000..54b724f --- /dev/null +++ b/test/Counter.t.sol @@ -0,0 +1,24 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.13; + +import {Test, console} from "forge-std/Test.sol"; +import {Counter} from "../src/Counter.sol"; + +contract CounterTest is Test { + Counter public counter; + + function setUp() public { + counter = new Counter(); + counter.setNumber(0); + } + + function test_Increment() public { + counter.increment(); + assertEq(counter.number(), 1); + } + + function testFuzz_SetNumber(uint256 x) public { + counter.setNumber(x); + assertEq(counter.number(), x); + } +} From fb88fda2259b3cd0b4fa861716badb34b9347e12 Mon Sep 17 00:00:00 2001 From: oldchili <130549691+oldchili@users.noreply.github.com> Date: Tue, 23 Jul 2024 10:34:58 +0300 Subject: [PATCH 02/35] forge install: forge-std v1.9.1 --- .gitmodules | 3 +++ lib/forge-std | 1 + 2 files changed, 4 insertions(+) create mode 100644 .gitmodules create mode 160000 lib/forge-std diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..888d42d --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "lib/forge-std"] + path = lib/forge-std + url = https://github.com/foundry-rs/forge-std diff --git a/lib/forge-std b/lib/forge-std new file mode 160000 index 0000000..07263d1 --- /dev/null +++ b/lib/forge-std @@ -0,0 +1 @@ +Subproject commit 07263d193d621c4b2b0ce8b4d54af58f6957d97d From 6bc3351ad943fb58509bb056f5e0d42417ebe07c Mon Sep 17 00:00:00 2001 From: oldchili <130549691+oldchili@users.noreply.github.com> Date: Tue, 23 Jul 2024 10:35:51 +0300 Subject: [PATCH 03/35] forge install: dss-test --- .gitmodules | 3 +++ lib/dss-test | 1 + 2 files changed, 4 insertions(+) create mode 160000 lib/dss-test diff --git a/.gitmodules b/.gitmodules index 888d42d..98ffb6a 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "lib/forge-std"] path = lib/forge-std url = https://github.com/foundry-rs/forge-std +[submodule "lib/dss-test"] + path = lib/dss-test + url = https://github.com/makerdao/dss-test diff --git a/lib/dss-test b/lib/dss-test new file mode 160000 index 0000000..41066f6 --- /dev/null +++ b/lib/dss-test @@ -0,0 +1 @@ +Subproject commit 41066f6d18202c61208d8cf09b38532a6f5b0d0a From 98153dfc129cda00de8fb50deac08279f654ab42 Mon Sep 17 00:00:00 2001 From: oldchili <130549691+oldchili@users.noreply.github.com> Date: Tue, 23 Jul 2024 10:36:47 +0300 Subject: [PATCH 04/35] forge remove forge-std --- .gitmodules | 3 --- lib/forge-std | 1 - 2 files changed, 4 deletions(-) delete mode 160000 lib/forge-std diff --git a/.gitmodules b/.gitmodules index 98ffb6a..a2df3f1 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,3 @@ -[submodule "lib/forge-std"] - path = lib/forge-std - url = https://github.com/foundry-rs/forge-std [submodule "lib/dss-test"] path = lib/dss-test url = https://github.com/makerdao/dss-test diff --git a/lib/forge-std b/lib/forge-std deleted file mode 160000 index 07263d1..0000000 --- a/lib/forge-std +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 07263d193d621c4b2b0ce8b4d54af58f6957d97d From d861e8912d0b8f47dcafda89930738a5bb49c694 Mon Sep 17 00:00:00 2001 From: oldchili <130549691+oldchili@users.noreply.github.com> Date: Tue, 23 Jul 2024 10:39:10 +0300 Subject: [PATCH 05/35] Remove Counter files --- README.md | 67 +------------------------------------------- script/Counter.s.sol | 12 -------- src/Counter.sol | 14 --------- test/Counter.t.sol | 24 ---------------- 4 files changed, 1 insertion(+), 116 deletions(-) delete mode 100644 script/Counter.s.sol delete mode 100644 src/Counter.sol delete mode 100644 test/Counter.t.sol diff --git a/README.md b/README.md index 9265b45..ba880b3 100644 --- a/README.md +++ b/README.md @@ -1,66 +1 @@ -## Foundry - -**Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust.** - -Foundry consists of: - -- **Forge**: Ethereum testing framework (like Truffle, Hardhat and DappTools). -- **Cast**: Swiss army knife for interacting with EVM smart contracts, sending transactions and getting chain data. -- **Anvil**: Local Ethereum node, akin to Ganache, Hardhat Network. -- **Chisel**: Fast, utilitarian, and verbose solidity REPL. - -## Documentation - -https://book.getfoundry.sh/ - -## Usage - -### Build - -```shell -$ forge build -``` - -### Test - -```shell -$ forge test -``` - -### Format - -```shell -$ forge fmt -``` - -### Gas Snapshots - -```shell -$ forge snapshot -``` - -### Anvil - -```shell -$ anvil -``` - -### Deploy - -```shell -$ forge script script/Counter.s.sol:CounterScript --rpc-url --private-key -``` - -### Cast - -```shell -$ cast -``` - -### Help - -```shell -$ forge --help -$ anvil --help -$ cast --help -``` +# op-farms \ No newline at end of file diff --git a/script/Counter.s.sol b/script/Counter.s.sol deleted file mode 100644 index df9ee8b..0000000 --- a/script/Counter.s.sol +++ /dev/null @@ -1,12 +0,0 @@ -// SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.13; - -import {Script, console} from "forge-std/Script.sol"; - -contract CounterScript is Script { - function setUp() public {} - - function run() public { - vm.broadcast(); - } -} diff --git a/src/Counter.sol b/src/Counter.sol deleted file mode 100644 index aded799..0000000 --- a/src/Counter.sol +++ /dev/null @@ -1,14 +0,0 @@ -// SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.13; - -contract Counter { - uint256 public number; - - function setNumber(uint256 newNumber) public { - number = newNumber; - } - - function increment() public { - number++; - } -} diff --git a/test/Counter.t.sol b/test/Counter.t.sol deleted file mode 100644 index 54b724f..0000000 --- a/test/Counter.t.sol +++ /dev/null @@ -1,24 +0,0 @@ -// SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.13; - -import {Test, console} from "forge-std/Test.sol"; -import {Counter} from "../src/Counter.sol"; - -contract CounterTest is Test { - Counter public counter; - - function setUp() public { - counter = new Counter(); - counter.setNumber(0); - } - - function test_Increment() public { - counter.increment(); - assertEq(counter.number(), 1); - } - - function testFuzz_SetNumber(uint256 x) public { - counter.setNumber(x); - assertEq(counter.number(), x); - } -} From 2d00826cfe3e37963725fa72807017d571a82d7c Mon Sep 17 00:00:00 2001 From: oldchili <130549691+oldchili@users.noreply.github.com> Date: Tue, 23 Jul 2024 10:43:56 +0300 Subject: [PATCH 06/35] Initial implementation --- deploy/FarmProxyDeploy.sol | 51 ++++ deploy/FarmProxyInit.sol | 130 ++++++++ deploy/L2FarmProxySpell.sol | 74 +++++ foundry.toml | 8 +- src/L1FarmProxy.sol | 101 +++++++ src/L2FarmProxy.sol | 76 +++++ test/L1FarmProxy.t.sol | 102 +++++++ test/L2FarmProxy.t.sol | 96 ++++++ test/L2FarmProxySpell.t.sol | 180 +++++++++++ test/mocks/DssVestMock.sol | 478 ++++++++++++++++++++++++++++++ test/mocks/FarmMock.sol | 59 ++++ test/mocks/GemMock.sol | 106 +++++++ test/mocks/L1TokenGatewayMock.sol | 42 +++ 13 files changed, 1501 insertions(+), 2 deletions(-) create mode 100644 deploy/FarmProxyDeploy.sol create mode 100644 deploy/FarmProxyInit.sol create mode 100644 deploy/L2FarmProxySpell.sol create mode 100644 src/L1FarmProxy.sol create mode 100644 src/L2FarmProxy.sol create mode 100644 test/L1FarmProxy.t.sol create mode 100644 test/L2FarmProxy.t.sol create mode 100644 test/L2FarmProxySpell.t.sol create mode 100644 test/mocks/DssVestMock.sol create mode 100644 test/mocks/FarmMock.sol create mode 100644 test/mocks/GemMock.sol create mode 100644 test/mocks/L1TokenGatewayMock.sol diff --git a/deploy/FarmProxyDeploy.sol b/deploy/FarmProxyDeploy.sol new file mode 100644 index 0000000..8db1c23 --- /dev/null +++ b/deploy/FarmProxyDeploy.sol @@ -0,0 +1,51 @@ +// SPDX-FileCopyrightText: © 2024 Dai Foundation +// SPDX-License-Identifier: AGPL-3.0-or-later +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +pragma solidity >=0.8.0; + +import { ScriptTools } from "dss-test/ScriptTools.sol"; + +import { L2FarmProxySpell } from "./L2FarmProxySpell.sol"; +import { L1FarmProxy } from "src/L1FarmProxy.sol"; +import { L2FarmProxy } from "src/L2FarmProxy.sol"; +import { EtherForwarder } from "src/EtherForwarder.sol"; + +library FarmProxyDeploy { + function deployL1Proxy( + address deployer, + address owner, + address localToken, + address remoteToken, + address l2Proxy, + address l1Gateway + ) internal returns (address l1Proxy) { + l1Proxy = address(new L1FarmProxy(localToken, remoteToken, l2Proxy, l1Gateway)); + ScriptTools.switchOwner(l1Proxy, deployer, owner); + } + + function deployL2Proxy( + address deployer, + address owner, + address farm + ) internal returns (address l2Proxy) { + l2Proxy = address(new L2FarmProxy(farm)); + ScriptTools.switchOwner(l2Proxy, deployer, owner); + } + + function deployL2ProxySpell() internal returns (address l2Spell) { + l2Spell = address(new L2FarmProxySpell()); + } +} diff --git a/deploy/FarmProxyInit.sol b/deploy/FarmProxyInit.sol new file mode 100644 index 0000000..2e0d216 --- /dev/null +++ b/deploy/FarmProxyInit.sol @@ -0,0 +1,130 @@ +// SPDX-FileCopyrightText: © 2024 Dai Foundation +// SPDX-License-Identifier: AGPL-3.0-or-later +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +pragma solidity >=0.8.0; + +import { DssInstance } from "dss-test/MCD.sol"; +import { L2FarmProxySpell } from "./L2FarmProxySpell.sol"; + +interface DssVestLike { + function gem() external view returns (address); + function create(address _usr, uint256 _tot, uint256 _bgn, uint256 _tau, uint256 _eta, address _mgr) external returns (uint256 id); + function restrict(uint256 _id) external; +} + +interface VestedRewardsDistributionLike { + function dssVest() external view returns (address); + function stakingRewards() external view returns (address); + function gem() external view returns (address); + function file(bytes32 what, uint256 data) external; +} + +interface L1FarmProxyLike { + function localToken() external view returns (address); + function remoteToken() external view returns (address); + function l2Proxy() external view returns (address); + function l1Gateway() external view returns (address); + function file(bytes32 what, uint256 data) external; +} + +interface L1RelayLike { + function l2GovernanceRelay() external view returns (address); + function relay(address target, bytes calldata targetData, uint32 minGasLimit) external; +} + +struct ProxiesConfig { + address vest; // DssVest, assumed to have been fully init'ed for l1RewardsToken + uint256 vestTot; + uint256 vestBgn; + uint256 vestTau; + address vestedRewardsDistribution; + address l1RewardsToken; + address l2RewardsToken; + address stakingToken; + address l1Gateway; + uint32 minGasLimit; // For the L1 proxy + uint224 rewardThreshold; // For the L1 and L2 proxies + address farm; // The L2 farm + uint256 rewardsDuration; // For the L2 farm + uint32 relayMinGasLimit; // For the L1 relay + bytes32 proxyChainlogKey; // Chainlog key for the L1 proxy + bytes32 distrChainlogKey; // Chainlog key for vestedRewardsDistribution +} + +library FarmProxyInit { + function initProxies( + DssInstance memory dss, + address l1GovRelay, + address l1Proxy_, + address l2Proxy, + address l2Spell, + ProxiesConfig memory cfg + ) internal { + L1FarmProxyLike l1Proxy = L1FarmProxyLike(l1Proxy_); + DssVestLike vest = DssVestLike(cfg.vest); + VestedRewardsDistributionLike distribution = VestedRewardsDistributionLike(cfg.vestedRewardsDistribution); + + // sanity checks + + require(vest.gem() == cfg.l1RewardsToken, "FarmProxyInit/vest-gem-mismatch"); + require(distribution.gem() == cfg.l1RewardsToken, "FarmProxyInit/distribution-gem-mismatch"); + require(distribution.stakingRewards() == l1Proxy_, "FarmProxyInit/distribution-farm-mismatch"); + require(distribution.dssVest() == cfg.vest, "FarmProxyInit/distribution-vest-mismatch"); + require(l1Proxy.localToken() == cfg.l1RewardsToken, "FarmProxyInit/local-token-mismatch"); + require(l1Proxy.remoteToken() == cfg.l2RewardsToken, "FarmProxyInit/remote-token-mismatch"); + require(l1Proxy.l1Gateway() == cfg.l1Gateway, "FarmProxyInit/l1-gateway-mismatch"); + require(cfg.minGasLimit <= 10_000_000_000, "FarmProxyInit/min-gas-limit-out-of-bounds"); + require(cfg.rewardThreshold <= type(uint224).max, "FarmProxyInit/reward-threshold-out-of-bounds"); + + // setup vest + + uint256 vestId = vest.create({ + _usr: cfg.vestedRewardsDistribution, + _tot: cfg.vestTot, + _bgn: cfg.vestBgn, + _tau: cfg.vestTau, + _eta: 0, + _mgr: address(0) + }); + vest.restrict(vestId); + distribution.file("vestId", vestId); + + // setup L1 proxy + + l1Proxy.file("minGasLimit", cfg.minGasLimit); + l1Proxy.file("rewardThreshold", cfg.rewardThreshold); + + // setup L2 proxy + + L1RelayLike(l1GovRelay).relay({ + target: l2Spell, + targetData: abi.encodeCall(L2FarmProxySpell.init, ( + l2Proxy, + cfg.l2RewardsToken, + cfg.stakingToken, + cfg.farm, + cfg.rewardThreshold, + cfg.rewardsDuration + )), + minGasLimit: relayMinGasLimit + }); + + // update chainlog + + dss.chainlog.setAddress(cfg.proxyChainlogKey, l1Proxy_); + dss.chainlog.setAddress(cfg.distrChainlogKey, cfg.vestedRewardsDistribution); + } +} diff --git a/deploy/L2FarmProxySpell.sol b/deploy/L2FarmProxySpell.sol new file mode 100644 index 0000000..26b1461 --- /dev/null +++ b/deploy/L2FarmProxySpell.sol @@ -0,0 +1,74 @@ +// SPDX-FileCopyrightText: © 2024 Dai Foundation +// SPDX-License-Identifier: AGPL-3.0-or-later +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +pragma solidity >=0.8.0; + +interface L2FarmProxyLike { + function rewardsToken() external view returns (address); + function farm() external view returns (address); + function rely(address) external; + function deny(address) external; + function file(bytes32, uint256) external; + function recover(address, address, uint256) external; +} + +interface FarmLike { + function rewardsToken() external view returns (address); + function stakingToken() external view returns (address); + function nominateNewOwner(address) external; + function setPaused(bool) external; + function recoverERC20(address, uint256) external; + function setRewardsDuration(uint256) external; + function setRewardsDistribution(address) external; +} + +interface ForwarderLike { + function receiver() external view returns (address); +} + +// A reusable L2 spell to be used by the L2GovernanceRelay to exert admin control over L2 farms and their proxies +contract L2FarmProxySpell { + function rely(address l2Proxy, address usr) external { L2FarmProxyLike(l2Proxy).rely(usr); } + function deny(address l2Proxy, address usr) external { L2FarmProxyLike(l2Proxy).deny(usr); } + function file(address l2Proxy, bytes32 what, uint256 data) external { L2FarmProxyLike(l2Proxy).file(what, data); } + function recover(address l2Proxy, address token, address receiver, uint256 amount) external { L2FarmProxyLike(l2Proxy).recover(token, receiver, amount); } + + function nominateNewOwner(address farm, address owner) external { FarmLike(farm).nominateNewOwner(owner); } + function setPaused(address farm, bool paused) external { FarmLike(farm).setPaused(paused); } + function recoverERC20(address farm, address token, uint256 amount) external { FarmLike(farm).recoverERC20(token, amount); } + function setRewardsDuration(address farm, uint256 rewardsDuration) external { FarmLike(farm).setRewardsDuration(rewardsDuration); } + function setRewardsDistribution(address farm, address rewardsDistribution) external { FarmLike(farm).setRewardsDistribution(rewardsDistribution); } + + function init( + address l2Proxy, + address rewardsToken, + address stakingToken, + address farm, + uint256 rewardThreshold, + uint256 rewardsDuration + ) external { + // sanity checks + require(L2FarmProxyLike(l2Proxy).rewardsToken() == rewardsToken, "L2FarmProxySpell/rewards-token-mismatch"); + require(L2FarmProxyLike(l2Proxy).farm() == farm, "L2FarmProxySpell/farm-mismatch"); + require(FarmLike(farm).stakingToken() == stakingToken, "L2FarmProxySpell/farm-staking-token-mismatch"); + require(stakingToken != rewardsToken, "L2FarmProxySpell/rewards-token-same-as-staking-token"); + + L2FarmProxyLike(l2Proxy).file("rewardThreshold", rewardThreshold); + + FarmLike(farm).setRewardsDistribution(l2Proxy); + FarmLike(farm).setRewardsDuration(rewardsDuration); + } +} diff --git a/foundry.toml b/foundry.toml index 25b918f..63de96e 100644 --- a/foundry.toml +++ b/foundry.toml @@ -2,5 +2,9 @@ src = "src" out = "out" libs = ["lib"] - -# See more config options https://github.com/foundry-rs/foundry/blob/master/crates/config/README.md#all-options +solc = "0.8.21" +fs_permissions = [ + { access = "read", path = "./script/input/"}, + { access = "read", path = "./out/"}, + { access = "read-write", path = "./script/output/"} +] diff --git a/src/L1FarmProxy.sol b/src/L1FarmProxy.sol new file mode 100644 index 0000000..1a3faac --- /dev/null +++ b/src/L1FarmProxy.sol @@ -0,0 +1,101 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later + +// Copyright (C) 2024 Dai Foundation +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +pragma solidity ^0.8.21; + +interface GemLike { + function approve(address, uint256) external; + function transfer(address, uint256) external; +} + +interface L1TokenGatewayLike { + function bridgeERC20To( + address _localToken, + address _remoteToken, + address _to, + uint256 _amount, + uint32 _minGasLimit, + bytes calldata _extraData + ) external; +} + +contract L1FarmProxy { + mapping (address => uint256) public wards; + uint32 public minGasLimit; + uint224 public rewardThreshold; + + address public immutable localToken; + address public immutable remoteToken; + address public immutable l2Proxy; + L1TokenGatewayLike public immutable l1Gateway; + + event Rely(address indexed usr); + event Deny(address indexed usr); + event File(bytes32 indexed what, uint256 data); + event RewardAdded(uint256 reward); + + constructor(address _localToken, address _remoteToken, address _l2Proxy, address _l1Gateway) { + localToken = _localToken; + remoteToken = _remoteToken; + l2Proxy = _l2Proxy; + l1Gateway = L1TokenGatewayLike(_l1Gateway); + + GemLike(_localToken).approve(_l1Gateway, type(uint256).max); + + wards[msg.sender] = 1; + emit Rely(msg.sender); + } + + modifier auth { + require(wards[msg.sender] == 1, "L1FarmProxy/not-authorized"); + _; + } + + function rely(address usr) external auth { wards[usr] = 1; emit Rely(usr); } + function deny(address usr) external auth { wards[usr] = 0; emit Deny(usr); } + + // @notice Validation of the `data` boundaries is outside the scope of this + // contract and is assumed to be carried out in the corresponding spell process + function file(bytes32 what, uint256 data) external auth { + if (what == "minGasLimit") minGasLimit = uint32(data); + else if (what == "rewardThreshold") rewardThreshold = uint224(data); + else revert("L1FarmProxy/file-unrecognized-param"); + emit File(what, data); + } + + // @notice Allow governance to recover potentially stuck tokens + function recover(address token, address receiver, uint256 amount) external auth { + GemLike(token).transfer(receiver, amount); + } + + // @notice Send reward to L2 farm proxy + function notifyRewardAmount(uint256 reward) external { + (uint32 minGasLimit_, uint256 rewardThreshold_) = (minGasLimit, rewardThreshold); + require(reward > rewardThreshold_, "L1FarmProxy/reward-too-small"); + + l1Gateway.bridgeERC20To({ + _localToken: localToken, + _remoteToken: remoteToken, + _to : l2Proxy, + _amount : reward, + _minGasLimit: minGasLimit_, + _extraData : bytes("") + }); + + emit RewardAdded(reward); + } +} diff --git a/src/L2FarmProxy.sol b/src/L2FarmProxy.sol new file mode 100644 index 0000000..4b1f610 --- /dev/null +++ b/src/L2FarmProxy.sol @@ -0,0 +1,76 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later + +// Copyright (C) 2024 Dai Foundation +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +pragma solidity ^0.8.21; + +interface FarmLike { + function rewardsToken() external view returns (address); + function notifyRewardAmount(uint256 reward) external; +} + +interface GemLike { + function balanceOf(address) external view returns (uint256); + function transfer(address, uint256) external; +} + +contract L2FarmProxy { + mapping (address => uint256) public wards; + uint256 public rewardThreshold; + + GemLike public immutable rewardsToken; + FarmLike public immutable farm; + + event Rely(address indexed usr); + event Deny(address indexed usr); + event File(bytes32 indexed what, uint256 data); + + constructor(address _farm) { + farm = FarmLike(_farm); + rewardsToken = GemLike(farm.rewardsToken()); + + wards[msg.sender] = 1; + emit Rely(msg.sender); + } + + modifier auth { + require(wards[msg.sender] == 1, "L2FarmProxy/not-authorized"); + _; + } + + function rely(address usr) external auth { wards[usr] = 1; emit Rely(usr); } + function deny(address usr) external auth { wards[usr] = 0; emit Deny(usr); } + + function file(bytes32 what, uint256 data) external auth { + if (what == "rewardThreshold") rewardThreshold = data; + else revert("L2FarmProxy/file-unrecognized-param"); + emit File(what, data); + } + + // @notice Allow governance to recover potentially stuck tokens + function recover(address token, address receiver, uint256 amount) external auth { + GemLike(token).transfer(receiver, amount); + } + + // @notice The transferred reward must exceed a minimum threshold to reduce the impact of + // calling this function too frequently in an attempt to reduce the rewardRate of the farm + function forwardReward() external { + uint256 reward = rewardsToken.balanceOf(address(this)); + require(reward > rewardThreshold, "L2FarmProxy/reward-too-small"); + rewardsToken.transfer(address(farm), reward); + farm.notifyRewardAmount(reward); + } +} diff --git a/test/L1FarmProxy.t.sol b/test/L1FarmProxy.t.sol new file mode 100644 index 0000000..941cbbd --- /dev/null +++ b/test/L1FarmProxy.t.sol @@ -0,0 +1,102 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later + +// Copyright (C) 2024 Dai Foundation +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +pragma solidity ^0.8.21; + +import "dss-test/DssTest.sol"; + +import { L1FarmProxy } from "src/L1FarmProxy.sol"; +import { GemMock } from "test/mocks/GemMock.sol"; +import { L1TokenGatewayMock } from "test/mocks/L1TokenGatewayMock.sol"; + +contract L1FarmProxyTest is DssTest { + + GemMock localToken; + L1FarmProxy l1Proxy; + address gateway; + address escrow = address(0xeee); + address l2Proxy = address(0x222); + address remoteToken = address(0x333); + + event RewardAdded(uint256 rewards); + + function setUp() public { + gateway = address(new L1TokenGatewayMock(escrow)); + localToken = new GemMock(1_000_000 ether); + l1Proxy = new L1FarmProxy(address(localToken), remoteToken, l2Proxy, gateway); + } + + function testConstructor() public { + vm.expectEmit(true, true, true, true); + emit Rely(address(this)); + L1FarmProxy p = new L1FarmProxy(address(localToken), remoteToken, l2Proxy, gateway); + + assertEq(p.localToken(), address(localToken)); + assertEq(p.remoteToken(), remoteToken); + assertEq(p.l2Proxy(), l2Proxy); + assertEq(address(p.l1Gateway()), gateway); + assertEq(localToken.allowance(address(p), gateway), type(uint256).max); + assertEq(p.wards(address(this)), 1); + } + + function testAuth() public { + checkAuth(address(l1Proxy), "L1FarmProxy"); + } + + function testFile() public { + checkFileUint(address(l1Proxy), "L1FarmProxy", ["minGasLimit", "rewardThreshold"]); + } + + function testAuthModifiers() public virtual { + l1Proxy.deny(address(this)); + + checkModifier(address(l1Proxy), string(abi.encodePacked("L1FarmProxy", "/not-authorized")), [ + l1Proxy.recover.selector + ]); + } + + function testRecover() public { + address receiver = address(0x123); + localToken.transfer(address(l1Proxy), 1 ether); + + assertEq(localToken.balanceOf(receiver), 0); + assertEq(localToken.balanceOf(address(l1Proxy)), 1 ether); + + l1Proxy.recover(address(localToken), receiver, 1 ether); + + assertEq(localToken.balanceOf(receiver), 1 ether); + assertEq(localToken.balanceOf(address(l1Proxy)), 0); + } + + function testNotifyRewardAmount() public { + l1Proxy.file("rewardThreshold", 100 ether); + + vm.expectRevert("L1FarmProxy/reward-too-small"); + l1Proxy.notifyRewardAmount(100 ether); + + localToken.transfer(address(l1Proxy), 101 ether); + assertEq(localToken.balanceOf(escrow), 0); + assertEq(localToken.balanceOf(address(l1Proxy)), 101 ether); + + vm.expectEmit(true, true, true, true); + emit RewardAdded(101 ether); + l1Proxy.notifyRewardAmount(101 ether); + + assertEq(localToken.balanceOf(escrow), 101 ether); + assertEq(localToken.balanceOf(address(l1Proxy)), 0); + } +} diff --git a/test/L2FarmProxy.t.sol b/test/L2FarmProxy.t.sol new file mode 100644 index 0000000..6037c55 --- /dev/null +++ b/test/L2FarmProxy.t.sol @@ -0,0 +1,96 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later + +// Copyright (C) 2024 Dai Foundation +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +pragma solidity ^0.8.21; + +import "dss-test/DssTest.sol"; + +import { L2FarmProxy } from "src/L2FarmProxy.sol"; +import { FarmMock } from "test/mocks/FarmMock.sol"; +import { GemMock } from "test/mocks/GemMock.sol"; + +contract L2FarmProxyTest is DssTest { + + GemMock rewardsToken; + L2FarmProxy l2Proxy; + address farm; + + event RewardAdded(uint256 rewards); + + function setUp() public { + rewardsToken = new GemMock(1_000_000 ether); + farm = address(new FarmMock(address(rewardsToken), address(123))); + l2Proxy = new L2FarmProxy(farm); + } + + function testConstructor() public { + vm.expectEmit(true, true, true, true); + emit Rely(address(this)); + L2FarmProxy p = new L2FarmProxy(farm); + assertEq(address(p.farm()), farm); + assertEq(address(p.rewardsToken()), address(rewardsToken)); + assertEq(p.wards(address(this)), 1); + } + + function testAuth() public { + checkAuth(address(l2Proxy), "L2FarmProxy"); + } + + function testFile() public { + checkFileUint(address(l2Proxy), "L2FarmProxy", ["rewardThreshold"]); + } + + function testAuthModifiers() public virtual { + l2Proxy.deny(address(this)); + + checkModifier(address(l2Proxy), string(abi.encodePacked("L2FarmProxy", "/not-authorized")), [ + l2Proxy.recover.selector + ]); + } + + function testRecover() public { + address receiver = address(0x123); + rewardsToken.transfer(address(l2Proxy), 1 ether); + + assertEq(rewardsToken.balanceOf(receiver), 0); + assertEq(rewardsToken.balanceOf(address(l2Proxy)), 1 ether); + + l2Proxy.recover(address(rewardsToken), receiver, 1 ether); + + assertEq(rewardsToken.balanceOf(receiver), 1 ether); + assertEq(rewardsToken.balanceOf(address(l2Proxy)), 0); + } + + function testForwardReward() public { + l2Proxy.file("rewardThreshold", 100 ether); + rewardsToken.transfer(address(l2Proxy), 100 ether); + + vm.expectRevert("L2FarmProxy/reward-too-small"); + l2Proxy.forwardReward(); + + rewardsToken.transfer(address(l2Proxy), 1 ether); + assertEq(rewardsToken.balanceOf(farm), 0); + assertEq(rewardsToken.balanceOf(address(l2Proxy)), 101 ether); + + vm.expectEmit(true, true, true, true); + emit RewardAdded(101 ether); + l2Proxy.forwardReward(); + + assertEq(rewardsToken.balanceOf(farm), 101 ether); + assertEq(rewardsToken.balanceOf(address(l2Proxy)), 0); + } +} diff --git a/test/L2FarmProxySpell.t.sol b/test/L2FarmProxySpell.t.sol new file mode 100644 index 0000000..df7ff4f --- /dev/null +++ b/test/L2FarmProxySpell.t.sol @@ -0,0 +1,180 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later + +// Copyright (C) 2024 Dai Foundation +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +pragma solidity ^0.8.21; + +import "dss-test/DssTest.sol"; + +import { L2FarmProxy } from "src/L2FarmProxy.sol"; +import { L2FarmProxySpell } from "deploy/L2FarmProxySpell.sol"; +import { FarmMock } from "test/mocks/FarmMock.sol"; +import { GemMock } from "test/mocks/GemMock.sol"; + +contract L2FarmProxySpellTest is DssTest { + + GemMock rewardsToken; + address stakingToken = address(444); + address l2Proxy; + L2FarmProxySpell l2Spell; + address farm; + + event OwnerNominated(address newOwner); + event PauseChanged(bool isPaused); + event RewardsDurationUpdated(uint256 newDuration); + event RewardsDistributionUpdated(address newRewardsDistribution); + event Recovered(address token, uint256 amount); + + function setUp() public { + rewardsToken = new GemMock(1_000_000 ether); + farm = address(new FarmMock(address(rewardsToken), stakingToken)); + l2Proxy = address(new L2FarmProxy(farm)); + l2Spell = new L2FarmProxySpell(); + } + + function testL2ProxyFunctions() public { + bool success; + address usr = address(123); + + vm.expectEmit(true, true, true, true); + emit Rely(usr); + (success,) = address(l2Spell).delegatecall(abi.encodeCall(L2FarmProxySpell.rely, (l2Proxy, usr))); + assertTrue(success); + + vm.expectEmit(true, true, true, true); + emit Deny(usr); + (success,) = address(l2Spell).delegatecall(abi.encodeCall(L2FarmProxySpell.deny, (l2Proxy, usr))); + assertTrue(success); + + bytes32 what = "rewardThreshold"; + uint256 data = 456; + vm.expectEmit(true, true, true, true); + emit File(what, data); + (success,) = address(l2Spell).delegatecall(abi.encodeCall(L2FarmProxySpell.file, (l2Proxy, what, data))); + assertTrue(success); + + uint256 amount = 789 ether; + rewardsToken.transfer(l2Proxy, amount); + (success,) = address(l2Spell).delegatecall(abi.encodeCall(L2FarmProxySpell.recover, (l2Proxy, address(rewardsToken), usr, amount))); + assertTrue(success); + assertEq(rewardsToken.balanceOf(usr), amount); + } + + function testFarmFunctions() public { + bool success; + address usr = address(123); + + vm.expectEmit(true, true, true, true); + emit OwnerNominated(usr); + (success,) = address(l2Spell).delegatecall(abi.encodeCall(L2FarmProxySpell.nominateNewOwner, (farm, usr))); + assertTrue(success); + + vm.expectEmit(true, true, true, true); + emit PauseChanged(true); + (success,) = address(l2Spell).delegatecall(abi.encodeCall(L2FarmProxySpell.setPaused, (farm, true))); + assertTrue(success); + + uint256 amount = 456 ether; + vm.expectEmit(true, true, true, true); + emit Recovered(address(rewardsToken), amount); + (success,) = address(l2Spell).delegatecall(abi.encodeCall(L2FarmProxySpell.recoverERC20, (farm, address(rewardsToken), amount))); + assertTrue(success); + + vm.expectEmit(true, true, true, true); + emit RewardsDurationUpdated(amount); + (success,) = address(l2Spell).delegatecall(abi.encodeCall(L2FarmProxySpell.setRewardsDuration, (farm, amount))); + assertTrue(success); + + vm.expectEmit(true, true, true, true); + emit RewardsDistributionUpdated(usr); + (success,) = address(l2Spell).delegatecall(abi.encodeCall(L2FarmProxySpell.setRewardsDistribution, (farm, usr))); + assertTrue(success); + } + + // from https://ethereum.stackexchange.com/a/83577 + function _getRevertMsg(bytes memory _returnData) internal pure returns (string memory) { + if (_returnData.length < 68) return 'Transaction reverted silently'; + assembly { _returnData := add(_returnData, 0x04) } + return abi.decode(_returnData, (string)); + } + + function testInit() public { + bool success; + bytes memory response; + + (success, response) = address(l2Spell).delegatecall(abi.encodeCall(L2FarmProxySpell.init, ( + l2Proxy, + address(0xb4d), + stakingToken, + farm, + 0, + 7 days + ))); + assertFalse(success); + assertEq(_getRevertMsg(response), "L2FarmProxySpell/rewards-token-mismatch"); + + (success, response) = address(l2Spell).delegatecall(abi.encodeCall(L2FarmProxySpell.init, ( + l2Proxy, + address(rewardsToken), + stakingToken, + address(0xb4d), + 0, + 7 days + ))); + assertFalse(success); + assertEq(_getRevertMsg(response), "L2FarmProxySpell/farm-mismatch"); + + (success, response) = address(l2Spell).delegatecall(abi.encodeCall(L2FarmProxySpell.init, ( + l2Proxy, + address(rewardsToken), + address(0xb4d), + farm, + 0, + 7 days + ))); + assertFalse(success); + assertEq(_getRevertMsg(response), "L2FarmProxySpell/farm-staking-token-mismatch"); + + address badFarm = address(new FarmMock(address(rewardsToken), address(rewardsToken))); + address badL2Proxy = address(new L2FarmProxy(badFarm)); + (success, response) = address(l2Spell).delegatecall(abi.encodeCall(L2FarmProxySpell.init, ( + badL2Proxy, + address(rewardsToken), + address(rewardsToken), + badFarm, + 0, + 7 days + ))); + assertFalse(success); + assertEq(_getRevertMsg(response), "L2FarmProxySpell/rewards-token-same-as-staking-token"); + + vm.expectEmit(true, true, true, true); + emit File("rewardThreshold", 888); + vm.expectEmit(true, true, true, true); + emit RewardsDistributionUpdated(l2Proxy); + vm.expectEmit(true, true, true, true); + emit RewardsDurationUpdated(7 days); + (success, response) = address(l2Spell).delegatecall(abi.encodeCall(L2FarmProxySpell.init, ( + l2Proxy, + address(rewardsToken), + stakingToken, + farm, + 888, + 7 days + ))); + assertTrue(success); + } +} diff --git a/test/mocks/DssVestMock.sol b/test/mocks/DssVestMock.sol new file mode 100644 index 0000000..affdb1c --- /dev/null +++ b/test/mocks/DssVestMock.sol @@ -0,0 +1,478 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later +// +// DssVestMock - Mock of DssVest, a token vesting contract +// +// Copyright (C) 2021 Dai Foundation +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +pragma solidity ^0.8.21; + +interface MintLike { + function mint(address, uint256) external; +} + +interface ChainlogLike { + function getAddress(bytes32) external view returns (address); +} + +interface DaiJoinLike { + function exit(address, uint256) external; +} + +interface VatLike { + function hope(address) external; + function suck(address, address, uint256) external; + function live() external view returns (uint256); +} + +interface TokenLike { + function transferFrom(address, address, uint256) external returns (bool); +} + +abstract contract DssVestMock { + // --- Data --- + mapping (address => uint256) public wards; + + struct Award { + address usr; // Vesting recipient + uint48 bgn; // Start of vesting period [timestamp] + uint48 clf; // The cliff date [timestamp] + uint48 fin; // End of vesting period [timestamp] + address mgr; // A manager address that can yank + uint8 res; // Restricted + uint128 tot; // Total reward amount + uint128 rxd; // Amount of vest claimed + } + mapping (uint256 => Award) public awards; + + uint256 public cap; // Maximum per-second issuance token rate + + uint256 public ids; // Total vestings + + uint256 internal locked; + + uint256 public constant TWENTY_YEARS = 20 * 365 days; + + // --- Events --- + event Rely(address indexed usr); + event Deny(address indexed usr); + + event File(bytes32 indexed what, uint256 data); + + event Init(uint256 indexed id, address indexed usr); + event Vest(uint256 indexed id, uint256 amt); + event Restrict(uint256 indexed id); + event Unrestrict(uint256 indexed id); + event Yank(uint256 indexed id, uint256 end); + event Move(uint256 indexed id, address indexed dst); + + // Getters to access only to the value desired + function usr(uint256 _id) external view returns (address) { + return awards[_id].usr; + } + + function bgn(uint256 _id) external view returns (uint256) { + return awards[_id].bgn; + } + + function clf(uint256 _id) external view returns (uint256) { + return awards[_id].clf; + } + + function fin(uint256 _id) external view returns (uint256) { + return awards[_id].fin; + } + + function mgr(uint256 _id) external view returns (address) { + return awards[_id].mgr; + } + + function res(uint256 _id) external view returns (uint256) { + return awards[_id].res; + } + + function tot(uint256 _id) external view returns (uint256) { + return awards[_id].tot; + } + + function rxd(uint256 _id) external view returns (uint256) { + return awards[_id].rxd; + } + + /** + @dev Base vesting logic contract constructor + */ + constructor() { + wards[msg.sender] = 1; + emit Rely(msg.sender); + } + + // --- Mutex --- + modifier lock { + require(locked == 0, "DssVest/system-locked"); + locked = 1; + _; + locked = 0; + } + + // --- Auth --- + modifier auth { + require(wards[msg.sender] == 1, "DssVest/not-authorized"); + _; + } + + function rely(address _usr) external auth { + wards[_usr] = 1; + emit Rely(_usr); + } + function deny(address _usr) external auth { + wards[_usr] = 0; + emit Deny(_usr); + } + + /** + @dev (Required) Set the per-second token issuance rate. + @param what The tag of the value to change (ex. bytes32("cap")) + @param data The value to update (ex. cap of 1000 tokens/yr == 1000*WAD/365 days) + */ + function file(bytes32 what, uint256 data) external lock auth { + if (what == "cap") cap = data; // The maximum amount of tokens that can be streamed per-second per vest + else revert("DssVest/file-unrecognized-param"); + emit File(what, data); + } + + function min(uint256 x, uint256 y) internal pure returns (uint256 z) { + z = x > y ? y : x; + } + function toUint48(uint256 x) internal pure returns (uint48 z) { + require((z = uint48(x)) == x, "DssVest/uint48-overflow"); + } + function toUint128(uint256 x) internal pure returns (uint128 z) { + require((z = uint128(x)) == x, "DssVest/uint128-overflow"); + } + + /** + @dev Govanance adds a vesting contract + @param _usr The recipient of the reward + @param _tot The total amount of the vest + @param _bgn The starting timestamp of the vest + @param _tau The duration of the vest (in seconds) + @param _eta The cliff duration in seconds (i.e. 1 years) + @param _mgr An optional manager for the contract. Can yank if vesting ends prematurely. + @return id The id of the vesting contract + */ + function create(address _usr, uint256 _tot, uint256 _bgn, uint256 _tau, uint256 _eta, address _mgr) external lock auth returns (uint256 id) { + require(_usr != address(0), "DssVest/invalid-user"); + require(_tot > 0, "DssVest/no-vest-total-amount"); + require(_bgn < block.timestamp + TWENTY_YEARS, "DssVest/bgn-too-far"); + require(_bgn > block.timestamp - TWENTY_YEARS, "DssVest/bgn-too-long-ago"); + require(_tau > 0, "DssVest/tau-zero"); + require(_tot / _tau <= cap, "DssVest/rate-too-high"); + require(_tau <= TWENTY_YEARS, "DssVest/tau-too-long"); + require(_eta <= _tau, "DssVest/eta-too-long"); + require(ids < type(uint256).max, "DssVest/ids-overflow"); + + unchecked { + id = ++ids; + } + awards[id] = Award({ + usr: _usr, + bgn: toUint48(_bgn), + clf: toUint48(_bgn + _eta), + fin: toUint48(_bgn + _tau), + tot: toUint128(_tot), + rxd: 0, + mgr: _mgr, + res: 0 + }); + emit Init(id, _usr); + } + + /** + @dev Anyone (or only owner of a vesting contract if restricted) calls this to claim all available rewards + @param _id The id of the vesting contract + */ + function vest(uint256 _id) external { + _vest(_id, type(uint256).max); + } + + /** + @dev Anyone (or only owner of a vesting contract if restricted) calls this to claim rewards + @param _id The id of the vesting contract + @param _maxAmt The maximum amount to vest + */ + function vest(uint256 _id, uint256 _maxAmt) external { + _vest(_id, _maxAmt); + } + + /** + @dev Anyone (or only owner of a vesting contract if restricted) calls this to claim rewards + @param _id The id of the vesting contract + @param _maxAmt The maximum amount to vest + */ + function _vest(uint256 _id, uint256 _maxAmt) internal lock { + Award memory _award = awards[_id]; + require(_award.usr != address(0), "DssVest/invalid-award"); + require(_award.res == 0 || _award.usr == msg.sender, "DssVest/only-user-can-claim"); + uint256 amt = unpaid(block.timestamp, _award.bgn, _award.clf, _award.fin, _award.tot, _award.rxd); + amt = min(amt, _maxAmt); + awards[_id].rxd = toUint128(_award.rxd + amt); + pay(_award.usr, amt); + emit Vest(_id, amt); + } + + /** + @dev amount of tokens accrued, not accounting for tokens paid + @param _id The id of the vesting contract + @return amt The accrued amount + */ + function accrued(uint256 _id) external view returns (uint256 amt) { + Award memory _award = awards[_id]; + require(_award.usr != address(0), "DssVest/invalid-award"); + amt = accrued(block.timestamp, _award.bgn, _award.fin, _award.tot); + } + + /** + @dev amount of tokens accrued, not accounting for tokens paid + @param _time The timestamp to perform the calculation + @param _bgn The start time of the contract + @param _fin The end time of the contract + @param _tot The total amount of the contract + @return amt The accrued amount + */ + function accrued(uint256 _time, uint48 _bgn, uint48 _fin, uint128 _tot) internal pure returns (uint256 amt) { + if (_time < _bgn) { + amt = 0; + } else if (_time >= _fin) { + amt = _tot; + } else { + amt = (_tot * (_time - _bgn)) / (_fin - _bgn); // 0 <= amt < _award.tot + } + } + + /** + @dev return the amount of vested, claimable GEM for a given ID + @param _id The id of the vesting contract + @return amt The claimable amount + */ + function unpaid(uint256 _id) external view returns (uint256 amt) { + Award memory _award = awards[_id]; + require(_award.usr != address(0), "DssVest/invalid-award"); + amt = unpaid(block.timestamp, _award.bgn, _award.clf, _award.fin, _award.tot, _award.rxd); + } + + /** + @dev amount of tokens accrued, not accounting for tokens paid + @param _time The timestamp to perform the calculation + @param _bgn The start time of the contract + @param _clf The timestamp of the cliff + @param _fin The end time of the contract + @param _tot The total amount of the contract + @param _rxd The number of gems received + @return amt The claimable amount + */ + function unpaid(uint256 _time, uint48 _bgn, uint48 _clf, uint48 _fin, uint128 _tot, uint128 _rxd) internal pure returns (uint256 amt) { + amt = _time < _clf ? 0 : accrued(_time, _bgn, _fin, _tot) - _rxd; + } + + /** + @dev Allows governance or the owner to restrict vesting to the owner only + @param _id The id of the vesting contract + */ + function restrict(uint256 _id) external lock { + address usr_ = awards[_id].usr; + require(usr_ != address(0), "DssVest/invalid-award"); + require(wards[msg.sender] == 1 || usr_ == msg.sender, "DssVest/not-authorized"); + awards[_id].res = 1; + emit Restrict(_id); + } + + /** + @dev Allows governance or the owner to enable permissionless vesting + @param _id The id of the vesting contract + */ + function unrestrict(uint256 _id) external lock { + address usr_ = awards[_id].usr; + require(usr_ != address(0), "DssVest/invalid-award"); + require(wards[msg.sender] == 1 || usr_ == msg.sender, "DssVest/not-authorized"); + awards[_id].res = 0; + emit Unrestrict(_id); + } + + /** + @dev Allows governance or the manager to remove a vesting contract immediately + @param _id The id of the vesting contract + */ + function yank(uint256 _id) external { + _yank(_id, block.timestamp); + } + + /** + @dev Allows governance or the manager to remove a vesting contract at a future time + @param _id The id of the vesting contract + @param _end A scheduled time to end the vest + */ + function yank(uint256 _id, uint256 _end) external { + _yank(_id, _end); + } + + /** + @dev Allows governance or the manager to end pre-maturely a vesting contract + @param _id The id of the vesting contract + @param _end A scheduled time to end the vest + */ + function _yank(uint256 _id, uint256 _end) internal lock { + require(wards[msg.sender] == 1 || awards[_id].mgr == msg.sender, "DssVest/not-authorized"); + Award memory _award = awards[_id]; + require(_award.usr != address(0), "DssVest/invalid-award"); + if (_end < block.timestamp) { + _end = block.timestamp; + } + if (_end < _award.fin) { + uint48 end = toUint48(_end); + awards[_id].fin = end; + if (end < _award.bgn) { + awards[_id].bgn = end; + awards[_id].clf = end; + awards[_id].tot = 0; + } else if (end < _award.clf) { + awards[_id].clf = end; + awards[_id].tot = 0; + } else { + awards[_id].tot = toUint128( + unpaid(_end, _award.bgn, _award.clf, _award.fin, _award.tot, _award.rxd) + _award.rxd + ); + } + } + + emit Yank(_id, _end); + } + + /** + @dev Allows owner to move a contract to a different address + @param _id The id of the vesting contract + @param _dst The address to send ownership of the contract to + */ + function move(uint256 _id, address _dst) external lock { + require(awards[_id].usr == msg.sender, "DssVest/only-user-can-move"); + require(_dst != address(0), "DssVest/zero-address-invalid"); + awards[_id].usr = _dst; + emit Move(_id, _dst); + } + + /** + @dev Return true if a contract is valid + @param _id The id of the vesting contract + @return isValid True for valid contract + */ + function valid(uint256 _id) external view returns (bool isValid) { + isValid = awards[_id].rxd < awards[_id].tot; + } + + /** + @dev Override this to implement payment logic. + @param _guy The payment target. + @param _amt The payment amount. [units are implementation-specific] + */ + function pay(address _guy, uint256 _amt) virtual internal; +} + +contract DssVestMintableMock is DssVestMock { + + MintLike public immutable gem; + + /** + @dev This contract must be authorized to 'mint' on the token + @param _gem The contract address of the mintable token + */ + constructor(address _gem) DssVestMock() { + require(_gem != address(0), "DssVestMintable/Invalid-token-address"); + gem = MintLike(_gem); + } + + /** + @dev Override pay to handle mint logic + @param _guy The recipient of the minted token + @param _amt The amount of token units to send to the _guy + */ + function pay(address _guy, uint256 _amt) override internal { + gem.mint(_guy, _amt); + } +} + +contract DssVestSuckableMock is DssVestMock { + + uint256 internal constant RAY = 10**27; + + ChainlogLike public immutable chainlog; + VatLike public immutable vat; + DaiJoinLike public immutable daiJoin; + + /** + @dev This contract must be authorized to 'suck' on the vat + @param _chainlog The contract address of the MCD chainlog + */ + constructor(address _chainlog) DssVestMock() { + require(_chainlog != address(0), "DssVestSuckable/Invalid-chainlog-address"); + ChainlogLike chainlog_ = chainlog = ChainlogLike(_chainlog); + VatLike vat_ = vat = VatLike(chainlog_.getAddress("MCD_VAT")); + DaiJoinLike daiJoin_ = daiJoin = DaiJoinLike(chainlog_.getAddress("MCD_JOIN_DAI")); + + vat_.hope(address(daiJoin_)); + } + + /** + @dev Override pay to handle suck logic + @param _guy The recipient of the ERC-20 Dai + @param _amt The amount of Dai to send to the _guy [WAD] + */ + function pay(address _guy, uint256 _amt) override internal { + require(vat.live() == 1, "DssVestSuckable/vat-not-live"); + vat.suck(chainlog.getAddress("MCD_VOW"), address(this), _amt * RAY); + daiJoin.exit(_guy, _amt); + } +} + +/* + Transferrable token DssVest. Can be used to enable streaming payments of + any arbitrary token from an address (i.e. CU multisig) to individual + contributors. +*/ +contract DssVestTransferrableMock is DssVestMock { + + address public immutable czar; + TokenLike public immutable gem; + + /** + @dev This contract must be approved for transfer of the gem on the czar + @param _czar The owner of the tokens to be distributed + @param _gem The token to be distributed + */ + constructor(address _czar, address _gem) DssVestMock() { + require(_czar != address(0), "DssVestTransferrable/Invalid-distributor-address"); + require(_gem != address(0), "DssVestTransferrable/Invalid-token-address"); + czar = _czar; + gem = TokenLike(_gem); + } + + /** + @dev Override pay to handle transfer logic + @param _guy The recipient of the ERC-20 Dai + @param _amt The amount of gem to send to the _guy (in native token units) + */ + function pay(address _guy, uint256 _amt) override internal { + require(gem.transferFrom(czar, _guy, _amt), "DssVestTransferrable/failed-transfer"); + } +} diff --git a/test/mocks/FarmMock.sol b/test/mocks/FarmMock.sol new file mode 100644 index 0000000..151c89e --- /dev/null +++ b/test/mocks/FarmMock.sol @@ -0,0 +1,59 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later + +// Copyright (C) 2024 Dai Foundation +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +pragma solidity ^0.8.21; + +contract FarmMock { + address public immutable rewardsToken; + address public immutable stakingToken; + + event OwnerNominated(address newOwner); + event PauseChanged(bool isPaused); + event RewardAdded(uint256 rewards); + event RewardsDurationUpdated(uint256 newDuration); + event RewardsDistributionUpdated(address newRewardsDistribution); + event Recovered(address token, uint256 amount); + + constructor(address _rewardsToken, address _stakingToken) { + rewardsToken = _rewardsToken; + stakingToken = _stakingToken; + } + + function nominateNewOwner(address _owner) external { + emit OwnerNominated(_owner); + } + + function setPaused(bool _paused) external { + emit PauseChanged(_paused); + } + + function notifyRewardAmount(uint256 reward) external { + emit RewardAdded(reward); + } + + function recoverERC20(address tokenAddress, uint256 tokenAmount) external { + emit Recovered(tokenAddress, tokenAmount); + } + + function setRewardsDuration(uint256 _rewardsDuration) external { + emit RewardsDurationUpdated(_rewardsDuration); + } + + function setRewardsDistribution(address _rewardsDistribution) external { + emit RewardsDistributionUpdated(_rewardsDistribution); + } +} diff --git a/test/mocks/GemMock.sol b/test/mocks/GemMock.sol new file mode 100644 index 0000000..f5d2ed0 --- /dev/null +++ b/test/mocks/GemMock.sol @@ -0,0 +1,106 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later + +// Copyright (C) 2024 Dai Foundation +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +pragma solidity ^0.8.21; + +contract GemMock { + mapping (address => uint256) public wards; + mapping (address => uint256) public balanceOf; + mapping (address => mapping (address => uint256)) public allowance; + + uint256 public totalSupply; + + constructor(uint256 initialSupply) { + wards[msg.sender] = 1; + + mint(msg.sender, initialSupply); + } + + modifier auth() { + require(wards[msg.sender] == 1, "Gem/not-authorized"); + _; + } + + function rely(address usr) external auth { wards[usr] = 1; } + function deny(address usr) external auth { wards[usr] = 0; } + + function approve(address spender, uint256 value) external returns (bool) { + allowance[msg.sender][spender] = value; + return true; + } + + function transfer(address to, uint256 value) external returns (bool) { + uint256 balance = balanceOf[msg.sender]; + require(balance >= value, "Gem/insufficient-balance"); + + unchecked { + balanceOf[msg.sender] = balance - value; + balanceOf[to] += value; + } + return true; + } + + function transferFrom(address from, address to, uint256 value) external returns (bool) { + uint256 balance = balanceOf[from]; + require(balance >= value, "Gem/insufficient-balance"); + + if (from != msg.sender) { + uint256 allowed = allowance[from][msg.sender]; + if (allowed != type(uint256).max) { + require(allowed >= value, "Gem/insufficient-allowance"); + + unchecked { + allowance[from][msg.sender] = allowed - value; + } + } + } + + unchecked { + balanceOf[from] = balance - value; + balanceOf[to] += value; + } + return true; + } + + function mint(address to, uint256 value) public auth { + unchecked { + balanceOf[to] = balanceOf[to] + value; + } + totalSupply = totalSupply + value; + } + + function burn(address from, uint256 value) external { + uint256 balance = balanceOf[from]; + require(balance >= value, "Gem/insufficient-balance"); + + if (from != msg.sender) { + uint256 allowed = allowance[from][msg.sender]; + if (allowed != type(uint256).max) { + require(allowed >= value, "Gem/insufficient-allowance"); + + unchecked { + allowance[from][msg.sender] = allowed - value; + } + } + } + + unchecked { + balanceOf[from] = balance - value; + totalSupply = totalSupply - value; + } + } +} diff --git a/test/mocks/L1TokenGatewayMock.sol b/test/mocks/L1TokenGatewayMock.sol new file mode 100644 index 0000000..9d01e73 --- /dev/null +++ b/test/mocks/L1TokenGatewayMock.sol @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later + +// Copyright (C) 2024 Dai Foundation +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +pragma solidity ^0.8.21; + +interface TokenLike { + function transferFrom(address, address, uint256) external; +} + +contract L1TokenGatewayMock { + address public immutable inbox; + address public immutable escrow; + + constructor(address _escrow) { + escrow = _escrow; + } + + function bridgeERC20To( + address _localToken, + address /* _remoteToken */, + address /* _to */, + uint256 _amount, + uint32 /* _minGasLimit */, + bytes calldata /* _extraData */ + ) public { + TokenLike(_localToken).transferFrom(msg.sender, escrow, _amount); + } +} From 51f07cf2d8966108b44f92228187dccece9e0869 Mon Sep 17 00:00:00 2001 From: oldchili <130549691+oldchili@users.noreply.github.com> Date: Tue, 23 Jul 2024 15:02:12 +0300 Subject: [PATCH 07/35] Gateway => Bridge --- deploy/FarmProxyDeploy.sol | 4 ++-- deploy/FarmProxyInit.sol | 6 +++--- src/L1FarmProxy.sol | 12 ++++++------ test/L1FarmProxy.t.sol | 14 +++++++------- ...1TokenGatewayMock.sol => L1TokenBridgeMock.sol} | 2 +- 5 files changed, 19 insertions(+), 19 deletions(-) rename test/mocks/{L1TokenGatewayMock.sol => L1TokenBridgeMock.sol} (97%) diff --git a/deploy/FarmProxyDeploy.sol b/deploy/FarmProxyDeploy.sol index 8db1c23..409d1a1 100644 --- a/deploy/FarmProxyDeploy.sol +++ b/deploy/FarmProxyDeploy.sol @@ -30,9 +30,9 @@ library FarmProxyDeploy { address localToken, address remoteToken, address l2Proxy, - address l1Gateway + address l1Bridge ) internal returns (address l1Proxy) { - l1Proxy = address(new L1FarmProxy(localToken, remoteToken, l2Proxy, l1Gateway)); + l1Proxy = address(new L1FarmProxy(localToken, remoteToken, l2Proxy, l1Bridge)); ScriptTools.switchOwner(l1Proxy, deployer, owner); } diff --git a/deploy/FarmProxyInit.sol b/deploy/FarmProxyInit.sol index 2e0d216..09b06d0 100644 --- a/deploy/FarmProxyInit.sol +++ b/deploy/FarmProxyInit.sol @@ -36,7 +36,7 @@ interface L1FarmProxyLike { function localToken() external view returns (address); function remoteToken() external view returns (address); function l2Proxy() external view returns (address); - function l1Gateway() external view returns (address); + function l1Bridge() external view returns (address); function file(bytes32 what, uint256 data) external; } @@ -54,7 +54,7 @@ struct ProxiesConfig { address l1RewardsToken; address l2RewardsToken; address stakingToken; - address l1Gateway; + address l1Bridge; uint32 minGasLimit; // For the L1 proxy uint224 rewardThreshold; // For the L1 and L2 proxies address farm; // The L2 farm @@ -85,7 +85,7 @@ library FarmProxyInit { require(distribution.dssVest() == cfg.vest, "FarmProxyInit/distribution-vest-mismatch"); require(l1Proxy.localToken() == cfg.l1RewardsToken, "FarmProxyInit/local-token-mismatch"); require(l1Proxy.remoteToken() == cfg.l2RewardsToken, "FarmProxyInit/remote-token-mismatch"); - require(l1Proxy.l1Gateway() == cfg.l1Gateway, "FarmProxyInit/l1-gateway-mismatch"); + require(l1Proxy.l1Bridge() == cfg.l1Bridge, "FarmProxyInit/l1-bridge-mismatch"); require(cfg.minGasLimit <= 10_000_000_000, "FarmProxyInit/min-gas-limit-out-of-bounds"); require(cfg.rewardThreshold <= type(uint224).max, "FarmProxyInit/reward-threshold-out-of-bounds"); diff --git a/src/L1FarmProxy.sol b/src/L1FarmProxy.sol index 1a3faac..b7a4e5b 100644 --- a/src/L1FarmProxy.sol +++ b/src/L1FarmProxy.sol @@ -22,7 +22,7 @@ interface GemLike { function transfer(address, uint256) external; } -interface L1TokenGatewayLike { +interface L1TokenBridgeLike { function bridgeERC20To( address _localToken, address _remoteToken, @@ -41,20 +41,20 @@ contract L1FarmProxy { address public immutable localToken; address public immutable remoteToken; address public immutable l2Proxy; - L1TokenGatewayLike public immutable l1Gateway; + L1TokenBridgeLike public immutable l1Bridge; event Rely(address indexed usr); event Deny(address indexed usr); event File(bytes32 indexed what, uint256 data); event RewardAdded(uint256 reward); - constructor(address _localToken, address _remoteToken, address _l2Proxy, address _l1Gateway) { + constructor(address _localToken, address _remoteToken, address _l2Proxy, address _l1Bridge) { localToken = _localToken; remoteToken = _remoteToken; l2Proxy = _l2Proxy; - l1Gateway = L1TokenGatewayLike(_l1Gateway); + l1Bridge = L1TokenBridgeLike(_l1Bridge); - GemLike(_localToken).approve(_l1Gateway, type(uint256).max); + GemLike(_localToken).approve(_l1Bridge, type(uint256).max); wards[msg.sender] = 1; emit Rely(msg.sender); @@ -87,7 +87,7 @@ contract L1FarmProxy { (uint32 minGasLimit_, uint256 rewardThreshold_) = (minGasLimit, rewardThreshold); require(reward > rewardThreshold_, "L1FarmProxy/reward-too-small"); - l1Gateway.bridgeERC20To({ + l1Bridge.bridgeERC20To({ _localToken: localToken, _remoteToken: remoteToken, _to : l2Proxy, diff --git a/test/L1FarmProxy.t.sol b/test/L1FarmProxy.t.sol index 941cbbd..a94ecc2 100644 --- a/test/L1FarmProxy.t.sol +++ b/test/L1FarmProxy.t.sol @@ -21,13 +21,13 @@ import "dss-test/DssTest.sol"; import { L1FarmProxy } from "src/L1FarmProxy.sol"; import { GemMock } from "test/mocks/GemMock.sol"; -import { L1TokenGatewayMock } from "test/mocks/L1TokenGatewayMock.sol"; +import { L1TokenBridgeMock } from "test/mocks/L1TokenBridgeMock.sol"; contract L1FarmProxyTest is DssTest { GemMock localToken; L1FarmProxy l1Proxy; - address gateway; + address bridge; address escrow = address(0xeee); address l2Proxy = address(0x222); address remoteToken = address(0x333); @@ -35,21 +35,21 @@ contract L1FarmProxyTest is DssTest { event RewardAdded(uint256 rewards); function setUp() public { - gateway = address(new L1TokenGatewayMock(escrow)); + bridge = address(new L1TokenBridgeMock(escrow)); localToken = new GemMock(1_000_000 ether); - l1Proxy = new L1FarmProxy(address(localToken), remoteToken, l2Proxy, gateway); + l1Proxy = new L1FarmProxy(address(localToken), remoteToken, l2Proxy, bridge); } function testConstructor() public { vm.expectEmit(true, true, true, true); emit Rely(address(this)); - L1FarmProxy p = new L1FarmProxy(address(localToken), remoteToken, l2Proxy, gateway); + L1FarmProxy p = new L1FarmProxy(address(localToken), remoteToken, l2Proxy, bridge); assertEq(p.localToken(), address(localToken)); assertEq(p.remoteToken(), remoteToken); assertEq(p.l2Proxy(), l2Proxy); - assertEq(address(p.l1Gateway()), gateway); - assertEq(localToken.allowance(address(p), gateway), type(uint256).max); + assertEq(address(p.l1Bridge()), bridge); + assertEq(localToken.allowance(address(p), bridge), type(uint256).max); assertEq(p.wards(address(this)), 1); } diff --git a/test/mocks/L1TokenGatewayMock.sol b/test/mocks/L1TokenBridgeMock.sol similarity index 97% rename from test/mocks/L1TokenGatewayMock.sol rename to test/mocks/L1TokenBridgeMock.sol index 9d01e73..bc5b91e 100644 --- a/test/mocks/L1TokenGatewayMock.sol +++ b/test/mocks/L1TokenBridgeMock.sol @@ -21,7 +21,7 @@ interface TokenLike { function transferFrom(address, address, uint256) external; } -contract L1TokenGatewayMock { +contract L1TokenBridgeMock { address public immutable inbox; address public immutable escrow; From 1e57f5395bcfe64a0d3b09d2aa978d4a37844fba Mon Sep 17 00:00:00 2001 From: oldchili <130549691+oldchili@users.noreply.github.com> Date: Tue, 23 Jul 2024 15:14:26 +0300 Subject: [PATCH 08/35] forge install: endgame-toolkit --- .gitmodules | 3 +++ lib/endgame-toolkit | 1 + 2 files changed, 4 insertions(+) create mode 160000 lib/endgame-toolkit diff --git a/.gitmodules b/.gitmodules index a2df3f1..6bc51ce 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "lib/dss-test"] path = lib/dss-test url = https://github.com/makerdao/dss-test +[submodule "lib/endgame-toolkit"] + path = lib/endgame-toolkit + url = https://github.com/makerdao/endgame-toolkit diff --git a/lib/endgame-toolkit b/lib/endgame-toolkit new file mode 160000 index 0000000..87e67bd --- /dev/null +++ b/lib/endgame-toolkit @@ -0,0 +1 @@ +Subproject commit 87e67bdd358a77b34d7b16e188fc1da7d6875999 From 1c4f38fe23904c37c4e06ffed52cceff8be80b1a Mon Sep 17 00:00:00 2001 From: oldchili <130549691+oldchili@users.noreply.github.com> Date: Tue, 23 Jul 2024 15:14:40 +0300 Subject: [PATCH 09/35] forge install: op-token-bridge dev --- .gitmodules | 4 ++++ lib/op-token-bridge | 1 + 2 files changed, 5 insertions(+) create mode 160000 lib/op-token-bridge diff --git a/.gitmodules b/.gitmodules index 6bc51ce..fca70d7 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,3 +4,7 @@ [submodule "lib/endgame-toolkit"] path = lib/endgame-toolkit url = https://github.com/makerdao/endgame-toolkit +[submodule "lib/op-token-bridge"] + path = lib/op-token-bridge + url = https://github.com/makerdao/op-token-bridge + branch = dev diff --git a/lib/op-token-bridge b/lib/op-token-bridge new file mode 160000 index 0000000..2c39c49 --- /dev/null +++ b/lib/op-token-bridge @@ -0,0 +1 @@ +Subproject commit 2c39c493172e2b5ba898779058ea83a86f47d97e From 8f37ad4b7a7dee564ea97229393b8cae6119147a Mon Sep 17 00:00:00 2001 From: oldchili <130549691+oldchili@users.noreply.github.com> Date: Wed, 31 Jul 2024 10:45:07 +0300 Subject: [PATCH 10/35] Add init libs and integration test --- deploy/FarmProxyDeploy.sol | 5 +- deploy/FarmProxyInit.sol | 22 +-- remappings.txt | 2 + script/input/1/config.json | 13 ++ script/input/11155111/config.json | 9 ++ src/L1FarmProxy.sol | 12 +- test/Integration.t.sol | 256 ++++++++++++++++++++++++++++++ test/L1FarmProxy.t.sol | 34 ++-- 8 files changed, 316 insertions(+), 37 deletions(-) create mode 100644 remappings.txt create mode 100644 script/input/1/config.json create mode 100644 script/input/11155111/config.json create mode 100644 test/Integration.t.sol diff --git a/deploy/FarmProxyDeploy.sol b/deploy/FarmProxyDeploy.sol index 409d1a1..402d0b4 100644 --- a/deploy/FarmProxyDeploy.sol +++ b/deploy/FarmProxyDeploy.sol @@ -21,18 +21,17 @@ import { ScriptTools } from "dss-test/ScriptTools.sol"; import { L2FarmProxySpell } from "./L2FarmProxySpell.sol"; import { L1FarmProxy } from "src/L1FarmProxy.sol"; import { L2FarmProxy } from "src/L2FarmProxy.sol"; -import { EtherForwarder } from "src/EtherForwarder.sol"; library FarmProxyDeploy { function deployL1Proxy( address deployer, address owner, - address localToken, + address rewardsToken, address remoteToken, address l2Proxy, address l1Bridge ) internal returns (address l1Proxy) { - l1Proxy = address(new L1FarmProxy(localToken, remoteToken, l2Proxy, l1Bridge)); + l1Proxy = address(new L1FarmProxy(rewardsToken, remoteToken, l2Proxy, l1Bridge)); ScriptTools.switchOwner(l1Proxy, deployer, owner); } diff --git a/deploy/FarmProxyInit.sol b/deploy/FarmProxyInit.sol index 09b06d0..107369a 100644 --- a/deploy/FarmProxyInit.sol +++ b/deploy/FarmProxyInit.sol @@ -33,7 +33,7 @@ interface VestedRewardsDistributionLike { } interface L1FarmProxyLike { - function localToken() external view returns (address); + function rewardsToken() external view returns (address); function remoteToken() external view returns (address); function l2Proxy() external view returns (address); function l1Bridge() external view returns (address); @@ -79,15 +79,15 @@ library FarmProxyInit { // sanity checks - require(vest.gem() == cfg.l1RewardsToken, "FarmProxyInit/vest-gem-mismatch"); - require(distribution.gem() == cfg.l1RewardsToken, "FarmProxyInit/distribution-gem-mismatch"); - require(distribution.stakingRewards() == l1Proxy_, "FarmProxyInit/distribution-farm-mismatch"); - require(distribution.dssVest() == cfg.vest, "FarmProxyInit/distribution-vest-mismatch"); - require(l1Proxy.localToken() == cfg.l1RewardsToken, "FarmProxyInit/local-token-mismatch"); - require(l1Proxy.remoteToken() == cfg.l2RewardsToken, "FarmProxyInit/remote-token-mismatch"); - require(l1Proxy.l1Bridge() == cfg.l1Bridge, "FarmProxyInit/l1-bridge-mismatch"); - require(cfg.minGasLimit <= 10_000_000_000, "FarmProxyInit/min-gas-limit-out-of-bounds"); - require(cfg.rewardThreshold <= type(uint224).max, "FarmProxyInit/reward-threshold-out-of-bounds"); + require(vest.gem() == cfg.l1RewardsToken, "FarmProxyInit/vest-gem-mismatch"); + require(distribution.gem() == cfg.l1RewardsToken, "FarmProxyInit/distribution-gem-mismatch"); + require(distribution.stakingRewards() == l1Proxy_, "FarmProxyInit/distribution-farm-mismatch"); + require(distribution.dssVest() == cfg.vest, "FarmProxyInit/distribution-vest-mismatch"); + require(l1Proxy.rewardsToken() == cfg.l1RewardsToken, "FarmProxyInit/rewardsToken-token-mismatch"); + require(l1Proxy.remoteToken() == cfg.l2RewardsToken, "FarmProxyInit/remote-token-mismatch"); + require(l1Proxy.l1Bridge() == cfg.l1Bridge, "FarmProxyInit/l1-bridge-mismatch"); + require(cfg.minGasLimit <= 10_000_000_000, "FarmProxyInit/min-gas-limit-out-of-bounds"); + require(cfg.rewardThreshold <= type(uint224).max, "FarmProxyInit/reward-threshold-out-of-bounds"); // setup vest @@ -119,7 +119,7 @@ library FarmProxyInit { cfg.rewardThreshold, cfg.rewardsDuration )), - minGasLimit: relayMinGasLimit + minGasLimit: cfg.relayMinGasLimit }); // update chainlog diff --git a/remappings.txt b/remappings.txt new file mode 100644 index 0000000..2061cc3 --- /dev/null +++ b/remappings.txt @@ -0,0 +1,2 @@ +forge-std/=lib/dss-test/lib/forge-std/src/ +openzeppelin-contracts/=lib/endgame-toolkit/lib/openzeppelin-contracts/contracts/ \ No newline at end of file diff --git a/script/input/1/config.json b/script/input/1/config.json new file mode 100644 index 0000000..c41272f --- /dev/null +++ b/script/input/1/config.json @@ -0,0 +1,13 @@ +{ + "domains": { + "mainnet": { + "chainlog": "0xdA0Ab1e0017DEbCd72Be8599041a2aa3bA7e740F", + "tokens": [] + }, + "base": { + "l1Messenger": "0x866E82a600A1414e583f7F13623F1aC5d58b0Afa", + "l2Messenger": "0x4200000000000000000000000000000000000007", + "tokens": [] + } + } +} diff --git a/script/input/11155111/config.json b/script/input/11155111/config.json new file mode 100644 index 0000000..d4201b7 --- /dev/null +++ b/script/input/11155111/config.json @@ -0,0 +1,9 @@ +{ + "domains": { + "sepolia": {}, + "base_sepolia": { + "l1Messenger": "0xC34855F4De64F1840e5686e64278da901e261f20", + "l2Messenger": "0x4200000000000000000000000000000000000007" + } + } +} diff --git a/src/L1FarmProxy.sol b/src/L1FarmProxy.sol index b7a4e5b..7bceb18 100644 --- a/src/L1FarmProxy.sol +++ b/src/L1FarmProxy.sol @@ -38,7 +38,7 @@ contract L1FarmProxy { uint32 public minGasLimit; uint224 public rewardThreshold; - address public immutable localToken; + address public immutable rewardsToken; address public immutable remoteToken; address public immutable l2Proxy; L1TokenBridgeLike public immutable l1Bridge; @@ -48,13 +48,13 @@ contract L1FarmProxy { event File(bytes32 indexed what, uint256 data); event RewardAdded(uint256 reward); - constructor(address _localToken, address _remoteToken, address _l2Proxy, address _l1Bridge) { - localToken = _localToken; + constructor(address _rewardsToken, address _remoteToken, address _l2Proxy, address _l1Bridge) { + rewardsToken = _rewardsToken; remoteToken = _remoteToken; l2Proxy = _l2Proxy; - l1Bridge = L1TokenBridgeLike(_l1Bridge); + l1Bridge = L1TokenBridgeLike(_l1Bridge); - GemLike(_localToken).approve(_l1Bridge, type(uint256).max); + GemLike(_rewardsToken).approve(_l1Bridge, type(uint256).max); wards[msg.sender] = 1; emit Rely(msg.sender); @@ -88,7 +88,7 @@ contract L1FarmProxy { require(reward > rewardThreshold_, "L1FarmProxy/reward-too-small"); l1Bridge.bridgeERC20To({ - _localToken: localToken, + _localToken: rewardsToken, _remoteToken: remoteToken, _to : l2Proxy, _amount : reward, diff --git a/test/Integration.t.sol b/test/Integration.t.sol new file mode 100644 index 0000000..21d8926 --- /dev/null +++ b/test/Integration.t.sol @@ -0,0 +1,256 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later + +// Copyright (C) 2024 Dai Foundation +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +pragma solidity ^0.8.21; + +import "dss-test/DssTest.sol"; + +import { Domain } from "dss-test/domains/Domain.sol"; +import { OptimismDomain } from "dss-test/domains/OptimismDomain.sol"; + +import { TokenBridgeDeploy } from "lib/op-token-bridge/deploy/TokenBridgeDeploy.sol"; +import { L2TokenBridgeSpell } from "lib/op-token-bridge/deploy/L2TokenBridgeSpell.sol"; +import { L1TokenBridgeInstance } from "lib/op-token-bridge/deploy/L1TokenBridgeInstance.sol"; +import { L2TokenBridgeInstance } from "lib/op-token-bridge/deploy/L2TokenBridgeInstance.sol"; +import { TokenBridgeInit, BridgesConfig } from "lib/op-token-bridge/deploy/TokenBridgeInit.sol"; +import { StakingRewards, StakingRewardsDeploy, StakingRewardsDeployParams } from "lib/endgame-toolkit/script/dependencies/StakingRewardsDeploy.sol"; +import { VestedRewardsDistributionDeploy, VestedRewardsDistributionDeployParams } from "lib/endgame-toolkit/script/dependencies/VestedRewardsDistributionDeploy.sol"; +import { VestedRewardsDistribution } from "lib/endgame-toolkit/src/VestedRewardsDistribution.sol"; +import { GemMock } from "test/mocks/GemMock.sol"; +import { DssVestMintableMock } from "test/mocks/DssVestMock.sol"; +import { FarmProxyDeploy } from "deploy/FarmProxyDeploy.sol"; +import { L2FarmProxySpell } from "deploy/L2FarmProxySpell.sol"; +import { FarmProxyInit, ProxiesConfig } from "deploy/FarmProxyInit.sol"; +import { L1FarmProxy } from "src/L1FarmProxy.sol"; +import { L2FarmProxy } from "src/L2FarmProxy.sol"; + +interface L1RelayLike { + function l2GovernanceRelay() external view returns (address); +} + +contract IntegrationTest is DssTest { + string config; + Domain l1Domain; + OptimismDomain l2Domain; + + // L1-side + DssInstance dss; + address PAUSE_PROXY; + address escrow; + address l1GovRelay; + address l1Messenger; + GemMock l1Token; + address l1Bridge; + L1FarmProxy l1Proxy; + DssVestMintableMock vest; + uint256 vestId; + VestedRewardsDistribution vestedRewardsDistribution; + + // L2-side + address l2GovRelay; + address l2Messenger; + GemMock l2Token; + address l2Bridge; + L2FarmProxy l2Proxy; + StakingRewards farm; + + constructor() { + vm.setEnv("FOUNDRY_ROOT_CHAINID", "1"); // used by ScriptTools to determine config path + // Note: need to set the domains here instead of in setUp() to make sure their storages are actually persistent + config = ScriptTools.loadConfig("config"); + + l1Domain = new Domain(config, getChain("mainnet")); + l2Domain = new OptimismDomain(config, getChain("base"), l1Domain); + } + + function setupGateways() internal { + l1Messenger = address(l2Domain.l1Messenger()); + l2Messenger = address(l2Domain.l2Messenger()); + + l1GovRelay = vm.computeCreateAddress(address(this), vm.getNonce(address(this)) + 3); // foundry increments a global nonce across domains + l1Bridge = vm.computeCreateAddress(address(this), vm.getNonce(address(this)) + 5); + + l2Domain.selectFork(); + L2TokenBridgeInstance memory l2BridgeInstance = TokenBridgeDeploy.deployL2Bridge({ + deployer: address(this), + l1GovRelay: l1GovRelay, + l1Bridge: l1Bridge, + l2Messenger: l2Messenger + }); + l2Bridge = l2BridgeInstance.bridge; + l2GovRelay = l2BridgeInstance.govRelay; + + assertEq(address(L2TokenBridgeSpell(l2BridgeInstance.spell).l2Bridge()), address(l2Bridge)); + + l1Domain.selectFork(); + L1TokenBridgeInstance memory l1BridgeInstance = TokenBridgeDeploy.deployL1Bridge({ + deployer: address(this), + owner: PAUSE_PROXY, + l2GovRelay: l2GovRelay, + l2Bridge: address(l2Bridge), + l1Messenger: l1Messenger + }); + assertEq(l1BridgeInstance.bridge, l1Bridge); + assertEq(l1BridgeInstance.govRelay, l1GovRelay); + escrow = l1BridgeInstance.escrow; + + l2Domain.selectFork(); + l2Token = new GemMock(0); + l2Token.rely(l2GovRelay); + l2Token.deny(address(this)); + + address[] memory l1Tokens = new address[](1); + l1Tokens[0] = address(l1Token); + address[] memory l2Tokens = new address[](1); + l2Tokens[0] = address(l2Token); + + BridgesConfig memory cfg = BridgesConfig({ + l1Messenger: l1Messenger, + l2Messenger: l2Messenger, + l1Tokens: l1Tokens, + l2Tokens: l2Tokens, + minGasLimit: 1_000_000, + govRelayCLKey: "BASE_GOV_RELAY", + escrowCLKey: "BASE_ESCROW", + l1BridgeCLKey: "BASE_TOKEN_BRIDGE" + }); + + l1Domain.selectFork(); + vm.startPrank(PAUSE_PROXY); + TokenBridgeInit.initBridges(dss, l1BridgeInstance, l2BridgeInstance, cfg); + vm.stopPrank(); + + } + + function setUp() public { + l1Domain.selectFork(); + l1Domain.loadDssFromChainlog(); + dss = l1Domain.dss(); + PAUSE_PROXY = dss.chainlog.getAddress("MCD_PAUSE_PROXY"); + + vm.startPrank(PAUSE_PROXY); + l1Token = new GemMock(100 ether); + vest = new DssVestMintableMock(address(l1Token)); + l1Token.rely(address(vest)); + vest.file("cap", type(uint256).max); + vm.stopPrank(); + + setupGateways(); + + l2Domain.selectFork(); + + address stakingToken = address(new GemMock(100 ether)); + StakingRewardsDeployParams memory farmParams = StakingRewardsDeployParams({ + owner: l2GovRelay, + stakingToken: stakingToken, + rewardsToken: address(l2Token) + }); + farm = StakingRewards(StakingRewardsDeploy.deploy(farmParams)); + + l2Proxy = L2FarmProxy(FarmProxyDeploy.deployL2Proxy({ + deployer: address(this), + owner: l2GovRelay, + farm: address(farm) + })); + address l2Spell = FarmProxyDeploy.deployL2ProxySpell(); + + l1Domain.selectFork(); + l1Proxy = L1FarmProxy(FarmProxyDeploy.deployL1Proxy({ + deployer: address(this), + owner: PAUSE_PROXY, + rewardsToken: address(l1Token), + remoteToken: address(l2Token), + l2Proxy: address(l2Proxy), + l1Bridge: l1Bridge + })); + + VestedRewardsDistributionDeployParams memory distributionParams = VestedRewardsDistributionDeployParams({ + deployer: address(this), + owner: PAUSE_PROXY, + vest: address(vest), + rewards: address(l1Proxy) + }); + vestedRewardsDistribution = VestedRewardsDistribution(VestedRewardsDistributionDeploy.deploy(distributionParams)); + + ProxiesConfig memory cfg = ProxiesConfig({ + vest: address(vest), + vestTot: 100 * 1e18, + vestBgn: block.timestamp, + vestTau: 100 days, + vestedRewardsDistribution: address(vestedRewardsDistribution), + l1RewardsToken: address(l1Token), + l2RewardsToken: address(l2Token), + stakingToken: stakingToken, + l1Bridge: l1Bridge, + minGasLimit: 1_000_000, // determined by running deploy/Estimate.s.sol and adding some margin // TODO: leave this comment? + rewardThreshold: 1 ether, + farm: address(farm), + rewardsDuration: 1 days, + relayMinGasLimit: 1_000_000, + proxyChainlogKey: "FARM_PROXY_TKA_TKB_ARB", + distrChainlogKey: "REWARDS_DISTRIBUTION_TKA_TKB_ARB" + }); + + vm.startPrank(PAUSE_PROXY); + FarmProxyInit.initProxies(dss, l1GovRelay, address(l1Proxy), address(l2Proxy), l2Spell, cfg); + vm.stopPrank(); + + // test L1 side of initProxies + vestId = vestedRewardsDistribution.vestId(); + assertEq(vest.usr(vestId), cfg.vestedRewardsDistribution); + assertEq(vest.bgn(vestId), cfg.vestBgn); + assertEq(vest.clf(vestId), cfg.vestBgn); + assertEq(vest.fin(vestId), cfg.vestBgn + cfg.vestTau); + assertEq(vest.tot(vestId), cfg.vestTot); + assertEq(vest.mgr(vestId), address(0)); + assertEq(vest.res(vestId), 1); + assertEq(l1Proxy.minGasLimit(), cfg.minGasLimit); + assertEq(l1Proxy.rewardThreshold(), cfg.rewardThreshold); + assertEq(dss.chainlog.getAddress("FARM_PROXY_TKA_TKB_ARB"), address(l1Proxy)); + assertEq(dss.chainlog.getAddress("REWARDS_DISTRIBUTION_TKA_TKB_ARB"), cfg.vestedRewardsDistribution); + + l2Domain.relayFromHost(true); + + // test L2 side of initProxies + assertEq(l2Proxy.rewardThreshold(), cfg.rewardThreshold); + assertEq(farm.rewardsDistribution(), address(l2Proxy)); + assertEq(farm.rewardsDuration(), cfg.rewardsDuration); + } + + function testDistribution() public { + l1Domain.selectFork(); + uint256 rewardThreshold = l1Proxy.rewardThreshold(); + vm.warp(vest.bgn(vestId) + rewardThreshold * (vest.fin(vestId) - vest.bgn(vestId)) / vest.tot(vestId) + 1); + uint256 amount = vest.unpaid(vestId); + assertGt(amount, rewardThreshold); + assertEq(l1Token.balanceOf(escrow), 0); + + vestedRewardsDistribution.distribute(); + + assertEq(l1Token.balanceOf(escrow), amount); + + l2Domain.relayFromHost(true); + + assertEq(l2Token.balanceOf(address(l2Proxy)), amount); + + l2Proxy.forwardReward(); + + assertEq(l2Token.balanceOf(address(l2Proxy)), 0); + assertEq(l2Token.balanceOf(address(farm)), amount); + assertEq(farm.rewardRate(), amount / farm.rewardsDuration()); + } +} diff --git a/test/L1FarmProxy.t.sol b/test/L1FarmProxy.t.sol index a94ecc2..97b3335 100644 --- a/test/L1FarmProxy.t.sol +++ b/test/L1FarmProxy.t.sol @@ -25,7 +25,7 @@ import { L1TokenBridgeMock } from "test/mocks/L1TokenBridgeMock.sol"; contract L1FarmProxyTest is DssTest { - GemMock localToken; + GemMock rewardsToken; L1FarmProxy l1Proxy; address bridge; address escrow = address(0xeee); @@ -36,20 +36,20 @@ contract L1FarmProxyTest is DssTest { function setUp() public { bridge = address(new L1TokenBridgeMock(escrow)); - localToken = new GemMock(1_000_000 ether); - l1Proxy = new L1FarmProxy(address(localToken), remoteToken, l2Proxy, bridge); + rewardsToken = new GemMock(1_000_000 ether); + l1Proxy = new L1FarmProxy(address(rewardsToken), remoteToken, l2Proxy, bridge); } function testConstructor() public { vm.expectEmit(true, true, true, true); emit Rely(address(this)); - L1FarmProxy p = new L1FarmProxy(address(localToken), remoteToken, l2Proxy, bridge); + L1FarmProxy p = new L1FarmProxy(address(rewardsToken), remoteToken, l2Proxy, bridge); - assertEq(p.localToken(), address(localToken)); + assertEq(p.rewardsToken(), address(rewardsToken)); assertEq(p.remoteToken(), remoteToken); assertEq(p.l2Proxy(), l2Proxy); assertEq(address(p.l1Bridge()), bridge); - assertEq(localToken.allowance(address(p), bridge), type(uint256).max); + assertEq(rewardsToken.allowance(address(p), bridge), type(uint256).max); assertEq(p.wards(address(this)), 1); } @@ -71,15 +71,15 @@ contract L1FarmProxyTest is DssTest { function testRecover() public { address receiver = address(0x123); - localToken.transfer(address(l1Proxy), 1 ether); + rewardsToken.transfer(address(l1Proxy), 1 ether); - assertEq(localToken.balanceOf(receiver), 0); - assertEq(localToken.balanceOf(address(l1Proxy)), 1 ether); + assertEq(rewardsToken.balanceOf(receiver), 0); + assertEq(rewardsToken.balanceOf(address(l1Proxy)), 1 ether); - l1Proxy.recover(address(localToken), receiver, 1 ether); + l1Proxy.recover(address(rewardsToken), receiver, 1 ether); - assertEq(localToken.balanceOf(receiver), 1 ether); - assertEq(localToken.balanceOf(address(l1Proxy)), 0); + assertEq(rewardsToken.balanceOf(receiver), 1 ether); + assertEq(rewardsToken.balanceOf(address(l1Proxy)), 0); } function testNotifyRewardAmount() public { @@ -88,15 +88,15 @@ contract L1FarmProxyTest is DssTest { vm.expectRevert("L1FarmProxy/reward-too-small"); l1Proxy.notifyRewardAmount(100 ether); - localToken.transfer(address(l1Proxy), 101 ether); - assertEq(localToken.balanceOf(escrow), 0); - assertEq(localToken.balanceOf(address(l1Proxy)), 101 ether); + rewardsToken.transfer(address(l1Proxy), 101 ether); + assertEq(rewardsToken.balanceOf(escrow), 0); + assertEq(rewardsToken.balanceOf(address(l1Proxy)), 101 ether); vm.expectEmit(true, true, true, true); emit RewardAdded(101 ether); l1Proxy.notifyRewardAmount(101 ether); - assertEq(localToken.balanceOf(escrow), 101 ether); - assertEq(localToken.balanceOf(address(l1Proxy)), 0); + assertEq(rewardsToken.balanceOf(escrow), 101 ether); + assertEq(rewardsToken.balanceOf(address(l1Proxy)), 0); } } From 5aab2da1893663374eddbc2e2e57870c94496075 Mon Sep 17 00:00:00 2001 From: oldchili <130549691+oldchili@users.noreply.github.com> Date: Wed, 31 Jul 2024 15:45:49 +0300 Subject: [PATCH 11/35] Add scripts - untested --- .env.example | 12 +++ README.md | 92 +++++++++++++++++- foundry.toml | 7 +- script/DeployProxy.s.sol | 151 ++++++++++++++++++++++++++++++ script/DeploySingletons.s.sol | 74 +++++++++++++++ script/Distribute.s.sol | 53 +++++++++++ script/Forward.s.sol | 50 ++++++++++ script/Init.s.sol | 111 ++++++++++++++++++++++ script/input/1/config.json | 6 +- script/input/11155111/config.json | 9 +- 10 files changed, 559 insertions(+), 6 deletions(-) create mode 100644 .env.example create mode 100644 script/DeployProxy.s.sol create mode 100644 script/DeploySingletons.s.sol create mode 100644 script/Distribute.s.sol create mode 100644 script/Forward.s.sol create mode 100644 script/Init.s.sol diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..cca0a82 --- /dev/null +++ b/.env.example @@ -0,0 +1,12 @@ +export FOUNDRY_SCRIPT_DEPS=deployed +export FOUNDRY_EXPORTS_OVERWRITE_LATEST=true +export L1="sepolia" +export L2="base" +export ETH_RPC_URL= +export BASE_RPC_URL= +export SEPOLIA_RPC_URL= +export BASE_ONE_SEPOLIA_RPC_URL= +export L1_PRIVATE_KEY="0x$(cat /path/to/pkey1)" +export L2_PRIVATE_KEY="0x$(cat /path/to/pkey2)" +export ETHERSCAN_KEY= +export BASESCAN_KEY= diff --git a/README.md b/README.md index ba880b3..4b4a014 100644 --- a/README.md +++ b/README.md @@ -1 +1,91 @@ -# op-farms \ No newline at end of file +# Op Farms + +## Overview + +This repository implements a mechanism to distribute rewards vested in a [DssVest](https://github.com/makerdao/dss-vest) contract on L1 to users staking tokens in a [StakingRewards](https://github.com/makerdao/endgame-toolkit/blob/master/src/synthetix/StakingRewards.sol) farm on an OP stack L2. It uses the [Op Token Bridge](https://github.com/makerdao/op-token-bridge) to transfer the rewards from L1 to L2. + +## Contracts + +- `L1FarmProxy.sol` - Proxy to the farm on the L1 side. Receives the token reward (expected to come from a [`VestedRewardDistribution`](https://github.com/makerdao/endgame-toolkit/blob/master/src/VestedRewardsDistribution.sol) contract) and transfers it cross-chain to the `L2FarmProxy`. An instance of `L1FarmProxy` must be deployed for each supported pair of staking and rewards token. +- `L2FarmProxy.sol` - Proxy to the farm on the L2 side. Receives the token reward (expected to be bridged from the `L1FarmProxy`) and forwards it to the [StakingRewards](https://github.com/makerdao/endgame-toolkit/blob/master/src/synthetix/StakingRewards.sol) farm where it gets distributed to stakers. An instance of `L2FarmProxy` must be deployed for each supported pair of staking and rewards token. + +### External dependencies + +- The L2 staking tokens and the L1 and L2 rewards tokens are not provided as part of this repository. It is assumed that only simple, regular ERC20 tokens will be used. In particular, the supported tokens are assumed to revert on failure (instead of returning false) and do not execute any hook on transfer. +- [`DssVest`](https://github.com/makerdao/dss-vest) is used to vest the rewards token on L1. +- [`VestedRewardDistribution`](https://github.com/makerdao/endgame-toolkit/blob/master/src/VestedRewardsDistribution.sol) is used to vest the rewards tokens from `DssVest`, transfer them to the `L1FarmProxy` and trigger the bridging of the tokens. +- The [Op Token Bridge](https://github.com/makerdao/op-token-bridge) is used to bridge the tokens from L1 to L2. +- The [escrow contract](https://github.com/makerdao/op-token-bridge/blob/dev/src/Escrow.sol) is used by the Op Token Bridge to hold the bridged tokens on L1. +- [`StakingRewards`](https://github.com/makerdao/endgame-toolkit/blob/master/src/synthetix/StakingRewards.sol) is used to distribute the bridged rewards to stakers on L2. +- The [`L1GovernanceRelay`](https://github.com/makerdao/op-token-bridge/blob/dev/src/L1GovernanceRelay.sol) & [`L2GovernanceRelay`](https://github.com/makerdao/op-token-bridge/blob/dev/src/L2GovernanceRelay.sol) allow governance to exert admin control over the deployed L2 contracts. + +## Expected flow +- Once the vested amount of rewards tokens exceeds `L1FarmProxy.rewardThreshold`, a keeper calls `VestedRewardDistribution.distribute()` to vest the rewards and have them bridged to L2. +- Once the bridged amount of rewards tokens exceeds `L2FarmProxy.rewardThreshold`, anyone (e.g. a keeper or an L2 staker) can call `L2FarmProxy.forwardReward()` to distribute the rewards to the L2 farm. + +Note that `L1FarmProxy.rewardThreshold` should be sufficiently large to reduce the frequency of cross-chain transfers (thereby saving keepers gas). `L2FarmProxy.rewardThreshold` must also be sufficiently large to limit the reduction of the farm's rate of rewards distribution. Consider also choosing `L2FarmProxy.rewardThreshold <= L1FarmProxy.rewardThreshold` so that the bridged rewards can be promptly distributed to the farm. In the initialization library, these two variables are assigned the same value. + +## Deployment + +### Declare env variables + +Add the required env variables listed in `.env.example` to your `.env` file, and run `source .env`. + +Make sure to set the `L1` and `L2` env variables according to your desired deployment environment. + +Mainnet deployment: + +``` +L1=mainnet +L2=base # in case of using Base as the L2 +``` + +Testnet deployment: + +``` +L1=sepolia +L2=base_sepolia # in case of using Base as the L2 +``` + +### Deploy the farm L1 & L2 proxies + +The deployment assumes that the [op-token-bridge](https://github.com/makerdao/op-token-bridge) has already been deployed and was properly initialized. + +Fill in the addresses of the L2 staking token and L1 and L2 rewards tokens in `script/input/{chainId}/config.json` under the `"stakingToken"` and `"rewardsToken"` keys. + +Fill in the address of the mainnet DssVest contract in `script/input/1/config.json` under the `vest` key. It is assumed that the vesting contract was properly initialized. On testnet, a mock DssVest contract will automatically be deployed. + +Start by deploying the `L2FarmProxySpell` singleton. + +``` +forge script script/DeploySingletons.s.sol:DeploySingletons --slow --multi --broadcast --verify +``` + +Next, run the following command to deploy the L1 vested rewards distribution contract, the L2 farm and the L1 and L2 proxies: + +``` +forge script script/DeployProxy.s.sol:DeployProxy --slow --multi --broadcast --verify +``` + +### Initialize the farm L1 & L2 proxies + +On mainnet, the farm proxies should be initialized via the spell process. +On testnet, the proxies initialization can be performed via the following command: + +``` +forge script script/Init.s.sol:Init --slow --multi --broadcast +``` + +### Run a test distribution + +Run the following command to distribute the vested funds to the L1 proxy: + +``` +forge script script/Distribute.s.sol:Distribute --slow --multi --broadcast +``` + +Wait for the transaction to be relayed to L2, then run the following command to forward the bridged funds from the L2 proxy to the farm: + +``` +forge script script/Forward.s.sol:Forward --slow --multi --broadcast +``` diff --git a/foundry.toml b/foundry.toml index 63de96e..c95abb6 100644 --- a/foundry.toml +++ b/foundry.toml @@ -5,6 +5,11 @@ libs = ["lib"] solc = "0.8.21" fs_permissions = [ { access = "read", path = "./script/input/"}, - { access = "read", path = "./out/"}, { access = "read-write", path = "./script/output/"} ] + +[etherscan] +mainnet = { key = "${ETHERSCAN_KEY}" } +sepolia = { key = "${ETHERSCAN_KEY}", chain = 11155111 } +base = { key = "${BASESCAN_KEY}", chain = 8453, url = "https://api.basescan.org/api" } +base_sepolia = { key = "${BASESCAN_KEY}", chain = 84532, url = "https://api-sepolia.basescan.org/api" } diff --git a/script/DeployProxy.s.sol b/script/DeployProxy.s.sol new file mode 100644 index 0000000..1966719 --- /dev/null +++ b/script/DeployProxy.s.sol @@ -0,0 +1,151 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later + +// Copyright (C) 2024 Dai Foundation +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +pragma solidity ^0.8.21; + +import "forge-std/Script.sol"; + +import { ScriptTools } from "dss-test/ScriptTools.sol"; +import { Domain } from "dss-test/domains/Domain.sol"; +import { VestedRewardsDistributionDeploy, VestedRewardsDistributionDeployParams } from "lib/endgame-toolkit/script/dependencies/VestedRewardsDistributionDeploy.sol"; +import { StakingRewardsDeploy, StakingRewardsDeployParams } from "lib/endgame-toolkit/script/dependencies/StakingRewardsDeploy.sol"; +import { DssVestMintableMock } from "test/mocks/DssVestMock.sol"; +import { FarmProxyDeploy } from "deploy/FarmProxyDeploy.sol"; + +interface L1GovernanceRelayLike { + function l2GovernanceRelay() external view returns (address); +} + +interface ChainLogLike { + function getAddress(bytes32) external view returns (address); +} + +interface AuthLike { + function rely(address usr) external; +} + +contract DeployProxy is Script { + using stdJson for string; + + uint256 l1PrivKey = vm.envUint("L1_PRIVATE_KEY"); + uint256 l2PrivKey = vm.envUint("L2_PRIVATE_KEY"); + address l1Deployer = vm.addr(l1PrivKey); + address l2Deployer = vm.addr(l2PrivKey); + + StdChains.Chain l1Chain; + StdChains.Chain l2Chain; + string config; + string deps; + Domain l1Domain; + Domain l2Domain; + ChainLogLike chainlog; + address l1GovRelay; + address l2GovRelay; + address owner; + address l1Bridge; + address vest; + address stakingToken; + address l1RewardsToken; + address l2RewardsToken; + address l1Proxy; + address vestedRewardsDistribution; + address farm; + address l2Proxy; + + function run() external { + l1Chain = getChain(string(vm.envOr("L1", string("mainnet")))); + l2Chain = getChain(string(vm.envOr("L2", string("base")))); + vm.setEnv("FOUNDRY_ROOT_CHAINID", vm.toString(l1Chain.chainId)); // used by ScriptTools to determine config path + config = ScriptTools.loadConfig("config"); + deps = ScriptTools.loadDependencies(); + l1Domain = new Domain(config, l1Chain); + l2Domain = new Domain(config, l2Chain); + l1Domain.selectFork(); + + chainlog = ChainLogLike(l1Domain.readConfigAddress("chainlog")); + l1GovRelay = chainlog.getAddress("BASE_GOV_RELAY"); // TODO: get as input? + l2GovRelay = L1GovernanceRelayLike(payable(l1GovRelay)).l2GovernanceRelay(); // TODO: does it need to be payable? + l1Bridge = chainlog.getAddress("BASE_TOKEN_BRIDGE"); + stakingToken = l2Domain.readConfigAddress("stakingToken"); + l1RewardsToken = l1Domain.readConfigAddress("rewardsToken"); + l2RewardsToken = l2Domain.readConfigAddress("rewardsToken"); + + if (keccak256(bytes(l1Chain.chainAlias)) == keccak256("mainnet")) { + owner = chainlog.getAddress("MCD_PAUSE_PROXY"); + vest = l1Domain.readConfigAddress("vest"); + } else { + owner = l1Deployer; + vm.startBroadcast(l1PrivKey); + vest = address(new DssVestMintableMock(l1RewardsToken)); + DssVestMintableMock(vest).file("cap", type(uint256).max); + AuthLike(l1RewardsToken).rely(address(vest)); + vm.stopBroadcast(); + } + + // L2 deployment + + StakingRewardsDeployParams memory farmParams = StakingRewardsDeployParams({ + owner: l2GovRelay, + stakingToken: stakingToken, + rewardsToken: l2RewardsToken + }); + l2Domain.selectFork(); + vm.startBroadcast(l2PrivKey); + farm = StakingRewardsDeploy.deploy(farmParams); + l2Proxy = FarmProxyDeploy.deployL2Proxy(l2Deployer, l2GovRelay, farm); + vm.stopBroadcast(); + + // L1 deployment + + l1Domain.selectFork(); + vm.startBroadcast(l1PrivKey); + l1Proxy = FarmProxyDeploy.deployL1Proxy( + l1Deployer, + owner, + l1RewardsToken, + l2RewardsToken, + l2Proxy, + l1Bridge + ); + VestedRewardsDistributionDeployParams memory distributionParams = VestedRewardsDistributionDeployParams({ + deployer: l1Deployer, + owner: owner, + vest: vest, + rewards: l1Proxy + }); + vestedRewardsDistribution = (VestedRewardsDistributionDeploy.deploy(distributionParams)); + vm.stopBroadcast(); + + // Export contract addresses + + // TODO: load the existing json so this is not required + ScriptTools.exportContract("deployed", "chainlog", deps.readAddress(".chainlog")); + ScriptTools.exportContract("deployed", "l2ProxySpell", deps.readAddress(".l2ProxySpell")); + ScriptTools.exportContract("deployed", "l1GovRelay", deps.readAddress(".l1GovRelay")); + ScriptTools.exportContract("deployed", "l2GovRelay", deps.readAddress(".l2GovRelay")); + + ScriptTools.exportContract("deployed", "farm", farm); + ScriptTools.exportContract("deployed", "l2Proxy", l2Proxy); + ScriptTools.exportContract("deployed", "l2RewardsToken", l2RewardsToken); + ScriptTools.exportContract("deployed", "stakingToken", stakingToken); + ScriptTools.exportContract("deployed", "l1Proxy", l1Proxy); + ScriptTools.exportContract("deployed", "vest", vest); + ScriptTools.exportContract("deployed", "vestedRewardsDistribution", vestedRewardsDistribution); + ScriptTools.exportContract("deployed", "l1RewardsToken", l1RewardsToken); + ScriptTools.exportContract("deployed", "l1Bridge", l1Bridge); + } +} diff --git a/script/DeploySingletons.s.sol b/script/DeploySingletons.s.sol new file mode 100644 index 0000000..8480d91 --- /dev/null +++ b/script/DeploySingletons.s.sol @@ -0,0 +1,74 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later + +// Copyright (C) 2024 Dai Foundation +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +pragma solidity ^0.8.21; + +import "forge-std/Script.sol"; + +import { ScriptTools } from "dss-test/ScriptTools.sol"; +import { Domain } from "dss-test/domains/Domain.sol"; +import { FarmProxyDeploy } from "deploy/FarmProxyDeploy.sol"; + +interface ChainLogLike { + function getAddress(bytes32) external view returns (address); +} + +interface L1GovernanceRelayLike { + function l2GovernanceRelay() external view returns (address); +} + +contract DeploySingletons is Script { + + uint256 l2PrivKey = vm.envUint("L2_PRIVATE_KEY"); + + StdChains.Chain l1Chain; + StdChains.Chain l2Chain; + string config; + Domain l1Domain; + Domain l2Domain; + address deployer; + ChainLogLike chainlog; + address l1GovRelay; + address l2GovRelay; + address l2Spell; + + function run() external { + l1Chain = getChain(string(vm.envOr("L1", string("mainnet")))); + l2Chain = getChain(string(vm.envOr("L2", string("base")))); + vm.setEnv("FOUNDRY_ROOT_CHAINID", vm.toString(l1Chain.chainId)); // used by ScriptTools to determine config path + config = ScriptTools.loadConfig("config"); + l1Domain = new Domain(config, l1Chain); + l2Domain = new Domain(config, l2Chain); + + chainlog = ChainLogLike(l1Domain.readConfigAddress("chainlog")); + l1GovRelay = chainlog.getAddress("BASE_GOV_RELAY"); // TODO: get as input? + l2GovRelay = L1GovernanceRelayLike(payable(l1GovRelay)).l2GovernanceRelay(); + + l2Domain.selectFork(); + + vm.startBroadcast(l2PrivKey); + l2Spell = FarmProxyDeploy.deployL2ProxySpell(); + vm.stopBroadcast(); + + // Export contract addresses + + ScriptTools.exportContract("deployed", "chainlog", address(chainlog)); + ScriptTools.exportContract("deployed", "l2ProxySpell", l2Spell); + ScriptTools.exportContract("deployed", "l1GovRelay", l1GovRelay); + ScriptTools.exportContract("deployed", "l2GovRelay", l2GovRelay); + } +} diff --git a/script/Distribute.s.sol b/script/Distribute.s.sol new file mode 100644 index 0000000..a238be8 --- /dev/null +++ b/script/Distribute.s.sol @@ -0,0 +1,53 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later + +// Copyright (C) 2024 Dai Foundation +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +pragma solidity ^0.8.21; + +import "forge-std/Script.sol"; + +import { ScriptTools } from "dss-test/ScriptTools.sol"; +import { Domain } from "dss-test/domains/Domain.sol"; + +interface DistributionLike { + function distribute() external returns (uint256); +} + +interface L1ProxyLike { + function estimateDepositCost(uint256, uint256, uint256) external view returns (uint256, uint256); +} + +// Run vestedRewardsDistribution.distribute() to test deployement +contract Distribute is Script { + using stdJson for string; + + uint256 l1PrivKey = vm.envUint("L1_PRIVATE_KEY"); + + function run() external { + StdChains.Chain memory l1Chain = getChain(string(vm.envOr("L1", string("mainnet")))); + vm.setEnv("FOUNDRY_ROOT_CHAINID", vm.toString(l1Chain.chainId)); // used by ScriptTools to determine config path + string memory config = ScriptTools.loadConfig("config"); + string memory deps = ScriptTools.loadDependencies(); + Domain l1Domain = new Domain(config, l1Chain); + l1Domain.selectFork(); + + DistributionLike distribution = DistributionLike(deps.readAddress(".vestedRewardsDistribution")); + + vm.startBroadcast(l1PrivKey); + distribution.distribute(); + vm.stopBroadcast(); + } +} diff --git a/script/Forward.s.sol b/script/Forward.s.sol new file mode 100644 index 0000000..889b47d --- /dev/null +++ b/script/Forward.s.sol @@ -0,0 +1,50 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later + +// Copyright (C) 2024 Dai Foundation +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +pragma solidity ^0.8.21; + +import "forge-std/Script.sol"; + +import { ScriptTools } from "dss-test/ScriptTools.sol"; +import { Domain } from "dss-test/domains/Domain.sol"; + +interface L2ProxyLike { + function forwardReward() external; +} + +// Run l2Proxy.forwardReward() to test deployement +contract Forward is Script { + using stdJson for string; + + uint256 l2PrivKey = vm.envUint("L2_PRIVATE_KEY"); + + function run() external { + StdChains.Chain memory l1Chain = getChain(string(vm.envOr("L1", string("mainnet")))); + StdChains.Chain memory l2Chain = getChain(string(vm.envOr("L2", string("base")))); + vm.setEnv("FOUNDRY_ROOT_CHAINID", vm.toString(l1Chain.chainId)); // used by ScriptTools to determine config path + string memory config = ScriptTools.loadConfig("config"); + string memory deps = ScriptTools.loadDependencies(); + Domain l2Domain = new Domain(config, l2Chain); + l2Domain.selectFork(); + + address l2Proxy = deps.readAddress(".l2Proxy"); + + vm.startBroadcast(l2PrivKey); + L2ProxyLike(l2Proxy).forwardReward(); + vm.stopBroadcast(); + } +} diff --git a/script/Init.s.sol b/script/Init.s.sol new file mode 100644 index 0000000..4f359ba --- /dev/null +++ b/script/Init.s.sol @@ -0,0 +1,111 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later + +// Copyright (C) 2024 Dai Foundation +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +pragma solidity ^0.8.21; + +import "forge-std/Script.sol"; + +import { ScriptTools } from "dss-test/ScriptTools.sol"; +import { Domain } from "dss-test/domains/Domain.sol"; +import { MCD, DssInstance } from "dss-test/MCD.sol"; +import { FarmProxyInit, ProxiesConfig } from "deploy/FarmProxyInit.sol"; +import { L2FarmProxySpell } from "deploy/L2FarmProxySpell.sol"; + +interface L2GovernanceRelayLike { + function relay(address, bytes calldata) external; +} + +contract Init is Script { + using stdJson for string; + + uint256 l1PrivKey = vm.envUint("L1_PRIVATE_KEY"); + + StdChains.Chain l1Chain; + StdChains.Chain l2Chain; + string config; + string deps; + Domain l1Domain; + Domain l2Domain; + DssInstance dss; + address l1GovRelay; + address l2GovRelay; + + function run() external { + l1Chain = getChain(string(vm.envOr("L1", string("mainnet")))); + l2Chain = getChain(string(vm.envOr("L2", string("base")))); + vm.setEnv("FOUNDRY_ROOT_CHAINID", vm.toString(l1Chain.chainId)); // used by ScriptTools to determine config path + config = ScriptTools.loadConfig("config"); + deps = ScriptTools.loadDependencies(); + l1Domain = new Domain(config, l1Chain); + l2Domain = new Domain(config, l2Chain); + l1Domain.selectFork(); + + dss = MCD.loadFromChainlog(deps.readAddress(".chainlog")); + + l1GovRelay = deps.readAddress(".l1GovRelay"); + l2GovRelay = deps.readAddress(".l2GovRelay"); + + address l2Proxy = deps.readAddress(".l2Proxy"); + address l2ProxySpell = deps.readAddress(".l2ProxySpell"); + address l2RewardsToken = deps.readAddress(".l2RewardsToken"); + address stakingToken = deps.readAddress(".stakingToken"); + address farm = deps.readAddress(".farm"); + uint224 rewardThreshold = 0; + uint256 rewardsDuration = 1 days; + + bytes memory initCalldata = abi.encodeCall(L2GovernanceRelayLike.relay, ( + l2ProxySpell, + abi.encodeCall(L2FarmProxySpell.init, ( + l2Proxy, + l2RewardsToken, + stakingToken, + farm, + rewardThreshold, + rewardsDuration + )) + )); + ProxiesConfig memory cfg = ProxiesConfig({ + vest: deps.readAddress(".vest"), + vestTot: 100 ether, + vestBgn: block.timestamp, + vestTau: 100 days, + vestedRewardsDistribution: deps.readAddress(".vestedRewardsDistribution"), + l1RewardsToken: deps.readAddress(".l1RewardsToken"), + l2RewardsToken: l2RewardsToken, + stakingToken: stakingToken, + l1Bridge: deps.readAddress(".l1Bridge"), + minGasLimit: 300_000, + rewardThreshold: rewardThreshold, + farm: farm, + rewardsDuration: rewardsDuration, + relayMinGasLimit: 1_000_000, + proxyChainlogKey: "FARM_PROXY_TKA_TKB_BASE", + distrChainlogKey: "REWARDS_DIST_TKA_TKB_BASE" + }); + + vm.startBroadcast(l1PrivKey); + FarmProxyInit.initProxies( + dss, + l1GovRelay, + deps.readAddress(".l1Proxy"), + l2Proxy, + l2ProxySpell, + cfg + ); + vm.stopBroadcast(); + } +} diff --git a/script/input/1/config.json b/script/input/1/config.json index c41272f..4ae396a 100644 --- a/script/input/1/config.json +++ b/script/input/1/config.json @@ -2,12 +2,14 @@ "domains": { "mainnet": { "chainlog": "0xdA0Ab1e0017DEbCd72Be8599041a2aa3bA7e740F", - "tokens": [] + "rewardsToken": "0x0000000000000000000000000000000000000000", + "vest": "0x0000000000000000000000000000000000000000" }, "base": { "l1Messenger": "0x866E82a600A1414e583f7F13623F1aC5d58b0Afa", "l2Messenger": "0x4200000000000000000000000000000000000007", - "tokens": [] + "rewardsToken": "0x0000000000000000000000000000000000000000", + "stakingToken": "0x0000000000000000000000000000000000000000" } } } diff --git a/script/input/11155111/config.json b/script/input/11155111/config.json index d4201b7..1d460e2 100644 --- a/script/input/11155111/config.json +++ b/script/input/11155111/config.json @@ -1,9 +1,14 @@ { "domains": { - "sepolia": {}, + "sepolia": { + "chainlog": "0x066eBcc55Ca699e14F3c3694CdB230a2B8cE3a83", + "rewardsToken": "0x0B2eaB37Ab96685Ad2b1A6FdDb8921e156073f84" + }, "base_sepolia": { "l1Messenger": "0xC34855F4De64F1840e5686e64278da901e261f20", - "l2Messenger": "0x4200000000000000000000000000000000000007" + "l2Messenger": "0x4200000000000000000000000000000000000007", + "rewardsToken": "0x0000000000000000000000000000000000000000", + "stakingToken": "0x0000000000000000000000000000000000000000" } } } From a3a6e93c8b47d2fd4aadc398b385d59825b3ee5a Mon Sep 17 00:00:00 2001 From: oldchili <130549691+oldchili@users.noreply.github.com> Date: Thu, 1 Aug 2024 14:11:48 +0300 Subject: [PATCH 12/35] Small changes --- deploy/FarmProxyInit.sol | 20 +++++++++++--------- deploy/L2FarmProxySpell.sol | 9 +++++---- script/DeployProxy.s.sol | 6 +++--- script/DeploySingletons.s.sol | 2 +- script/Init.s.sol | 19 ++++--------------- script/input/1/config.json | 2 ++ script/input/11155111/config.json | 2 ++ src/L1FarmProxy.sol | 2 +- test/Integration.t.sol | 12 ++++++------ test/mocks/L1TokenBridgeMock.sol | 1 - 10 files changed, 35 insertions(+), 40 deletions(-) diff --git a/deploy/FarmProxyInit.sol b/deploy/FarmProxyInit.sol index 107369a..07afd04 100644 --- a/deploy/FarmProxyInit.sol +++ b/deploy/FarmProxyInit.sol @@ -46,7 +46,7 @@ interface L1RelayLike { } struct ProxiesConfig { - address vest; // DssVest, assumed to have been fully init'ed for l1RewardsToken + address vest; // DssVest, assumed to have been fully init'ed for l1RewardsToken uint256 vestTot; uint256 vestBgn; uint256 vestTau; @@ -55,13 +55,13 @@ struct ProxiesConfig { address l2RewardsToken; address stakingToken; address l1Bridge; - uint32 minGasLimit; // For the L1 proxy - uint224 rewardThreshold; // For the L1 and L2 proxies - address farm; // The L2 farm - uint256 rewardsDuration; // For the L2 farm - uint32 relayMinGasLimit; // For the L1 relay - bytes32 proxyChainlogKey; // Chainlog key for the L1 proxy - bytes32 distrChainlogKey; // Chainlog key for vestedRewardsDistribution + uint32 minGasLimit; // For filing in the L1 proxy + uint224 rewardThreshold; // For the L1 and L2 proxies + address farm; // The L2 farm + uint256 rewardsDuration; // For the L2 farm + uint32 initMinGasLimit; // For relaying of `init` L2 spell operation + bytes32 proxyChainlogKey; // Chainlog key for the L1 proxy + bytes32 distrChainlogKey; // Chainlog key for vestedRewardsDistribution } library FarmProxyInit { @@ -84,9 +84,11 @@ library FarmProxyInit { require(distribution.stakingRewards() == l1Proxy_, "FarmProxyInit/distribution-farm-mismatch"); require(distribution.dssVest() == cfg.vest, "FarmProxyInit/distribution-vest-mismatch"); require(l1Proxy.rewardsToken() == cfg.l1RewardsToken, "FarmProxyInit/rewardsToken-token-mismatch"); + require(l1Proxy.l2Proxy() == l2Proxy, "FarmProxyInit/l2-proxy-mismatch"); require(l1Proxy.remoteToken() == cfg.l2RewardsToken, "FarmProxyInit/remote-token-mismatch"); require(l1Proxy.l1Bridge() == cfg.l1Bridge, "FarmProxyInit/l1-bridge-mismatch"); require(cfg.minGasLimit <= 10_000_000_000, "FarmProxyInit/min-gas-limit-out-of-bounds"); + require(cfg.initMinGasLimit <= 10_000_000_000, "FarmProxyInit/init-min-gas-limit-out-of-bounds"); require(cfg.rewardThreshold <= type(uint224).max, "FarmProxyInit/reward-threshold-out-of-bounds"); // setup vest @@ -119,7 +121,7 @@ library FarmProxyInit { cfg.rewardThreshold, cfg.rewardsDuration )), - minGasLimit: cfg.relayMinGasLimit + minGasLimit: cfg.initMinGasLimit }); // update chainlog diff --git a/deploy/L2FarmProxySpell.sol b/deploy/L2FarmProxySpell.sol index 26b1461..73fa395 100644 --- a/deploy/L2FarmProxySpell.sol +++ b/deploy/L2FarmProxySpell.sol @@ -61,10 +61,11 @@ contract L2FarmProxySpell { uint256 rewardsDuration ) external { // sanity checks - require(L2FarmProxyLike(l2Proxy).rewardsToken() == rewardsToken, "L2FarmProxySpell/rewards-token-mismatch"); - require(L2FarmProxyLike(l2Proxy).farm() == farm, "L2FarmProxySpell/farm-mismatch"); - require(FarmLike(farm).stakingToken() == stakingToken, "L2FarmProxySpell/farm-staking-token-mismatch"); - require(stakingToken != rewardsToken, "L2FarmProxySpell/rewards-token-same-as-staking-token"); + require(L2FarmProxyLike(l2Proxy).rewardsToken() == rewardsToken, "L2FarmProxySpell/rewards-token-mismatch"); + require(L2FarmProxyLike(l2Proxy).farm() == farm, "L2FarmProxySpell/farm-mismatch"); + require(FarmLike(farm).stakingToken() == stakingToken, "L2FarmProxySpell/farm-staking-token-mismatch"); + // TODO: check the farm's reward token as well? + require(stakingToken != rewardsToken, "L2FarmProxySpell/rewards-token-same-as-staking-token"); L2FarmProxyLike(l2Proxy).file("rewardThreshold", rewardThreshold); diff --git a/script/DeployProxy.s.sol b/script/DeployProxy.s.sol index 1966719..abb8e97 100644 --- a/script/DeployProxy.s.sol +++ b/script/DeployProxy.s.sol @@ -77,9 +77,9 @@ contract DeployProxy is Script { l1Domain.selectFork(); chainlog = ChainLogLike(l1Domain.readConfigAddress("chainlog")); - l1GovRelay = chainlog.getAddress("BASE_GOV_RELAY"); // TODO: get as input? - l2GovRelay = L1GovernanceRelayLike(payable(l1GovRelay)).l2GovernanceRelay(); // TODO: does it need to be payable? - l1Bridge = chainlog.getAddress("BASE_TOKEN_BRIDGE"); + l1GovRelay = l1Domain.readConfigAddress("govRelay"); + l2GovRelay = L1GovernanceRelayLike(l1GovRelay).l2GovernanceRelay(); + l1Bridge = l1Domain.readConfigAddress("bridge"); stakingToken = l2Domain.readConfigAddress("stakingToken"); l1RewardsToken = l1Domain.readConfigAddress("rewardsToken"); l2RewardsToken = l2Domain.readConfigAddress("rewardsToken"); diff --git a/script/DeploySingletons.s.sol b/script/DeploySingletons.s.sol index 8480d91..0c6783f 100644 --- a/script/DeploySingletons.s.sol +++ b/script/DeploySingletons.s.sol @@ -55,7 +55,7 @@ contract DeploySingletons is Script { l2Domain = new Domain(config, l2Chain); chainlog = ChainLogLike(l1Domain.readConfigAddress("chainlog")); - l1GovRelay = chainlog.getAddress("BASE_GOV_RELAY"); // TODO: get as input? + l1GovRelay = l1Domain.readConfigAddress("govRelay"); l2GovRelay = L1GovernanceRelayLike(payable(l1GovRelay)).l2GovernanceRelay(); l2Domain.selectFork(); diff --git a/script/Init.s.sol b/script/Init.s.sol index 4f359ba..d988ccf 100644 --- a/script/Init.s.sol +++ b/script/Init.s.sol @@ -67,17 +67,6 @@ contract Init is Script { uint224 rewardThreshold = 0; uint256 rewardsDuration = 1 days; - bytes memory initCalldata = abi.encodeCall(L2GovernanceRelayLike.relay, ( - l2ProxySpell, - abi.encodeCall(L2FarmProxySpell.init, ( - l2Proxy, - l2RewardsToken, - stakingToken, - farm, - rewardThreshold, - rewardsDuration - )) - )); ProxiesConfig memory cfg = ProxiesConfig({ vest: deps.readAddress(".vest"), vestTot: 100 ether, @@ -88,13 +77,13 @@ contract Init is Script { l2RewardsToken: l2RewardsToken, stakingToken: stakingToken, l1Bridge: deps.readAddress(".l1Bridge"), - minGasLimit: 300_000, + minGasLimit: 1_000_000, rewardThreshold: rewardThreshold, farm: farm, rewardsDuration: rewardsDuration, - relayMinGasLimit: 1_000_000, - proxyChainlogKey: "FARM_PROXY_TKA_TKB_BASE", - distrChainlogKey: "REWARDS_DIST_TKA_TKB_BASE" + initMinGasLimit: 1_000_000, + proxyChainlogKey: "FARM_PROXY_TKA_TKB_BASE", // Note: need to change this when non base (relevant for testing only as in production this is run in the spell) + distrChainlogKey: "REWARDS_DIST_TKA_TKB_BASE" // Note: need to change this when non base (relevant for testing only as in production this is run in the spell) }); vm.startBroadcast(l1PrivKey); diff --git a/script/input/1/config.json b/script/input/1/config.json index 4ae396a..da9ef89 100644 --- a/script/input/1/config.json +++ b/script/input/1/config.json @@ -2,6 +2,8 @@ "domains": { "mainnet": { "chainlog": "0xdA0Ab1e0017DEbCd72Be8599041a2aa3bA7e740F", + "govRelay": "0x0000000000000000000000000000000000000000", + "bridge": "0x0000000000000000000000000000000000000000", "rewardsToken": "0x0000000000000000000000000000000000000000", "vest": "0x0000000000000000000000000000000000000000" }, diff --git a/script/input/11155111/config.json b/script/input/11155111/config.json index 1d460e2..5d4dc14 100644 --- a/script/input/11155111/config.json +++ b/script/input/11155111/config.json @@ -2,6 +2,8 @@ "domains": { "sepolia": { "chainlog": "0x066eBcc55Ca699e14F3c3694CdB230a2B8cE3a83", + "govRelay": "0x0000000000000000000000000000000000000000", + "bridge": "0x0000000000000000000000000000000000000000", "rewardsToken": "0x0B2eaB37Ab96685Ad2b1A6FdDb8921e156073f84" }, "base_sepolia": { diff --git a/src/L1FarmProxy.sol b/src/L1FarmProxy.sol index 7bceb18..11d5b6f 100644 --- a/src/L1FarmProxy.sol +++ b/src/L1FarmProxy.sol @@ -36,7 +36,7 @@ interface L1TokenBridgeLike { contract L1FarmProxy { mapping (address => uint256) public wards; uint32 public minGasLimit; - uint224 public rewardThreshold; + uint224 public rewardThreshold; // TODO: should we still have it? we don't have to anymore since this contract doesn't hold eth to waist. If not then we rely on dss-cron's defined intervals for timing - https://github.com/makerdao/dss-cron/blob/master/src/VestRewardsDistributionJob.sol#L141. Opting for now to leave it to maintain symmetry with Arbitrum and with the L2 proxy. address public immutable rewardsToken; address public immutable remoteToken; diff --git a/test/Integration.t.sol b/test/Integration.t.sol index 21d8926..34452c6 100644 --- a/test/Integration.t.sol +++ b/test/Integration.t.sol @@ -196,13 +196,13 @@ contract IntegrationTest is DssTest { l2RewardsToken: address(l2Token), stakingToken: stakingToken, l1Bridge: l1Bridge, - minGasLimit: 1_000_000, // determined by running deploy/Estimate.s.sol and adding some margin // TODO: leave this comment? + minGasLimit: 1_000_000, rewardThreshold: 1 ether, farm: address(farm), rewardsDuration: 1 days, - relayMinGasLimit: 1_000_000, - proxyChainlogKey: "FARM_PROXY_TKA_TKB_ARB", - distrChainlogKey: "REWARDS_DISTRIBUTION_TKA_TKB_ARB" + initMinGasLimit: 1_000_000, + proxyChainlogKey: "FARM_PROXY_TKA_TKB_BASE", + distrChainlogKey: "REWARDS_DIST_TKA_TKB_BASE" }); vm.startPrank(PAUSE_PROXY); @@ -220,8 +220,8 @@ contract IntegrationTest is DssTest { assertEq(vest.res(vestId), 1); assertEq(l1Proxy.minGasLimit(), cfg.minGasLimit); assertEq(l1Proxy.rewardThreshold(), cfg.rewardThreshold); - assertEq(dss.chainlog.getAddress("FARM_PROXY_TKA_TKB_ARB"), address(l1Proxy)); - assertEq(dss.chainlog.getAddress("REWARDS_DISTRIBUTION_TKA_TKB_ARB"), cfg.vestedRewardsDistribution); + assertEq(dss.chainlog.getAddress("FARM_PROXY_TKA_TKB_BASE"), address(l1Proxy)); + assertEq(dss.chainlog.getAddress("REWARDS_DIST_TKA_TKB_BASE"), cfg.vestedRewardsDistribution); l2Domain.relayFromHost(true); diff --git a/test/mocks/L1TokenBridgeMock.sol b/test/mocks/L1TokenBridgeMock.sol index bc5b91e..03b6ca5 100644 --- a/test/mocks/L1TokenBridgeMock.sol +++ b/test/mocks/L1TokenBridgeMock.sol @@ -22,7 +22,6 @@ interface TokenLike { } contract L1TokenBridgeMock { - address public immutable inbox; address public immutable escrow; constructor(address _escrow) { From fecbab337eec5d47738914e5458c801b64a379f4 Mon Sep 17 00:00:00 2001 From: oldchili <130549691+oldchili@users.noreply.github.com> Date: Fri, 2 Aug 2024 00:03:58 +0300 Subject: [PATCH 13/35] Script fixes and configs --- script/DeployProxy.s.sol | 4 ++-- script/DeploySingletons.s.sol | 4 +++- script/input/1/config.json | 6 +++--- script/input/11155111/config.json | 12 ++++++------ script/output/11155111/deployed-latest.json | 15 +++++++++++++++ 5 files changed, 29 insertions(+), 12 deletions(-) create mode 100644 script/output/11155111/deployed-latest.json diff --git a/script/DeployProxy.s.sol b/script/DeployProxy.s.sol index abb8e97..ace19bb 100644 --- a/script/DeployProxy.s.sol +++ b/script/DeployProxy.s.sol @@ -77,9 +77,9 @@ contract DeployProxy is Script { l1Domain.selectFork(); chainlog = ChainLogLike(l1Domain.readConfigAddress("chainlog")); - l1GovRelay = l1Domain.readConfigAddress("govRelay"); + l1GovRelay = chainlog.getAddress(l2Domain.readConfigBytes32FromString("govRelayCLKey")); l2GovRelay = L1GovernanceRelayLike(l1GovRelay).l2GovernanceRelay(); - l1Bridge = l1Domain.readConfigAddress("bridge"); + l1Bridge = chainlog.getAddress(l2Domain.readConfigBytes32FromString("l1BridgeCLKey")); stakingToken = l2Domain.readConfigAddress("stakingToken"); l1RewardsToken = l1Domain.readConfigAddress("rewardsToken"); l2RewardsToken = l2Domain.readConfigAddress("rewardsToken"); diff --git a/script/DeploySingletons.s.sol b/script/DeploySingletons.s.sol index 0c6783f..9146c9a 100644 --- a/script/DeploySingletons.s.sol +++ b/script/DeploySingletons.s.sol @@ -54,8 +54,10 @@ contract DeploySingletons is Script { l1Domain = new Domain(config, l1Chain); l2Domain = new Domain(config, l2Chain); + l1Domain.selectFork(); + chainlog = ChainLogLike(l1Domain.readConfigAddress("chainlog")); - l1GovRelay = l1Domain.readConfigAddress("govRelay"); + l1GovRelay = chainlog.getAddress(l2Domain.readConfigBytes32FromString("govRelayCLKey")); l2GovRelay = L1GovernanceRelayLike(payable(l1GovRelay)).l2GovernanceRelay(); l2Domain.selectFork(); diff --git a/script/input/1/config.json b/script/input/1/config.json index da9ef89..e1cc752 100644 --- a/script/input/1/config.json +++ b/script/input/1/config.json @@ -2,8 +2,6 @@ "domains": { "mainnet": { "chainlog": "0xdA0Ab1e0017DEbCd72Be8599041a2aa3bA7e740F", - "govRelay": "0x0000000000000000000000000000000000000000", - "bridge": "0x0000000000000000000000000000000000000000", "rewardsToken": "0x0000000000000000000000000000000000000000", "vest": "0x0000000000000000000000000000000000000000" }, @@ -11,7 +9,9 @@ "l1Messenger": "0x866E82a600A1414e583f7F13623F1aC5d58b0Afa", "l2Messenger": "0x4200000000000000000000000000000000000007", "rewardsToken": "0x0000000000000000000000000000000000000000", - "stakingToken": "0x0000000000000000000000000000000000000000" + "stakingToken": "0x0000000000000000000000000000000000000000", + "govRelayCLKey": "BASE_GOV_RELAY", + "l1BridgeCLKey": "BASE_TOKEN_BRIDGE" } } } diff --git a/script/input/11155111/config.json b/script/input/11155111/config.json index 5d4dc14..2032665 100644 --- a/script/input/11155111/config.json +++ b/script/input/11155111/config.json @@ -1,16 +1,16 @@ { "domains": { "sepolia": { - "chainlog": "0x066eBcc55Ca699e14F3c3694CdB230a2B8cE3a83", - "govRelay": "0x0000000000000000000000000000000000000000", - "bridge": "0x0000000000000000000000000000000000000000", - "rewardsToken": "0x0B2eaB37Ab96685Ad2b1A6FdDb8921e156073f84" + "chainlog": "0x667a1BF9B7271EC89A9c1bDd4F751303c3306289", + "rewardsToken": "0x914af303be48320e8403f91E516946739AD76886" }, "base_sepolia": { "l1Messenger": "0xC34855F4De64F1840e5686e64278da901e261f20", "l2Messenger": "0x4200000000000000000000000000000000000007", - "rewardsToken": "0x0000000000000000000000000000000000000000", - "stakingToken": "0x0000000000000000000000000000000000000000" + "rewardsToken": "0x667a1BF9B7271EC89A9c1bDd4F751303c3306289", + "stakingToken": "0x4699614928639b94cc291dEB9c69617D60d49F3b", + "govRelayCLKey": "BASE_GOV_RELAY", + "l1BridgeCLKey": "BASE_TOKEN_BRIDGE" } } } diff --git a/script/output/11155111/deployed-latest.json b/script/output/11155111/deployed-latest.json new file mode 100644 index 0000000..195bcd2 --- /dev/null +++ b/script/output/11155111/deployed-latest.json @@ -0,0 +1,15 @@ +{ + "chainlog": "0x667a1BF9B7271EC89A9c1bDd4F751303c3306289", + "farm": "0x600ae38014470Ea54b74b8bd3c6E4CfF0e87d4e5", + "l1Bridge": "0x4699614928639b94cc291dEB9c69617D60d49F3b", + "l1GovRelay": "0xBB676bc88EEfCFf84e52FbfFE657A3B4A70E9195", + "l1Proxy": "0x310BCC6231a1996ffAc68f7631D729836826f2f4", + "l1RewardsToken": "0x914af303be48320e8403f91E516946739AD76886", + "l2GovRelay": "0xeDa7f76c8Eab9Fc9B5824a97cE975511327e03d4", + "l2Proxy": "0x3Fa4d396C35dAC916001BE45cDb6Ee1647C73E7f", + "l2ProxySpell": "0xCA89139Ad5dc0A6EBBd6Ff4C46f7fd38e3E1F4a2", + "l2RewardsToken": "0x667a1BF9B7271EC89A9c1bDd4F751303c3306289", + "stakingToken": "0x4699614928639b94cc291dEB9c69617D60d49F3b", + "vest": "0xF202b20dcE12A060C90A60EdE809C7ee2DA44dC8", + "vestedRewardsDistribution": "0xfbDCBd7085093b3A5dEcf2158e3873422fF07A0e" +} \ No newline at end of file From ab038470e14cd87f1dbefa2f7f74598459496af5 Mon Sep 17 00:00:00 2001 From: oldchili <130549691+oldchili@users.noreply.github.com> Date: Mon, 5 Aug 2024 14:22:30 +0300 Subject: [PATCH 14/35] Remove unused interface, fix typo --- deploy/L2FarmProxySpell.sol | 4 ---- src/L1FarmProxy.sol | 2 +- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/deploy/L2FarmProxySpell.sol b/deploy/L2FarmProxySpell.sol index 73fa395..a8f7aec 100644 --- a/deploy/L2FarmProxySpell.sol +++ b/deploy/L2FarmProxySpell.sol @@ -35,10 +35,6 @@ interface FarmLike { function setRewardsDistribution(address) external; } -interface ForwarderLike { - function receiver() external view returns (address); -} - // A reusable L2 spell to be used by the L2GovernanceRelay to exert admin control over L2 farms and their proxies contract L2FarmProxySpell { function rely(address l2Proxy, address usr) external { L2FarmProxyLike(l2Proxy).rely(usr); } diff --git a/src/L1FarmProxy.sol b/src/L1FarmProxy.sol index 11d5b6f..98b6082 100644 --- a/src/L1FarmProxy.sol +++ b/src/L1FarmProxy.sol @@ -36,7 +36,7 @@ interface L1TokenBridgeLike { contract L1FarmProxy { mapping (address => uint256) public wards; uint32 public minGasLimit; - uint224 public rewardThreshold; // TODO: should we still have it? we don't have to anymore since this contract doesn't hold eth to waist. If not then we rely on dss-cron's defined intervals for timing - https://github.com/makerdao/dss-cron/blob/master/src/VestRewardsDistributionJob.sol#L141. Opting for now to leave it to maintain symmetry with Arbitrum and with the L2 proxy. + uint224 public rewardThreshold; // TODO: should we still have it? we don't have to anymore since this contract doesn't hold eth to waste. If not then we rely on dss-cron's defined intervals for timing - https://github.com/makerdao/dss-cron/blob/master/src/VestRewardsDistributionJob.sol#L141. Opting for now to leave it to maintain symmetry with Arbitrum and with the L2 proxy. address public immutable rewardsToken; address public immutable remoteToken; From 73cbd87fdab21f952ed47671f76f96b6a6e50655 Mon Sep 17 00:00:00 2001 From: oldchili <130549691+oldchili@users.noreply.github.com> Date: Tue, 20 Aug 2024 16:45:54 +0300 Subject: [PATCH 15/35] Apply suggestions from code review No need for farm check, minor changes Co-authored-by: telome <130504305+telome@users.noreply.github.com> --- deploy/L2FarmProxySpell.sol | 1 - script/Init.s.sol | 4 ++-- src/L1FarmProxy.sol | 1 + 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/deploy/L2FarmProxySpell.sol b/deploy/L2FarmProxySpell.sol index a8f7aec..4069217 100644 --- a/deploy/L2FarmProxySpell.sol +++ b/deploy/L2FarmProxySpell.sol @@ -60,7 +60,6 @@ contract L2FarmProxySpell { require(L2FarmProxyLike(l2Proxy).rewardsToken() == rewardsToken, "L2FarmProxySpell/rewards-token-mismatch"); require(L2FarmProxyLike(l2Proxy).farm() == farm, "L2FarmProxySpell/farm-mismatch"); require(FarmLike(farm).stakingToken() == stakingToken, "L2FarmProxySpell/farm-staking-token-mismatch"); - // TODO: check the farm's reward token as well? require(stakingToken != rewardsToken, "L2FarmProxySpell/rewards-token-same-as-staking-token"); L2FarmProxyLike(l2Proxy).file("rewardThreshold", rewardThreshold); diff --git a/script/Init.s.sol b/script/Init.s.sol index d988ccf..9c23e0e 100644 --- a/script/Init.s.sol +++ b/script/Init.s.sol @@ -82,8 +82,8 @@ contract Init is Script { farm: farm, rewardsDuration: rewardsDuration, initMinGasLimit: 1_000_000, - proxyChainlogKey: "FARM_PROXY_TKA_TKB_BASE", // Note: need to change this when non base (relevant for testing only as in production this is run in the spell) - distrChainlogKey: "REWARDS_DIST_TKA_TKB_BASE" // Note: need to change this when non base (relevant for testing only as in production this is run in the spell) + proxyChainlogKey: "FARM_PROXY_TKA_TKB_BASE", // Note: need to change this when non Base (relevant for testing only as in production this is run in the spell) + distrChainlogKey: "REWARDS_DIST_TKA_TKB_BASE" // Note: need to change this when non Base (relevant for testing only as in production this is run in the spell) }); vm.startBroadcast(l1PrivKey); diff --git a/src/L1FarmProxy.sol b/src/L1FarmProxy.sol index 98b6082..f47d8a9 100644 --- a/src/L1FarmProxy.sol +++ b/src/L1FarmProxy.sol @@ -99,3 +99,4 @@ contract L1FarmProxy { emit RewardAdded(reward); } } + From 3db60d6f4efbb44ce2d347148f7ebcd4d76d9f9d Mon Sep 17 00:00:00 2001 From: oldchili <130549691+oldchili@users.noreply.github.com> Date: Tue, 20 Aug 2024 16:45:14 +0300 Subject: [PATCH 16/35] Bond cfg.minGasLimit and cfg.initMinGasLimit by 500M --- deploy/FarmProxyInit.sol | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/deploy/FarmProxyInit.sol b/deploy/FarmProxyInit.sol index 07afd04..e7d6e2b 100644 --- a/deploy/FarmProxyInit.sol +++ b/deploy/FarmProxyInit.sol @@ -79,17 +79,17 @@ library FarmProxyInit { // sanity checks - require(vest.gem() == cfg.l1RewardsToken, "FarmProxyInit/vest-gem-mismatch"); - require(distribution.gem() == cfg.l1RewardsToken, "FarmProxyInit/distribution-gem-mismatch"); - require(distribution.stakingRewards() == l1Proxy_, "FarmProxyInit/distribution-farm-mismatch"); - require(distribution.dssVest() == cfg.vest, "FarmProxyInit/distribution-vest-mismatch"); - require(l1Proxy.rewardsToken() == cfg.l1RewardsToken, "FarmProxyInit/rewardsToken-token-mismatch"); - require(l1Proxy.l2Proxy() == l2Proxy, "FarmProxyInit/l2-proxy-mismatch"); - require(l1Proxy.remoteToken() == cfg.l2RewardsToken, "FarmProxyInit/remote-token-mismatch"); - require(l1Proxy.l1Bridge() == cfg.l1Bridge, "FarmProxyInit/l1-bridge-mismatch"); - require(cfg.minGasLimit <= 10_000_000_000, "FarmProxyInit/min-gas-limit-out-of-bounds"); - require(cfg.initMinGasLimit <= 10_000_000_000, "FarmProxyInit/init-min-gas-limit-out-of-bounds"); - require(cfg.rewardThreshold <= type(uint224).max, "FarmProxyInit/reward-threshold-out-of-bounds"); + require(vest.gem() == cfg.l1RewardsToken, "FarmProxyInit/vest-gem-mismatch"); + require(distribution.gem() == cfg.l1RewardsToken, "FarmProxyInit/distribution-gem-mismatch"); + require(distribution.stakingRewards() == l1Proxy_, "FarmProxyInit/distribution-farm-mismatch"); + require(distribution.dssVest() == cfg.vest, "FarmProxyInit/distribution-vest-mismatch"); + require(l1Proxy.rewardsToken() == cfg.l1RewardsToken, "FarmProxyInit/rewardsToken-token-mismatch"); + require(l1Proxy.l2Proxy() == l2Proxy, "FarmProxyInit/l2-proxy-mismatch"); + require(l1Proxy.remoteToken() == cfg.l2RewardsToken, "FarmProxyInit/remote-token-mismatch"); + require(l1Proxy.l1Bridge() == cfg.l1Bridge, "FarmProxyInit/l1-bridge-mismatch"); + require(cfg.minGasLimit <= 500_000_000, "FarmProxyInit/min-gas-limit-out-of-bounds"); + require(cfg.initMinGasLimit <= 500_000_000, "FarmProxyInit/init-min-gas-limit-out-of-bounds"); + require(cfg.rewardThreshold <= type(uint224).max, "FarmProxyInit/reward-threshold-out-of-bounds"); // setup vest From fa068a6918dba3c6b4ad3472140eb8aecbb76108 Mon Sep 17 00:00:00 2001 From: oldchili <130549691+oldchili@users.noreply.github.com> Date: Tue, 20 Aug 2024 16:49:50 +0300 Subject: [PATCH 17/35] Notes that gas limits need to be tighter in production --- script/Init.s.sol | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/script/Init.s.sol b/script/Init.s.sol index 9c23e0e..585110d 100644 --- a/script/Init.s.sol +++ b/script/Init.s.sol @@ -77,11 +77,11 @@ contract Init is Script { l2RewardsToken: l2RewardsToken, stakingToken: stakingToken, l1Bridge: deps.readAddress(".l1Bridge"), - minGasLimit: 1_000_000, + minGasLimit: 1_000_000, // Note that this is just a random value for testing, in production a tight value is recommended to avoid excess gas waste. rewardThreshold: rewardThreshold, farm: farm, rewardsDuration: rewardsDuration, - initMinGasLimit: 1_000_000, + initMinGasLimit: 1_000_000, // Note that also here, a tighter value in production is recommended. proxyChainlogKey: "FARM_PROXY_TKA_TKB_BASE", // Note: need to change this when non Base (relevant for testing only as in production this is run in the spell) distrChainlogKey: "REWARDS_DIST_TKA_TKB_BASE" // Note: need to change this when non Base (relevant for testing only as in production this is run in the spell) }); From 8902409e873d5fa33194fc3f462ebba23d837792 Mon Sep 17 00:00:00 2001 From: oldchili <130549691+oldchili@users.noreply.github.com> Date: Wed, 21 Aug 2024 16:48:11 +0300 Subject: [PATCH 18/35] Add 20% gas buffer in Distribute.s.sol instructions --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4b4a014..ee2dd58 100644 --- a/README.md +++ b/README.md @@ -78,10 +78,11 @@ forge script script/Init.s.sol:Init --slow --multi --broadcast ### Run a test distribution -Run the following command to distribute the vested funds to the L1 proxy: +Run the following command to distribute the vested funds to the L1 proxy. +We add a buffer to the gas estimation per Optimism's [recommendation](https://docs.optimism.io/builders/app-developers/bridging/messaging#for-l1-to-l2-transactions-1) for L1 => L2 transactions. ``` -forge script script/Distribute.s.sol:Distribute --slow --multi --broadcast +forge script script/Distribute.s.sol:Distribute --slow --multi --broadcast --gas-estimate-multiplier 120 ``` Wait for the transaction to be relayed to L2, then run the following command to forward the bridged funds from the L2 proxy to the farm: From b08732f9f3fc1f0104d96afb9b7702fc5809556f Mon Sep 17 00:00:00 2001 From: oldchili <130549691+oldchili@users.noreply.github.com> Date: Wed, 21 Aug 2024 17:54:15 +0300 Subject: [PATCH 19/35] Update dss-test --- lib/dss-test | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/dss-test b/lib/dss-test index 41066f6..f2a2b2b 160000 --- a/lib/dss-test +++ b/lib/dss-test @@ -1 +1 @@ -Subproject commit 41066f6d18202c61208d8cf09b38532a6f5b0d0a +Subproject commit f2a2b2bbea71921103c5b7cf3cb1d241b957bec7 From e665e0e18f77c5bff8fbcfa7d0ee6a2a48cf7186 Mon Sep 17 00:00:00 2001 From: oldchili <130549691+oldchili@users.noreply.github.com> Date: Wed, 21 Aug 2024 18:00:40 +0300 Subject: [PATCH 20/35] New line at EOF Co-authored-by: sunbreak1211 <129470872+sunbreak1211@users.noreply.github.com> --- script/output/11155111/deployed-latest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/output/11155111/deployed-latest.json b/script/output/11155111/deployed-latest.json index 195bcd2..563780d 100644 --- a/script/output/11155111/deployed-latest.json +++ b/script/output/11155111/deployed-latest.json @@ -12,4 +12,4 @@ "stakingToken": "0x4699614928639b94cc291dEB9c69617D60d49F3b", "vest": "0xF202b20dcE12A060C90A60EdE809C7ee2DA44dC8", "vestedRewardsDistribution": "0xfbDCBd7085093b3A5dEcf2158e3873422fF07A0e" -} \ No newline at end of file +} From 74f503ed121876f35febb83214201cddf67da044 Mon Sep 17 00:00:00 2001 From: oldchili <130549691+oldchili@users.noreply.github.com> Date: Thu, 22 Aug 2024 11:41:07 +0300 Subject: [PATCH 21/35] Update op-token-bridge --- lib/op-token-bridge | 2 +- test/Integration.t.sol | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/op-token-bridge b/lib/op-token-bridge index 2c39c49..22bcee7 160000 --- a/lib/op-token-bridge +++ b/lib/op-token-bridge @@ -1 +1 @@ -Subproject commit 2c39c493172e2b5ba898779058ea83a86f47d97e +Subproject commit 22bcee78de91c8c1e5e1858961e276e142ea0cb6 diff --git a/test/Integration.t.sol b/test/Integration.t.sol index 34452c6..68aee3d 100644 --- a/test/Integration.t.sol +++ b/test/Integration.t.sol @@ -85,7 +85,7 @@ contract IntegrationTest is DssTest { l1Bridge = vm.computeCreateAddress(address(this), vm.getNonce(address(this)) + 5); l2Domain.selectFork(); - L2TokenBridgeInstance memory l2BridgeInstance = TokenBridgeDeploy.deployL2Bridge({ + L2TokenBridgeInstance memory l2BridgeInstance = TokenBridgeDeploy.deployL2({ deployer: address(this), l1GovRelay: l1GovRelay, l1Bridge: l1Bridge, @@ -97,7 +97,7 @@ contract IntegrationTest is DssTest { assertEq(address(L2TokenBridgeSpell(l2BridgeInstance.spell).l2Bridge()), address(l2Bridge)); l1Domain.selectFork(); - L1TokenBridgeInstance memory l1BridgeInstance = TokenBridgeDeploy.deployL1Bridge({ + L1TokenBridgeInstance memory l1BridgeInstance = TokenBridgeDeploy.deployL1({ deployer: address(this), owner: PAUSE_PROXY, l2GovRelay: l2GovRelay, From b5a90d0dbfd38cb8220d83de179b1b21758da824 Mon Sep 17 00:00:00 2001 From: oldchili <130549691+oldchili@users.noreply.github.com> Date: Sun, 25 Aug 2024 18:13:38 +0300 Subject: [PATCH 22/35] Apply suggestions from code review Minor changes Co-authored-by: sunbreak1211 <129470872+sunbreak1211@users.noreply.github.com> --- .env.example | 2 +- script/Distribute.s.sol | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/.env.example b/.env.example index cca0a82..c956c8c 100644 --- a/.env.example +++ b/.env.example @@ -1,7 +1,7 @@ export FOUNDRY_SCRIPT_DEPS=deployed export FOUNDRY_EXPORTS_OVERWRITE_LATEST=true export L1="sepolia" -export L2="base" +export L2="base_sepolia" export ETH_RPC_URL= export BASE_RPC_URL= export SEPOLIA_RPC_URL= diff --git a/script/Distribute.s.sol b/script/Distribute.s.sol index a238be8..36bfcf2 100644 --- a/script/Distribute.s.sol +++ b/script/Distribute.s.sol @@ -26,10 +26,6 @@ interface DistributionLike { function distribute() external returns (uint256); } -interface L1ProxyLike { - function estimateDepositCost(uint256, uint256, uint256) external view returns (uint256, uint256); -} - // Run vestedRewardsDistribution.distribute() to test deployement contract Distribute is Script { using stdJson for string; From 221269312837c5a710b1451e4204de852a32789b Mon Sep 17 00:00:00 2001 From: oldchili <130549691+oldchili@users.noreply.github.com> Date: Sun, 25 Aug 2024 18:10:09 +0300 Subject: [PATCH 23/35] Remove redundant line --- src/L1FarmProxy.sol | 1 - 1 file changed, 1 deletion(-) diff --git a/src/L1FarmProxy.sol b/src/L1FarmProxy.sol index f47d8a9..98b6082 100644 --- a/src/L1FarmProxy.sol +++ b/src/L1FarmProxy.sol @@ -99,4 +99,3 @@ contract L1FarmProxy { emit RewardAdded(reward); } } - From 94fc23f5cc87018b78ffca2d39148140510fd550 Mon Sep 17 00:00:00 2001 From: oldchili <130549691+oldchili@users.noreply.github.com> Date: Sun, 25 Aug 2024 20:10:40 +0300 Subject: [PATCH 24/35] Inlinve some vars in script/Init.s.sol --- script/Init.s.sol | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/script/Init.s.sol b/script/Init.s.sol index 585110d..57894fb 100644 --- a/script/Init.s.sol +++ b/script/Init.s.sol @@ -64,8 +64,6 @@ contract Init is Script { address l2RewardsToken = deps.readAddress(".l2RewardsToken"); address stakingToken = deps.readAddress(".stakingToken"); address farm = deps.readAddress(".farm"); - uint224 rewardThreshold = 0; - uint256 rewardsDuration = 1 days; ProxiesConfig memory cfg = ProxiesConfig({ vest: deps.readAddress(".vest"), @@ -78,9 +76,9 @@ contract Init is Script { stakingToken: stakingToken, l1Bridge: deps.readAddress(".l1Bridge"), minGasLimit: 1_000_000, // Note that this is just a random value for testing, in production a tight value is recommended to avoid excess gas waste. - rewardThreshold: rewardThreshold, + rewardThreshold: 0, farm: farm, - rewardsDuration: rewardsDuration, + rewardsDuration: 1 days, initMinGasLimit: 1_000_000, // Note that also here, a tighter value in production is recommended. proxyChainlogKey: "FARM_PROXY_TKA_TKB_BASE", // Note: need to change this when non Base (relevant for testing only as in production this is run in the spell) distrChainlogKey: "REWARDS_DIST_TKA_TKB_BASE" // Note: need to change this when non Base (relevant for testing only as in production this is run in the spell) From 29bc92a8440d945f6d224ea1504640d2972facd3 Mon Sep 17 00:00:00 2001 From: oldchili <130549691+oldchili@users.noreply.github.com> Date: Sun, 25 Aug 2024 20:27:26 +0300 Subject: [PATCH 25/35] More inlining --- script/Init.s.sol | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/script/Init.s.sol b/script/Init.s.sol index 57894fb..3dbc74e 100644 --- a/script/Init.s.sol +++ b/script/Init.s.sol @@ -41,8 +41,6 @@ contract Init is Script { Domain l1Domain; Domain l2Domain; DssInstance dss; - address l1GovRelay; - address l2GovRelay; function run() external { l1Chain = getChain(string(vm.envOr("L1", string("mainnet")))); @@ -56,15 +54,6 @@ contract Init is Script { dss = MCD.loadFromChainlog(deps.readAddress(".chainlog")); - l1GovRelay = deps.readAddress(".l1GovRelay"); - l2GovRelay = deps.readAddress(".l2GovRelay"); - - address l2Proxy = deps.readAddress(".l2Proxy"); - address l2ProxySpell = deps.readAddress(".l2ProxySpell"); - address l2RewardsToken = deps.readAddress(".l2RewardsToken"); - address stakingToken = deps.readAddress(".stakingToken"); - address farm = deps.readAddress(".farm"); - ProxiesConfig memory cfg = ProxiesConfig({ vest: deps.readAddress(".vest"), vestTot: 100 ether, @@ -72,12 +61,12 @@ contract Init is Script { vestTau: 100 days, vestedRewardsDistribution: deps.readAddress(".vestedRewardsDistribution"), l1RewardsToken: deps.readAddress(".l1RewardsToken"), - l2RewardsToken: l2RewardsToken, - stakingToken: stakingToken, + l2RewardsToken: deps.readAddress(".l2RewardsToken"), + stakingToken: deps.readAddress(".stakingToken"), l1Bridge: deps.readAddress(".l1Bridge"), minGasLimit: 1_000_000, // Note that this is just a random value for testing, in production a tight value is recommended to avoid excess gas waste. rewardThreshold: 0, - farm: farm, + farm: deps.readAddress(".farm"), rewardsDuration: 1 days, initMinGasLimit: 1_000_000, // Note that also here, a tighter value in production is recommended. proxyChainlogKey: "FARM_PROXY_TKA_TKB_BASE", // Note: need to change this when non Base (relevant for testing only as in production this is run in the spell) @@ -87,10 +76,10 @@ contract Init is Script { vm.startBroadcast(l1PrivKey); FarmProxyInit.initProxies( dss, - l1GovRelay, + deps.readAddress(".l1GovRelay"), deps.readAddress(".l1Proxy"), - l2Proxy, - l2ProxySpell, + deps.readAddress(".l2Proxy"), + deps.readAddress(".l2ProxySpell"), cfg ); vm.stopBroadcast(); From 7aad28b91b327d07a8afb1038a9180a480584cab Mon Sep 17 00:00:00 2001 From: oldchili <130549691+oldchili@users.noreply.github.com> Date: Sun, 25 Aug 2024 20:31:41 +0300 Subject: [PATCH 26/35] Update CI --- .github/workflows/test.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 9282e82..b7cea14 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,6 +1,6 @@ name: test -on: workflow_dispatch +on: [push, pull_request] env: FOUNDRY_PROFILE: ci @@ -32,3 +32,6 @@ jobs: run: | forge test -vvv id: test + env: + MAINNET_RPC_URL: ${{ secrets.MAINNET_RPC_URL }} + BASE_RPC_URL: ${{ secrets.BASE_RPC_URL }} From 632c17f0d7d96c7940f64a3e5474472751b49c2c Mon Sep 17 00:00:00 2001 From: oldchili <130549691+oldchili@users.noreply.github.com> Date: Mon, 26 Aug 2024 14:18:05 +0300 Subject: [PATCH 27/35] Minor changes in env example Co-authored-by: telome <130504305+telome@users.noreply.github.com> --- .env.example | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.env.example b/.env.example index c956c8c..c376036 100644 --- a/.env.example +++ b/.env.example @@ -2,10 +2,10 @@ export FOUNDRY_SCRIPT_DEPS=deployed export FOUNDRY_EXPORTS_OVERWRITE_LATEST=true export L1="sepolia" export L2="base_sepolia" -export ETH_RPC_URL= +export MAINNET_RPC_URL= export BASE_RPC_URL= export SEPOLIA_RPC_URL= -export BASE_ONE_SEPOLIA_RPC_URL= +export BASE_SEPOLIA_RPC_URL= export L1_PRIVATE_KEY="0x$(cat /path/to/pkey1)" export L2_PRIVATE_KEY="0x$(cat /path/to/pkey2)" export ETHERSCAN_KEY= From 4950996ea16d7371b4ec1eedfdd21b93580467d7 Mon Sep 17 00:00:00 2001 From: oldchili <130549691+oldchili@users.noreply.github.com> Date: Mon, 26 Aug 2024 17:04:11 +0300 Subject: [PATCH 28/35] Change TODO to clarification message --- src/L1FarmProxy.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/L1FarmProxy.sol b/src/L1FarmProxy.sol index 98b6082..79c4bdd 100644 --- a/src/L1FarmProxy.sol +++ b/src/L1FarmProxy.sol @@ -36,7 +36,7 @@ interface L1TokenBridgeLike { contract L1FarmProxy { mapping (address => uint256) public wards; uint32 public minGasLimit; - uint224 public rewardThreshold; // TODO: should we still have it? we don't have to anymore since this contract doesn't hold eth to waste. If not then we rely on dss-cron's defined intervals for timing - https://github.com/makerdao/dss-cron/blob/master/src/VestRewardsDistributionJob.sol#L141. Opting for now to leave it to maintain symmetry with Arbitrum and with the L2 proxy. + uint224 public rewardThreshold; // A threshold is not strictly required but aligns with other L2 farm proxies address public immutable rewardsToken; address public immutable remoteToken; From f71a30e52cefad3b855aa02a198b9725f9217176 Mon Sep 17 00:00:00 2001 From: oldchili <130549691+oldchili@users.noreply.github.com> Date: Mon, 26 Aug 2024 17:05:00 +0300 Subject: [PATCH 29/35] Update lib/op-token-bridge --- lib/op-token-bridge | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/op-token-bridge b/lib/op-token-bridge index 22bcee7..4b6cd2a 160000 --- a/lib/op-token-bridge +++ b/lib/op-token-bridge @@ -1 +1 @@ -Subproject commit 22bcee78de91c8c1e5e1858961e276e142ea0cb6 +Subproject commit 4b6cd2a362eec506bfcf295c19769a933d9a49fd From 119313bca26522aecadafb611319a5556e6d7f2d Mon Sep 17 00:00:00 2001 From: oldchili <130549691+oldchili@users.noreply.github.com> Date: Mon, 2 Sep 2024 20:44:47 +0300 Subject: [PATCH 30/35] Cantina audit (#2) * Remove <= type(uint224).max check * stakingToken => l2StakingToken * Update lib/op-token-bridge --- deploy/FarmProxyInit.sol | 5 ++--- lib/op-token-bridge | 2 +- script/DeployProxy.s.sol | 8 ++++---- script/Init.s.sol | 2 +- test/Integration.t.sol | 2 +- 5 files changed, 9 insertions(+), 10 deletions(-) diff --git a/deploy/FarmProxyInit.sol b/deploy/FarmProxyInit.sol index e7d6e2b..f87aae1 100644 --- a/deploy/FarmProxyInit.sol +++ b/deploy/FarmProxyInit.sol @@ -53,7 +53,7 @@ struct ProxiesConfig { address vestedRewardsDistribution; address l1RewardsToken; address l2RewardsToken; - address stakingToken; + address l2StakingToken; address l1Bridge; uint32 minGasLimit; // For filing in the L1 proxy uint224 rewardThreshold; // For the L1 and L2 proxies @@ -89,7 +89,6 @@ library FarmProxyInit { require(l1Proxy.l1Bridge() == cfg.l1Bridge, "FarmProxyInit/l1-bridge-mismatch"); require(cfg.minGasLimit <= 500_000_000, "FarmProxyInit/min-gas-limit-out-of-bounds"); require(cfg.initMinGasLimit <= 500_000_000, "FarmProxyInit/init-min-gas-limit-out-of-bounds"); - require(cfg.rewardThreshold <= type(uint224).max, "FarmProxyInit/reward-threshold-out-of-bounds"); // setup vest @@ -116,7 +115,7 @@ library FarmProxyInit { targetData: abi.encodeCall(L2FarmProxySpell.init, ( l2Proxy, cfg.l2RewardsToken, - cfg.stakingToken, + cfg.l2StakingToken, cfg.farm, cfg.rewardThreshold, cfg.rewardsDuration diff --git a/lib/op-token-bridge b/lib/op-token-bridge index 4b6cd2a..bae891c 160000 --- a/lib/op-token-bridge +++ b/lib/op-token-bridge @@ -1 +1 @@ -Subproject commit 4b6cd2a362eec506bfcf295c19769a933d9a49fd +Subproject commit bae891c15067738eae18baa4866f7972289b7841 diff --git a/script/DeployProxy.s.sol b/script/DeployProxy.s.sol index ace19bb..7ccb826 100644 --- a/script/DeployProxy.s.sol +++ b/script/DeployProxy.s.sol @@ -58,7 +58,7 @@ contract DeployProxy is Script { address owner; address l1Bridge; address vest; - address stakingToken; + address l2StakingToken; address l1RewardsToken; address l2RewardsToken; address l1Proxy; @@ -80,7 +80,7 @@ contract DeployProxy is Script { l1GovRelay = chainlog.getAddress(l2Domain.readConfigBytes32FromString("govRelayCLKey")); l2GovRelay = L1GovernanceRelayLike(l1GovRelay).l2GovernanceRelay(); l1Bridge = chainlog.getAddress(l2Domain.readConfigBytes32FromString("l1BridgeCLKey")); - stakingToken = l2Domain.readConfigAddress("stakingToken"); + l2StakingToken = l2Domain.readConfigAddress("stakingToken"); l1RewardsToken = l1Domain.readConfigAddress("rewardsToken"); l2RewardsToken = l2Domain.readConfigAddress("rewardsToken"); @@ -100,7 +100,7 @@ contract DeployProxy is Script { StakingRewardsDeployParams memory farmParams = StakingRewardsDeployParams({ owner: l2GovRelay, - stakingToken: stakingToken, + stakingToken: l2StakingToken, rewardsToken: l2RewardsToken }); l2Domain.selectFork(); @@ -141,7 +141,7 @@ contract DeployProxy is Script { ScriptTools.exportContract("deployed", "farm", farm); ScriptTools.exportContract("deployed", "l2Proxy", l2Proxy); ScriptTools.exportContract("deployed", "l2RewardsToken", l2RewardsToken); - ScriptTools.exportContract("deployed", "stakingToken", stakingToken); + ScriptTools.exportContract("deployed", "l2StakingToken", l2StakingToken); ScriptTools.exportContract("deployed", "l1Proxy", l1Proxy); ScriptTools.exportContract("deployed", "vest", vest); ScriptTools.exportContract("deployed", "vestedRewardsDistribution", vestedRewardsDistribution); diff --git a/script/Init.s.sol b/script/Init.s.sol index 3dbc74e..7bcd9b8 100644 --- a/script/Init.s.sol +++ b/script/Init.s.sol @@ -62,7 +62,7 @@ contract Init is Script { vestedRewardsDistribution: deps.readAddress(".vestedRewardsDistribution"), l1RewardsToken: deps.readAddress(".l1RewardsToken"), l2RewardsToken: deps.readAddress(".l2RewardsToken"), - stakingToken: deps.readAddress(".stakingToken"), + l2StakingToken: deps.readAddress(".l2StakingToken"), l1Bridge: deps.readAddress(".l1Bridge"), minGasLimit: 1_000_000, // Note that this is just a random value for testing, in production a tight value is recommended to avoid excess gas waste. rewardThreshold: 0, diff --git a/test/Integration.t.sol b/test/Integration.t.sol index 68aee3d..1e5f674 100644 --- a/test/Integration.t.sol +++ b/test/Integration.t.sol @@ -194,7 +194,7 @@ contract IntegrationTest is DssTest { vestedRewardsDistribution: address(vestedRewardsDistribution), l1RewardsToken: address(l1Token), l2RewardsToken: address(l2Token), - stakingToken: stakingToken, + l2StakingToken: stakingToken, l1Bridge: l1Bridge, minGasLimit: 1_000_000, rewardThreshold: 1 ether, From 525f92323657135f59f6e1e76c7195fab7c44b8e Mon Sep 17 00:00:00 2001 From: oldchili <130549691+oldchili@users.noreply.github.com> Date: Tue, 10 Sep 2024 20:51:00 +0300 Subject: [PATCH 31/35] Add Cantina Report (#3) --- ...cantina-report-review-makerdao-op-farms.pdf | Bin 0 -> 458647 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 audit/20240909-cantina-report-review-makerdao-op-farms.pdf diff --git a/audit/20240909-cantina-report-review-makerdao-op-farms.pdf b/audit/20240909-cantina-report-review-makerdao-op-farms.pdf new file mode 100644 index 0000000000000000000000000000000000000000..8303e0914e7002c5bcb4ef8c3c75f98c933dd7f3 GIT binary patch literal 458647 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

Ks6(e^S|d`~uriG_vYUh_9$@hcT#%$r;2L+4 zX$y?u39yTkgqUpNYpNd4ypp7q)xnt(K-}yj_)o)Az315aQ;$XhPSd<*NYOpQt6$bL zqfgAi}kjRw{cpvN{dublL?-exp4tr6a;B%YKD zd|c%+^_r)iM>|tYj-c1k#?ASiU>CZ7{ExTw&cA;=TG;B@1_BG+ytMBXVCKI6VmvAFz?dxvaS6xn2q<8<5Tx6zbLB!hToW=>B9U_rNnim{?8i8i6g5rO|}-`H@W_t;BPNW?wkCl(&^1 zom;hjKMXPEW^g7c-^bj1rf;%zai#DEMI%Q<)_f<1Ip2vugKX=W-=G1f&Ph86buT*F z`(L_3+*h&TT_He}5bqDM>zdLUY_bMb%W5@gyCh` zknC`EC*Q~mVkqQ5xz_sy@A7INAozM56o*WwJVvi$vSdp{S4ixqhz!oYh4DKW8Z|X@ zcqG=&Z6Wn9f_H7et^lgY2B*ATjs4x^hS1o)&2Mg^4~yPm!PLiGpx`Ne+I9u{@?B*U zf-3U=5)^`p=h6k?2Nu<^6k}DFWwyb}A&x5FavhptR`-Gdnc}z5$qbTDw~ftDhp9nH z&h5Wp=9HXpa>>S0Fyh1_64eB(H-Eb)6gtDfb$LLFiJ14zfp`EzXr1?l@!sBud`#vp zhD==*m&OxZ^DPti{Ig1V7~Ih#(-(4FzAH+A;(E?k%)7yFCwHsw95$eUE|OZmZ2%s1 z6-hlChfn&5XJmM`7E!Mpk~X8k+LKx!q5Fa7?tIhp?zJLKscm)rhoO_f;kyb*LW@rf z)&Nyd)CUyesS@Zlrtu1ZBPswfi9!FQ$Cky$!i*qk>F(?IBv(34`r{-5 z<^ySFu4ZY5VWmwR$)%r{UyZQ?T_Ng4Ky&oViBHB13VuCt8IyX|@(T3s4ikjusyL#g z9y2_S8;_CcLRuNiZq4^^lTMOibu&^XD3pDB3-Pff&(FJw8eWYdkhTWm=&wr8oSRSo zB&jFaFTaxa!Fux9IVK6@yDP8nL-ZTvJW0>E02gsb6OZx*riS5Y#C`X?cWAOYKy|lE zf0+v+O()sy49S*}6)~b2$zFKY>g~g6y{f?)=28pzVX0|_p7=)i^$+;<;A5!poDX{4 zioVG%A(C(N!CAG=@n|4fO~9PWF>rY9W*x3aZyNZ%4!{%}|2H1afm?lh z#d6kVJ7{x>%;8xyv54=@lxm(;?212Qh)GnBN#W`>9Z0)sc*=oITXjqCVc3g|qN+RR z=_oJEIx-mnk}gX`xjFQy`++vc-~C66Q(giiY-f@HiCrS^UNH=`1O6s8Mo!%2BJon) z=Z}-4pU{!Kx()M9-a~qX?6m)evHAGS&TXG@*hsmsHyY0;U~k6w%;xmXo%`|~zPV@V zn;4#Lq+qf7fev}=8FxhTbRW>j7Hf@9(`hLplDYpmzIK{>=f2CqC?kRt9rcRr^FV=Z$d*4}OT|ToZujpbKiX!*v-MI2si{hO`@fw#=I1%+b2p?JnllF)z<9eU2^g|-+(Hv*S( zb@%V6p8D%Zt2PGJBb*o8^j0oN0l0_3n|ts`pxw47n|4)MI_{BTGV~8)Ng1_kTBTHd zj;~qIFKd?0iFGaBtClch^d_;ab#Lh@Xq?3|A~v_>sy16OjK7)qHbbxCqCnE~asOH# zda*y^na5|w>Yo<=`Ee`z71VoHCC&Q0VMI+{q^0Dp@xgH}SV6JR?#0jS~d z9}~UaGAgG1bL7I$3TtSVZy1NL6W*?fgw;K@1z(SO8U`FF^M^QR@j&UXK98g@G>=uW z><>or!lvG#So2*$p(_ZF`V^NuLH#kDYR6z$?|i1q25hw;zCG~ZYwcrNAxc6!65Vn_ zynkP{ZU~H*L(RB@1yfd=FkeVwMmzuLRx*-!`^=hq%;2v~&#cF3Z|4rx%z0xYMHC)_ zWZ=8us&~#SNb5V;CvY5Qh`MNL`02D%mCN+du9}c;APWx@GjdM3@WSOq?&0DO4w6%7 z#12_iBDCpHw7AOf`Tf2N){oIj!mO+PSUpa&x2i)A47^!ztKijt&3@BFZq+~xTr6Y;jO0WCTw(ZGtLmn+HH!UdJvYn%`z(3)ySDwKF6eg<<2jl( zI+Aza`qNG9O+F^}J*VFs=KTEgVeij-A+ziilVj1x{f@llpZdb9b?qjN1Ph?2opx^G z=8_M9VUvj4+!#qo<|MuIwEM34cZf}!$d7dUpD1=!N0&^1>5*3%hYaV-FZhpH0l%H@4W<^ubB3w`uBU`;ivKE z8%!i?%#x#G)r&`F2Q?0Am%H_xyw+E^YrluHj^n^t+l@KSf@tFna)Tlc5llSpYw>SG)&DL_-}##5Cpin?MiiAFW8-H!kr$h# z?|=OE1^*}DG*19>2Q4sMO6~HURURg+JYBMC5Y`Sv>PlcrEAT!vUeE_Kr$3hoq*j;IuJw7@jPHEArX7fX_JcVT#$W!}$3_PblvLf91zg?4g35JCH$&;%TG*6_2wsa!3h2}3f`ue~p`p@}H+%{B2% z26a@EtVunrECcfnz&G5Pw~np8%D!ITj=R)9$XU->2(Lybuz4P9*(G5~)@(4TpC*wt zjgsv@G~cXvij}S(IKsQbTFe=TRrZVjG>ZpC=(%!uXl{|agBO>qdm(ttjx&&Bp|$i% zS^K-io3J$?VA;^6H-_W zYXQMkFl|jYXTCWzS8{#C+ZXil?>aa6cP9v*20@97mcY&p3O|6#z9;RtAK=48J40n1 z>v3r63-(W{r1$OAE6w#w93GbNqz0Ao8}JH%TFO}YtRW@nOf*r=u}wPviXi9cm;<_j zn)1fT*Y7wQ5S3;A`QZtEIUWrTrXwc9E?HT_Cd1iIXi7}XP93WG@Ngj63mx1$&z5^Q z^jPQLB~nAz?;D&GV*%>)-tXU$w-(kcKNVNiheg!x{ARl!Y%5S{5qL)YJ~j2#fk?M> zFbh1@n;WX`$cy&LaQNah0$XXzWX3&h#y3V)28l}8{A{B@B9ZPX)!-N5w4cOIXlw%u zSDJpL>=k$eXTJ-0b7~$tqfryYSgqxkz1tR3D=5jPJhA!s;@=0rFxJ2t1TL;F>J`=8 z|5nm_=c6I79vYf~IN>9HvjZKVX`a&jY_u%!cHVC}UUfO7^cg*{yiR=U0Z3co+3*BO zRrkxYp&oP&wA*=ICD*^V``Xgs*BVSUtl;@iP3cwX*<0#xTYbfRAHq-{D?B-b?w_Uk z?g4h0`RUGjoj^w|=RF+_?mkmy(a(z?l1-X+(f&n}WI!?4#O3Y{7LnXQcK;kvpfz&N zj@pA%aBYcbT+7GtcQ{EcT_oY*rq-wt;W$#LFc6NnhKD0wrUsu(j!>_8=Mf@@2A1`I z)!c$g-3?UTk!bF2<}hg`NTpU^`T>uuVe%3XwIDa1UQ(+BVJ81 zBL=F8{&9jw5sn9J~FMs)0~HFM~P)59*f1<8cG7Xh((Y4afq(m6(@{ONdN z7j4$-+}p=jEh%YUB~iW8VbMV61SPElJb194wh6?|(l;*!REWQrr-x=eClF~w{wj6S&N41SB~RA}Sp=ZaOX_~oIHQ@?Mk9Y*`z=IIkT566)o4*p)9;81mP3zy69Lum)EW^$yNe3hB3@NEjyjER% zR(`_MyHiZshs0jA&EVJ5BYlL|MLcFc2)t0r{7;&hVJWk2Tg~NHvFrZ*ZbutWhMx*O z$&IO!?wBsIZl5|c+r(P(8^j~=dl8$j2G*CuE*)yw*6bexahZLQL zl2Z20-WnSAUKz(a=6Ubm&ul(D?|*&Xr?>L`-QWAZuIs+;`)kIGBd}DZ-~-p*SS~X` z+cR@Yjmve;&X!9IKvqRc{1P%)zV^ zF%J=5w&YSG)e=M#H~{VFj-Fnn{?`z6y$PQ{T;;Pg3jcUqY*4mv~sBp@L;u>6s zj%)p284HXp)vA$~{$L22AGjZlfPbckD7XTX#!vps?{dJJr;iIq8m8Y23Sr-Uqcq%q57RkZ(cCW zq;j^1IPVPF8fwIoG#v54KRMq2e;-moA644^h_^tC8XLu&8_r0zWQM=bfFt?`IihH+ zX2$LXfg^aqU)51y9WklJa-7R;)2y8{ds4FkKXC{E*HTejJ)~xL*P-PUEU|{|6gwv z)UlpGXjgOgD}-+OPpJq%1nPH!ZIikW>m{uV9j;;484@SlPxryHKWjSziEI0cU_VA9 z>V?_J;RAMSV0~~%Y_;QpRK$6LxN*CT8XM*2I0u+w;Z|wUH8yIYYiZgDr-1;85Yp7O# z@QmEHJIk01Xnjv{UNL1~+r01F0b<`Mb5wOYAY}X*zJn_Q5@4k@c5V|rr40VsTr+WB~{l={M-3hr> zWgV+|@k_s^E7#k%(_|d2YNVc7QVG5G$ovkM1G4EG1HAvQNW!R87gFxVB<&=SbddEV zY$gF8_COD`xzdbHWt}>>F$AX`DSGfXyMA7H3EzWLC|tHr1@*fkE-WupU@|)`sUV|N z_aP&@7gO4|MEUeXWZACK&K^MF#o$sFN?eJ(huJB;SemED43q@PvO}o<6}^i_L^I`& z3(gN2%5Xj#F~aKX@ZXlNgk@p&)2u zB!dYKP&v|A-xw%4NpY-B`@fHmfoxdl0m5AsWc8kL=L&zyBoSz9)avM`N9dH~7h~z5siJH*j6On^?B@>Rpl zZd-7?5YYh3-rav6n)l2A+ zCF98hMFj!+-I)8kzo&RXtQSoij+{tmo)v8yAZOd!g^Vdt(kug7FdWQ4kh%` z)~?Bn1q$@+?fM$d9Y08Q!~Ai%7-AP#>VWKQ3D}y zhrNIIeB5PBA>jDX|5MzCsAQ}nVG=X125b6};ut0eZ->B~Qo`MR33zIKq{@M*{7G}r z9ZwCY;)D5RsYfl+rv@h-ojWlTLI@w;%b@dOe9y$I8so;N(XUCXZ(z!?l!G3m$+DW% zPKgKjZHf$Of@p_ijhQj5iT1)I;B_W~KCIb(l@{`qqiy!5)NYJfc7$zV(1d@@D;b#n zl189q&#umj`i_|uqpT|=DRjm{xT*S2usiuM*oj`SzzTNo4BY-E18xBU^fiRLH}-FQ@T zuk{^A=97!FHn?m%r1!+II0oEgm$f=#B|W#WbXgzZd|;B^vzHt zEIvElGpClLq6oYQ*o-_!xZV^tP9Rn-Xj7F-wGeH4FFrUe-VB+O$$&+uvs|);%A_6# zhBixL^!qK!Z{oDgsw8s`k$Tg#(#9Y9ZRj`MbLUghB=L9^ZnU$^4;-Bn!d*=0bbB}lIQCAyUl{3@~NDqI?mWB43 zRt#zN`Vw)v*@CXk@{TZt9`^oU%!2bq7erq}wA@};#}0v;fOp+mH-DRrRZ7 zZE8ZDW|A$Jk9?~wo{Z@y+`t@vimULTtTABZ;y(u6mol9Bt@>n5z6}MURvHtBxO9j( zP*=OuZtjKSaqGm~=s8F`-KhCRWWHaT>DHq~yrd~!h-(lp$x@jc$CW4b=a z<3^*Z&TiT6C!6_*x&xCo&Z-FF4sPmPUNv@Vz?xE-Aasjyc`Dvac%M~&ToD&MMju(< zF4>~svd`rv_j-62D7VLncxf%t??!4Ebba{IhXd4r7sl091EYc{9+?d`DpTGudRM@6+H+Fx%s(!!8sl}?n92)2Jep>M1kzYcUFr=+ z8G08SGCZzSg?*)zmQj`O+2@Hs&UI?U1VQrV3t79Ts)dGENP1XGJu@#SEZ%v4E@#Hm z+a$pjiGRzPGlyz^hjcsv=6{dNg2HnC*R987F7|ggrAf>eg!CVtWbapppQxn1G zzPf9dSO;#|H1;Cm6D|<;Qjf0k`O=GPkgtI!W}t~vn-O03!ht&6vB_o`OoALE`fze9 z>Rd^WNq-*h29M0!VPTr87n9QW?maKKF}gwjeZ-6~Mxj@r>@??I_zu6@l@od~edYRH zfpt%vVx{MX$@}*+rpEU@WvmU`5_3Zu`*YRNn?z+Pz@f%MB7PrE^Ag3IwyfbDzCx&+A(ES!VH1bHv zjpz_kzB4<7hH)u@;rm1?mLR?5!SkGMQRulP-u*w;|z3!14=bB0vQvg3V6WGIJqKl%1Q zLprQ>?+H8wD=xa9?~l*0&4lrtqz3quhW(F|0uVk9UGNuqge?0zJ>u0kDyhnuiuA?E z?v)-@#DL2S+NNga8vHs~Rm^tgdiG%YSmp-C|2=hX zhHfmXFCyzOnbaaLSx&VWCaZA5lt7=U-u&D+3JKctG?3g$T@?1IDkE(h>{CPf8OZ2> z$cZ3aguHX|e?Mp$vN3FIkRjaXkakBN>jndO9L~N9en`k_RgPIDOla!tF(*#6@ASRm znJ0&)&sWet^TOCg!=Xu(1DAcSn>2pSRCF5-S?GSvRz(A54Z011hC<6fXV6BuFSV>|!NQD!j156SDuu^3 znbgJ!$$}}Y6yuAM&GF;^xn?y|J68F-8drj^W&q~3(TNM_n-S7&UJ&kgsaotNWW{JW zpBdSCMQFuwAt82)GXzqA;E<=_DwtZ8Y*}vQwRnk(<;Z~z`+{2&nxaCwHZ+FJg&l0Ku%#d2*Fy=A!tT_;$(899P({}Jj zb-wy?3LWYl6I1_nveqkEg(mB{qlJ^iCDKxkq+j(@nx{|y3b4Frk(oNV%&{WOac>;= z?%Uje5;jISn2EzeKIHkc>BJ!>iUM3c*yj#28EsM?=~I0qjqaNGA$9Z(!#wYTDP1Ux!EQqf(ljKYuiDhJ5{?V?{E8HmsFwRaK-mPM;aqk) z0TZ)tBv7IX4>4lajZ=cdmfB}x;~LlmBD z$S}a}!2%^HSS{i1<=Ex65pQ>OV4k~lfPPybGzH;H&~s98u5@1Ezj%jS z-@W8otljdml6R>G&V)3SxYD@4Sr?rtKI*2Q4zHzN1Bj;LgJkCyoTxG|OC7#iGkmH^ zl6#Q_PWbe=atFrrr220KcGjQ>=+yj3+qCRokWnQXSew}uB78L|eeD@!R$Do5I{de@ zzKW3`={{b;?c4ZYv6*t>Bo12kWT_T5n_h}x&Gd1b1OPYdfuSO_{FDe(7f%b+VOA<| zXqDLNzMWv7Gg?ZWNki?%?NE(%FSy9;vI|+4l5m8;vwX!=Vf?mgY7;3xTm+Wz04wT7H{9v~Fr_G!KBuj9fbmVR0?J@n&>E z&8!l;iz5aH@%uI8`@vZNFwBQ#Ad09F8d2H@k0_Y96cG2Qd2hY z{{aJM?i4^Dj6qs&;>BEDY&4|yd0`BJ9t&B+FFCSpVHCixlqFn$bhMo(s%>18S2~&!6-aSv4!RE@FwO z;}uwp?dmS(fm^l}R({RrSY_LauQ*f#KAGQIr@{tQ3xiIh<&F2<=PVoMSIR$TLi0D;HFX(Wbn z`gH-fP2s>c~;plJIj%Ku`8NB}dEtObfWYW_SsHV`d@&*RY}N-0Sm4 z3V4CAO|ISeMyS0`9$i!QZ+YS1#QY3>ys&OOQ7dzZi}>B zdSJQR9z-Q@sKdI$leOFC5<^)Ad-k5N_chQUkv|DJZt}x+>4ZE)-syvF9*+4X=-D?~ zPJ<0;FXhaTJt5+nWrbO~y(d#Pr8&p+iAyUV%gRwhU?=!Do|&ZG9<=M{KpGw$e{r_KJb0c&a* z>}wHL5sV?tJrpnxi{_4Hr>-LB(6B*`aw1LG&ld%pQ(owP2r{Z>mhwKYB7 zb1?E=ytx`;v4J-+9X?_AG54J`p^m?-=Kl4CCn4)DrL2>})(kL4K&Mp#9)@l7eb;<` z)eNcG`peb^3a@Ya$XyG8B)l{C0YYlDxY3nEa~kI~x;8bPTZuPAAETw?NF>&UNnAj) zSwCgrt?2VTIj^$a<5HTF(5c6hGCWw$Tf&YjgeWGe?^L5GFCSJKR&bW?{BIZI3Ns6) zDjGjngfS8i#*K2+WJ9L`RXY*-SP<1P@c~8~a0m$OkF+i9+EE54BxcO1*sxpDgRv*D zm(>KeN910BffA&>tAuRcdA~lljjOYC5|*$h^2}#*pPRU=hByU=ux=ni4|x{C6NvPC z4qvbn1+;CrKSGmaUpe~Q24H50LEL}eY zIB+#Kw`qF2+jMN7hS<(5-i+#RgH0P}TIJowdb(^t`Y+&Mcm%PEkqpMxuj}^h@E*3C zcl7`ilxauidHxjMq)4rd*PR%zCMQlqmQaIjP^ zQ3sYk$M2RZCS)PH#{~&3H**qQo-^P&7HA&b0=y}0n0>JuT5=2E#}>lkH`NNX`)mFk zP8Z5=7L1V<&zL6S&_l9;m*7ItdHwdf-5`6oFa;pH$9@)?v?w%yOG8%8Z7Jf49bb$a z$s15`kiPw2qSjAfj|q%9!Hx+SW)8yU!KiuuvS8@*cr-wP-atWw9To0>KV-v@JTfeIXdUy=+U{{$}aO) zsTJm$RwffUKR`FrH*elAHN*S<6n+eRQ>$#Dhr=y)6(ba?Ol1ozIZ+W9ZmRR$Ecfc{ zgRqGt>9c5GTNs3-{!-B;E;-INg+;6RlitN&PPYKB6pd01R(E7HIc8FNvS3%DWto)6 zz51h%PX#Xlqh_dGB5Y(tTt5^4ApWxYJr3pA;{)p7Fvr<{9gCn5?XuzWVA)atNP8bh zHd&Jv1*;X8U0h@X-j?c$Ulmoe>_!%+6dw*G#m?Y1%mhtGca?`vb^D!_=9|^`MXrD z#R*xS)!`guOH-iIX#|Iay6yDjB`~ruvApGSZ3h~kAF-swF?Z$6sF2Kf_wkW?c=2Y- z%um*wXE=Qx%e{(N)%ZjrGp^AQHg70ru4>0DPbwRQHNOiX-M2l&OMxIX{hHpLg~iCx zc|8x*UFTtPUM+Uw7P7VRH&@@(0^K(VNcjax?{PpCSNEw|%_1JZF~V{jKd7QT%m<4H zDYUSzV?zJVd~a?>h=bvX86j@T*U*%b>obcp!A=@Sah0E1>9~^9xBo|?hwdXoHO|@H zGxH51FAPP*W9H1$a1lFTD1ISWfZ{F-op7-;PvkoS#mGii^kG$n@s-^pA^cPiUZ@e| zBFqM;>jbK4dqAl;UIz0LjyGh|twhP{2`;jdG-b)L4h=**mTq&RS$|8h{TbLR+?qZ` zLe!w&F^?Lhh$Z_)U;+*7{h!%=VJBg(w!w?vM(~;+Bbaev1QWi7zZ_3@iMj1`?PGfR zG@WDr7dmHZ*@Sd4pz{`4uRQfmFsn(}`9H7^S7nG?m<kX* z&FLFv`KaFcR;ntIhYTfGa95wUy0^L$K_i0r?ZTKnyKBEB0rhi%p`pAMtcF&Ig8VzM z^+Vu(z&d8}xFJqvx!$c4ov!f$O&_koq@%;MPoXLSiat8e2dYGAK^OCz7pPE=C_u3H zI&l)4R4-6kcw{be+yA8317lur#7jLV9-$?Baj88qRpD1gUewIau0g@+k-{@vOv4JCI zYZC-uUc5w#FDG+{?G+Q+5!hK!A3jM_LS5n}eCW(h0027#whKrLAe17^jA&NgVhIyH zs7C}eV7K9icyUMP0*99kqw@zna_LLk+vow*0fd>-tZ;1Y3#LCq|ELCNc1>_bc|-?KVq@~YN6^i z)82+WLk{3fG^2!BGwh(cB5m=c{#Yfw`G?T*P_2iDBI^s{XnOFPbn7pZ#0~zPS~L40Z(yW{ z>fx<6Yw6)%0k4(6;nCI3#IUt{k)cVG^%}&Kpq&k?%uYf#D1)%db~z%0g~b2-wdTz6c57hcxdB1Kwi|7I#D_xpVDBwx&p*374c9T>Lwz z`y;$~n$`3TQ#yQJ^ta_M#(ciql@}IuF+YP51L!zS16?bVc%n<-a8cv_F5PLgtMMDK z3td$N>;{Y^pz~}Hvytpdli8Cz5}Z~4C25e-??De8mN3QNc!YnW`w(_NBg>XbL1je` zTo$H}YLe@srLiXE2Z1FsK{J~D2C|sqwD?GojtxUyqftXCAYXE42{ZAq&PG|~7b$up zYv_uYrFC__$zAKE5aB6${KR5ZF!rKib995PTPDm|OXYuW<^Ve-{+R!sU=+DzgU zo4E&@0!z3lDjv;t$A8rHkv;vq-|w2A?Yv^DN%G!k8h-|kRYiD>?uTz8hP+0Beh^TS z9fP=GS|>YJj6fQu)NAyu$hB~3cYe1)57T1-uf+9Gi80!8Y7md_hW5uEw-%h0igSSL zxJ})GFvtF$7G5=2nERkBFlLJBM1X+9S9lPkl?v}+Brovxkfod@GDOB$ri$3EA(OyU zknjmm-RRzA7v{#tug(Yl2CzKoTOvtwKJ>3DDTsMPo*%htX~eT<@HXM=bsW{W;ba8# zy+4A)KP9X>Z)5otjjnCVMN|uP282?7i6XFRLtfL^k9|Sd;joq)HCvzt;&~^Fawc6} zj3+Cy_V?zoJkahRAlqJ%je>K88c<0c53=hYARu6nC+_3k=?vMiTm+I0{La$Jmuj$F z%XHMa;zA|?_AY%@m`b^`7394j_#Prp3DF!K;E-=^s6F)aNd+cmU*PF0)yQB1z+8IE`d@XnyJ)esaR7yx8zSy^$aA zID;DWdffl@@arzTAk8GC6vmm}3R-3T7q=Q9hd*d~?^9NW?3DuKfr@EE@*nFgc;6nU z>yP+~lelWxQv2=F=ZvxQ`oH4Rxzz?>CY;f#;W^(aC0%Hv!i0C%M#+}R^aO{ikIBZc z2JAcP^8jx}0Rb)twG8CRSTXo#9ps>4KDlMYvq$W}V#S6YtHRB>C7yNIB=W_kM%~`2 zbnnkEs|X~k&rjSpTqAbI)XTZ>X_}oO$QheG3n`Mnr(ySYw*l<71+y$2a==f@&$qiL zoWq^L`J9b78(SQW!pc%l)hxiWXmt>TmrMP3>_%?EUWOk%us>!YFe{#Tb@T_cqZc+U zBpFvv8$SehqKYUE3E~?OZpJKDc_O94ipbvMa0#V}!jzn4jP+22>y?HR;$ggm2dLn@u`RM*X{a zXiRz4ItzL*BF$T6?|p3+l4=?1)6LY?^?cACxMQDAE2GomZ4(h_E76^H(0lcjjM;N% z2cfTLH_>m=M1hu(+rkv&Ei8KHIDpPR0sAaBGFTI#0)QGI)Isxc5mEra5&45De3pf( z`G9o#Vv}?O%=vxr`VHToVN3nV%MgXyeljyyEV}Nyqo-%hV7>R<6=>D&M<-r>p_*ENGT-&DHx_c#chB7#jCGx@(Kka?cySp2bVcL!GH5bht;ASfA*kk{xqr#gP*Fl54_Sw{OiY)-$qiB#=CZB$%gF z)VLUE8ORsu6@k@Tnd&>S?`H(Gst1EhIUhOTNSZZ4 z(t~}^MR(am=jOJT0AkLVP2Mc4TyX}&DZGMXX^&@a;|*(u^_k(t_db_TV|w;?a_>$R zGqqy))uhZ0)14mT;}Gv>$UCv+^a(>bA6_0CW1w`j;}xf>VcX`U}dS z_b0o>zehPUORBIlHfU#k+wsY&M|jvvw{8z{qawUKFtEp}(0BZe8T5>SGNpE5T2Dp` zF^e#8W@$~U0r2RXDh$Gzu-2th2y!|L-0&%-yT8n9K+EDM7aD7K( zW~mmM@Fb8~+OJ%g{sy^n`k7EZZ13Z{M^#@>O9gLX@{(2G=!}t_5w5$eHF|kz=YA2h z#??2HwMvr;-L-C9eVY%xcx9%al8n9`e4L>l>Z~I1QtFRUkGvT%;P|gm4>{9&BK=|2 z7~6C+nClPCU>7YA3wq6G^cd)UDtMWZWdj9Ony&rW5Ps|ldzF6;bD#?rY*lD_W9{-Z zd@XbqOk~_~_H-j)s|H_;c#j6Og9n5T-=UjHH6xzfD1_iTeZy()^Js59`{?cTD5H+}a#MJhcvpL%J8ih}+z0TFh2~?{=P=_aud~y7 z0s`;ZMcqCds7{?P?W~VZ+dwU#(~#iZ68%*5YRlF93JrTr=`-n4G)EUD)3PZ>*4Kmm z)lNSOhB>V>zfPM~XIn9|6|@&B=!+*H$UKw%KEUlocC|GAMS%A)Z~oNUyvt<%br@xT zLFqfXkJZcD!KP;5A6-cHC`Rt;W7v0f*lG#T$ugFSeSzhCPlrvXM9 z(FK_355ORmnhkLUKhtLlj$75a^Q(>Qq{t-w)Wyy~rFYm({*)8KS-PXFt>BmhtS@J1 zmg%QOha~YcTSQoGqw!&r{bQT)7Z42>p|TzibMA1c@)b4f(*6+CzE@q;%7EIH2q)b^As;%U&OB?U#1wSQXW{`e}8>Lm}p@cjiH5+FoZzI)Awqsb_ zWOXO*2F;)AOMF^)(~#`bI{rC61Yl%47%WToz!K=#MYxnKbG9PwBX?JHt*pq)5*$bR zR(qiBe^2Gj^|dZJ@OD~!|DOd!1bOT21Lgauiyh;P6!2yh=v&By&WQ1hh2i(CvnwS- zHu^g$AYzFJ3#DENme3nXH~a`ZP}A=;^<0>g?;m*B&*juWmhvzaewFU+h9EdU$(FqJ z*!nPw>6~2i4dWCfHS!q0ab=IoSN50C)y`2H7`5#zLruMngqutaYEwy0Y@V(ZLA4&Ndc5xV5LP zG!?938WG*b#P*oFD8$St-9aD?J=jCuT<4Jnqqd|8wMx(RSDBXRN5tl9!HzI0F_%a4 zmpYguh`%kmXY?A)Y^9>yO?6@ZctNczOUL)Rl_@Uh(OXOT?QM@X^dDqV=~`EI4ZEX7 z;#%UF=nec>{65vV3kQ{xUu~+kS*f~;XYsX-aX~zbRSv52Tvb^?y(x(GLWjxP_A?4! zHZWY^4ImuUn2;J6l__H{Bd1zEf9Mb+QD?91P%`#DS~zb!d6&NGlQ2Q!XSLVpFI-qT z@}~TfQXoFAq*AF=-5tYu7AIU~$y@g9!vo_moo?T4abr?yz3SXFlM{XHVz<b@gBcetJr8%y6 zbX04@V!PrUS{sDLy%S76Mx55b7sEf?z4GO9IR>#(?3HT*gC6}FZVz(nj^NBsuN~ka zR`0{vdoCh%k(#*3LmYl;kEsk6?P%4pVCcE?;UZ7#&BVduJsXH;TCd0d!@7Zyw8(-% zUF^EzJ)~>nx@Y^WF0dQV&i$!M)YVVWrv?zbsP+%UdssdNb6sN(Hkc7|vo18Wh$A zzAEZsKlEN%Bl&GW#B)Lt?tRg@Lg|CoL%am!r8%w%JYZ4TFD5=K6RE@N(0szNiQwbpGqiqG?3aW`{PAz8s&Y*&xpw0! zaK{?Pf(;G~8y39m-W+f%@nwRJ)5p4jEYW6+K|tP3yq}bXPhL14;~*{BS+PS+@Vk@L zvd7a$bu^0&oev3!4|RM$daShW$&$f77L|ALnxt`48})!-K@JD;ZD%KBEPy) zGe65)eBR0Ff z?MeD<2qbmV>556Tm>Omta4O_2!6xeZH)}KpGN*{{=Zn~`ub30y@8{Z4y$AQ$&oz7a3fbN?kovIt7_NWPIQ}F(mK?|?(Nbzz*xRIwWA8s( zw1_F=jzb~#<)Yk?y~hKPVBA8)cx(A>$yUTQgNoc!eZmhvHXzoer`s=#(SYBbn+hESM>S<_tN^?d+Yl; zhw-fu=c?hZH5MpKbKFvg@FIUIQky*6nBg{gQ`n?wKk}av#Pj(#BNrLMw1EF<;nJ=B z1_$NN!Y`4#&QX~O@#$Vk3QE)Af>VgCe<;%;+=}6%=l#~u7Rc;q`%M47d!-M@YBfbU zhKH6@p(0Hs=#>^bA=Xv?YK5k_8m_--B*f6fFu=$$tt!wVA3L=uM~Qa3zB|UT&^y#Z zO`>IlB-oPY_ysw=5-j`KnTsq07x~1ob0-3#3(~e|-*z&5DRP9h>S_3Mt}iEU>xc$;!_=q01t_A@H`JT<=hy1p~<=U@2C*Hk5SM6gO&b@{IGuz~CttD-HT6`-`3o z*!DKhyoAT@l~$yXi*HH_j^SiFC$_ek9$I|S4g&ToUU^@g&f5U)i0#iDo@^Xl&#v;x ze$9M#+!mw%o9wvb#@hh+JK*poTJ&=+(~a}}hu~zQ_uv|jsM5fFo}zJjs%Gya!6&xa zw{NLM;mCVQewB?ScQhdTM(RnPF2&NGRxv;MLiyB-@n)rH`7$}>1}2FdLNDbb)C6Um zc^WmA^81sOz0Rb~ z^=;e!n2vQhL`7dS?MNhR&qD7Qa!Bpfb9T|FmQdB{io7xbHdiEQH!yy3G3%6ni22eS36;TR=H5A6Ed+PqbO%X;eeK>Q}ET`BIB zgWs@`kw~&smOCqW!uiV-muA6#DmhmNH8cl{c1PR`CTI6+eP%rzu1bZ3(2uvTGk_@8)%Tb+yZAeeshHdTg~0 zZj_2U#|l19u}J*OeWEgT#)XNNg>~eyHRrWN6FfP};r`Qw;u|U9#?*j*PHy4t-9l8R z>M_{1D+o$d+Of>CA{^#S}RyR!lILBLRt-SW9Lr=H%NK*RlL_8C89AK7U%>MO*>-qyd^$%~;KAqU8^4-^J~5tPm^b zg>5zR@^jU0J-qX5Zkxja30<5yUPzdQZLOGt*7a*p{WIGF_xkGIl49m2UR`8j@~)&M z&7!cZ$oFvae9eN)%F5J*KNeZ>A+*anM922%+o-Loih8|^4yY?#x|Yph;dSz1$f@VXJ$yv6XrN;fBtRLF3?cfc)O@Tj5Aon2 zS_F38D{yWd!Psg>~HgZ*)s`v{Ajd(M?O9@@y8U3)@b5sF~K6~2f#&rm!$tB8U-=#NkP2f%{>F=die zHg$U6#%Gp=xBN(TByH|U$5g+prZTMVL>ZqgxkAXOxuy-XGGns1MaR;MwzhsDQbX}X z*DKS@Cw5*uK}an1Lu0;U(K5R&5-k^GAJ_n^>iSc_S2SK+9QL(u4!zM`aH%L`_BH=K zvmpB2oclCIE`zT+ZT0>`!nrk_aJVDR?{)JW;5%B~`6qJWd>kML0zLee12GwM>3F)U zPC`MNgSGlSQ93wOz;2!UGAP`L55_YInd2>M z8n#(_v6DEtKD@}gg};Aa#c^L{q3)wcq^H%%#=&JX^Y6Jj)K_zsZ}x!gu?&j+7JM z-pI?8$Sp6oc}vB{s2*-DY$W<~cj-F~Z+(%Y81q!LisNORhh(#sR7SYdsJ1M{ycrYb zc#1EubpszajQ|#cSng~oUbRkK(_j5d5oE4SrFZdz6AQoA0<4|#@h52WZl{w21GeL< zH&9>oV4Kv0yZ?y?9=r%i5Xc})Ve2#IcHe`0y^l?TVqqt;ZTZUr6@=ETP*Z$a@I*uo zZX2LS_$7|ZrwR zQJ~RuO)x-eLiV?oK%eMqA;BS7IR>M<$392iz1iE!6S1A!<8%p@#fyr4)ea-bwQgLB zIEif^i#5--R7*t37ltPQpJ$dKI%>2m7hA@doiGr3f7JG!)yLKCt6wbEb~jxA#`@E{ zy%tN3+<#kHY1|s)esz0ac%XOL(;cyMq-X9bZC!YkzAbXGd9K@$%IOG@{Lj_nG%i!L ze;#+{F91h6UB5@{`wY8att%KNfFX0!a3y_ z;)C$j!p;UNqAwGKv^Eszy*e(|Wwu`;XVJS7$@kT&D>a3RstftQ*;p1Pr^{s5jvwH- zB&>ntz2x-JEZuYIvUTZ`MS|%k4mMnF4t%G_5`J-lEM%!7TF+_8(4(t;S%+$~pMuuM zlgB)F9oV2`#;3AnYpT(d%2j3Rva$lDk8fWZXwP9(tqsv-X*8ejcUW7uO3L4UBgAp} zHFflJwSZ9MGwn$Lu)I%2jsd3$gw?$=lql`59?ZKMs@j%_?Zn1niJarV!LYR*=w~t- zkzXk1Exbccr#&XtZ0GBq5Lx%c@3tJP&f7f_$tgE96s}`l!})i9k@#@!qV|Eio=?p2 zf+m3P?|On{hp2kzYsYwqTY&YVA|IesUIcdm44DV4a%W?l`-c4Sn?jXz9VBSugh)T*Q$Od|+ci-^KqAtT~(%(|K!e!on&qBp>`G`YvYBQ!JUA9Q;$h{*O z380CArC5JR{K}c=~zfQ`NJItZblXoi4=6h-|hr z{unV2YU6L=ne6Ihrc#-)L`TnFUGq_bwLq1x1o8MjKHVWMoz#I977WilFh)YQxA9g} zCPtDYL3pwn<=U2?G1k_j-)_!S`EQGoyT;vp(9@ROH`*wXkA2fOIA6*a7Ke8~6^HM6 z@0TG0Yt3g;$fX&%OVq9fyZ*Ow>qTQAS0KE~ojoTD(id}6_@n&Q@sp@neSDokz%4|1 zP2smWuej7qIA`X5zLwc8DCq6N!>R1%YN>A?B)iT3#dw7Q9r>4dm8`>}(*+T9= z$9l8(+BQsfamk3nY`9xCW2zpyC+_G{w*(0wbBpEXkhqYxz!67zT1KovA1HyNJ*`J{ zob$NSCYFoA_j?d3;=iP-r~bZattoD$q|kX<%OD9F>WefNX`*+tp49fduzq;Ef7GK7 zgTu!HwT@manYgvWpO$m$qbsAUEb|s-AA}(z+2`BZ97Gs^To<6E`| zS3&DAP2ql|5Hs23dkV2UR89qH7Jzj6@I>9&imf;6mdsRvUxjv?@+^P5e&h{=wg`lF z@E7LQYPqJP?7|JT>CIkWr~a-;yJK`F>$`Y~?8EDtG5ebRn*%wvME>K;4%@zKK3^3; zMTb4gd(slLal*OhT9dR4(d4hQA#o_QF;5kvDHLzC{@ionP+nrnNXVN^IR*~L7>S%5 zTc-~#wocY*E&?%bp)VC~*7@~5S2FK?beMTe4m*|0>yi zmS=y((*xh1yLR^QH4d9;L2|Y>?|E~kNb#av<+5}6Lzko1>%reu5AVQPFi>J;HO+sS zZuTL>&IMOdCz&Cg(I!qLhyC$@7wBTOU;4(bES@`HYVrUkqLJxO1bP2FTJ@`R>F{oo zAx`Ai*>hT`n8;iS<#8(3+;8y|{y*xkaG+#anr^$a8pUr_&pe_L1U$jyadN{1r2bCMR+XA8AwTep~r%lI*&F8&x z!SSH&PUz@B!tq+6=_hF7hrhVKu4Mi!x3&gyk#7fAf`;=<+Y<$r@qzf`r?o^$Qx;ym ziIg2dy%P^WIFu~Iu2&?>Q-(X7Iv*q#V;iq9W+S|KYFO>_;RRJu+e_!d0u*^>&yM0X zJEu$&r;ZzMLpwOrDo?l*<4XmpnyXfBYb>1pF{b-;qOP{SV@#%tP1+Sc%xx)m3=0%U zo`^V5Af#KaxmT`xth^C9{MEKM@o|HV*M4HlP#aqbCV!}nS1fjZ89H%vaP+CJ%BN97 z@q^r3J+`D=b+fRsU;n^s4fY&Rt@p1j!{(GufvC-LYmOBLJYYv`Ug%B@M7le2zF+Mr@@rA~-VBszluk^$nnHDLwe(6yB zfS_}~I#Vm8zq@fif8=T`-hUK_6 zzC%-a52x_?rUyx{06l@|ci7#})v;d{JZKGQ@StD9*Z~nOz6g~zqIZW(Wc^q#Dk|k=Rzv>-9MzrZr?4@5>FZYWy7S` z>Q`<0SzI6Zs^WQX<$X2*)fr`)2ZNa=_UiiiMi0rSf zbICEZevFnc+2H~Br+3`4s9vfJ%X7{Br4#Utl-$sp>?C8$hSo6+GKL!A4W)kg4K%h! z6NDB_YP@&AEax)7UIe*t|NfY}=`1{z84qYa2pP+0AKhU*j9wodVou{M@FAGEpHNoR zL*VDJwJG6u`#<{|;$L>i7h*5I&kMu%1wx&bA!=><6H6+dV@akL?3_@Rbl`(0wDFa( z|LrK9yFCNczYK)pnZR6d{^iU1hjI+eV#GU@oMt$Gagpdm-5K)qL)DGhMPxramWigM zl0c;DmVlDCjK9fqrtW%ROzwbK#KN|fSC}*by}~Lr-R3}m_t#(^W?OZhQUji;4`hnA z0_-VQDHgB(v~bmv1ckEu{1$w=OWCXv$|o$hQ@%Jqq3^BzdSI5^4m4w&l7&-6wC`^A zt~whluFVDF9iSTG+LOH9tI;y?rT$RSxyj8Tjr^Yjzp#zpJn%JXM^TS~ZReuqMbfXm zpX=Y74SEyTeIWRP0u1WTK%fAq6Oq&P2H;zxN7%Q`Dt`2OD?1M`ja_&>S!3GX(5fBjLSHA zstIQh$$_t0FdUhXehM%jwFkGH<7s_9Dwl9C+oLu7!D!Vm{s4KfHhkQBcsjh{H*fiM z!uhljtpl$!pWZ%{XNQC_brJR=$sH3KIbDsvheGRHF}q%%=US5J7Uk9W7j2d~AQX3S z7Z`lFqpmX9QuuJ8-~KAO?@1;{R4L&04FZ_}UPU7YqQ5^LzPGWh!FAhj&5W|FP-Hp5 z6>wV1GF_43SC~jgA17Q~y=pphtkyKEc-+h{k)!1DRnKT*#SDt~%Mt~@OR`R#U}XI% z+HhIW7Kq?LYRktK{F5&E_^r~{Md6Kj&>sz!u<4S^LUGffUTL{%+at3*o{S~3N&_+9 zh{1iYM|O&Pzd%ZITQN3R&Di-0kH~`#CP`(EGGcLFd1Ge5P#!@66EsLs$R!gw=X#fos$G-2{~rX3!EJpd`>lk0O#N zxNFXs?DDFT$Mx^lROm<4vtRM1A7MQLdX7Hf1aZqFkYBvIKSM>MZ%H#e!S(4si3I`(F_>ZeMxGrZ4cDd22`&G?)%DDI0H%f{NsZ;WN zmsx4(eLhiA_O>4~`SpB7lt&r6#m7ghO_hCKDfQ<3(XvhFbi4QOywLS=OL9QXV`@L@ zzW3XbZd?x7`?{okL&YZ3+E5xU2V8|hI;Vvf7yg&$Uh1~%JDULtHj|dmo;zP)f^YiR zUta_&*-Zx~`nq_C29BU3AOhKAzbsJx$BB1yWruPZjo0e`jID$zn` zoRTO|9f^RQ=?icdIF(V2A+EnhuSWzxz6sYYIA0SB6}lC5HN}g92Q z&0gsOee-0AlJ#lcFmTezM=#~38Et$}iZ!ay2X25pDI_`@{U?+gcC=vXTr%=G z1ta3D``{{s(AK-c=h;!8_-}zfM7USEo}@?ZE*-H|327U+S=p# zS*7C-ICn|@6I);B^C*4H-`S5C_#?py6Ds#2u*wVF?MQeqte@L{8a7u4K-13 zx;uDx|23u;ue?t3MZT7MD}%k z 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%0Abc5lA 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 z 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 FzW~SXa^wI2 literal 0 HcmV?d00001 From 6ce7a1ee7dc11690cbd8309cb2e58106eb354b8f Mon Sep 17 00:00:00 2001 From: oldchili <130549691+oldchili@users.noreply.github.com> Date: Tue, 10 Sep 2024 20:51:51 +0300 Subject: [PATCH 32/35] Readme clarification about distribution rate (#4) --------- Co-authored-by: telome <130504305+telome@users.noreply.github.com> --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index ee2dd58..09e6d10 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,12 @@ This repository implements a mechanism to distribute rewards vested in a [DssVes Note that `L1FarmProxy.rewardThreshold` should be sufficiently large to reduce the frequency of cross-chain transfers (thereby saving keepers gas). `L2FarmProxy.rewardThreshold` must also be sufficiently large to limit the reduction of the farm's rate of rewards distribution. Consider also choosing `L2FarmProxy.rewardThreshold <= L1FarmProxy.rewardThreshold` so that the bridged rewards can be promptly distributed to the farm. In the initialization library, these two variables are assigned the same value. +Note that the L2 Farm's reward rate might not be perfectly constant, even if the `L1FarmProxy` and `L2FarmProxy` reward thresholds are set to the same value. With the cross-chain setup there are several ways that can lead to non-constant reward rates. Therefore the following should be taken into consideration: +* The system configuration (durations and thresholds) should be chosen carefully to align the vesting rate with the farm's reward rate. +* Keepers should monitor and call `VestedRewardsDistribution.distribute` on L1 and `L2FarmProxy.forwardReward` whenever their reward thresholds are reached. +* L2 sequencer downtimes or other bridging delays can lead to delayed L2 distribution. +* Failed reward token bridging transactions should be monitored and retried. + ## Deployment ### Declare env variables From 62c2dea4a179dee3bcdb6f74ddd5877c4fdb955f Mon Sep 17 00:00:00 2001 From: oldchili <130549691+oldchili@users.noreply.github.com> Date: Mon, 16 Sep 2024 16:33:03 +0300 Subject: [PATCH 33/35] Add ChainSecurity Report (#5) --- ...2-ChainSecurity_MakerDAO_OP_Farms_audit.pdf | Bin 0 -> 436437 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 audit/20240912-ChainSecurity_MakerDAO_OP_Farms_audit.pdf diff --git a/audit/20240912-ChainSecurity_MakerDAO_OP_Farms_audit.pdf b/audit/20240912-ChainSecurity_MakerDAO_OP_Farms_audit.pdf new file mode 100644 index 0000000000000000000000000000000000000000..34aa236d66f13e4e6b49bb9077d922913da213af GIT binary patch literal 436437 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

}|7jPjh*PRnbn$c~WZ6K$zU>2swUEw5W(B0IW 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%0D&wcbjL8>4r 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�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 z zd=b(&*JF*G51vd882R zf0`L&8%9rnBDfF3s2zme61Mlurvbn7z8PRaGHH{-hfB222npG|a&Yp!r#P7p2V?T{ zv>R-UW6-f1FSn6eBf_mFBn%CtH|86)$K^S+jZ; zsTGuaiw(&d@YMJ3`sQ2#%I&jUtWDm-cyY~03*eAZ?4d7k@?52hTY0`aJd61~6i=|3 z!_~m3T0+eyJ&z#j1sIZ}@e35O`yRNE=9w3~_AbZqnz$?T+}OHyBTVB;OV-TJRd`pW zzdEft&*wzRGM-p)!~CQ!4qN8Hdarj4V4Nc2%0N&;fa~-Q)UM zpOd87#6^@rbHz@xhuVI!hgz&X1S2Z5@Q!#N+IKbF@X8&;RERd$B&GJ90A0oISIAsA7L)2W(T#Vl7o zX@9NIRk^;Nf`vQ*nEmU4lU6q3;qW|PgAC9iAf)e-2jx!oi%sWp1yq8mO8Xq)XK2|k z3-`Wp|AMv)8>74c{`}l(JuEr)*cSG_YyG*+CxLm_n(Gz7ddH9)13oq{*PdiFHLi^^ zQDbF1fOPl5W(iF}-Ljc%TjWT>PaZo@;++ih3%K|w4;Sa%Lk7zU?eiN@>9ZktSC+$8 zWV6|EX>TRSiK=z;In4&)0Vuic367;Z%(KO9U)9yFNKK9Sv^%9O{u`-YlU+c1!!?|e z11`)Ex7}ziz4U2as5J%|z-fV4Du#nP5MGsDhsGUz>6tXlj_f?I)hE`{n&nf)#-t1N zFnaUmpTJ$JXuf(^GLP|J+Rd{!&(5k^p+u;v(&_X@O+ZeDzIPk8q*tPqKI7U%fLtrH zK9P1NnhvGIp#{2z;Y;Ix*X={M>a+^BsUEvcUm7gZ$UdrvCY6^L1&fag>Bh6pPTN^M z*6l+U{s4K6S_>~E&gWbb6nF2;+>V=T$}DxktT6+EQ86x7`kTC>4Xf*F{m$NB+kb<> z8i1&8Px7*F$>;3GLEyg#Mu2vC%-^N#&yAPKI^W2*rvch%%=`nyn{E~?zppu7}jJ@W!y4eJz0!4BlE<-S~D9h4!r_E z&)rTH14Cww+n2|rb$=q`S=q`He`W7#ilZ)=>AA!>Z5aOg3F=T+fI0pI{3u-&SlTYB zv2!zG3lNp#G#EoQ`|@ZzkkV3qhhNAsx|aZhQ2w-;FSliW`(XFShbSKUDmR}?6Jt@B zYX_?b_g}>WvEB9iW`Yd^eel+!GlbAu1i0dUseXQ{R`$@m-M%)ZX$rj5pORD;?{lsD zxVxAC9kIjK@%V{LFd2%q|DPhnSZ#Aeqg>tF4G-EH z09Ev-ppyP4CH0v6w%gC#T>L;zUWLkCe8T#Ud@{D%8e62s=#c+Q{k=GY%7wHlO_qD+ zszg^MV%5Qk0d91%(ZQsajq3^;)c%MV8m+POu_^Ng+@NjITEWMx!F8Ld-*wTyO>=W% zj4t1y2w)u-t%vTNfTQu^?}^=dXiw^pD?X=c&b&+xpFerzA_Z=lJfyk)WItvd*mjq3 zhM*>7VK*FVb08J;ZZfT|bL*Slg>i>%j$T?$F5Lf}uTTLgwwwm|h`z=YB}WuJy}GSt zx|FL>gJYV|6`0dz@!W8LAWM8!1QA7-{7DVcQ4?&wXmoHQ`fsJdkf(CPZ`(JWk)%Gj zqyfQG=@crTW6)!?F4_a0TqpWTJ&;!MC%HFz7Qpbd53;)Q#UGFxG00&U<8DbuG2n+x zD@cC~N$&?wJb`udmk9u|})d! zd72Hkr%j=$Oun_pc1m!r9&ybs?3TIp-+|QI6<=wxWFqTgEZ)weh1`}b)Bcu#C;jR4 zA}h}H*~#62sNqZBYl{PxLEf~LM(^jZ>m=y=uu;uuN!zC*LJndVy=)&_{hk&zF26Zp9HI06J*M9@j9o>fEm4&T+%cB5E*`cF%_h;Gs#x|R;w)YwpuGA<4aHZ&J-A=&o=;KO+^WgZdr zlQg*;|DkY7_M8@97f&u#`nUe2ls~4X@AT*LSgx%j)^9Qm`d$W;QHd;dZz2M8` zLXTQ;RlxT+HsE`T6_vB-p?(6#=|SwCsMDR$pZb2?n&i7KAYal8w`P^UKJ^b}&Q8bc zavB1lII6ByhZp=(j#h_k?hh+J9de}qlPDj#eyy2ohJEYu!n{XN7H|CfulL%JI-iVE zoph=2u3)1(WPJx93tp8@SZ{!ayLGQ#N*T^zFw0d1Us9jVG*i)r9u&3mEHG1!@ zf1`$YyXNM}cwQ2Tqq4{?oGD<&b-&voI+yElmvwxueVZTuR7O>k**>ZZ@#e7I>~=@c z+Qh1aWP1X0)jA$6rDbqZjC;i{41+Onp_JDR;uU^{HiWdnV14yCv50#CYjtmK+uuF) z37T$!>CJNhQ#ZJt=;b_^lljMo+idh7j~-S4?0fOtIu%2@+KPH>1z`=KrVLghC_y7r zSS&X$Vblyh4#2=9<5^9)g6z{HD;FM<;$rHKde3U@((h*7^Zl{E@6gKn)5?ymul7HA zJy2UUbCP#RquVGD$ECCakQ+y0(legKi%h9{o3(3vbCY_KCu?*^ zX83>~I>Tk=v3oi70n0m;+@InL&I~)iG_;!dlP-QryGQlh)kjPBFaa}MjVV>%<{`ZG z_`jBg&@5SJh|gJAVCb)J;0|`XwQfIexa7J)%`VEU0qRZnp5(Juqz*raQ|mBbV2j=+ z&3|`B1cy*nXtGuiz=L!WU_mU+i~OY9&4&T?s=5?Enm5fWb0VE;xb1py$_@Mf-kH$g z5YV%*gmA#>5qtj3+SJ!SCj@Qiw4lLJW7TDK&2G7TfJdhu3gCLsZJlb6icZv2y5$eT z)!&Tw(Teb1uD0TY-|6NZgW2l&Xw0T^o*Lsd3kg1}lSt=^4PSK^@Kk`VOZfH_Z4ObE z5e@!IW(}t6%1f@RX>~m9{{oTf7M#CV zd0)57O$3&mpV0PUEj%xE|_Y-lJ}m8IM}IPkNn#t zvp~oEYfm&DMmUyw`}&j_+-qP`26Wi(k_)4q?sW$rAb}q9gXMFIjb;NKrE@=dKwbsxR;%A` z1yY;CiG#@(fI-@0Py0z{O}E4&gGRqx%=08@6Lk=Ob@cwA{>pUaA$&n-IY6a!2D9V! zq->I@pXVpzwpV9QOZQ?`U?^B>tvYd=X*a8oY{!oiZf5W08ZV{_-F&_7j&n(GIT#%? zQc;ZlRON&7C&<9;yBQViKEWCfIp5@xqn&;+*CRII_e1E%WC2@`ej&wM zT+hNdc0_(OU9_Wo+zsf(c#N!M@J&Nj$NS(GQuQwFl=1sy>ou3VLD;>z7yG<601{b$ ze!b2e#~A!!ShR5N^e#%JZgI2ICdzzp|6Rz-dmy#U&VFr^+|0YUpDZjRo=rf5@IExp z+ldC5K+gKH*_-_f0fHq`;CjD}-C<#Z%&z}75xJW6sNr^hdA)i>depY2cc*H;DXt4H zDjD&LA@%R|YfrK7RqIu$-J|fFL-4f@8Y_Gc@m|>t!Omffknbo52+a|)tiP6MWtb+1 zhc;X6n2=wvNN=`XBb`sWqB33P6Hq{>uS3vh0j+XdEq3g5EZ3!`ig6J67SS`|oe}waH>ez1D}<+3cI`0nnO>*3nO3{`eDM%WSgC@0(aUD@cMFRm3;h?QYT zh_qW?t_;M41C7R@#ZsjJy?`SGfgYOfiz)k7zroK zen1+?66|ABv?iW@jZaA1g`s~;3fO{Srl@bi@zGhIt+oBE^WC~!T*lSf97w1;0U!ZX zLl_d1?|Nek@TGq%=7{q{&TW#;X(ex#EpT#dyO4dZ^#Vy(_pRI++ z*{SD-@74A@Mh>y>-!SZULo^=*+x*zujp`@)eAD#QUQ$Z~$ff1_0KLRoonp7#QjrRp zTv@(;3EwIO^(syazZ-S-3hd$3n2;H~M?PnC5uLqA6^+_jr-(SzuRmT1SBGT^5BD6* zpmV+FA3&`ao)Qz%Rm}2z#oeg1@@S((;dLU$Lf3cAvJU9=5&n4aU_ZSW3z$Vc?tR=& z72=eL9m_`5*d(bO@XA(6*6m3nnA@vO7<={>Tv{*^aK{!xv3}vCNxvdyF-dc@E4sS= z722RbsWz_7Hj`;NpAQ^%>kdF_&bD#k-%A|Z-{MiZ-kUaxMuX6ZEgrwFEvUS;RJP=x z`lFM{&j%eYx2zf9*wGa^%~Z;CbvwM_7_`Q-PPKS{7WZ6-Cr>iOox51P$~}q$2A=Uk`{veR?kfUG zOYY~Oz8d|hR@m<9V%tXdI2cx`wBKRM5CK<+-6S*JOu)2=j=W#$Q4yd=jT2Ms2vT8| zt~2=EJbTo(mQ@E4;-R_A8qaCPeJ)_R=xi_-OY4f#3=Q zZAEc$8Un1i#}!zwG!gw-VRRy6U7H)wExK5fpDij4DFeYNkzRfwNbi_2a;u<)$!xgO zB}h?Uen`$OX`0oPI7Qv+_o6*}Gt)m25YftYjtv!HFDW>*7`n`SPD8I zRPz9@aw2NQE~ zk*c6{)l#*~Rg6=kT#Q!#x+#md*nsq#yn%V6K{-0}Z9kD0dlwR{Q~K+=y2B*$0OJ_7 zu4#j9q1aCCDmVFeI!xQcOgBfj@;i3VR8BMe5qU-R^;owG)7Mlcnr4m!HNZzd+?d6) zze*8#XLP*|`UUVQ4O7`^$G;TqOeD!&th9(*gWK6$$B(OrwT|+n^QuJS;{(A9 zIktbFSL#5~9T>WKIAxOMyt`;$MNKhyT|h4+tb-1&~i;bT`FvH0Q_ zBq91505e*xgTB9#;~?s%oN?Kn0v->U67A$J?6oNU{@97}5 zcYVlY= zd7oo#lQ!#DBeiKd{#8z%tI^>T5U!KgS7^zr#nli*2ix(gaA$7KcSQd;^|zPye0je1 zrZ%ksi}CaX6Lp`>GW(_y1kvqM>^TLscUZBn2hdY}=mcj(;QMI_0(_^SG6px&6WUkGrwF|ew*_C^G$pwqq)|D?IWvR8w!ggO{ zw_M}i+@DMT(NaJ;2U7xdoQb#kGCa{Z+qlU+FU+v?yE~x|ef@T)zyh&VZc%Auw4;a0 zuMd4#Hvdc9*NPaXGu0)|R*JI)K{uD7t*qbn$stIvQ2e=1d;|7Fiu7c^lKDaK>nl?ZgYF}YHDhy<%h7NWaQu%Ja4bA z(}*}3X$pkn_qZ43Q_KFmu1I$Eu>r$;l~ zzqSWBa^MFnRr!27!F!Ai<%7Nc4@~Aj-Pfd?|NPj5aBE#mBz2Nkb!<^YcKh-OU4@)K z=glTn9?JSkAuh8e(>3{L^#YW=@n2WOMuMU1)%MrAbfX5t2}~|@wGqtc(~JNH<*6q@ z#I;~yU2ragMg6XnCaJRM-PA3L&v1xjI-U-!(;61<=LVl9%JP;p3d`09fE1dYJ4Xkt zgOA}D8{YmiC->;Ylz^GmJLc;76Zg)W)tar1nNUR4zf>lgmbrXfe7qCzCuXvnROPZOXz=EBd)?hutSLH7? zR&yVKMn;Rg@ETp@&u!VuquC#3c~ourdy}h3+4-Q`8_O9jyhVTV=%WU|W z`{VlXuq?7$h}hXvfjg6NK+C3#vapDi|DMGYa4#pprvO>=BfkKVM>us}qyac5Wz9X` z4O-5j`h-*imtc%u-T9`%eH8A@Pp$IXMHZ9CGVwpL|obPPjAOfZq4lp01>K!snJMuV-+Oqph3$ z8ttvWpZ9m>By+Mr5-!E4=On2x){Q#5F_#F8*); zpPGKi4JZ4Vj$zuQaqn|1GFo+!mvf^x)w6B(NMPVcvnSfQ)x~_MEl%Ys)}5Jmrf-7B zs6PwtMB6M($lc;d4~Q89xTXkl+c2KW6LGb*12{M^Yj%2}dXoQ!$)$z95*>lVNXD(< zSAxp)W8r~+j!%rO%Jd|RmASUJOF_FoRKQ=V%htdCw6vX-Pp9J+U8>bllLL4`THX~A zqf=x_)a~^y8FSuT0&)EBwQJzjg>SDLgJuX6q2IZ2#?Y&T=pg#iCqG3e#+O}jw_Dsk zVZRztYv%pN1u`n8#|!!OUOeWzUNp697#R?$-;xR^fISl{%$}o%;W}Ee4X-^AMQ8YY zZoBu=9|BQ-E)Dyp^mBa#IvlU9HoK~KC6(^-2h~r4`!df^OL>~Q>=YfMqBd({lP%Ai z5n!}dhSy*4$n4oy=+YkF(^J_)Tl(JzuVIH}iwllI)oYnG>U=5#D;1}*-(-2H;#P5A zHSlHMwmJ&(;$a#=?E7M!E6@1HaZ1!0%6gE0P^TT8*%*4cu=twpsX<~%=4Ks)gyl_5+Wk$87B2c**g-(?afx^c3ZKFmg5|RD-Oq)GDPI`w!4v?S{Q`9N)$65;*W8DD zdcEY+;Alfz0&}NuJUCYO(u&AKJrEb@akp?A9A#e>gZA*-A+=f3^+(|xOeb-lU=Cvt zI3N@cxzWWGXWW^BGdc%HI=B@MzFjE7&h5`JEQU+ z8UtZUCRXpYt>N=HVOXWp(A~5ffUEpE%kAXaCZ>(j%wJtvB+Wbh#pbBl?$AWxp~fTs zyst;D3#1|Jtn<)Rb(7_!yL#u+yZK5b{_51bBIR$h9ks9Img!WN5oHhqxArP{x4IcX zK^ty`LV!T+=gzi^$8-O*aG~L2pD&Xo=nd^b1)LC>V_J+IrPe#|{5KXBp#wd{LEPRO z*+9tC*6tjl6C55N=lk9nCg7bW2XO95!=e{vjegDuzP^T9;7HWMU-u?0wZ^^OInQEw z@^{)aH$@MyY{2@)bKSSjYdM>GuOnetci}+UZ)YK8m#OUIWvabyXHw<5wDD6ml&##9&VzJPy{#GKn|Tf->3pa4OSu6K@GZdB7e^ApD&&(Z>BSxkYyG6z z-&_Nmi>W^35!Hi^*Bo|G)2j!%EH5i}{CHlqQpkdRmJ45Ul&cPn_2g0AQk`LLE|b}Z zyci8n7xdw~eGQ~JuGgCDes!9=v9RWL zPxHt)L*(qgBR15;cS8Ea(PWNVzYR3Cs7oOz-BZc&zCYXH3G&SBTew4@X<3<4uGX?jE5L3_RX}YkKEd+pp zd}MNb&AXyo+6YPmMs&WAZipbDdjpc`-*bSDbGMe05!iTgVdEJ#0yK3Bi6ReQT*x)| ztC@yVtfzOkJ5lSUzoj>`S{`rLr-Inx@vNq@^r)so9Bj1B^suYz$z#wky_6V%Lvxu*1C$m%X_tBF$bBZ}Nh73ya6RGPF zD9>0s6C`1J_g{`WdSoi_vsPz4i9S4EZ6qs^MDi|U`6@vaKlht%JHkwyrA2hGW=b=N zJpls&I;@|2k(c}xYy)bwMU=w!RTx_q432l%HASBf*T#+8Eu@(!R?PfvbvQYrlYIJf z5kQ;hd)emEXt)~OyGoR=t~P%anrYUHGkL%vsgj#V%cxipY z(TV(CA+Wg6F#O0AU-~D|N(VzP@d`ES0}}x{KRtKFy8@Hq&$8Fi-*zMQ>qNTJM`je>CQ3zq@_G2!1i9~S+Z=Xp8o;ioi17?R8T(QcQz zYF3;IJa#DQSMp62ylk0hJv@fT{`1ibN^$kW_G#jFmpwM`o%4*9BpN7j=9H{m+9{_{ zE(!;yac5%DtzEu0P zKS2(|A8w&e^juZ9=8@D(^AXU0Fu! zTX+?s8i9OV$VK7z&Oux6$e1^+a079r7x+?KgSPi?Z~$yTH@;L31LsUb(hUG64(S?i zzQ(2~nAPTLJP`Yf5nbYRc_kg*4d&H8H9x-_1oeS_Ofrs;d2bWv?%w)n$d{Z*B)`IA ztWJ#<)NX)R2QpZ_`!-6?;Oj)|+J*1eGP@%*GphA$z5!Y5-QfxPPWk!OKeRJ$4E4l{ zN1a}J)!X5sX{0OMAarujJE*Su-pK5|TEtUvam>-}4GiLau*0NM^eU)^OCoXH=oon|jgZe9L zwZ1I^rHre3d^3mdbOy1sS=)w`pm&Mm(m8aJ#Rm5?*cXRxHZQ-CF*NZ{$vm5<-Og|` zXOyhBMlG`a4pjTm8bPM*`w%Q+fPq-k&iY`KlN9!{93SRC>Ejn>$&xmIXr5XcrWa9% z$$)%BhU~x5JUPDUvtJodwBc9LPC{M^W+rBnb_z{HnW`qMY>QHkm3P0~I`o!JMQ;c3 zQ%;+a_${Lt*)!LE!#kD|NLu%W%BQ*x*uhURg8z@4%4_$g>^?qmOFmE zxLeaA7$(*_UBXKZ<*H0xc2!i#?vyVnUA;|EziD*Zg2`8D+nwv10aw1Sb*Z1eXroNG z)d!HnU6#L#!LFfxPPeKwRKurLZ2_VSg2?;nh3Lk4S8ShOC|UWNm>@}7I-JAzd0(OT zmAyIt*vEU?$Gk%U+T?bLhdSydZF1Z>$Z$}Cp*ec;hGf|_vC;~V^qr2{5f&FPcMSnu zN7v?Ze$_mP!^WO_tw|V6rme#7MpYaPX^>l_$G-A~?=IJYk}0|;40M~?3t#(*Vy3C2 zgn~%Co36SHnF;?yfvIv+Fx3lFU#;#21F~4+^NwD*Bs=J0$EstNzne8%{Wev3KCT%L zb(}oe8oRz5EF|8`5_H;GVSVkvPae(wtbrC={=Lx})R7yE0PEZN!T56BXrcFXY2!uIu%cB79{S`ft51kSq~%$<{nnveAd=tLs$C4Rme(1ER0U%xIg zmLd9H?amMR|BYW)Pi#YFM`Isai_*kNy3+MASjE1}y!QXup+Kh0Np{;o9@2uX4jP;3 zxDZdW@)S*1-&C}vw#Sf=No!ZTOr1!okR_du{>@My7dJ{QvvhLDB(SN`A!e+B-MlO_ zy7sh7^(7rVBMF;ScVsHx=ruY{jAV}gv1jixug%AR>KWD5Q408BHZ?jbW3+n!>xqLj zZmst&&^33t%C&9HE^bujM*Q_<`&qBmh?%==Kg#YdYh$CU%;1grHT(=EVLZy~O*FfW ztI7+n+%wVinl$o*>iq9m-<(vK{5!i1i`7&cFs05m0d#)^vUqhcDsS#F5{zv>o-MM- zoQU@0;}`VqMR7`$a;tx)xqFI^9{PK%z~G$T>~6LC8HS~UeqLKs{jq!KFr=c1TOxv6^mm8?zkBM)wQUxKdLU z*7AvFA&MkbTjr|GP_n3ExTn z+e! zpTpbqrd;MMQdKPYu)e`xrpj<-Y!j;<0`IG%?!9-4 z%6t$A${t=H)@*yEfYrd>?(bZ$)6gE_H`vC-29fzms@y)HG&)O1dnszAby&5J#bN!s zS>h`#q$!1l8Pkpm@Jw=TJ(?wYa)Z&rEYLgN8egmsdQTO9Dk@dTnRIJUS@-o{w-)Rw=9V#$860QGN)}GVA8K-dwswoM6 zY1XMn@0lY{_tNh_U@~a0;~SH&L}5v~;twWfjk%T2-D(EC(YbDEz)~|UEL|b4(f5Ly zGFZJC+0B^+ZZ$cSwfpe*)xVP}hmXQ-bvjU=-Gi5#!HYC`Qu1Y%w{ERN-?10_}95>l+?%=(|oU5A4bf<|pKEF5HNCpFdb^p+7 zX3>L`%L(>IU#Wrh5$#5{fl+=%I-5>V`I}p%i~0+l;4IX)sf{yEpZMAH2v~j_hE^VW zCT4E0GhGE3c=&+0w}rOPeQ>*`drhVq?#(v@cc&My-jEgjJ*x|#XutY%DR!*`LHp^A zbtv?`hg(#oFSYey;>NX>(_yZ1fj+Va2gs9{O)IToYhSiM-2TyT%5M~6GmloNNX=0Z z6^aGyxDUXA;pWA<3ah73?e*n82v2~{U!t#@U9(LL!bKqVC&wk;U%gNT$iRi=dF}w} zCbkNu8=t1grqIki;|HvWR-{c1+%@Yd!S>#8GXPfv z&7E&h-C6rhrPN-cQmw7T7Ke8sI`22DEzoFHq~l4c+HF@`728|?qbrYs)2*cCt<%YG zI#Kq#s6G-4mAE(aI0m7qEt}o$PE8)riiBpHes6Vpy`dZpntG2vqNH4EBo9&OwN~~) z8Wzo!QB%ISBs1wVsfZh;sR$|}#e$%qprTS# z6hSP2z_o+C$UziQQ9x0;A}Vmd+2_E^`}@7meeUzz|L#5edEo41XOcB5Ykk*R-|wf; zW?w=JGBq=qkZN}-p5ET0wkyN=z`4lg)0I^HGSX3y8mDX_F8X@4yD)V$=K8#qh_%H= za*l6`P}A|43~1)I@NgXLCNLUusIH>DZ5ecz`c7P%O`|$FJsL10@PnzW-60Q#_e}|) z2+E_mSe;h^v9cWZ$Sm>j%C(th>7}kM11%tC*`Cixb;H5vCjyAu03!$ti-vt}J_NbU z9#)=sly%&jm4c2*Ozt7KnIlse;~OB?XJCQHqj3`E-ktSX@m{`Hc3wS z2$P9Y`BrsC$ZZ8gCdN>gQnitzt(%g%597DYIKrdTCO)eSqj$D#cdRsBl zb#C8O zi@{+h7%(QtSG)PTU|QG&uvk&o>mysE z(Q{^r78M@En(*RzuNzv}$NiP9Rw%IXX@ctqA>Sz_AkJqL7|SIy)vP>OAFz`;`6}3o z;nnJCeAq`RTZbrE(nRhsd&?u2xlbu#o zYWOVZSU$HKl*5Rg=RDCF%3FpwCM3t(3mj}ldOZ@GQBpbY)z%dA28&p%a@9hqQ0dq? zSJLVfQyygq!q>tlK0XMnJ{LmHGuc8XN>|B3rLhj0?YYq~rnDsG!L_~bbWUYs-^89` z97YGDVFWOsQ1dPXbSQBqyVGdIkf?E%DQ_qSR=(U2WhQl~WJENGfYcY25$a61t+=Wl z&oHSl*^9|X(r19YX3sZ_h6Xpf3U<2D^+_xxjIQIflT ziLq88&O#BG=8B}o8p%RG5(+%PE!8%%>y^**O0pf-F1!Z1V*)Nf0W%dl9!0l>&VeIa ztf@F{+KJdG9)&qu2!UxIl)+e-EO;~$AMjo~5|A5UleV|UZ438EL^UJJd3j$o12@N| z{FQ5&*dm@Ui=M(r*A5H^Oe^gYfQ$kqe;=n0rP8>yMNU-uD6y9!Jk(nVTwf9eWzeEi zN^p|M<|K9me2blVXHyF@rK-_XG&KgPO>5AmWl)ZAEq_mKHgEQ98+p5IQ9DoD)P`X_ z;dMn;-qN`1t1F^_-&L@yf>yn-)uq5j2nQ@c0$d|aO>0Bjq&evzuIaQruD9%@qq7o6 zW@f2%CB(Q~Z|4Ydu3-~`LD3f(f22T7)S*$=K9rQW1o;erCxN7pgj7?MH(e|wJC&xf zTjU35xwCY6%zoEMm0QVpg+iE3-PwU(wr~up15*NlED%KDLDM+VXk(zT6oXi1MwcN) zaq2I5^{vtnD9dx3BBCD7ss@pBWm`|(k>hQfZfp63eBPr(sxim8V{ROVPg=k7f{)_lkvJyg^CSQ=wJ~kIN~}* z+2U8od8R})<7_-^iL{f|RMy@c_F?Q<<=e4hf|nCWPQx_SU9)FWG3zOI(x|b_AVQ@* zmR5~&`W?ezu9ZSTT7Iq4>@85v3AU&&W^5uWlUqEBJml^)6|@0K!cwPLrvft@l~XEL zo~pjcq|C97A>&o`y1r~kuR|QjzzK?ACDby_&708<*tj$eHGE1e^kaGeQiZ6}y|m<| z4Aeae!C^AlVSJ;+PQ758UIwj3ldNdZj5VaC@8OCru{&338pBA^vkI99-j1mch!17V z3l1YbMJg#YId8HeuZA~;3ptT4hes+vf1pKSsa{P))r|AH=c9x}TkBTmc3Te$f%X#a zS%Brv3^+j?3VIM0VY3jJDDbdWMc`MaMtY0{x7AHAc=1)b5!J@#!wMq^8iayCAFV9QG8wuSv8s|q0oM+%GO74qTwZ zSk5mOqTK`E%PLc*O@^*UoA3xNPfQd*Ogm%s3?$Bv*2T3=v+c+1RE4vkO|XA%_9pU{ zDIpcX-z1cvomF=^-D|1fAZ(XsD3V`H zn7U1-GwEJE!47-lr7WXflNr9_2{c0KaLiX~8T#~SO6DZx=GMnxae{*a^HiqIZG4Xs zL$?CzUxmSP(HvP-Kx~Rkj8e{z4K>09q?e5A@J?CqhCC`*y9Yj0j9LuQ_vhKc$C0!8a zGka#WM8;jDs&q=s_NuOH-l)fEs=>@czMucql-n5&`8IFsyGIq55sbt8?!TP z!6CC~)2Q@mi;Ou9D|UL3POq%aozts^H_Y9Y8O@~)!>ZX|ZuQ(Du1@u&+A2(&)xD|Y z?gf-)X?r#bSHbYzr*KL>%Rp20_fd;ll!bf7f<2fp%I12o8;K{zRk4^x<2WQnFwDufk!ITQSOj=&jq8y{3biS37l^0qf7x_5$Vr13e!W%H%0C*- zw55_vRx?Q1O@l?C*9Ovj%{a_V?2DkQtXc(^N||2S?T$RtuthRR18;S_`P{yJB8Esf zesssqWN106nl%j+lv|g{3R>;@VV}}lHFME|Y@>c;sG@aJ59@|SY zYgu7+Ei$c9j&?3h+% z1?}!ZgdWn^GT$imDY6Jg+6{n)!jCf-3kp+7Qu!S!Ixj&+Uex5n)^Wie zvPhb8EvK?ju5_5s4&$b_d&9*+IJYD$(;%)~43P4H9*)zHxwckeQSApAlVKPnzzx}| zYm<>FUIBQme8r?g+y=?7X6$WaUb&aVhsCBM)GCPNv^^aZ%&_^D9A*@$ml1m?JCvF|JQw6cY0?6YL&MmdCToqH z%8^4m5RA;;AVVkWrEbB}Hn61Hh|qbvoOkZvV8JiTQ>;p}g~wU+)ziKxIZqTTos^+( z^+6IEkH*Gr7#s|Xv;WX3cnW=5~TrNo!}R;1bnrk0QZgt)#Ocg&qh5%Jenb8Jf*3Lo|pd zf@-s7?8w=jLj~#Ly^UPeGGoY{Yt>CjV!Jh&cRdPfoI>8DPfellWYbS&0UepL)RN<} zw~^r(uPVybr1o^g`}xTRoQ*hCp=BmK;mopFrU-IPb!uv|zosUu4PlOUzar~F=`h{{ zATlVqo05x_)=-d)nA;9;X>!sEVU!8jgkXJz3Nj<*+#nqDMMvLh2i&=?>kq4pUTMYW z#qv-EhwD^5w@Kz8w9R6S6!`W$ONx?zCL}_5e6{b~B zBLdqfXuXb7S$&4GQ>}=q5}s1Is4$iH6^Am}g|!PZwO)B9R)ErxO_=#R*0#}U!FC3( z0}o9Tw#KZEb=(WDa^-NyxiVH=FXH_qm-qT*Zq8Ag5J_vNDvdq<93Zi_aay;G+PT7# zu37(0neS7&%vMhEjYSAdn% zAPY1N7)Fkft7|vfmt+@c-woVS$9(d*wq*$f$}zH+l*t8Y)BtM%09cEFNNAU#MvK;q zmW~70((!qPUC9RNO+B_?B;pb9qD5VU=)fq_l)s`242qCW-N`B81<(Moa~?b#W_xuq zU~#c4T3L#pWzZ<<&{)-toUkO2^%-DK}d`H_pGlFOk?+th@#4%sZ<1?abKKAAOyvB3e% zaT-mRId8_YOz-H$CVkDQWs&atT^oW!!`1@`W>LyF4GG#4zm@C=S{V~ZU(#XQV5 zNQBt3AlZ*}WgK`_`sZ$(i$;Bz7dOSZnky}%2jGIFZrD~G?YxupOIST8#y6{sOovPn zAaYO9dC=RoMdrDot^#GsxH~)S$g|D4zQM^^&rHgba~K$0LYT#(EvJJP**jOp7GonTADOi6VqMZ||o!dxzsxGc=i3 zkd3@DS|hZgl%4bAxW2aNYtwdZJLjpVm{CFJWkIt?sqE>@2A8TsQfk8Bs)Xe3qCr>o zwk&{(?t;>!c2#i_W}~S@yVX*j>9{RB=5SNxtj$JPdk-_ytvuQ;s8_Ryxu^rZIj5x8 zc(gOtr&o?JhdNa)1i`chB*<-4XqslN6V+%k4%DyuV@xI@I}Kd z(YezL<{vs=%co*pz&=Hms-=$`X)uIlCllcw&;2b{5~O2vnL zJYbjofv(>;bLbHpqwJ+wi`leucx41q)=*Ex)OZw(mXiVpXVer-X;7^M>4Gw0g!4y= zmg1p8!&V!D?;0@F>gAqN*Rv($6dJ50dw#7NAXNYWDU7tlz^nqkK-JJ48m6dktg#A; zEEuY`Ry&c%H+8f1q`W!pZ{S#w9gMM~lB|zF!zPwv`u^%HS&lLqFC`zUW>SKwx{OG~ zJ!@rS;LHX-eE?LC4sAYb%iR+lY*~xJhBYyo>1Iw}Dk{u9p@MqQ4IHI z+;`ux#)#WC=4vlOBOT!6NsM+U_ZOE)M!>i6l|sm;bfUT21rsvN9U zm9rKjI_;5euNW^2Ggp4W1PQe5l4OAhIP6&XXhbcq^Zqi*2#q?V^$|qSI)UH{Vk*|Y zZiZ!NQ=XyKo+7tibV1NDK!ziFy+uVWOH3zCAx;z@+tU_rY6s(00#){oo1vm1Pu!^|7Pf}@ABAQXp&yPaleh5`QxjR70NRfVI6EKJAoKpDJ|961{+ zx2h7b1D%%^amv%cGV)G8$#C*nrtJ(S{K=`o#i`BQvhGNATkgdI;Qqj$WUz&&>s!RS zA?w6yWjJxlDJPtOF|~m;CzQFwJdIg{L?D7u7F<=FH6_-_FZEDjN02$@93)Hi7Uoao zRGCf*_K$_4GzPL~T^$l7ZN^foQ&F%9;N9&+#)m+{v9zAbWr&6f`nof{Kcw$1VuP4l z&Mf-jwi<60M`>SNV}W|C!xO0X;`)GKSlJ|>bpmh<827>ouEmJ%OxM+=BuBHAjP>HE zsyRhj+KiWtpc0|hQNi_Wtk-~YL9wV+Wx>MUlt=8SQCu)i1zOHVYNnAdJqr$proJY{ z%?jfYIrk-N6O}J*%~F0bt2Swpwd@8nEH^P#sXCK~@_|L$6$W{OAg~W8RjKRillGpH z&~eE~PwnNJwY1DkapNi*s>-IaB?ed(1W9P47L&0e*;2+*+X2DYUnm2KvmKPn#CTzb z=OPRm_N0Z-pp_f?oMRzY-)!zXT%9z=A{h|Ztd2sOm;h$dz)K>E%S^-{h)+_DRE$Vz zFhF>B5~{weFS==b%u60`U%yeWz*9;TbajidNYhzzW}UgFhXkk!xJRuE=~mx7oU_rA zsMYGt_9~c|sRNxRJt52!U@<~E)+O_CASM}8;S&~;&U+cPLuWCzb1+QCLq?dk6MK_! zdJ+KzEPP{qHmZvwAa_udd|e!*@DLdw+wu!VtRW6$33=2X z9ETQeM%Y$mXQO#fKNXe3ewrAWh^WEHl>Kw{2pi7~8>h-XA1MJ2$!ZlH&018i+(sj_ zeskPd1X#D(TJEzouO37QyKL58nfqGtn3Y|tqMG;gt8&@Nq^B)gC6xr!A2QSP zMvLVI*OW?L%I@p~WGUeH`U_abiOsc2gi$n0XsohhBZRop)_kWzj8U#%mwD4`TG4P= zr->Gbu&*>SF5xO^VzrjHUF0VuQ&^TFQ^6eqN^E^G_gieFV3KRa6>LV;Nllyfbwk~? zqF!3}OzR~m9}P13EL-JtT%~0Um*N{C0$DmzA3KP~Og0RJAwik|r&Z9$Ta$>t2wWRG zj-hG1D$YH~Y~)f0B4Kx9vaMSeIV|e+dgGdEc7gcU!JJE{?Fi}#H_Lb8E^-n=#Bv@Y6(MX5p-5V8n0josv7ZzI1HsV zb+gP)ZI2p*x-}YZ=h~f?FzaNU3+I@e;mv9|57-&S6tu3u3nC%}I@KWT+8D2;4r%$A z1#wtdL?vo!ItEh|^lp;T%K&aw+&ix#-8ty|n5ZF`6Aoy%LftdOi_=nyjzt&TULc$na|8BbIEP%7=kugu^%j{?M28^xJ4XSh3DklA7Q-JS<;EEX_b;7M^*}? zq2PeY&4k<`??}-ymRrdjW|oVIvf3K~Vroa6)m*($*qiUGqFLR_KdV6m*jx103I+`< z0w#&Atoq5OHq!?#l?=BeV^#~1)oG1wa1=m#<8gLQ@6h9t?r;dhK%@oj6hXH`0j4Z- zZ(UKFY05!f@VM;sHYj#%PhP&t*4C`64ZDN&k5^ovv%9Sku z!k;}JGusjh)|L)9q=?oVr$ePy0SxL;$a@HT^T_s+zXIpKN|mit`emIuR$f!GM6uhS zBp}U5M&v;+xC4)!fC<*;(yFn)To(pAg{y{JRN3{@FhWW*TI3cpqBCr_S~(Kw8fcIi zTvO~E%xOEZWJEug0`?W1Ts8eLB;%%ZFRj)Uenn0aTGu@XV4IiX=J` z_1#Qw*>lU7y>8XXP|U?Ebt6@F;3AS!x?+sQ8$P;HH!hT!Jit3Vk-l?2Lg|)GgLizg ztjBFFXTVwkxDm3E!>I=+5?h*dx`O%cGT*FVw8s^8*^rgK9!3hPXfQ4)`;BT=-!c|j zJEACSr-WMOc-(`RiWx5M;nUT4K##0K^FX$c88k7)qNB;i4Ia1HmvBC2mb+9`HOy@% z#xkHm$&C3hmUZ)UCRX&h!l5LUD^f9I!qdTu*+dov-zssDCFTZmedRV~!j+o^=&{)=baT^Z}>Vk#d9m(dH{%7i0RB zE()py2$~$qngc^`k>T|5gnjIscw&upc|m2|Wf{_$ z#EQ#D+dkZsZ-w}%XT+G=A#biV3N&*g%)}|%9Y%=l6`&Xz1~oL@@Tn8Hv8n3RT8><& z(n)iwtk*?%DP!LsCKc+tJ{Mt$JsQksdv~Ltw77|`l)p3$NC8c;cRRR}Tff_r`8AOJb=Bpu(82)p8-DL@QCoD;(MV*l7I3w(w!K8GX<WYlWRbHI(&ZWx{Y}FM-W}+PJJzG2LCTrenTUhJM6%J}Z ztwBDT3^!vttF|sG#gZM}NL_MzrUACd3>aOYD>J!;0x+&OgO+HP9ikR&fwGQnMOFW1O__1Sqvq~9?{YTVv{*_lGq_C`kd2%%Lr0G79LW)zy4r*KIi2i97&|5utjTyz-x5Mn zYMe_)Y;6$X_C}ac~xm0)=qSO+*hqRCz^@L)Y#@Sn6g~}Qw~@ZJESa~u^Qzd zzcpxRDh$m*=0)!W=|Z(P6i>8AJytfQ`leyYH*%JufEZBKblJIywndamA<(aYyTu|9 z>IKH@xh05ZZ8@i!QV|tF(#$kNVaj3PWMzbuC?a#^k{+N8)EYosU5Y8D@9j@(Abr>B zYcaBF8j=K2Fxv@G7^ZU5b`|%7Df%W}dn{261#SgnTW8+$F?R8YIo_ z;Tm0Wz1B!fFCtz}QH4_gd^MWI!da|TF>PtA&=^<6qMnnoaY~rL;$6!4Qyw5b0J0vq zP=+{DCW1-jJ~DP=K)|X58ja~Dt&dJ-d8LD2qLWFgqtDL+1t4QoK>gfiGcogEz#Y(5 zb78MoV+sS3M;8db$CSK7V^AI2&-#&M@M!0EK^NrM;5k}wb9b1 zpBs*@i;U0(O@Cco+e4XXG?01PbBycS;4s?8;j62CJ`v~S{i>68(QqLgF z;28yj^t4ukAhOom2fh+s*T;pdc9K`F4ZNlwFx3-^YS_gE#bkG*{#uIrQhjne7m-C% z_P(l1wQ~krqCQlcI!t4}m}-Ig8yU)S5(~ku$nCS!^&xEgiTT!QX6dxilI&)g@z}*aw`BZV-PBw zDd$SbCBZWx0OU)?(XEEXr8z&c#8oZ2kKvw>+!f$D>M#xq9h%S*shVp&0cAdNX=d=~ z$~j0g@hZtNVnt@)*K4_ZG|4*UQ>6}pS>_Lc{}fj6nkjd?8Mnwcg$+4TO@-vcIGDSy z`7j|zDXJX~rY5bxvfmZLHnbRw*CunihR;ZgvZ>KUNqr9%3)%Ki11_FQS)o1@?4H0J zQn-Azngb_czTNJNI(rZ?PP2|=DP%JCeF91~yc1AbQ1^$x3f_FMpbcXA^sM5YQAQ?i+L|+eoEX z<6stS2TV2=>Bx1)aI!&dJWfM~A&41RlzL6Wgpkc>Rzee+Lb;}JbY`Tt9b+r4MO{Da z_cPJ52!_%~BDu5-yp4u23+&Rkc{+QP_~FlybE)9I&{y40Ez@U_tZ)XAq!9&N5|iO?-(#FZG`wuK_UdYIx0B1L?W3y+MD)#!eSM4uoHhy*Xb`CVwUmGL*jZgwx`NN z-n&UFM8o!Z6CydVP1yO|U7TiB#L^pMA#ua$Qbs5UOa>M<2_~B$+SU#utS&lVwR0dp zO2qAZ=a3=Mtz)7z_ZzjflHgpEgh2VbU=o)fy2lZxP+$5}UXP9)52$R2bgpp2BxqOk zK)$uSJ#?kgfpiSXz_M94gI!g$Y$_FbzT=;H@*~99hj4AD!Nbm0?8K(EO20W#=F@9v zuPkkME|wv7T8^dEi5SN@K$MFLg!6Vh$S_FuQS#}t33FBkz*zZU7Lu<~ z2MDKuLCFlaEGxE&gn3P);F5t_eOkWAl`Al;U3N~Z!fa`jSW-gUj6l^=ZZ1Fy+cs8Z z25mKmsf+!^EHo-c%dBxe?wDo4I*7{jCh4|@g%tr7+Nk6gbSx2VO|p_>6KCX7z$dG; zz4j413x_hCAU6u@g;Ve9`?>_w#1Re1c&5`5P7Zo}lhg^cr(A4})KCEe-`R0CK;eL* z&$^2>5KW$Q<(58MU$#(fk|AYwJGyxLl)x-Q_TRc#i}px#Os zg1E;QQ1X>--)PRkG>mjIt0`3(%2pPuu3mMvn=ziX=rv+Sr4}@T`!)Msz$Zmbp=Hdb z2?ID4#%Mw3Va-<1_jhq#vSmlrGhrm;#a1D#&s$nu!$sSv%%k*@)W~X)OKxxo-g*E);PJ^QC+aIf^MRyS?$YS zrqcAMWyP)(*C^FRM5{{pE!fI6gfWkK4U0os)cH;DQ*%FkxG*b|hT5Y%gad=J9yP5FdGy?Zt?-M19GIJyNb!-4O(jrn2!= zuR3Yc^lUs~E%|sb>72npuB!BqtpX?Wa%2S{?Ukn$@tM~cc$xWHv}_!%dwElT01I%a z#D-!8RR${Ppmtgd)wgZtlA%(7va8*MIctvCJeUcAYv@AsJ6pM_JY;HN2p;mIy?_a0 zboEq4skP|QVJ4jd&4p;OB>?BRZm_Q1z2ZP2>nR$wP*em4CNi>vX@|2W$%pzR5PW2& zzE-1)_(F<71y|@=nV!Mj*ajo^R9vZ)C7QOCx?uplWHYIc1;eV?La9qMe3Rgy%NS|9 z$3*&C^D-@U^R9$1-qvfha3BYVYwM~WNE#Qo60wFfQ@b~wrQ8j(+$dspZ7yP7bq8Tv z0UNaRWYrU=8*SLV=9zH?OD_9MXnCz=U7>&xA1IuZIMIy*Y+6z}{m$khVaR00aSzvy z(oE8$Ag#VmcaxI&I-DwX08B4w{;fm9&k zd0#51H+frz3^h$DI(|*1PfgN24pEIE?oSr8hI-~7`us-Ycp_EiqO4IZMU>>IOreeu zF`l+LT-Q-7S~}K%^rpk&Ja6A5r;tRgHfpulaI;hclD90FGIqp{FEObZG;(DS5F<)6 zuUj1Dev>_(cWy_7G+s>vvSV^-+FIB2xiHW;jLMcVarBJvPigvlD9pqAMBE1eT z=s99#DF;t%mlIf~6NMwxVvwNqvnbJW$1LdyN?O6_DJFKUrcy)8%bj490}7wnYKSn_ zxCSP(q{|UloOIzqSe{c`1W#XEONbtQu^V*hAr@$9XT^tzvY9NRf^0~nU~$>hib%6+rBhz8 z?F=YK!O+m~B4Px=3R#AhP)J^nHal+;#QB|R6Ggk+q-e0ad`U~v#OXjiIyjgL#gdq% zHG)TuT*8WocbKrZ*?K>7}|i=<3jLeo+3hcu2yA$;PD4cg$0KB_8& zn%Ec^1eO9g8mJD95|d?fm~lXNZ+Rj#Y4X|kb7f}8u$S<~>7msq;pkdzXPH7r_wzqWR z#SsD3ri38`q$9}m&Q-1fUnXh2-H4b=fn*LR7Uia2Pw@mQ3`t*JSIogMA+64u7*lM7 zeig2v2N@L;T7w5pTdSF75-CLycK|ryeMe6n^z=AwZK9dS0pVI_w?`sY@{R|1R@rO} zgSkXaVx4eo5UIFI>edjOPQwx9vMDvE`2vw(ZCt$4)s92kvvCVlupw(yYgHGS=|Hx& z+tD^y4CXp^T?&D{em<76t=gtGQ!6#?B;bSOu;ROddijp38YO{_8L^YNnTz90S;1&W z#C+K+hb(M6Q9+tiv^cE>RdQ!WEU}u5Usl~&8sFZ<+QF2Cs#mf*C@JzyCs2lFK9B^Cb3>G9zk6`bW#O`B2Y_NkcGh-fUkBGE$*U8 znZb14HdvNKy+mDE6MEgb9HcPhr~$lvMv!eWFiJ(Mu$h_&H*=Pz-9?`6_J>u}rKU!~ z5Dt~vs=||XN8mi^kL!|}ghmtYg;GX;wb0p{hDZjSP0GrUVe{NH3;2S%5C&dXLInVz zP>)SI6Iy3QTqibL<8Gr|2Bk*?kT>B#3JBkM#tHTubIBMVtPKiZeLxLBE~T>c%L=6l z1_socQjyh!8Z8iy@VF9MP=t$&rPQM4ABf6D?Nl!>_Li#!&rNs3Z&GKp+iKpzw>H1H z-Mfv!;c7|oi;y&(Ng^+V#DFh)4bSU4YurN!o0P6Ys<*2 zJF9oj;FA(lt`Gkdb{XtKN9Ybg!?1m{z$k#67G+L`y=81_adQ9F(9Wq;6TM90h(+& zyMYb=zsQe@`dX*cY-j(cl8WWEB^7DW+bN6S@Fcz|l!PR41+|ssmRhr^qAXWXGjWjc zxBQl|Qmt)S&EPWPusgQw4y%D6aMRw)@|y}s{WX6j9R?7~Gi?zT1A$xN^#l%AZk~Y; zd9{#|9*W~v>L>wGlvbO{$t$%VE4=k9wV%M&rUJxl8H@SEs~2=vLrL8GlzOmQ&6ZB1 zu{+>~;*#&K7sJ&%4P9xffw$Z;2LHDk-PdBX-E1&h9F{GU-C(y^?Y1q8i8PpPHp`Zo zFj#k<`G4GE+iP3Axt-;vPc|K%-?DCQC;#8N*ks*wI&^G??+v-2bTYhp^Nh`5Gk}b% zeT%f33?vEN4=td$#ir(EvJiW($@5DIh_3u{r)Q$@wLzt8=iR7<)Mfb1*I}f>QRprH zWT;N<)U1O0{tfN>H?eu=R|;609*#vRvRza?Pjir+ijK}-s$4J&>;of z;V^Ak_kGwa7ub0LH**~;SkTyT0q@v2!sh7UX0TJTn>vDJYj3+Z-|y!8$V)4zyFq(5 zb+y8R6L)T7=TCd9Y7|u1HZOiuMCFZzOFJrXTg6K!a&+=&@%>;*|E8yeZ{{2 zR@>XTvz@m#y;|5alQw9{tNm!**R!vV&dt5;ZQyGQeVbP8EAE~A!29x<)b02&-+8|L z?JM4X!n2OVwc2m}_L{pdIr$?WxcPP0{8sjl=QEuPKmV)HXFl~_!Xo{qch?cp&oqF%% z!##TI^|gyDx$}Q_)Eho|(m@|S7JcL!_OG2jrAD8VANJD^J=`pv-TTqDWV-$KBW`%} z+scn!@G0%rQ|DZLr9bq!o343odf_+UctcY5t7{(l>TStKrq5oY+MRy1SpUU)-u}$h z&wQx+<-Fo;ADdkIwf3!+m;d(ePkiM!yN>&&G-Ih=(+TpYLh*v&()(2aKerIQX?0chqwc~s&xb@#I+r0n2%U<(tJI(tap58R@ zl@AGWOMa*M#$-HSqA6`C!!W^$3EvFQ#c~w_1Me+60gqtjLY(a`hO?El*s^UZ-VhSf z+`iYC;MV^uU~Wb*4B)+UWas@i6KJRMyxg+wgqYVh^tI)4K$vd=2*hoO^4x4+rF-u~ zXv`*JsEr{bXY3k>#))xZTMHw*QIX-jX0E-^t|*doZy zDza(Q<|Qx@`7MZ~J9o5sBFjyoZvMaZNMglJhTVYJhnGVKF)Myrg82+L{$Drxnm#gC z_BGyWBVT*BuU*;x#~84$pidAEnD~1in6^w-!t%-^^Ol`7IbL}L@3(pTS10?q1%OXK z_{~GnW`YL}Ga5`4>EK!3R(M z+rLhI{-yb4&$=JI^c~l{_nRjl&>j8t)lI#t&o5DjptpVWb+;dR+#zmy&o4e| zJMe%5{97jy$Nb=fcir~c!T8*nuEoR7>=)K?xqH*?fqwnN|mybBX& zyUsp(*Xxfvz0yzk6k zK5)}-u6}Nh@$@5aJ8IWCXCFR)>8QhgKn7|2@Z%4l4!ik*z}uwKdr$w}E*3rb(DmQ` zS>A1*yUJx1{r0yXee}`dSFU&+@p@kS!=L@fQ>WkbzyYhv4b(-hdrx@k%hS^jz5m#M zzGM08f9Q63T%Y*yi3aw{bH9Ap@rNAp>*IfmAAa2L7H{~&SzkHpv%84L4_bZn7rQ>0 zrEWj5_YL3Sm!9tX=3%>jf9Q*!dg89fTIaOSe(2Wr;RpZev4f*0-+IgqyWVpATX)}G zpdLQyZ>v8ZeEPBXeedk{jjww~`S!mYb=Ix7mWcO0bjN!R*lm7b*HfAEPCMzb0|U2S z+F);F+fTLFXa1dBUjOrF4u2dBf@131esRdl<##XeYRiRSD(4Pn+C8l~3Pw%;Co!y8FP(f41u?)$JdCbdPMi znZ5g=?A^v^Gbefnsw>}c%OjtE<5frh|TD&9Z$dGKTo@v=gty`LN6J=@$!$JdHI-spSI`9-yZt@mxZsq71;Jn=WxqtWk+*AmZO{^4(5 zy!-akm?J-P+K0ZXd%gJLLtei8)K3dP*qZ$AG)eK3$N`W1$2aaf^QPcmUOMKdC!X|T zOMckS`#i)!p{NG2v{(z_aFGaU5-*x(7e?O5r{+5GYKJ3hY9N@m{<xcyIpkpAL#i=UVrrm5Ud41eIfO!(=CPrUr&Uw-rW+y6N4 zrsLmu-{j5Lbnd+NJk$5?ydwA5C+t+3C zZhx10et+=Y=!fq6%O&?e_V7>deH`aLt^LWn?|`S%~fUi7}J z-ge2w{3T}|f6rTc$KTog@u~Qg?oZCYe&^Rd_QG4aYmccC7hQJH38#EZ?Qc}?yRd!g z_=MEY5BS;m^*vW?$up;UPPzN} zrzq#1Rp9bF&iH}zU4OdX_kLab%7eMz25x@Kamt^6^udRM@x{HjJo!Dtc|X4C%y++) z2>!>T=RULBnZNP-mom?u|9S`J z;vz3}{rljPf2?YL=GLI@uc{9?&$wiG)qzJ?zxU*4GHeUwSw3hr=@3>k_xo zwdXH+UBqzivtPL3uB#t>*AIWz{BG!~@8AB|Wk2fH-PGiTkNo}D-`#rV%6C2Wv5S!0 zjqm+;armQiitX@&Z+i60yT8bu`O9;@@}IB2{f)o*$)nlCofqDdey8&bw_cwA;gjMA z9J2AAb9evwg?o?H-}reMd)#fNU;Ocx`O+6gA3M?(Y}VQR!a~KK$c5kN)!6>inOjr#`l=f8wGG{{HFHp1S@Y zmqy+_K78?MS$pe>BToJ%Dc$s?k8TC5@B6jo$iqL_mYw~l#8EES9jCm6jHNI1RBwLL z`VFi9oI8jjcl9q$KH$x>&%E{j{F&^c@4UFU_~$>k?uoxYe8D?Hne+P3#@}VUWyRk2 zrSCs<;GN>dNB;3!y5tcb``oq9e=TwG{K}hN?tSvd zr*qf8=l%EH|AX5~KWlyaynnuN&kMQpF1z`y^iwb1_@!%C|51Ls_O@?vUCqVjM?ZXa z`q!69dwy(f-gL?DA3b5D8$e@XI?tnegh6Gv0CBLI20K&CA{sOb)4obMhmv|LX4z-#FCDU;n-0-8PjGj0Ht65LBe*UuN+uq`3uMAv%;E!~PtApVu|8xqyeU$WR=D=sa zEz^yX58QWhlGK0Rcjq*9`or=1-CueXpVi)VbnZ7(-T1jJWn_Hu@t^bU3%dE#o9ebN4Bkt0*`HUY}>YN+qP|^V>=xu9iwC0Habbi zwv(6LXPd)Lk(TM(qoPrJ@k&9tHH1U#gk# z;5i9(2zWX^dw`lyIzBea-VV{c+`(XwtW%)A_K2BG7Cn^T*n_e4>g^0No)quM8hr;j z(P|F|g)+OMW>vPi>?vFflNnrJZW!2?F3@_Au6{yn&G<%Dkl_Bf0bG<5BlMJirvNc{ zgO=)S2i+m)8I+d_##~*N1&&90c8#dLvBjq^HL3i79maHoj&z5Uj(8(!J$ge?78LO! zs2jgR%Hi<7emsD{jhoC_xm~BGP%}&)eQW{$>w>}^i*C=M?!Du?tJez5A*$}O^jcR> zK&0hC2Ei}d5#5$YMoLQn#!vSt_B>8!mS=8Q>~1^!X{E{x<|acTuF;5oLiiz zV>R#^QszmD3*WP*+PMZ&gqu-wVYMP2@$>0j#f&dFuY$>@noK6QCOz99lAw!11m$glxJ|T6x`UH zxwz9md%JE*sfjT1ahbHK%fN*uq!}ToFW6^5d`7w2&AFLQISlKnX5CQHH{wTfAM&^6 zq8YhtPe`?^Jr;@efDa(IrthWft)~aw2<3dQF~OVQ0i~Q9k-{D;GlRYmSbk?zrsnP* zTRvlW1UUlg{}L8S>}qSQXPti#MlvEaQ9?W**^$6wyCSW1Ly=mUWYMmmV0@={+;d_~ z^88>|PpMFo$jwek<)o4_%3=JKZ>4UdDY6f|XbA~|n`(sscXi6k|4IiVX_^=G9a5#G zw?oj+(rhFf&s~?JkcO@#%n%QQIM1Vd80ob+yCmttbGHAR9P1pOAFqz6Ho9zF0p(ES$jxs`b!}@wMjl~cbDoCG#w~4g zV{)Ded=@z7*8#mq7k6~_?b1|cv<*mi2^y%>kyJie=`BTxWSDq*g2lW+j$aVNm`Iqd zA{%o?)P$!TxX;TASIDfhwYYl-`@Dyk18+NE7nDpT*Yvs#h4Dth;@lZLuIa(Wl_i8f z#FJIGo?7-WqEB!XE*n*XW0yn5@KKd|>`~E<)7RHI*!i`pM3+lc2qxGXuzV(>$dqb1 zy1wk9ys12WWiwb0`8ttOWI*pl*aG-wCJ<>B`88>ghxLby7_Q$!yzCW~y^^1F-S>8{ zgN`X1-`>UI;)*3NJ0u_65^lO$@i|jE>K1vtZM3uyl(3TfUFs?$)N`()N{jg%_c#Ki z%JG~%h=x-*;wn85oBHX;-Z>nGYuIMq{#bBoDv?>Y6DW!Gd_%vqWLS_Rg5s#j-kefM zs4hwC@v8o%9ucO_G39;nhjnSYX*r+G07b>>XoH=UDO2AD5!g04`Y0J+S(x&X&F<-T z(;geA6~@sRnR_dtF08>X>~chH%n_1uS8BYfk5CaaSh>%}=lJ8@K^n*=4T-Oo?iVTo zlbQkV+WNvmfeFG=B8QvfVfx7DMG0u|yynllU3n2doyvQH3aj{ZN{vw$J<$B}yT$y- zKK}x~#Iv!Lei=Uta)_XQlf$7Jeo zl7)r-5Hz7&6V8UdoCX^rLL;?IN#4mMU3RM<-_0v&3VXbtgT_NBmPm5I8gx8Gm+$1+ zvC~^+$cwp_@KOHzH2KW0g81aDwp0zT;8vYCC<7^aEfi6K8SBHDR>Nf~Is2ZWTf$iN z{1E6y%#Ime?jK_2JsvvHmGf`37Z_Z)3j8C-*x#zXzT@*yN~ACt8JjtIZCk1|IP4Jf zRyay7YeJS!FrQxGK>qTvg0@`caO5+UyKY#FOCB(Nhj^XQv{V)Dk8^KZ%kNfXW+txh(T_aBQWgF3b;t5Gu0nnebyQANtX6s}5 zRgNQCqs8Pi^J99icxp#x>0T3I3FN4Yc#)}dvk=kk?sN3|puEY`R&bZviG$>%FpgZU33@SFawItR0A6zJFO4L`EJ$!tREMFv5 zlJCZ}L1}P?<6Uxk@ov+eOUl6F7P-QD$#SpQ11rmJEgZmd8C)bKGv0TDzvfzpZI9md zd1J}R;+CI_p(RF(4t{Hcqpn>TW_8_{zRA2}Afa*4j3rdfFU)f@vxpcu-5IMSiY{iy zWTq{~=EdQ*o5PcBDeuI5THdFdC!5i<-D``b1t!2jo3A14Y%kcA<~6SP^Q536s&NX(TINFVcr+@T?%GcZ~v0z#l;c%MfcLvBW6sp{edhGy2YMTNvx>xkxOgn}_xSi>-L%z>b$G)`bL* zdO&(V$$T@&k&l1v-LYglr-x-U(T|Y^D$(wzj`T~(9nFXjD81>JIQaQd3*sI1LTG%O9O97{4@MD0UC2Qh78KV?-Hg$aprMwv z+$RN3H8f^*#$ws6ODRTV-nQo2dxEWyHD<0$$n0P#sS#7>QHl& zgn~xMO;9$PtJ! zPRHMZaew8XA2CljBud^g#(Z<~6v_$`Z0;O}gS5W}m#8K0Lh~QvsbV^pC2=JW{;n4~ z&*WHEqJzwvqRUyr^tt0-Vgx4#pA!8Dx5sGzV&Ge==8c`37d;3x;^*&8x zs&{6YL7|m%jr=hR_OhcdWCVZ?-Z2KVUs_}johX$&T4f~5**41``)~Oq1asJ#*1af} zFJv$Tflidw>Y8A0d^CD_v6@CAQ(#A}S(s}!jqmhQoym)?hT0`auHMV@ z2$`0z-966>4P@b zF&baV^C~d#Bc#+0N98M;@vw-+^R;+e5Paqp_1++?bFzkWei~j50MjAgkq$Lhj}=F( zqzfz}ZOxwZGMTUJ0zMGn{&-UvKS-Sa22j*uS+f)G$F`C2*nG$%UFGnd8*o($4u{J< zL^@m4gT0|Xzim8GOl7`4EghR}dHmPh6M?`p8CjI*O?TvFbw~vqd`x*7o{3kdC@va$ zN#$ApWE5*-EH&kbmaPH^YUhKvx$P|M z^x9`qTj-^3<#w=(S+p3Gk8-WwleN<SAfJD||&zbqb6; zv6kAWJo$sPZW-Bj+d1Kain>B&O54r%MCx;E)D$H9C`k%vQ2c6*WT-j0*5TEOH_I4B zO1UdMnhnB|{0G?uJBVbM^&coNxO^V96C4YxPo~E6@wt)o%;^NO`7UH<9N3bEcEldT+5eC(hY6v#Hcs3SGWh>v0XiO|6enJ2b;VZ8*+dlmwq-q%X;z zX-Dg{P;8L1TFY0;$8c7C^E)#bWyQ_8td-W%i&hW!=Pm`4=dH_Tu234|Vs&1~Q|6s| zjvLT#&T5GaY6*I6(WX%`DL2!W%u-8mUJ^1$x!N{O zZed$Q`9mbcg!WwbRUDu*Mq8&GzXW6v$V@6TBvHKtJ5FCPN6}3m1@-&x5@E+TT&$iw z$%O2tv7wk)sE$15C@1^Z~fDX)xTNanIQCPRaA;d7@jqOz9BJ9H1}T_F*rl<~djjc_mI z1_63FwOuyco1D|U$Y;;CBvcxlJvGXxUUcB8Uy>r+S46n+{Xps1_5_SF@_>31KZr_B z>uV}*Gw4^|2`3H8db{y@BJO=lN$;*NhH=a_-*kAT^x@>cUF4tSGsae9>~HWMaHV#5 zOAS`k+*gLJ(QLWI?2xEyR^R4BvBb(+NUZC+w?{9N)7+sUTfxQqx~Yhx;MCfwn~P*v zhWkxrzH5#+^vq%VIfUut1K`Nn#|Rc`NKSaN6<8yulD`wDicq!6=5xd3?l390Pu|iu zHP$8&u8|qHlY0@aUx`&&s56p$c`Q7UdW0&BE87=rAw*JNJxQlUu%#l@Q#QL!e81U9 zawvaDS9s>^NP|L-%9*lQpBmp5y-F@PH@({I_hOET`pVuDoLDOjQ@llUMcYM0fyFkd z13W=jQ$~*tZE<39&l+i32p$sf>H#fU(8#IR_h7Az)>DYY-E7W}{{FVvrBtj;^0hQg2XY7Xm?ETlq`!HJlx)Rl|zgR61^2~hDsiWC_zag&!eGBBPc4TI99=e9H#a3 zHfegHJh8y0>c~azz`nAtHQZ7Pt2-hG%Qe2Y!vc3>K}E3_?&m$2G0Vc!hn77dZf`Vt zz?*pP6;G@acpYU*F|pG2XPYWD7nylVP>NAafVsNfV)tpg>%N?Uldc~8N*!inLoVUv z#90Ko(PNAb-{~R|k``T!jwx}XaQc%V#|PP23hO+x`_rS|YRgGDidpGv`%7Bq(0KVS zwn3T;+=jfkFyPfrU_AYB$=oKsX!)cf>37_X(#`yQ5e$|bB-?yiq@4NHb5OZB|KfFa z_ATz!siGXCv-li$ty+U`fR^d*n{c%kPV1Mupo}8Bg>{T_mZoSTw-j59wr6n-{i8m* z{9}89y;cXEbuV#T zAOYMDUKeto#k@_g^O}eAYU4|Q1+C=JFyn(@`I0l(++_p!?em(S{Ifj~n*-@=&q)bBVi}dwaz~V6Gj#e7SmM>cRQxJm zmMz@ zkN-o$-{F5t{u$0d&&2+j?$6GCcllX;k(LpkiTRV^;Ipu>e-7gB$Dc%pp5?RKzde3N zvoNyYv#|a#T4we?(){h1<@flRm{@-&_+(JO&-kQRpP`KGf3*G)`g=-$Yh-6-{haon z!Jh)*&!gXAOut9N%=pKJVWwyP9GTAFEzzeH`is-}kCup$mG%=i{SPP++b8AtCnfr{ zTffc2{~smdk?W_2*?6Ji?nN*b>$w;Sd1z;0{%?)+(0?|f@DwcR+@#+1r1 zq(TFADzJVNZ2yL1Ma%0IddV`j;a~6nzcR4D5F(a8>DFHe(VsNvw~_ffA!7aQiat%p zADr%Qgox!&eDt59xxZSV-(CD&_x$$>(eM0!hW*v5{O7Xh_W=Li$v+8^n6jp(yxM_L;rFu{&(=u?~eXH&wq=DSQtM6)IaeM(Qs6!|+XAwg@YLJ)#NpgCf;xdXA@i%*x+JNuIE zQrpG&I@8oR_rsfG9R~Uh)hf|ho~3v&IG;EGIjH<13#+Op01%KrzX2e=e0X@`4evNG z+#8u-zXg;?OJ5vB*+(~dL7slBRW8)>E@pX@FhB$MHb5Lb05K^jQYsJ-pdf$VFFk%@ zNvJ%a`@j`oXHWo5agh1!a3zeRzWhq6!cRMxi0x{O#}g2Muq}h-bMS#9>NLqX!ERtt{YtHDM7tcI(3+<1a~mb z4uD2p+LJvm0emseL>8zUG5}2lYxWj%oS1Y9I-u6T({%8v4$M@%f*#WEx;_O8b{!s366~cM1sn+lhd;*{jSRw`i^zZWZ z>(bD>8OM$Ae|ZP~@Rj-$w%nd<+o|06>seM8c;91bO^u zO8`W_HzWIquZXbc2O|D3fAm!HV>!DcLvH>+fr9_J)p#4X1QQC>{6Wx;Dvtuu;_Lsu z)$oyh?N|Gzmiz&}{n19oBFFy97WhIp{2}PCqi?^($FPKbf7`qmM0>4?8vYTQA@C7b zi-ctRvBe+*f7wWhf*5nzr3UGw7WBk_2CI*YP{JpE6Snm$_18~&ka>V3xR<+hz{?>2 z?vF^F6PWA6XQdtAiSaFh!^Y@$pF&EYz=n?^HUb3(0Q3-`7bG3M+eQ*7{-CN53;4UI z2^0T30H7m>Y@lY`NxYx_!iaCJDh>qxd4qIIcF-UwU=W<|VH7|J&d=~lDEJUBHt!YS z;bc%Ql_OiyEw-0*FAv}VP;ikoL2uBD9t#K)MERoThuN8fak6cH5xDZ$HXlv`2 zhYC19bR?N4M{*Wu)iRI3%2wEa98t8q4QJ=_@>kE-vpz;*-_(~^a@DO4$m!r1`H2hW z($~txvlyVJ6;alT^N8K)W6+Dm|JX|U;daWfPwX|WvUJBV@yb7PbhRli0ix zO?BRaP7FOfl*$n=DJo*GCbuf#@2g$szF9>{|c49V{ zZ7qTpewyCr_I@kiCzCeo;}WW^GRyS2Dlr7yLXa*gQpu?<`mt*R7`uk&89TSMXV{W9 z1k~xVC>q7c<(;*KTiH&vL$zw&Xf~B!=9pEJ;4?fQMUvW^Eb&(`ACP07iJIe-EWI-O z6^oP+c9AEhYCQv>4)|39yEW*b3n6#&sX1yBWldVeuA|FNhf`ldeKY2 zavn$q2ZhcL9f4}l%KeIAT2ZM)HeR1_`g7_u909p1>oGJe(#bWq6bsbOc5wY|)y2*v7yGdM5-lhkbJkGD)5z`?OOnk}%^#)28pOm7% zg?+!!6Gd%PnqE@%u8#4opO(G#sAJ9K>nrWm>rglzdOykbdYdlCV&W*a3hB~JoMcON z&hb;iiCU#)tH|vP4oFIZ4>Qu$-GaxpE1$Eq7RrEDLupi=3{jt(mgINj$x-`BDuSj^ zIhsTE2yiKwEIA!F5;8lG1c(Dfk$K@%3z#2|BYde2GE?3pjL)*BJ;g0dFfHQ9%n3T6 z?J5e*ic1n%)XB1EiIBk}^~gi;g(6w+_}&jcgwFp(%hSd!&8tS9f!RitQ^0q1L;GV^mG7VLp8sYEXKI zU+Nf_ca*i<6;m%nz86 zZ~WL?Ib;ttYiHAEk&ybZ$ZZl3MY-lQ7_um!x!!w}Amo9@2Zk(}Evggob&o(#Bg>M( zc_bYP^jd#XT#a>69$oheM~aH*d3OOy>l?m9Qn`0=)P|$j5e%8^rq*>X3-nT`s$#aP zsO^{yUg*b*$+NoktxuyPG7Kmtyr4;4abc5-W?0oV*;(RHYKB(>zJ< z&NG<=wU!^76$%{SVUgZ)u`rQQx8nObYGzXBnJJNQ(aniMx|=~HG^cI480|rN*S8H4 z`9~G@_To7LwD+r}?<%BHY6H_cEpY0UfVKwmfr=~(TIrF@;?Uug{uhf!pVcCjSJ39# zlt?x1AQf^)Z^Ik;Int6ih1YW;=qjfk7cppRrrB1D0p}WN!?)|7Zb`4&sM+J|fGd5# zfXzr@A--&O*NVj&&N-_}7+LwXcR-ZM9o<7>eOq(iBfWadM8}*<*P|{(39B*EaQykL z5K@x|0rCjTjooU0m6@(dx9v)@(nnRzt(>iV9zd6YOh$?&La1YSt!)(w$Er1r=umdk zk2sZY=KHtC&kx`%de4YK8PZg&1$0k(qf5`IMtp)BDX&RjZKN?O#NgV_`Qt)t0)-Fp zqS!HY1$QUvz`N5GP$iEtyJdZd+uo#Yj_kF=?0Fr7ow2nS@O2B0R^B;#S0bjmd?G4G zf)yGS16UpUCwXe^k2Cp_5KNli=E71LVajUGbafjx=qO)@OK3e2u* zbwHm2$u*2HHV=i`jaMgQQX@A-45Tp1A_rL&V=gPBt?$)is`@vYM1&KT^n?*F0tYMS%*LfYl zB3Vy1Xxv7s;vKl?DVS=7ckdgz4JOnxw@HWBN@efgqiCY)<7{@nV=%SP_rl#yil5!H zx1e{DtY7B6xQrL-x@saup+28%NQuxf`1z6LB7-fVs-@mi1eyc6Jr>L6T=_8ZPdTDi z)Tc!LP_nPd zn9L0&>dRaD!>v(eOxv>r8z%0LGS+U;0#;byL>*0-2<@`Dq}<)UdjkEHPTA|4Zdj{n zv~ajoLYxx(OTz6JlvkoXq<+NQ7(xRBLp@K6pP4iRIB#JnsF*>Hz&ReLYf(pN*$wG} zwYAC<7nwa+%IJw}Y|YH(?&Qlc<>lPWdpGbc39?N%U27yr0d<%WB6vow!$bGbD>a># zfeCG9J$(6^sUWF`KQ^*Jqln}zhhS7x&I{a0MI$hl)j5PNT%c8<^d{7oVJP<8QN7n7 z)L5BgtfqhxX!+Q~r{A>$KH_IabSw7;$c{EUC-Xac=-T3|+z2#xM@;q(Z`- zXT}5Ec}N1@zaJ+CH2eSqf9}l-M@iTw*&H7KTvg$s&>LW>t?M84;^0^l4N;VkK&RZ` zNXjgP$>M3z(QCa?ZX~r0c+l0O>EpFH=uJh&raVnOMIQFYntsVRO@EPM|9(icKo6zo ziYE|*zrwlFY=;5W%EkA?M-cM$TNIzOBvfMCO{S@SMS3M7zt8NdmzWrOg^PF?j3r9& zkn3($Fa)Yq)0d@Pon2n@&PyU0Za4eoCKl*DiF{TQUoz1f^^W94-|p?uz5Wh(QK+MU zft=O{a#dzGyUyz_0>RalMb{_q3z5i=j$1PHOlhGU#qpN&;P6B4LPAO-^p7zx*`rRY z{Z`%G2sTv0fyrZsPV=F2@zFt#VK>=O0QVGV)p&}Jlft7s)UW9KzD5o!na*Y8oXK>G^7}Ep7NNjjaR2YKaLE3L>yd| zP7MpddSt3Ut7U=coUg%OBh3P}P16ls2~RPW(NY`M&*oap% zO|gPY<*US|Pu||uq=_h^nGu>cv~4YNt~V;QmN&dErM61-sG-Py1H&Wj#+fE)FnBC*ozsUq|JoqTa}L` zzXC+-8lk+AMbP71vS{Yx5I*!kqiHg?Hj1m=I$%2>CI{{QPJ$si)Yc5-JCy$*LVm;!0zG|%@$v+zP4V!k0I`j zXJz{~$EzPMf-dW)-a{u(LbclGlYYg)B)-Q^As1ekS2L`60=&lTWNqX+3Dai@>;U_- z_hq&?cF`-P1v*ex?@;cDy^>am1`$CQOWS8vZtO(y_OFa{DFzA z0a%BI&u44*t07p9k$+!RlK(JpVy55mP=^Yf^_k7sioCRF3H}G1<((sWn{#UQFO8Y{V=FsuxFXd86asW|OiHuv z#;TlT>NHn(=<75dZ(bl{_2=WB=Bd){N1l|t#A_NhXf?4_Km8e-TPCoWcQIk^`;;z^baHK}sBp}t--obqcG6nF;}e}gsiiu>}Tgm_(& zsTGYQT)i`cbc=>wmotByG||o~E}bf62gLI$EO*1cH;Hfl(Oh5qtR>A8!(8A7U*SE1 zkKmEAQ5^50pM4@}1i0kc;~lN{xFom2j2IkZ4j0torY zU&b(nXvz6Mp5w8J8R+Cw$65JTxo(Q0B%ZeC2}WFX4Z>O=X?@p&Mmm}$Zg?-oiWg-# zjz9==xo>zpnpDz63>|~KhToRx&jpND5)#AqA1Sp?+h+T{_0}ZlOsbiMX(Rfx#6twK zy=UO2F|5r(#)eu04M3)R&8>O9=cBAwpr8A2N8ehOW){W3cCqKG!xxHueK5oH8IRs^LWw- zYl_phPX={|vnnK|jj@JA(2bl8LuUxZx-uYPib|>V(mSWsjl<9&U6s}F#dABxdun0< zN6j$=V*(ha-|h0YPE!)U=X|JcKEytGcU`<`w*fgT?@Nh@A44vyAK7<|2x4|DOsaqk2q40bDZei!H~wLj)7 z+9!`IY+72*J4J1z$%znYV!~yW9JpPki(aU0{D?v)BYUr@cEt0Yr>@K^T(mEt;r8c|9W)+P&@J?v2vxUuEV>?};P|^{$}u&jg3nyrkC-zpiof-90dW z_hgG`@+yX<87;S5Uv|y0!0!vj6SvE`d0+vr6s2l-LwMzG+0^Thy-b1;66HVRK*_>y zvCz;scdd0y+d`q5R1GI&u+&1xOTsbE7CwLvZ3zj!>Qci*-b03rKbZF>fl_N(GTzJ; zcrQh%b3j}iAFa;x5b=~Vc#0kYDk9(~**m^hpCCN=MZgtn-~IfcEv5WXf%5c#Vc}Fl zm>i|3d)qM<2dV)ox`3Cfc%Wl!)L(b^02L|LiRM#Jo-XT4d`L<`RZEwnVRE<^uA&pd zhI@`XQ@1%NavMSL5~KLh{y0FLHS3reo0P^)u|@5Yxk~;DnO#IV_l0Hyn$L#NaX%Nu zVAPhHINq>NH~I+W=x+3sPFa%&^NfkKv3+bQx*?m?A1^|Dsth8tGlMBSL9^pt(A1LH zVn&#gZl~5bkD^T`%);H20{Fq2+7k!(2a-!dOtxLM5JQ!sJ*R$2tVbW({=0|E9OX9W zcP?kZrcaW#V}wfER$#gKU8G4e#y!tmG|(&tYTtC9`Ds(Oh_A&P`{JAjN*0-icP{+N zovXU2oo9G;n!It3Aq8jOKKwzZTL*jXIG|CoQx&9AxBMLdO*z?QE&z* z)w+UBm4U+H)a7-$`eOqsm4QnYJo^fUqkna{8&_Oc5OaFdsd3SSlB;Vw^0Mp2o{#d5 z&F2kcg=70dqD81xvWA_9YR4KNBnWsg_UJ~2VIqJDeW!m{Q1T{y!Z@c$y!<-H9`Y?3 ztzA_15_5pG1jbki?i`IJVe50u{i8 z4bz+WcTu`nycgxuHR@A~n9^yHi|a1-C&xrLjlYs3E-#Ma8FJQ_ZFK$KLeH}cPc0uU zSK}X)E|82p4=br*(<})s0vu$IR4ZiizcpQct=mLRsBEd|-ag9w0p)p!8Dgp$K;TBSWS9L+H}7IEUg=G&q3@i{#H7D|+{}@NQD9!>R0KL2$9z6c-3!!VKAxtt$*s^O zl-F;X@3(81H3|D*L@UQg>q~dnxf&_^wytt%(M$8F~z>+r;pZAwFJ|_){`lhm!7nAYxs10Xh|(Gr7lTasQiK& zHELOiWz#yYfP9YeTf4BhOqpwPRQ$Tf4@r*H%K;ddqTL?oCyPdOKj-Zy_ln_(Qa^gh ztXvPvFRvoq+|LW;jBr~Zz1Kpo)TDK`zTbDov}YHnhb1G>4Work6Bk^^jY# z+3sRji*Q74n-D)VlY z?W7Dl52qlRHdn9&b3||^D9V&VZlKgl*EhAevUPl_?S(++C|uXuqpxJM=N&m>lJ0qV zO&>jbliOvV6F>(?XRE zk_WlFa=P1g9_UdL?8$OEL0QUn{o6r*3HUbDHe{$AUceqDI`?2I}();sJ z9;f<>^xVWT0>f{f4#IVZaA#kKWVcfym@5}bbwqxQr)l!8v$JyhQ9s+cT{_^xh>k?P zKQ6}D!r60Lms$M8C=i_l@8Gqfpn`Tv;KM=5LzBC1^DfvnI2_8lD23UwW%{Xfyf z%DOB`ahtare}A+1As`uI^=;oh92!r70!ir|UFC#tx5PwmUeI2;BL;Lf;?&4D7MP9q z-s@bumF?nYxkaOd8v_lfjO&xf z55oRuP7a5Q!k|>Sv?{>5eV*0_@SXfH2JpM9nf&P&Og_vq2j9+MK;T8R>L0bi`pCC1 zXu%vK*9h?9I2h$J+!}YB>j%Qv8O3%t;I!w$y$CtIeNUJH{h zApEYB5uHDMD-r^59IE}AU+n=-hd{f0^A0wHI<)q5KYA!E5D=8zXQ4GS+a8}LJ}JPr ztECXN7b|k3n?X6PfhhbOTmjH&!Z(UcncLUyN8k1?e7i5h0#__UtIEX$Xmk^ZZE*UA zz0MUp)9P-JagCbM9G9w*(a>3?VkVJ9-D?=8)zYrZ>Vk!*h`BmEzD;wrdo$*CBw|DD zvrqgJrZ1{V3Fpkm-8m`(G|!Z8Xoyt9EQSU0@DaUzGZEPvY zSwVASp!i0b{zGnoH!-#HcC2N}s_+6YZfzE58jrg0_^a1Ja#K_q1r$F9#RkH`Ws{8$NxtoA&-|6HmA;77WR7UTJ z!Hrjqn~7gS)i+`jd26!iyJhw+7P)5)4OD{(Fm7~}_L_7$kW->39&}RB?F|w~k=2`7 zCeHFs?Vc!E7yPxkr}F6j5N95)0W)&lM3BKoMN4yr5f#<$GN}*t zTunyUw#i}CVvzz2bq8i)PfuuB@t{!DgxH9d_fyOKb~68!hxzvy z=2M;g&Bpv!9_IgnVg67n|Hi}oI}Gy~`k#B4e_)o+1?T?~v;0x3iH-SxqFLBKYmEF; zvwRjs`X6YPG0Q%Bg!UJz{bk&Sg}%jIOmW~4T$tA6oGezFp7${e=4rojo7hOkfM47>mpY-$$L52cD(9HEt zpz%_le}u+_n)-IBmUsfyh^$({9Shn-Uooa8*Dr~OwnT~RTz_kJR3V?kNjt!s<>F+P zKIp^Yv-d&2U4EiQ)QiN*kM2kSX=8YESxOBAT0yhJrPzDKeSYQm@Y?k8ntragtMp}U z(B;>nwd#r5l-bydL+s77@}g1Wfoe=b`7 zwI~kTpY?$LDOwmlPx|kPmQNt_c{%KJEXOXpx~arZf30iep3P^1q{6K1=5O zevAI8TK?sF{O_oi-yQvZuK!lGu(AK62+kiRaXul^KUE9+A61L~W?cSNwftEU$GK3+ zlV9<7MI3of>`*|_Pz>}?Y(xu0kRw~+BLqZHi_h(0TcsphrD&ghy6FB<6sK{qZBf_i z;$b7p8f*|q@}8V44HGH?5db={Fu={_>(}IoZhU+QVnPTYNMLr3iyj7uj5=fXc zI5C2vkARk_Pyu>1UQ~#EsPZU5phj*4{u&4bYFgNoIIsZ!Ui`RuKY#KDW_i#Z$RFUx zP(Y3H;%Qv|H?*S*;IMAaz1o$xxqA5UNoWu$2?;+xvf-2+1M;`!A&^R;d)Rxlt5kyp z5%`TzP~iF=Un@XjzaxX~QqmCr+S?<6aBx5q&d1sFcnZ+9k4Bz`*oPDH>OBqU8U#BQ z(AM{ZC4=}0vgs7q_JPPK%AwzmZ;pOB8sINvApTH63}46t1KX~NXa2nmc-}39-~-^~ z74RqcdkYVL4gO=bqo3&qC5YI&Y$$&|Ihq>8EO?AF2xm7UeO_lq4E`WiAAB(WnI9kl zgxkCdZ$C1S82@P%Kv!lMz(NvCKwJgJN7gh>WN4e=I_SoB_$O+4qjYMVDHnffBS%9+ zN7{vZ{6sC-utB} z{htgzFdlz^0t5xz+mnNtgF6Ki0s5(RIrd?Hnih5cP%mH_0X1R}V1cfjuJ`ZN?xwMV zgx>F=AH3!SPS8S3u+W`dq3=}Rzeit#8G;gb^8*?%ARxdbBmhZ@2m1SdR2c&Ve5{P{ zIkLpVk>}0h!RnpO`(@m}CPH%iL4}|_UTAujQi1jPbNeB0LJ@-n>UMO0*sXrZK6Nd> zSB!oHU4CpNW`F}-VfEbLeVP`2?Vk|2d<<&X_ubk@0%$HpP`~^>H%|2%R>ugb`M5|U z1#>KdA}J)=sjduetLW)4xCgU`nLmP`eckT*kaC1zM>6$y4Ety`^#{^NIP5Z1;|$`| z(;+!m8-K+K)EPP4k}4<6Cx6lNME-&dE;wx-4*&BwubP?x|BE+?v{%}L9W8JONIdzt z3e=?~J6|3!6zro*IT8{-!G>Pd)?zhW@acy^V1QtaUz#C5!6TnEMPA(47U^So(vaPa z9*!W-^dZ&2`~Hl|%SWxB9z1;-8w?aWmZ*S9Af77d5}q14gC``lPdv%8BrhxSm&XJ< zC!Dz|PJJ#ktE_n5DxE^sMKINRkLA*mQ`amGp1Lp{?>@~lB2V(}@}`|(%Ll{9YlH_a z?ECNtpS15^$cC5|(nX$8TXBZ`IRe{{LIXRD+8D@Ih|bFwXV~dzkC!ZwGzsoJVP#OO z=UmLw3#EO>u?#lXTsF0k*186=SuT)p8W1c{a|%;Ot7z8jfx_=7$#TyQ&$9~6jcj8e zrmtbNSN9Hp6m}r1QpnloXd!RUPU2rG25TN zjy|4n{JozMN$Ea_B;9Iu0C!6FNU5-K^=9?G-TLw}$b;c}wC>#f#0uH{coM>(q`z2n zq($+Fe~>IgNx}0y(hOfk@WVk4y1*dk>!oD%>+SqYg@#Y;!vm@l^+A6|_Q)yG7hcdy z3Se-lI8xo{wVrLqYz@5(2@1Gl5nxpn$fwjxcq4EN#9js79&k%G_PPo_2nJYJROb$+ zJ)5tzP%ucMegtDPw(hHTX;n>vI7}0gbt3dlB$Cn%?!S<~5caIN7TTgTgXnw5}#(kn-5lWe8rDtFE z>IQ#jU6wos#OZsnhsEEVtA4<0R@bx8}jn+ID1 z+r_zjCf9fJ0C1{;+Lw4KXLu4 z?Td%&^kNH)3%K+0B)|mYAus%tYS1e#>!j6GB<*=dj9gK*(+#%z*V)_-duJXsEz^@ap#(Rv%B#x)rE-py@$F^8UarK3-9$Ii#3! zr|$#Hdn3FEOd(ey9&@h;P;{-BoR_#@dD(`%<=dHujplrXnS=Z~2Y5oVGMN z^99V3^Beq20>@aMdF~yjkZDXKm^F6MQsh8$N@wS zd(=y7>P&2n^%0!cvaikcLD(3xZNf1eowK}~m`opVxu>njppa&R@Xp^CJ1SpnJz$E* zFXoh~T+%&m>M=nCFum&LP=+~l~B3Yj_HcPRS6DBY9)Gs zH$+Hrw>8AEdUwU>#oj`5)Y!gJ%x*$(i@3of?0&Yg(X`ECS38jy-G9p*sCQi%!q4WRbb5f@>X7LEoP|Cn>)Ov$r5;??m0w|86Nq4ykG2 zf^*CaezDB_EXENHQDkzadBpTO&r0xq5N5Nwe!stPlFcMdhp4t4MFjIiiVk)J8L+i8 z#k1}9AY?&=KtnD!hY1z+G58*&Z&C(bcc$fTLw5ZOL1%Mg+fZUs{s~W@J{u#+2~Q0n zT8fq$>dbUV+(T$*p`*0(-bc$!5Ror?p}jWErM%Px=>~Io8;y7aR~NZ#&x!e+m&U~Y zH`HOWZ+Q_{W0-iH3o*O%(JbryXh=8RYzBSqPvs{n z(n1#8SQlV7CKO8Ci4Im%+NS2t9?Zl?Szc278XETTobnkq@-k<`t$-my7(`Sh5KO9z(iJvNyShdu8!TU7T_ zj+DIwPL#C4Z{D*!!Ef&Peew`@oyMlQA1M3I>W<*5@0c~WFY_rjNzOM`uQ~|mu%hnD zDPnr#{dOI_!gJq>@$uaJNF=bm9f(BWruOpFzJU9onA=C?g)>cb@vJRxZ|OA=*oue> zn&IBS*uc|J=FE@V9$&j|gBa#Q)G4*47h8>wCQ_?C@Y}tR?6Jg;lkwPUCIqt&+uF$U zgpYU4WXbN0htrI4+SHA$2^ad$Xis3?Q7@eFWZsvM0X20iC1nN9c+ty#^ns7c!ZAS9 zSg|*PdQEBdnX}bj^6IkIal$8JsVhieJsNDw!#8qTSQ2Vce<_ly$09_jHa@^VledAg zEs$<`3J2TU$ z_Q5M=$dstfIJH%WO5^9>9;&gN=fAVHP`npx(QQDl;8K#L8#yqnRDN^k|C(1@;8JMf z{gg_Du4qBfQ3aKrF*}QfM6|M=y!65^qgF*#{#^9wFt0nS1B#8)Z)X%|y>`Yv3gnX+ zeu2?N&%)FvOiXOy<|#Wn62+EyQ&tK!Fb~i84$09lbD?Y4^~`bcV6Ca7)CVF?%9Y0B zfTF>9y*s8w1(*GE)oRF+92D;3HGUjFdnNlx9(fd}MsI7^5QInJJs*o$BtjQ-Irovjr1B-I*;;O!ST9mn^|WTksR6ygH2$REhk2O3Xu1Eylb< zP0l`zi-MXSj3$!rNtmM3PqpAAr8QZ~ewoWpx}e52f@ZPynpWkG);2tRjuE@(A8+#E zoZFh%R&JZ!A-OtmkI5N<<)_%jYV=~SmmyR%naG4ObhyuC`w8hW(_YdQ!mjPE=lyz35% zE3`bj0R@u5{2-)R8uo>v6n>AgnIv*;AhS4(Zavfk&+s@EO_zcLt&$DpyPiq$!lH_)S1PN9A+hN~-itdye)8c$%{Nvg$~_5$nRU z{CL0<#fEMWi_6Rz*=UJH-_p37>O0t7sz0vMxuYbjvD27U0y7%opFc){K%=w!V>iNa z!n+~2pWGxQUa)ifdeM;Eicm#kg@ppA)^&a7*Fa zElSVBTrUm+7d+eduaUCOM0&fgW}uIFRVaAZA559E{TiWK6@XvyYIqv*qjUxzz#uIP z>FKCmkG-KM(y3#En4G!{=AT2D-dSi=N>9*7(bm^D^GqnxG5BdUnV5lexg7YY|M0`` zsx^DQRD~yU!;-*9DU3*&CL=3c>qPFnjW^-pueIhiJUN}TI$1r?56{`BUl`}o@Wd^t zFUK5h`})*$*#Jfj89PcRe!d((6G*JR*q_9wECIp=;UdA^>70{Wx4eyUk{p1q4od94 zt3GmqccwquMV`!#+cq>|lX@S2yX27a^zL%H1A$gsH3UD!u(8tZH2VO*aCkmlk+Scu z`$OCN^y;|SA#rofsrtzBQPe3s7i>?W zCzv?RvN1#?i9|$cH%cLU-B;E7w!SIcTD;S(w+J646;~~Mz5kq1FEo!TQrNNEHyg2U1aB_= zoNUa%ct4SW$L4um3ho9w_u&2BqyCDT<&9nd1$?YFxaga@wVSRMdLr(eSZ=pec4c&U zA3N!z)Gpsp(PH8LHZa2H$b3D*#zU=|*&s>5LQ)CHOr_7_L~81q6OO)CVKUYr@UsST zqYREM7AlGL555LtZAT2|3fZ*%XZl67pxSuS!tzqvAt&qm`V!}bB9%XO!;^408_IGH zoev_zq0--M4QMZf(s@ii-bA7w4Da##Fmp~9p~$8H@8@X;!%sN`!iMVS70OdRx@t(T5p7(8YkW}E4J zi6K}SH`(HqSM|vT1m)OvSLS6Of0uaFQkHnw4SqJ%Fo|>)gCg=plTj>Wc>{Oa2zp|( zQjvnrL=D&*IO)elur%erU`b(AEfrfMs$S>B-Vl;N^WXvaBl z8X-y+ymwOX%N-Ld5g=j`V-V#%t|9tG%hi(5nlounP3DEgs&;e5K4Y1HQS7>_hEy$b z2C&ZM~%#C$^MRhbYtQU!NZpcOkKr^#SY`@#%XoUgTt zSFC1;!=<~A>eg11Y8H0tp8VyUoy6=?u+C9=DZax1n1iTrsK}i&mhI%johGN24;k6p zk?|UQL^9FEIKQ>LeOxP2u~BeV6x*)RJ*eL4<_%TkiZ68V_40_;G}8Vyl=$d-Z+ZR8 zCd=u*_vU$3WR6KCl1Fupm0tD0JKuOH_|ICZV>prDwuVzAW1shEo-7g}BqO~>Vv{atjLiuQvK8%jFW+(oJiyZ+c@^+(| z+0+}-sH{s;F$KjT8`0=?!|54u`r33`2-rM)U1!*5l&J|rgfhw zwu;f%Z$F&e?Dx*0i)2HX=;=+PkcLb-`jc%*!Q%BY;&2%HWlHh7@qYz@m56+_maJln zw0l_4yykOQ#ij{$k_WMAYaKSB&4s-_vXrzb6d(%0j;NvTnma^;be)WlvdtDf-|UZ& z5uph3!(y}{_yGy5B}r97G)3G5Lgd=4|9Rh2SUMD@K)wAEN>#*5CABf8q0WUKl36b_ zv43#dYpX80g5~`jA1dNHOj70|TnSrKO`A>*+|`(ZN`t;}0roP)K0Hnhr|Gp$W?aIf zND$t^O8*_{I>DaAs1HbFpMnTRh{N|EzU0((Dq>zl$(N6oRI{%XHBkiUZfYB@5N~2kfiE4W->ABYT9&6 z#y@HfYwpXx%lKfl5|a7*e&{5@_@0~82I>!I@_yCl-Tt6wfc5eZOJJV_&!C^y6 z`{}FuHg*~tN*`x#+-Q$)k%V=me_ft*35&(skAR&K1EBdHW&qx@p73;|cgfeaSMo5poQ}saa(Vo{`DwC8I!hGbcr0*C)V5d$`wTOvYl-nLolJa_4;VWGgJT zo|%DCU2rTmZh7GETpa2u_hC<~b%yscTjf$G!npUYH|NbR9cZGAjGyoLUIe+}w0hdxONiNqhuNIt{Kd>mPp>Gx zM=YA4T`=RUAM*X@99oBlZLL1xJmAg`N)F3vmkN#E(&q+0)S-X89&8je6r|(2i=V{c z0C(J&Q#TTQiqzdBp*U&DhCgUMJ~}kbvVHWIqG`ju$#O&7W4&h{Gc=d#Y#0x}PAjHy zdoBkG$<4w(dKH7aqoPg%(|}ZHaTsPex}caSKUPCbtXdjTZ2TgEXB@nTDR`lMXhrQ# zm^T%-kQvHGl1eE2IDvNSDX+s>pCcz(MjGEWpL!>d(3=t+qYWukN=rd1sk~}$VI7gF193qOGJw`jGwlflWO^7OyWOzQb)2`n8d}t)5=&y(gOO`wttsmkwA4l4eWU#& zj{BY$e_pG|TYRqZbFD_-5_7k=D5`iqoqnkWo@CL3{ZX3mteWIPWOZR3GR^t4BK7{* z4|+IUzXq!ni>9xD#P+04FV2eaP|tGVs8o~fr=nHLRRTAxbgYre(OE9OIW4SbFG1x` zVZQu)!>S%+Xg`Kj=J_srN2QL#&MhHM>O;Nem%h$JWP_-O@^rlSM1bxzG)IF8F>G_XPEaRF3Wm+_Uo@?%Ml(4Vb~n4LE%7Wu9bmiK-Ptr&mP$Ha={(h-PsE z|1klK!pGv?P_nX-Q<2C-rr^C`tR;U{`!vni@a0v=?_0sroQH%&2~m|MU$$IrAK+4x ziMLwwv<}!Xh+qkzr@Zgt_w&KEmvn+8}0i&$8Q|z9)Z`b4OFI{I+Y(v))1j=32 z-CCgKl}i=ue=r%xM3^;_tTJsYYQG3$O54F1pC!R`_@;RuN7`|g%LErL#gUp-x_L^v57Uh5R%PBBE#GtU_QO`x7!_FIylJ z6DbRUoKqg2A*`+YwnT%YD&=st^RCto;)u;xV+Sb#B5BNU0MaP3&BVz9qQsd5EC=Q-1$aZWJ+13 zn$rOehUHI<(~y)(xX#4zg>aqlV%N@87HV!=K8a*Tpu@MiFcE9F?_^6;Uf^>YIRFBh z|HmZsYfb;>vNpg?_W!#ao1Zw*uZWw!7$AVZ=D%cs7yzk1bZq|{28b1)-}##X0&qnC z3kImwx|a@i0{JdsiWoT7zL0!Emo4B=l8f1- zR8d+|PPMqLhuKs=#HIRZLi42E5qa*p#-zx#LlaFBt&rx(Ad1KrCVf?>j+3ml9s(Vq zM#~*6OB{Te=1RJBGu9g~MbHmV6#e)34`A5+%Q6I5pIC?}JaGX_i$qInFFnNP z1>HVhXwe8qmk{xQP;ybC;)E{*Q=(y_jcwC~-V|&Liye1fIxb$^^EX^3IAxE* z&*5;Q9x0San`7{3Kw`jWhZvX?sR4Yv2%@S$U`QagwivzbtGaK3KsaCN63}tNVjkhY zaiPF&Mcz;dv{lRE5`z>SZbN{*1MSwA*R`WSfFcJ25qkv}%+2>5LC|Rel@$Rh3KQ&V z1H!qB!FwfdimzpDnAVBrwI+v0_((x9e)kEt=m1WjI|l(w7INzZ)?v^&kblKjSd<)R z@8qo#X@y~YZ4FP}-`|u;9cb&6#8;4g_~IOR($>c03*onS!IweoKtAQ~XM&n~U$v!y zx`3ISgFRjl8TdKe^9ac?5RPmE1oWV2E#u&OfP+EwpFks->ipdC==$(=Pk4YlyLh4@ zq0oTd{s^<#0EF2fkfR))0`uMXB1-d$G-1OQ6_!wMoa~Q51`^f(aYv;6Mdg4>7< z2BJT!t#e~tJLrj?v@O_1_77FoZx`^`qaY|N@TTBBaR{(rFOSbJh5@^&ph%m0Z}87| zLhk_i%!gE^SFi2Y>v|+4`S=LEv~UoY@520jbz}00Wi>&-V4qz`yr7;Z#9oP1KsQ6d z#9!&@Zu4KUmhNOoZQm$R@HRRv4nI`G1_L((qHLH&QNa4W{oejL%Ep6K37@rb9qP1` z;O!l-T}bQ0TUfXK!XS1jBrdV?uPB@DS3s1_)YxXH0oEEq86e6=+S&)7WJLn?6w={) zh=)Mt8^IX9cf3xVLjaNPqbTitA9A8#yN z=QSxYB}CvCSp*-T+uZ6TasyYx|BK47pZ>~xSm8gwW}!CatDYb8xs@}if~ zn`ICKOv=z_cm*W#&{sf&4aE#(P*35 zrnes+nEsjHkR1qL?+O|O*V-w!og;>Y-I^KIQA?(|bd@xcowZ0N;-8zNpHdR{KSsWO z5PAMsawPrnHcUZ9qzPZ1Zt%0Eg5emOkny4TH+dP^cD6@J`W;->9o!7}NVXw7TV_We zaXtrm9wpTI&!)3hM@1fKrCt$oQ`gIJId@b~-rGu(0n3`;5~t95qt$bhm@SKz>I_ze zzJ`v}5B%%8Zy$x=6-*>UzuFx9fWH;Bfk8d=7B-4Ks{dNspN|eMYreqbV8n(DI`GVV4Hjikx4~-Vx2oiX_Dx$5@kXr_!ySCnz-Yp2RNt zdxW#)0<~>@ZLBTFQ`}?mlg)3772)6TL8I+ zR$@xlH{W8)jLk|7vA5@G=~t^$CT!*mB)hKa206sQ=$(JAEZ9W3b9UrvVPai2%+qB$ z*x=0>GMB5HPW(n_{9pxDiDa7#qZe*`kBCRTtaIKGpRiS>L~JM!6k~(>M((zilrG!m zbD#6${cX>{y#Hrp&|Og4G1nGkO8(wJ*|XvBx+T0w%$<@71+uZ~m}3OVvrq&b9roMk zaD@E>c4bD`IGonzZNv%HEe~%&@4Pdl8cD8ic&_dh1C<`m>xX^;G6=JW z+vrfZO-$2XsGb_i_2Vjw@LJ;AQ5GVV!|BiiLnWHZCV0ys{VbhVZDsLqe4KX_kNGfm zZeF)m**K$iPFXN{gQl+aD=PT){KGe;EJ~S3Eeq28RKwm_VSW4c;Fq^#OU~utTjgmp zBvpH{cNyhIEMg`T=i{Y0&Jcu2bvS(jMvpXwcs#^pVg6!)?|>$qswZaF8zF{xVlRfi zc~dYvDjTmg6i^{G^CEM^X@It|_BNCsytn4P8Rb5H5xQfN-L z{V1mFRKy`7oAg65x&H&hwI)$&h(O!M(>5yF)rN6ys}k+N(%Cqw0$8R1#uIMcKxd$| zRxKXYrFtB0`S23PR@f6I1gpm#OSVg>zTc-l`zLqT%O;TUggP^1y7VIm$Bf^}r z28!0KB@XAgt3+t~PC&PZjW&X={SL=I&NLY`!9`Sn{BqM^VpJt=chuZbkr=#z!4r+8 z>&6WZw~djFwMRDF6x<-a^#L~jX}&crW8gf}8M2(rX3}e|b(Wk6#w)RIyKVCIzW?5i z0hf{P-Jx)SfKkZvIS4(Qix;Wac{=e`eO?9n6!6D9d9(vPaU5ay5EU^5XMt#mncB+u zZF^Bf7fMOx*&d-rn0)x%O}^R&taUQ4_N4n>Ld!@R-LK|mf*%(YcQR)g(#Q9zE2!$bVFDw0oSiM8lf{M{_^)!->^n zo#98P&Cc*6Dm|3zyW9Q-a~?-~EpnXz)4|k+4nzg=%>gH!?MID|)|;guW&4QK?kK&Exs)i<=plYsXT%R7<-C>N%~CLsI(Z{U z#m4a>i*CzB7g1mEY3HyE`SNk6PA%u5)K=Bi&zt*nsc21!#ldBlu27S#P5VvV&NNP* zdKNo%1lE))g);PP@6ZdI>BnLm#eRa=_*H(&#DrrQbGMt4+56ByE#x;1?`;i}M&AC{ z>V`F`1BRdhm4f}tQGI8H^!Z6-J4SGg1Fc^br>P;X+P7Pp!U)h==Vc5onh)1PqE zsx&UXo}1Q}r@e8aVHFU`tn&@&HvhDF1Xa3@+~U-0tE369Rdkyoej?I5d?9;UOrhp2ZakR9i9BiKDRQ`EK;;CyN6@9s@y3)I|^JYU4ak(5xYCt zO91R&d&S-1PU}MAHkhvZH8V$;x9~=mmn?nqgg^utY*~#4I_&qbm4u<+zBXao^_9puR>{fHXux-tReWx?AqkVF{08k zjnT9gFTTM0D0tegIh(V%4()x{-J<4b&Qq;H7^*8pxAB_c;%%9{|DsheDMe>IO~5wW zJ`1$LmuYtf4eSXI6MJ&@AsTkA3YeC!z8S@g9gGiMY`t)WTaJc56Uvk#ZjbCXA04uD zQEp|jRYtCuo0#=Lp{t=i#%k3Y)%Ru7Q=)NPz5;L)+aitWM64S*fcyOj%2>a;BVBlm5UwX&h**Q~t zG`A;oZlx{M?)+$Vb6XDXm#3gmQsk&5ml4BcZJ2@MI;>DgYzcH*Ykj%7_Q=<|k{EPV zY@%Htjo}ldGkD){+%Ck4_AN)8IEW`bo4}*UGQhH@@gsO` zRIRPj*c_CeHzuxE9uaK)Qhx8F6HJc*4^l;71=XAtbs3pEvFCSJEZ#KF(}N}}6SVGl zVXKjA<dVw2d?Fu8!&>oSQ5gaxyc|#E%S@k}E*N4&1M5oLUoMAFr|Y^}Q{hW3 zYu~$$l#V-*3JUIjNu*ahgHB>OAGzbKnRiN$np6yB@;HJF%FW~vo?;pA?R5AK*}U7d zose?bDgJ=bl8ZOUq)SZW5s!1x) z;Vkiy9<8`mA$P14Z-H;7Lpq#yx+`4v<7b=|)vB;Omwvv5lX@%dm;}U?NH+ky;hrSr zq=%UukC|(i{|KCB`fRrs8CeQeOJHr#_8=|1cyFy{w&`9x?5S#LQPN^*qBV1RTnZ)O zw_74oR(Z`26n$V2#D!HUP|I>kJLe#V(ILvNf@<6ni-c~xla8!U!jM@)hdE_plYH~s z(r4}Fs=%cypmAl%xLJ)m>_EDmh*WY;+wc^D$PAA$aqVcAA~=oB0gq#swcHZ-GsDIx zchBOIvqMzC2F^UAMSb*q5n2ehUs>W)m^v+w+xNFq%iS8agY)T<1>8gXE2h!;z1xwF z*Ez0gj&bVJ{7l4^3$}uZy<9lfncUH5f`Uqitep5h^oe@xNV1U1CtLkKw9l3|wYQI; z#+l#+zDgEXp__iiQyKS;BuOh_ndN5@$rkcf*-;9YM<&ELGkOq~+Xt1RF|t9(OVNjZx|W&m~w&VxCfO*w zRvYgl(Pr-{ZduLj=nPK#K3{L&d*`!Ve))dkkx!MJ_=JMrVmYW!BwLEMQm@UXYba=g z3ce14hoyY~izgt%M&v!hj@%Fa+P3Dao#US6Vo8aJqg78_P@;uQ3qMjY&*am>M4C{- zFEON5fxF~Mt?iHAMio`yTE@l=!>co6*(;FrSk&7+>330QrY9td@{$82dXIM}=k>)b zE_>zT9Fn%X$51VB2J^ZJ8|a0LW|*7|R9eU%mBCuBwUyia+Wk@4U5wl6M@Y3@LPFt3 zooAOIPxQ>YMDK*G+7?`BF&-FhJt9&DMkE~8kSjHp1o6|*Zml2jGJa(44ArO2jTT1r z=s&}9(6gjqynQcL4M^3_-#wv#p13T_0(S>=y$I5K1Wz}ZFz)o2Y5@AgdLMt>?Dz>Ynr{D$gT<64q>u$# z#~VvYoi*FmF05^N2WP41cFwM70Cfpsm438P9k}=hfeHLDhF@14Z8+q#W2#{(AG%lH zSKLRfu)zdydHRf|ZpUm|Fsfd}4W{8?HdA~`36~pWc2#}pFNBFsF?BZX#pxGoFU6p7 zC;nT~@8T`Mp!eciq2tkB4o3GH01-CCzB+#W6`V(uD-7)QlT<7Bs2LtZq7BFQ9pHYK zXv^?s`W=&;hQgRFjI1leIpzOhAQt@v>g0SDU@rg)A0`>YPbz#0%m$MoY{R$16HossF#ey+>n7@XS-ts)K88E12q-76v%nfWWyN%0I!==v(VIvE2}sKok8 z0V6jUrd8D#F6Qc&ssi5g+hZ_o88~AB^TP45OjBU`18{6=)BcCD*e(4ZltTEFrI-Su zdN1hZBr0u=3(0Q59EcUxMFq#4x!)=GGe%5+2pu|bVtnHO&d^SwY+j6=p zN-8C0_~N+Rvg&!S5>j$2m-{or#(B2}SMOtLAgry&d@^3NWB;r=;N-ECVRN2WbqtH#Lg<~-qCf>=8z*S4?!-Ra` z>Lq$ur-%%@3=14}Fl|F|Qs`K=q>m9gRfk(`3boYRoFDG^&|X^QIba$lkNzd@^4#-_ zd8&(NcBBZK>5E4Ps`-Xd+H-5!=S79sAK(-^EgeP&ZDk+@JIJ)tc?Axl^%c zBph=8NW=aY!b#!zE)JH>iK+g~>p{kiBl;QL?hPx)Z}(99E&q zIAfm$_KuE}Im9}``nu{zO;uR{pSkoC-0Y0t8$m%*Zv_Yz^5amd_kNq*IA*BOJMtBK}HE*vcRjYzwiycfJOr&c3Vzt-9cwye_W%Yclm#7JdaW*S}3 z(&gA9u-!O7GRKl$)sh0gYf(`a^8Ppj+*>9_qyTO4=#$tx`4cW=iI6C8ZYFn`anX{1 zZ6f&kv(2Yi8|16K1n$6rt>R`(q1yE+2sw3gs~CvBiguo}3dKgviCG-+wD8&c&4a~N znLV3+DrDS+Whw)v=8HU|msyLY#<-eNxl+uK0|ZA*2F5MpC=N}M)Vd+^O3%`<230wU zlmoSOnBlo&rSqp~R%^7IDHdp{O8*{EZ80b~uCJ|bSZwRxhiU3B!wj>!4dx`X^-8Y> zWSui|gKiT^*(9cls9M1wpX(?rjNPtOPvCNpN(=BN``OC(>t!A|i|3&pi|!Ov>ar)a zZ@e(2t&Vh)(Qm>g%ECZCR5s0wIz&AcyIcBW!!sVq0A-BM7agX8)JUr5?eyFp=XZXU z%=Xz&Km6grL4QcYFM*ZVol)kRD2OF}(`H{S$jqO2a|`8v$+o{w!f!5K(8~XLXM9;{ zWHFzFaVD{WmG-*uhJR}_Xd<8-Nv78?2gA<$Ycb|foUhRF=&XmUCo)tid>ErrH1^lD zz_t!cr#;Qx5*jN9!qPS0%HSWtYqoVM=O;{|01?dzoh`cN+_u$8>daVW8Gl=aCv!#7 zgo}3P`C!3@!j8I=j$j1VXTh|G(#>~<^vuY|lP3?SXRsC;veCAunB6Ls)TiN8C{Ea- z6pq3HpCO4mK0{wORy0veRX-!J5@pZAj!BAWAYS!*i=_$gTSGl0I5y-L$e>P8Y<#(V zvOaZmy6bF1BTNyi-afPl^!ZViHsM`V_jCySGXKsyu85WOMm2m#5H?E)Dsu|2`J;Ie zrgI%=QfDhG!!TM&gxg@%>H6>J5q)FTS*NKSrs=Jamyh7>6^rduU zxYucG`t-sM2@*6i1_gx>+3kl)3N|9fR3(0FCK=*WPdc^e=so8qR~7FbBF(%M`3`&( zGpw;<>+c6n?80ln)Z57qbE9?AaHeu!I(2k#RPVoz)tvOcXyOQ?BE|t{e3QPJkX9iI zhVM0X_Zcu>#poX_&#~4^MW+vJGdFl?TSagaA-^Bh)_X1AwKC(Mx;!)5s%uP%{VL&b zKn6I=ax`|(M6A7f%jByKX3AOSCt}a^4{DiZbEv+iSg)jwEASXXrh&mpVv*KZQP=jf0@g4UCDo4I;fsY{C^KW$n3;n31t zGgd}uk*_sB5rj`cbom;Mo1}=RfHZSf$LO-IKDsFTMTxr6%c73d zq5ySX&7@j5$Yjy~1^Oq4XkP$aQ~?ohb2;1%I+&i; zNn@hl1VV7%A+_bnble?f_UX7=&0}H=d$3TIE&V)_SM@rNzwe}`BAFoi$tK>tHJ%D<0B z`5Aoj%Ng|FrK9}&XcR!vKWst&8&wdX@E^9IKV3p}bOfwSOaOh-U$6z+&pe5LtgQ0= zT8UR6pjDC=BcT0hRw1C}GjKGsvHoKhxv8V0tpf)wt%0eYnYDwFfs?(NqZ^HZjTObO zMSFf5dqX380u4ZwKYz4-5*G%JfNcgAfJ}*zosoc^g@%QZ39t^!NY6$C&>k@oFtE}v z{n`Wg^j~Y>l4jNxe;t6ewTC=3UC^+0X$P|Z0u}5OUdfl0}27al0UhGzfqB2wjDs71b^1{ zZ%G7NF)KY2BYuKEUIqSq75iDUs*Jw*&tCYW9(yZQ8+{sjW)@a9CT1gJ78V9QLpl~_ zMngJ%13DvPeKun{c7U?!ABQe%^G5*|BV#%SJ$)u-dPZhCV>*3iJyvFReL4msW>yw@ zePe)}>Mx$+j{>%a#`Z2cOe_R|-#^#re}4lYjr!${lK)93{Qd?Yfag~R&%e9@pmKhJ zIlth8pUNS58%I4yBS7VVK}M@+uV?M>^DF)u2Y-wlSwN5ce%^j(L;mBDW@6@O>ZJd3 zh|yZe;x4)&@3)X4WPIv?^xSeAW(TfA9DMqYwt9m;5yu{>5J!*a%OG6obOEWtsz+C>jng6O?fbZu&Yxg%khL-=IrDIHNH1v%B zE9)5BKQUTteK~)+*OlqdiS@HL8~`Ih&kDwMDM-Fr`j>SK6>pi4R2qv6 zpdE`}pj7%8THNI~gSUlo?-e)owb_`B*=Y&=>4Ci=5LuK>`Eo$ITbw|aTAZcJv?)lh zq=T>tNAI?j*!&FknLn^~F<1y8d(`Ys056jWx0wn1P}g4^Wdnn^K$fGx6C`NrAVnh> zEizu)D3sr-y^*f33l)WmLpw*~I*l(MMNG^;Sh9BLIBC(=x(Z4P zcg4sE&2`nS-buDBN?dADZ%rgFF)Z0=x(__^aZ4+95N~&mY2@65U`R)c2LVKM7OKD- zTy5{0+Z)WpjY3|rcPo?skL=(d6O|4`Ov`C$$*=Sm>vzj_R$zpDjfvHYvEc{0YWs_8 zX?r}2y|LB*dTachX8MiRV*3+N`kU4QT#^0)eg3$R0cb7ue?$@etsi6m6A1dZ*T~=X zW51gC$8G07r?r07|7Wq^X2Gw+`!~CPzqkE8Irx-SRMZ6iEv>}_0I~ibS_^Q~`t{X+ zqqY8H{TTZ%?Ctjh{il1E0{{heBw%3&OgaHQTTvr36Vrcen(Emr7&#J<(<=XpYO)3} zTQ=54wDz>1H;RF=mpNUN*;J~rg zf-QW1M>e@-xvbUSEj?v8jW5v-;(8HzgL~xTDx!v+??6HW6#$8I2n&b9^YQ{AkbeXM zgF&(a0Ma|6SM1B-vt6! zA%}qgCIaHnl_4uSx(P?1!_f^4?D~?`@n+sly}fgINJ>H;Dx3%2Re=X0ny~GK#|?zF zcL+uo=*}y*ChO5fy9lIJMRiSU2O@|AWI&cO2>9zgKY$GDvp+}$s4WIq_<0k}CI5ne zobS;MurSsV5Em=?7JSVuJ{Wgb_8=$_wC}6=oykq5FkRo7J{_39qZ25Rryi7uFDNV= z_(8GxJJ(0oOW-c3Cmlh$6;L-V_*;nH4c%6Yo-=@mtON!E=)8V_2i2Wd7N8P?2ZqOZ zP8RRhv8sSq2iL0%baV>(z{wTreIkPy?9X2z0}zo_QaSSxOhSEIUjPoSa=9nzUmKPB z4hHOS=WkB_HrxV-_=4*Y=nf+2$NL3L78b|}lGlqs+P@Qx{?;krRodS>sM6`)U?s*H zD8zz7)+Yt@`Y{@68~8RDgi}si*5?}!@|&yy@FYEoCTwUy!N3tjCytQ1>e+mJL6L;6kCaLJfc(F9@^>O0ESdR#_u-ZE zB{;TmwW8+hq zErLhkXJU^E6b)fh31P}oq@c@vNQN{#Z) zm67g*x+-ID+;MD>WUgxAB@}h9rZkVEcCs~48CAtYrXQ8MFfjb1`f^MjMJ-?Z3rF>J zD$%fp^~mBUXDquIuB{U5Y*9f6`A$XDd049%EAwLa)B>qdVzWoD?(bKbT8$Sq2i;Z` zE8z1B8~x;^p^B@pEYzuA6>`C@sVs87wI+laANFi=ikulUgN}T$(zM1DN-Xt@i|} zGTkjxCKx<;D*OVmMhh;}&8zlLa<38T;osZ2&!ai_?;#|?qJt;VUL>xoO|cbfo!A|t zato`K3eUr%@A(bj(}c!#Rvb&!bX=f{jDgeaBuq_xq}L%t?Ymdq*7$7w<(XX;oX2)# zxyLrcgKCSp1rR-9$mK%5vBAr|Zm(T88}yCa{$d+hTd2#Fy$5Bi2^ooSIrGzZadEo^ za=?RV;Mq2qcjS5rXf!C>*!D&4@m!U+?F7@NGIkRhj9Iq}Q(trmXMof?l&7cl0zS?% z|G39gjXhHC>H-o0%gu^x=>$ zZ-2KLtMhbGU{K^%8(6V$VvWF2cj_CwlC9NgQGLg#>#-(^*R%OSa7LO#W-6&-LR72wE!XNol4uxCGmVknxYfTVV?R0HA$-( z@s_#v?#N=M=`sstD66?VI{y(QBpY_N#$a~hMurNn<@+o^fD^(U*Srh2({d~h5iBv{ zI7xU>IHerE>2XGTq{qNH#Ib$R#pRs0e+c zs3WOJHZDTfXBrciR?km~8^rA&L^Fv9w4B<;Jn;Z_ve>R(!mOw5MWmyEF83afU7O(a zvoRD|u#AAzmXmtn4)DnJDy;E4)fn6oNu9IpFm1$uRIkUB-enQ`!IwVVr$Ni`wX7)> zfSqhi`VTwVh>YRmVfIz_i{RVJW~AR4iK2_ih&#+u>|AupD1~B+i?Gr5+efX+8Lv|- zu>_m1$#DYIpA98DpxNxjlF9Fv+5_)|K_^lwb;w0rXFDh4av!+m>>>bmGDsFpg|-BO zyEb_dA$eWKSqp32YmViPAQzY;V>)wxX}Xe*%n9BWkMibR^9dn~i3Q*xO5vnX6`{|eAstZxJ0>%ti^jVK2<*rV zb7-IX0c@AD@V1e{XOeC+p}p;S*ByFXq#D03d9M8%KraYJwU1Oc#Kq{B@@3oClaGj& zd)CU$d+rpkIC|Zzv;KRuIvIXFlo+yo@OfkQc1SeWkT)m}ol5Xfz9^x1h8!~zUqXnr zoShcXJi242sfEsR)>F3k+|4Hdx1w-Vk2-IifDYmgeZphiv4@;Qk?%^bKPD2SqDh^X)`)#l`ciWqDe+M2Dkz%0vg-qM_(I6Ta#R z&iE#inNwmXpV)Ai&rRu4+DlJ3ZIO4+!)EQCFW~?^S%o*;?T?r>B?t)*HJ<$! zqq?r2O@fq_+f$k@d-mA;9W;+&H*`WdMmZw}8&S1Nl`p~|9%G=?v@%6xIkTMy zoP7MsCi0w2fWLo+zU=zlb1(GCzynwjuY#^K$di zgs5>>6~k)oHcR!iBy-ph_ozmTW@rvgANt7k*t>9-BHoH3u92(gXtYtN|_35Nsv% z7M|ia>v(1!Zi5_>r|$Q^^klJFGnWfqAh}uHF!=MEJ?Fs~U`LD7@4imyuUB;-90XDH zzT>#dX{Gqo)0f*U$dwFo;l^ax)*6lBP%6gcbDwezAkQH-Ooa_?<@qZfu7 zIh;9j`N^VW$uPD5+8He38ZD7@Bqw@ah4RSzqZ+UmQG^BtB#WyYJ?`_gA!)CR0tV6} zRlXen?Ky1DO4)`k4<6tso$Qa4VuAdrCtLLb&q$?K(Iiq9jikXyLeeODINY{QFoK;- zwwvrHljllBPe(H$)DTXMH*TT;FHbq?p4TAS(RWR<4S0!inKWooD-QaooPs(o0dDh4 zPi6qoNWwZ_XZK9*34b5#ToGH1`Ng3+ZdOeJ^CY41PM0wav-Yifkd?i&c*Xl6hiKXI zxcT;KRNVaDJBP!mMyKMl+U;h9(jH42*UDyi)_K)dz-Db_Knp-m#!gi$kH}$1WONs) zS9B%K(|ENAXP04)IKNcIp zPpl#mLeP4qSe*7;*8`!-(goX1b)$vZ6gYRRfOn7(sx9=59xnS!MhM&1q+H)b)T!9S zop)nFQ|Vnyu4Ma}cclu=@|@<95VlpYtR$>bZz04vhf?#f6+ev=7GC(Lki^6+EPFRd z&9Fg@D4yg0kG(g6hw|Iw$BR~#%95m*7F&gxF=kN6o}Da}6obJOh8a8Ui%Lf zn1Irp65k=VUW-(_BZ0E<_Z6bUt_)uZS-NKR2<3Qy`BJ__5x!UtHQ&>`z3Jo=Z@ZSI zEGr1hO7GlRK3Msqfd8ho1=pLvg&X$zqzgn3q%I~M1ILqP_qFZpyxDvEdt<@L2wTVS zWfd3W0(WSeI_jz0L8M95VJ^B6H7fVOSyuk5f)`3So-`et~)%*3t`EZ*Q zX>x4rCD@X9S8Nv)x@_2~9oryCXtvi7^Qv}8*l3(_D{ttoxn%dn+ZE!g-|OQG@qDWD zmMNW=sz(pDJMTjIZp3pH*vlX5R?K{vnbB0!=6d_E0L;6F2l%qu&B4NaW`E)5eIG!wilS#Db zk9&_L6tzA+FPBqm$;5Sf^tQLMC_XuzCYZ2X^R*>MRnS$kIVW$6)vhM%1D|b1?QO7O zaSFXEH@fottvK~d2ptVEzKufH9$c4SKmTRBqebUl=jI%5d%36Q^_JKd=kY$^mMe?8 zn|``P+Z%#*@p9OX6Fwf#_M78}aC0a>-t(ek{kbH?+rRv(YUUzqu$B4d6ozK2Y3M(Gh zYNpjsOng;ppF^s?uqS_2g18CV=eE*2bp!5d{}>ZL34YhZvU~2P@W_VmT5)gF-f_gM zmT#SPOHEcU`)Wv4L~&4%aKqlftVT(~x`aO3OIZttdy- ze7h_i-(zvL^DQgnqG0IJdHdRF?NIV$k@l^MqwQhH)hKzf~?a!9+s|=3pxhPrD@?_BO)*`*)4pURJNSox9 zq1$enQ80SjhM*0cSa`pEu^V5sJ0RxH)lK}D2@9{*BwQziG-$mZE;+dD#&hJlyl5An zod+atpR?R7%U_dE@=Mmq&X7B>yWaBH!KM{yJ;?psnhU)sVHd+o*WY@9E!}@6p{yBS z($yroE6mfq)Ua#h!`Ps3%ePF2v~HF`gLs3E6M$_M;&0Jcj$qFhU-HjtBdh5h%nX%Mzc*LalpNNx-_ z^1kPe%brkwWJjcFEm3@|827nJcd_VAxs|SN?Duwda2X{JK95eTo?AWV6}BwelqKmS zB4KGs$gCp|No@0j`ia(Mvw8MDju#tsa4rtc-ElFz{%F6s#GEpvWl`288Ft%wHtu!z zJO+*@TdyDCl5i#K0698Bqx0SH>=F}4#pK+QC3*Gpt?p%5wKsk!8;w6dR^6u}pWA+q z?0y-)VxdMh|Jo;?EE*1~WmW|UguNFfW%g|6{F<6|VPEOK8-8XSXJjt29e+I>vpOoM zzVgeJ0GBzBK1W_lB*~}5a5aeWeel8@>AwlkEB*@$r3Lmbic{Yl$>nl;#i60hm`zrX zFE_sM5F9!MjwfsPiwvLr+;5QobXwAPo)x~CU!2wbZXOyEi1$i&K5!`Deu6!2g<=w} zb*BzDQumR@s}Vje#{>Sl%E_W#SDs&5+NH~S#g>veQW?Q7>+?BnzSnu|@RC!7_20tv zx$ZAhR{WYGDwJ@oOFk;vx0L<;hPSOZi?^t#wr~jS`8tYpX?alm;fAn<9^b;_9O9CK znFB?uJ#yx0@kAKsktKKAST>b&z9Baqvvy3HwY*Hz=<*)D?Cg=#R*lErZ2aQOPrCb~ ztzIA7Z9IopL+reQ&G3=0x@3gh{=GTd;>MBpGyUW1q7{VDKJUI&d<(wgzs-Nn$E(hX zowb46j91?Zak01~UmSbr)X4kWT3`Nv|+xdyisX32;7HSM-SsZ)bz^$x31l z*CAgmH~r|~_$E0yb*yGhqpN9K^f{F*>29q1u-J<5B zipiVvdbQUDAMSWEBq4PA`-?Qgp6C4r@6WYdKUk9D8em|HYh#5c$rPO^wU4Rtq-ytQ&T)PwjZQ>N{s9 z8SS$_?R&FF$&#|OJBIwOAI}?I*|%k`2*;!L-Lo}c$=9N^_nC)yZ(sRCxCn0`e{q=% z`}v$0r#A0_cDc@0@uCX@e(Cc}4n>^XRPFu6&sKYdi0kZ)qPQXTq!q7HLba>NgbCD@i?N=cPOA-|;U$f1tul#hf>@cjI9BX>;udqGCD2+s~A6el6c|J8{V) zftuY(NQdg`{QjDC>ukSkERS!kRQjTAfB!1#{JK=NGd0Ky$R(|) z;-#yqUuap0(A+;z$rl=ZEm7lZxhMM-!8OXS@Uq(;NviVRIbij?ZRMTNs0fc%AMYim zy+U&nSZ|Mn)QKa9$`eCP*mhbqUSE{HCi5nTfHMM(AVg0h?AQISIj&w9h>lbQJ0zcA@< ztoY#ERrWq0mh$W~FI&xe_+MbiJ^?wqa?Fp4~C~7iC+kzB~HbxVf)Th0iDJjuPx&bCi_@oKJQqptw^|@#8Hi zi|j|ja@q&b=5gE8M+%#{PNVmIUM2e=nd_sgxvJ8=Ro)v9&dHARDXqWJr<}T3K77qG z+e1#bh?(p+&yJhreI$3Jheb%%bh&XM2deuwv#6QZt6zmD> zOuk9_rlBL&O^(@zB3^notCjnTmvg%_&e+%0q6h!Fi*sFN5#Ni&<%c?j&c7QvK4gD= zCx>v=;ml9zUQa;KxVR*rj~xv**{QG$DY z?wE5ZS@zHaa6Va22{@ljipSmK-GJS#XN~Cz5<9^8WIk+p2n+rJx7`bUNnH358ONmY z-2)yG7m9N#YRi*1zdR`>Zap&pnX$QX(|rGVoCQ7m`)Xq<9MpOn%Ic)Ag2LTfT4fdi zn@Hz3ef-)pMDocH9p<`od2h$_n0d$XHU<0duymFWczE}Fza4w??REQ$1}*p z@3njx>6y3V3pn%lJ^vZfBbLVVT26DlYS)1C$%qwESzK9yDDxLN!x}ENcQ5S3A5bQj zdOSF{b;ZVnu3EP}-a~KrqK^@|-t@jzyOW@sB-8DC_8w=zN)z#6jfV;i)m9aS5|;WL z8(lQrTeqe~+tgQUXAM8fzT9aNzArhtVC?h$&FVu~Jx_EyjP&2140!}(-3jXRur zLn%ow47T-dCM!ss2)M1g=T?~T4aGhOF^AP#eB|%+X%bnzZ5yxUKBy?KDjArC8r|=x zpZQr_?A`hVr?NR=@jDaO%pE%Sq0R?q`Kfu->iOY9Ki{uW5<7JJTfG;>uf5+Hm63GW zHe{6yXMb->M%;#SjovK1Bm1^K|MVsQZo*Lk%C%SypXA+8zSZl>o$%bfBl%s2@+kk9nrv9{>O+VcEdljLTf6ZX zp&yrDt*!{YQk!e=;nnLeN2-c;ah*3?84!?Je>`g?hc>IxySLnB;dRAIL#4LYjg*oO zGP4$ef`z-)gf?yuKvf^kOz*g~`g85E$4G-^=BZdW{$jkq z@UZYQuEIuh&okM3!`)RBD{ttOQV3gkb+?|{>E9ml$oThiU!IKKCR;(7|c1x%Q4pVrg1n$bMB|zm3_`lei!Q%njE|gFX-M|CMq)U;Mw!S zOPHQp`{SN9Cz@87p_bQQICtT*YN+X|OWifzOFnQ1A8gP4N*pTL<}ns8;4X8lMKan` zs3rDVUQ9q|#RV;F`$C&_@k_5ZbKDn;H{_dFy0hQbHrzdRaoedUO;Q297L+blZF6ah zf#t}R_NUzW!uC9O{+Qf$(EW$@)fxfy6ti6A3!Z+W3(h~_G-W@1Ysc1(TU{TjX1z*5 z6bNid`#$GJHL}}RY=q0iM!Z||FyH*fP2&c^*QIrhDKB}QLYhtdSN90}yp>?XhTOWW zb<>Bv@`s2H%OlGL+|;J29P zZr)Ec(7Cq`yBZ3=GCa5QL&d+(ERBy!z}=T1ufM&-Pu%pFQ_p?ylbHvfKO=+rklj^)rp{gG#^O2@iRvRm=H&lfHbN)3U?nkp}9uNwZK3rq{ob62yC9P9?Jbc5mu36M4S`{g6x9>E( zA>{QXnOE!}~(a%Y;^S9vO0|aq}VP`qf4h! zJKG!ZYbCFkKe`xMclQn$z-gXI8mjX!^h}A(p0`L~M^ZH9 zTGKeD<{M|)cH=MG_v3b^6)DPdI;^RGAHMbZ$w!2<{*~=HP8x`$g1zQ%&RJ2|C6dS1 z`l99+twJ?;a7KnFjn@aM34QbFxL(NhK1eTd^vJ5aYYm1H_m$OI2L>Q^DIvbFYaRXi z^$5yi5%CFOPjMK3>X9hUGg57W1CJjnrPZ2wTrd4Gt5EK|>QA5!7;^wExbFc7F93G? z%|9wE5kR=8ZzQo;aU4QgN=h7ykV44-q#*T`ihZ2)ibRV`(+;8omtz5z4hObaL5ZVi zK*>KpqYhk7ZA?9vj`{th8)CucPt&0=q3b0j#U&9~9Do@jBr%ep6Vn4Rr=l>yr5I^x za9bKc67K)>K+K;}nBZb*m|nDtAyUIzSy5jl;oe}-5Mda2OPNW4t)K9c4Dg}|73Tqg zCjkNt#%k=^ZHj=-z(dJkWf0Ox3>A~c46|hXiUzYG10mKRRGTCki9-Oar8w%JVAy1s z5ng``*ZWTbLt#46p(ct9U?>&o0@Hm5*k28%~9;oDlNp zZ=jkolQxz5ZvX|O0J3=+R4_b{si)0fl6SWiv4om2oE91lop$|Fz6C z71#fNQzZZZ<^T67qDk%$-MOHSWU3;9MhEIA{>M8I6(*OL{L57&D6sqMgb|xkc>rpO zq@f}s;Qym#plXe20mo2};0hH6!WdLofr5*Pk{=Y3hJgRe(gXbV^qMCcwL#4r=EZ3? zE;BrOFM96L3&RJ)oiu9Pq;I&!*n-jn?8Al2{Fm&L(b&u~J6qOeaf+Bbva*6_J2)TQ z?D*X!Zy!pi+|k31W($|i*1vj0ja{W<%dq_3uk(89FI=${+tZI!j=f#KVdX{khCtCM zj!QQwPm~isoU8E zwoRdLYI8oVSLra;duhf0<-!*ytH>wh;CJ;!eSuG;1N-ZSoKFpW&{%Bjy^afQBuG$R zC%d?!ku~GPBKwu6+_%sE@%;mrr5QWJLbV5yj02)U?SUjvCBLXWFlx-1x4|V&ISwv9=an&(_ND5}(u z7HulBLBEl8_MAnt9z1NZSnj-R!PBKIXTHrI# zv|aYjy?dv>_IY}G_9=xodKlPw6LlSyHM0 zLOi1y|Juw_S!nh?=sPRTua=Y-QT-{vlMkohLXz%)Hbbk;MT9KM8@6Y zYuOdpThzfoE&W@ACFtTd2sQzTcKLUfYUokrH6avEcTy09CLH;k;6WN zNcX5^3+8alUC4^Rxh(|u;^?Qkb*JRT)0-4OOAHOHKD3f2c+s<7FRl=Q26ne^vn?7B z*N{+c#F ztNIdVds}3~!w!MrPsiJX3~P)HpLL9Se<*zP<%B{E`Hj#^qtr?CB%n; zMdLr>zkLe+;n!1`G_J7VN0XeWH)2`g^3{hGzw@xPELI;LKa<;@?mL#vpQT@ywCy|Y z#hgLkb8Q9--u&>tk*j>uc&%@i`gr~&Cmi7puH1yDm)&*vIOg#1`9m7)v(+EE7&v}5 z2iwNZhqjIFHnr7H=t_Rv6Bb&ioPL1!o41DG1}?&w7HM4R;kE^wnGstdHj`2?R=G34@D%M7P+7|cBLz4Zh_4zfo_4XVd*}JKaeMn z`t%l793Gf8uq`%CYUHYD-IDKw9|f~4kffDdNXawDG*3v^p3GWZcp>&{%kF~`XL5qv z#xF#69K85aXNdngs;g+u@$Qt}=gDoMj_H|~tghb9>vFEVaw9V2l2`mZfd|U`LT#?z zLRasUBrA6ZoC#U))vggJl;RV_<*C-U!)57ZapeufF)`jfWBjZpfyLdfduz_@vk$Ji zr20a6Pu89{=3A?(^OPlQ#vL@8zGdq~zDs)ceeYm{U`Ks(n~2|Oqn^b!OG;`vw;kKL zq*LkBwx-p)amwn}QFm>heO!7O>5djWBk!fEcx=`CT$Yxv4Lhn*7n9GOXFJ(_*+H-9 zT-DXhXIMyUqP4$`vOmhd+P5`CysffRvVz4()AR1}S!)eDZiw61rC6W@cG{H;^n=<15S+@=Z~*_u9UoxuQ$IGeIi*n>7hsT za3*`pp&XHe+Vwg*C!XX+s1}HwKt0m%civbq%4fCeP53P_|I~(iB3f-9;-5d<`nfe$ zaBcPLk4HC@@kKfrg)bXt7wvI~@iT5wbkTbuUu-x3>9wQ5pIL3>D*AM|+ z4og-a9~vTjt>8H+8@}Cs{gtM<$$%*r!IB@B?iw9H{JAGKX3OFu9|P_yZIc13wKv5s{QyX$<5zW zqdpkmAU7_mdo5pO{{z95{G#tn8x1=>BKjU@h>RxMw4OS*&^#`R==A{pN)s&Lr3cV6r&!n1XZ#=+Vt>W5z)o;My%#)XO zt)=y=518gWJ(HDaxZ+`$e4gzA(c9+~#2(2cA2aQm8)k5egMCGp?6o`N%dXzx-L~Pv zqSGGBjpIiPigv~uRSSx}ztsG6ONnQ4dnNJ(i}5qxl>N_o&K|pTSNGwDK8)t4#mlyy z4MjR4q*_`-noGLE8zV|1jE=qUPeK@*{BUV2(XCN6dKPNRBAmRvcgS{=_EOd`NBKk_ znb(8OTC+oc@SZ5BGO_BWJZoLz_uMB(@W#cD{pS@cKcqc$3VP=*V|Ltn(dwf&>zg_Z zT?V=2`&LRi4t#zdDxa0Pb8+zM7}0i_{QkS+54exlYbAD-1(Q2&t#w=_dFf)ZThE!& zCxx4v5^Kc=G4ormeu!(;XN&p}NSeJgqFQy4{6K1RzR@GeR{oZ%<-5M}W$`!!%?r-b z+V+&(96KPmX(77krKzT6-kux$i};#f+rM$UxjSXggAc_01&Q(Ej&f%T1}fFY49t!< z&h|UA1rs^gi`mYmXkPqD+CEFpTgEMT+oJ{A>T5-^L{ba{%-78?SXLgt*oV_9&$)hN z$HOZ`m4+7wPOtX6Ry*jr^@M6u8_V87S4-_xf*-VxYNVM-f7)@ZKW494Vy%glm*9f^ z3l#Y8*V_5mZn`4BVE)QQ>{lfu4><7i8kxF{1)BP-{;_UN;Z2!`-F7$5>o$~g^e3KO z?o#tIlXL7ee{y}&Ar_(Q>P4nj2_Gc=%C(Z@Nas<)(l<(dcKE5UsuA1BJxl)Fm8FAq zOAIi?yE}9^Brb8=hQ*z!J#T?^&3G#HQlrmm$)bYm99bR)UTo~iF{+&MXR#$k8q#&& zqSi-_<@U-+>|+0nthuT2;($syai^cB=PVAHx_$lg21D06Mi;*0S}?M~Jlnl^$ncqw z<&yUmj`882R(a0JKPh~u+w;L-*6wdC#hV3shd-5v96DJwpm6%A3bJ|LE1X?pomV!N zHK=2dNaDCxnk$#0{ch#zjl*(1yY;&zhc@_2Y#a(4jei`=vaZ)Q=<<+-#)9FLopV1m zbI-qqDZw7(Ucg@Rvf{x$zUR567TrlJErWWG)O~y_vf%8Mv}mwr(?vFi*@nZECV5Zm z&XeMM&^A{wr6~ac<3{m1iR_g(wQnjv>0LF_(8vEqHlKCl=QEl66T3}2l3Q<&_6xnc z$F<>T9&4;Ko3Hf-_Rri6k28wSSs1#SXjvT4ZrXdKR@mL!cZmThkIen;yUt3(SD`x} zO9=R7;mxwFgcI0IzlpA_#@V>PE-xUOTIafby+j^Mxm;^avOXgoW2xK1UNncjjb-Pj z{hREwI(^s+w-Bo|WJ!6u4GxmR^1~7PFP0jkeOVh?c1 z%>hrnwIKsK+fT7?-ac~ucJLgdY($(gzKCm3RJ`HJo8!A4`f{R+mu&U_SZcCc2*uj? z;25iF+Zpsebw2ZCzQVL!M|{?4z3zNVB1c=@^=#jMPVG~|Goi)C8qMJ%8#U)|9N@RL zCRxsx;S8Pk(pRsAOVr`zb3JRaec>vJzzups+K(J%Dc2IJTQ>JyyMN+Yw_?~8WoZSE z>#~Phauq$Aiu0xX${eNFd7QGVdr-dhy!_#71GC5SD@)@+i9y-P?l-qqi#{%Mu79y` zaUV`hO~~tGo~Eg3>foApaferx()voQO&e=O@!?1n?H~!Ip1#DAmX6|~ z4J+ms><((I^Hed3mKBj}zF3x*f5Gjor|@wFp;IxQcX%@u4Tvs7LiaXu3%|-g{&By% zRA}D8!N;)q zdTE|LWmnm^T!XG)|9a9 z$mQ>US>3zby;5S$JAI2nYku{SrW3qLDBEta79^fM_~BEZko=Kd$KpQ5Sr%R|+uvj6 z=a-LPf-m z&2NQpPJ1m&e;-O);?~PM==>b?o^#ca{ZYo*``?FnULxs!wdkwb*+MguMbHVTPf5#SKqaS{?$U1&*(wdEjPdwq(ttiNL;UKg=ay;#MC&+Z` z?LB6}Is2?J0;^vJ#%+Arx6a4C*ENy%6S=L%JI$44wjMEdj@haOQJs7ND-OI;9WWQV zCb|gOpm~lR`?-8Eh9_JjFk(S>c7|@6@Ulj+g~XJ(_I62;j!)!o2_@Mg%|zoCjMxuQ zP+6m>Z#Vq0D~{`H?kz4@W0HS~6D2yvrnAbcK=w`BtvUUJM_!)^I=LZ7>hLh$=+cS& z3q|D4_XY22F8K+4Ki+BlZj3{4X;8)6tyu>B{TUzptI2lz1bY{>oqn)!;~2-G^k@!) z?j@pLLA%?zB{DtYUs*__RGJ^0TD}jNUaiyA^)-Uh%sJoWX2p8nQDHx{)sEKC%qQ-* z3nccXoB@?r)ZGv#n3hOyIqLN6Aa

ScA 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 I$2Uj+19xqcKL7v# literal 0 HcmV?d00001 From a78ed4d7e66da85b1184612a1df24bece1018a9f Mon Sep 17 00:00:00 2001 From: sunbreak1211 Date: Tue, 17 Sep 2024 11:22:02 -0300 Subject: [PATCH 34/35] Upgrade bridge dependency --- lib/op-token-bridge | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/op-token-bridge b/lib/op-token-bridge index bae891c..a78371b 160000 --- a/lib/op-token-bridge +++ b/lib/op-token-bridge @@ -1 +1 @@ -Subproject commit bae891c15067738eae18baa4866f7972289b7841 +Subproject commit a78371b9da9994bf63770248c2a9ccd7b3e3d703 From ba2f7c706e66c23cef7f1d31f40564f719d5aa59 Mon Sep 17 00:00:00 2001 From: sunbreak1211 Date: Wed, 18 Sep 2024 22:19:24 -0300 Subject: [PATCH 35/35] Upgrade bridge dependency --- lib/op-token-bridge | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/op-token-bridge b/lib/op-token-bridge index a78371b..a01b872 160000 --- a/lib/op-token-bridge +++ b/lib/op-token-bridge @@ -1 +1 @@ -Subproject commit a78371b9da9994bf63770248c2a9ccd7b3e3d703 +Subproject commit a01b8725f20896390e63a6f65b109c25f8fb823c