Skip to content

Commit

Permalink
feat: updated deployment scripts (#103)
Browse files Browse the repository at this point in the history
* change imports

* feat:deployment script for Transmuter

* feat: Transmuter premining address

* fixing failing test

* feat: remove local file

* feat: deployment on Ethereum

* feat: ready on savings deployment

* feat: stUSD deployment

* fix: remove impossible condition in redeem test

* fix: load reserve minimum 1 to take fees regardless

* fix: compute correctly mintedStables in testFuzz_MultiRedemptionCurveRandomRedemptionFees

* fix: increase the minimum amount for savings test

* fix: wrong amountBurnt used in condition for testFuzz_MultiRedemptionCurveRandomRedemptionFees

* feat: handle when mintedStables is zero in testFuzz_MultiRedemptionCurveRandomRedemptionFees

* feat: transmuter

* fallback

* style: remove brackets in a for loop inside testFuzz_DepositSingleRate

* fix: revert back to amountBurnt for testFuzz_MultiRedemptionCurveRandomRedemptionFees

* tests: retry if can't find selector up to three times

* chore: ignore solc version in slither

* fix: invariant

---------

Co-authored-by: 0xtekgrinder <[email protected]>
  • Loading branch information
sogipec and 0xtekgrinder authored Jan 31, 2024
1 parent 7fd03d3 commit addb648
Show file tree
Hide file tree
Showing 34 changed files with 817 additions and 107 deletions.
21 changes: 1 addition & 20 deletions contracts/transmuter/configs/Production.sol
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,7 @@

pragma solidity ^0.8.19;

import "interfaces/external/chainlink/AggregatorV3Interface.sol";

import { LibDiamondEtherscan } from "../libraries/LibDiamondEtherscan.sol";
import "../libraries/LibOracle.sol";
import { LibSetters } from "../libraries/LibSetters.sol";
import { LibStorage as s } from "../libraries/LibStorage.sol";

import { DummyDiamondImplementation } from "../../../scripts/generated/DummyDiamondImplementation.sol";

import "../../utils/Constants.sol";
import "../Storage.sol" as Storage;

struct CollateralSetupProd {
address token;
bytes oracleConfig;
uint64[] xMintFee;
int64[] yMintFee;
uint64[] xBurnFee;
int64[] yBurnFee;
}
import "./ProductionTypes.sol";

/// @dev This contract is used only once to initialize the diamond proxy.
contract Production {
Expand Down
24 changes: 24 additions & 0 deletions contracts/transmuter/configs/ProductionTypes.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
// SPDX-License-Identifier: BUSL-1.1

pragma solidity ^0.8.19;

import "interfaces/external/chainlink/AggregatorV3Interface.sol";

import { LibDiamondEtherscan } from "../libraries/LibDiamondEtherscan.sol";

Check warning on line 7 in contracts/transmuter/configs/ProductionTypes.sol

View workflow job for this annotation

GitHub Actions / lint

imported name LibDiamondEtherscan is not used
import "../libraries/LibOracle.sol";
import { LibSetters } from "../libraries/LibSetters.sol";

Check warning on line 9 in contracts/transmuter/configs/ProductionTypes.sol

View workflow job for this annotation

GitHub Actions / lint

imported name LibSetters is not used
import { LibStorage as s } from "../libraries/LibStorage.sol";

Check warning on line 10 in contracts/transmuter/configs/ProductionTypes.sol

View workflow job for this annotation

GitHub Actions / lint

imported name s is not used

import { DummyDiamondImplementation } from "../../../scripts/generated/DummyDiamondImplementation.sol";

Check warning on line 12 in contracts/transmuter/configs/ProductionTypes.sol

View workflow job for this annotation

GitHub Actions / lint

imported name DummyDiamondImplementation is not used

import "../../utils/Constants.sol";
import "../Storage.sol" as Storage;

struct CollateralSetupProd {
address token;
bytes oracleConfig;
uint64[] xMintFee;
int64[] yMintFee;
uint64[] xBurnFee;
int64[] yBurnFee;
}
113 changes: 113 additions & 0 deletions contracts/transmuter/configs/ProductionUSD.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
// SPDX-License-Identifier: BUSL-1.1

pragma solidity ^0.8.19;

import "./ProductionTypes.sol";

/// @dev This contract is used only once to initialize the diamond proxy.
contract ProductionUSD {
function initialize(
IAccessControlManager _accessControlManager,
address _agToken,
address dummyImplementation
) external {
address usdc = 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48;
/*
require(address(_accessControlManager) == 0x5bc6BEf80DA563EBf6Df6D6913513fa9A7ec89BE);
require(address(_agToken) == 0x0000206329b97DB379d5E1Bf586BbDB969C63274);
*/

// Set Collaterals
CollateralSetupProd[] memory collaterals = new CollateralSetupProd[](1);
// USDC
{
uint64[] memory xMintFeeUsdc = new uint64[](1);
xMintFeeUsdc[0] = uint64(0);

int64[] memory yMintFeeUsdc = new int64[](1);
yMintFeeUsdc[0] = int64(0);

uint64[] memory xBurnFeeUsdc = new uint64[](1);
xBurnFeeUsdc[0] = uint64(BASE_9);

int64[] memory yBurnFeeUsdc = new int64[](1);
yBurnFeeUsdc[0] = int64(0);

bytes memory oracleConfig;
{
AggregatorV3Interface[] memory circuitChainlink = new AggregatorV3Interface[](1);
uint32[] memory stalePeriods = new uint32[](1);
uint8[] memory circuitChainIsMultiplied = new uint8[](1);
uint8[] memory chainlinkDecimals = new uint8[](1);

// Chainlink USDC/USD oracle
circuitChainlink[0] = AggregatorV3Interface(0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6);
stalePeriods[0] = 1 days;
circuitChainIsMultiplied[0] = 1;
chainlinkDecimals[0] = 8;
OracleQuoteType quoteType = OracleQuoteType.UNIT;
bytes memory readData = abi.encode(
circuitChainlink,
stalePeriods,
circuitChainIsMultiplied,
chainlinkDecimals,
quoteType
);
bytes memory targetData;
oracleConfig = abi.encode(
Storage.OracleReadType.CHAINLINK_FEEDS,
Storage.OracleReadType.STABLE,
readData,
targetData
);
}
collaterals[0] = CollateralSetupProd(
usdc,
oracleConfig,
xMintFeeUsdc,
yMintFeeUsdc,
xBurnFeeUsdc,
yBurnFeeUsdc
);
}

LibSetters.setAccessControlManager(_accessControlManager);

TransmuterStorage storage ts = s.transmuterStorage();
ts.statusReentrant = NOT_ENTERED;
ts.normalizer = uint128(BASE_27);
ts.agToken = IAgToken(_agToken);

// Setup each collateral
uint256 collateralsLength = collaterals.length;
for (uint256 i; i < collateralsLength; i++) {
CollateralSetupProd memory collateral = collaterals[i];
LibSetters.addCollateral(collateral.token);
LibSetters.setOracle(collateral.token, collateral.oracleConfig);
// Mint fees
LibSetters.setFees(collateral.token, collateral.xMintFee, collateral.yMintFee, true);
// Burn fees
LibSetters.setFees(collateral.token, collateral.xBurnFee, collateral.yBurnFee, false);
LibSetters.togglePause(collateral.token, ActionType.Mint);
LibSetters.togglePause(collateral.token, ActionType.Burn);
}

// setRedemptionCurveParams
LibSetters.togglePause(usdc, ActionType.Redeem);
uint64[] memory xRedeemFee = new uint64[](4);
xRedeemFee[0] = uint64((75 * BASE_9) / 100);
xRedeemFee[1] = uint64((85 * BASE_9) / 100);
xRedeemFee[2] = uint64((95 * BASE_9) / 100);
xRedeemFee[3] = uint64((97 * BASE_9) / 100);

int64[] memory yRedeemFee = new int64[](4);
yRedeemFee[0] = int64(uint64((995 * BASE_9) / 1000));
yRedeemFee[1] = int64(uint64((950 * BASE_9) / 1000));
yRedeemFee[2] = int64(uint64((950 * BASE_9) / 1000));
yRedeemFee[3] = int64(uint64((995 * BASE_9) / 1000));
LibSetters.setRedemptionCurveParams(xRedeemFee, yRedeemFee);

// setDummyImplementation
LibDiamondEtherscan.setDummyImplementation(dummyImplementation);
}
}
5 changes: 4 additions & 1 deletion foundry.toml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ celo = "${ETH_NODE_URI_CELO}"
polygonzkevm = "${ETH_NODE_URI_POLYGONZKEVM}"
bsc = "${ETH_NODE_URI_BSC}"
base = "${ETH_NODE_URI_BASE}"
linea = "${ETH_NODE_URI_LINEA}"

[etherscan]
arbitrum = { key = "${ARBITRUM_ETHERSCAN_API_KEY}" }
Expand All @@ -44,8 +45,9 @@ polygon = { key = "${POLYGON_ETHERSCAN_API_KEY}" }
avalanche = { key = "${AVALANCHE_ETHERSCAN_API_KEY}" }
celo = { key = "${CELO_ETHERSCAN_API_KEY}", url = "https://api.celoscan.io/api" }
base = { key = "${BASE_ETHERSCAN_API_KEY}", url = "https://api.basescan.org/api" }
polygonzkevm = { key = "${POLYGONZKEVM_ETHERSCAN_API_KEY}", url = "https://api-zkevm.polygonscan.com/api" }
polygon-zkevm = { key = "${POLYGONZKEVM_ETHERSCAN_API_KEY}", url = "https://api-zkevm.polygonscan.com/api" }
bsc = { key = "${BSC_ETHERSCAN_API_KEY}"}
linea = { key = "${LINEA_ETHERSCAN_API_KEY}"}

[profile.dev]
optimizer = true
Expand All @@ -62,6 +64,7 @@ depth = 1
fail_on_revert = false

[profile.ci]
optimizer = true
src = 'contracts'
via_ir = false
gas_reports = ["*"]
Expand Down
9 changes: 5 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@
"coverage": "FOUNDRY_PROFILE=dev forge coverage --report lcov && yarn lcov:clean && yarn lcov:generate-html",
"compile": "forge build",
"compile:dev": "FOUNDRY_PROFILE=dev forge build",
"deploy": "forge script --skip test --broadcast --verify --slow -vvvv --rpc-url polygonzkevm scripts/DeploySavings.s.sol",
"deploy:fork": "source .env && forge script --skip test --slow --fork-url fork --broadcast scripts/DeployRebalancer.s.sol -vvvv",
"deploy": "forge script --skip test --broadcast --verify --slow -vvvv scripts/DeploySavingsNoImplem.s.sol --rpc-url",
"deploy:fork": "source .env && forge script --skip test --slow --fork-url fork --broadcast scripts/DeploySavingsNoImplem.s.sol -vvvv",
"generate": "FOUNDRY_PROFILE=dev forge script scripts/utils/GenerateSelectors.s.sol",
"deploy:check": "FOUNDRY_PROFILE=dev forge script --fork-url fork scripts/test/CheckTransmuter.s.sol",
"gas": "yarn test --gas-report",
"fork": "source .env && anvil --fork-url $ETH_NODE_URI_MAINNET",
"fork": "source .env && anvil --fork-url $ETH_NODE_URI_BASE",
"fork:arbitrum": "source .env && anvil --fork-url $ETH_NODE_URI_ARBITRUM",
"fork:polygon": "source .env && anvil --fork-url $ETH_NODE_URI_POLYGON",
"fork:gnosis": "source .env && anvil --fork-url $ETH_NODE_URI_GNOSIS",
Expand All @@ -36,8 +36,9 @@
"prettier": "prettier --write '**/*.sol'",
"lint": "yarn lint:check --fix",
"lint:check": "solhint --max-warnings 20 \"**/*.sol\"",
"vanity": "forge script --skip test --slow -vvvv --rpc-url mainnet ./scripts/utils/VanityAddress.s.sol",
"verify:agEUR": "forge verify-contract --chain-id 100 --num-of-optimizations 1000 --watch --constructor-args $(cast abi-encode 'constructor(string memory,string memory,uint8)' 'Mock-AgEUR' 'Mock-AgEUR' 18) --compiler-version v0.8.19+commit.7dd6d40 --etherscan-api-key HQU42G9VWZ6KFNYTYKE6VFB7V48KMJ69HS 0x5fE0E497Ac676d8bA78598FC8016EBC1E6cE14a3 lib/borrow-contracts/contracts/mock/MockTokenPermit:MockTokenPermit.sol",
"verify": "forge verify-contract --watch 0x8E669F6eF8485694196F32d568BA4Ac268b9FE8f Redeemer"
"verify": "forge verify-contract --num-of-optimizations 1000 --watch --constructor-args 0000000000000000000000000000000000ffe8b47b3e2130213b802212439497000000000000000000000000fda462548ce04282f4b6d6619823a7c64fdc018500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000 --compiler-version v0.8.19+commit.7dd6d404 0x0022228a2cc5E7eF0274A7Baa600d44da5aB5776 lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol:TransparentUpgradeableProxy --chain"
},
"keywords": [],
"author": "Angle Labs, Inc.",
Expand Down
26 changes: 25 additions & 1 deletion scripts/Constants.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,35 @@ address constant GUARDIAN = 0x0C2553e4B9dFA9f83b1A6D3EAB96c4bAaB42d430;
address constant PROXY_ADMIN = 0x1D941EF0D3Bba4ad67DBfBCeE5262F4CEE53A32b;
address constant PROXY_ADMIN_GUARDIAN = 0xD9F1A8e00b0EEbeDddd9aFEaB55019D55fcec017;
address constant TREASURY_EUR = 0x8667DBEBf68B0BFa6Db54f550f41Be16c4067d60;
address constant TREASURY_USD = 0xf8588520E760BB0b3bDD62Ecb25186A28b0830ee;
address constant IMMUTABLE_CREATE2_FACTORY_ADDRESS = 0x0000000000FFe8B47B3e2130213B802212439497;
address constant DEPLOYER = 0xfdA462548Ce04282f4B6D6619823a7C64Fdc0185;
address constant TRANSMUTER = 0x00253582b2a3FE112feEC532221d9708c64cEFAb;
address constant TRANSMUTER_EUR = 0x00253582b2a3FE112feEC532221d9708c64cEFAb;
address constant TRANSMUTER_USD = 0x222222fD79264BBE280b4986F6FEfBC3524d0137;

address constant EUROC = 0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c;
address constant EUROE = 0x820802Fa8a99901F52e39acD21177b0BE6EE2974;
address constant EURE = 0x3231Cb76718CDeF2155FC47b5286d82e6eDA273f;
address constant BC3M = 0x2F123cF3F37CE3328CC9B5b8415f9EC5109b45e7;

address constant USDC = 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48;

/*//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
FACET ADDRESSES
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/

address constant DIAMOND_CUT_FACET = 0x53B7d70013dEC21A97F216e80eEFCF45F25c2900;
address constant DIAMOND_ETHERSCAN_FACET = 0xFa94Cd9d711de75695693c877BecA5473462Cf12;
address constant DIAMOND_LOUPE_FACET = 0x65Ddeedf8e68f26D787B678E28Af13fde0249967;
address constant GETTERS_FACET = 0xd1b575ED715e4630340BfdC4fB8A37dF3383C84a;
address constant REWARD_HANDLER_FACET = 0x770756e43b9ac742538850003791deF3020211F3;
address constant SETTERS_GOVERNOR_FACET = 0x1F37F93c6aA7d987AE04786145d3066EAb8EEB43;
address constant SETTERS_GUARDIAN_FACET = 0xdda8f002925a0DfB151c0EaCb48d7136ce6a999F;
address constant SWAPPER_FACET = 0x06c33a0C80C3970cbeDDE641C7A6419d703D93d7;
address constant REDEEMER_FACET = 0x1e45b65CdD3712fEf0024d063d6574A609985E59;

/*//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
SAVINGS IMPLEM
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/

address constant SAVINGS_IMPLEM = 0xfD2cCc920d498db30FBE9c13D5705aE2C72670F9;
8 changes: 8 additions & 0 deletions scripts/ConstantsArbitrum.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,11 @@ address constant GUARDIAN = 0x55F01DDaE74b60e3c255BD2f619FEbdFce560a9C;
address constant IMMUTABLE_CREATE2_FACTORY_ADDRESS = 0x0000000000FFe8B47B3e2130213B802212439497;
address constant PROXY_ADMIN = 0x9a5b060Bd7b8f86c4C0D720a17367729670AfB19;
address constant PROXY_ADMIN_GUARDIAN = 0xf2eDa0829E8A9CF53EBCB8AFCBb558D2eABCEF64;

address constant TREASURY_USD = 0x79E4dF078A06AC31BfAA0f672f1f6E9B7F38113E;

/*//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
SAVINGS IMPLEM
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/

address constant SAVINGS_IMPLEM = 0xadF56645e6796E32a805e5bC70267C656D0EaF7c;
8 changes: 8 additions & 0 deletions scripts/ConstantsAvalanche.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,11 @@ address constant IMMUTABLE_CREATE2_FACTORY_ADDRESS = 0x0000000000FFe8B47B3e21302
address constant CHAIN_AGEUR = 0xAEC8318a9a59bAEb39861d10ff6C7f7bf1F96C57;
address constant PROXY_ADMIN = 0x7AB641E661a9728913A44e06f6a4879481142DDb;
address constant ACCESS_CONTROL_MANAGER = 0xe9f183FC656656f1F17af1F2b0dF79b8fF9ad8eD;

address constant TREASURY_USD = 0xdE725566Fa2bAfd175066943D8D50ae762058e92;

/*//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
SAVINGS IMPLEM
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/

address constant SAVINGS_IMPLEM = 0xdd8670B64B8Ec2c4f7dA9F8f6d1F757D107e1895;
8 changes: 8 additions & 0 deletions scripts/ConstantsBSC.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,11 @@ address constant IMMUTABLE_CREATE2_FACTORY_ADDRESS = 0x0000000000FFe8B47B3e21302
address constant CHAIN_AGEUR = 0x12f31B73D812C6Bb0d735a218c086d44D5fe5f89;
address constant PROXY_ADMIN = 0x9a5b060Bd7b8f86c4C0D720a17367729670AfB19;
address constant ACCESS_CONTROL_MANAGER = 0x31429d1856aD1377A8A0079410B297e1a9e214c2;

address constant TREASURY_USD = 0x075A2660901430DC5714Ca50282e5a2A1Eec4e59;

/*//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
SAVINGS IMPLEM
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/

address constant SAVINGS_IMPLEM = 0x1E5B48c08D6b5efE0792d04f27602bD90026514a;
8 changes: 8 additions & 0 deletions scripts/ConstantsBase.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,11 @@ address constant IMMUTABLE_CREATE2_FACTORY_ADDRESS = 0x0000000000FFe8B47B3e21302
address constant CHAIN_AGEUR = 0xA61BeB4A3d02decb01039e378237032B351125B4;
address constant PROXY_ADMIN = 0x1D941EF0D3Bba4ad67DBfBCeE5262F4CEE53A32b;
address constant ACCESS_CONTROL_MANAGER = 0x4b1E2c2762667331Bc91648052F646d1b0d35984;

address constant TREASURY_USD = 0xdD6A0A00fE3353e813F3B3864694D55D2a7cE11C;

/*//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
SAVINGS IMPLEM
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/

address constant SAVINGS_IMPLEM = 0x07C89CC845D046aEad377DddC61114AA9D920Ac0;
8 changes: 8 additions & 0 deletions scripts/ConstantsCelo.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,11 @@ address constant IMMUTABLE_CREATE2_FACTORY_ADDRESS = 0x0000000000FFe8B47B3e21302
address constant CHAIN_AGEUR = 0xC16B81Af351BA9e64C1a069E3Ab18c244A1E3049;
address constant PROXY_ADMIN = 0x5183f032bf42109cD370B9559FD22207e432301E;
address constant ACCESS_CONTROL_MANAGER = 0x59153e939c5b4721543251ff3049Ea04c755373B;

address constant TREASURY_USD = 0x029F049C59A6b56610a34ba01d0d28E26ed407A8;

/*//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
SAVINGS IMPLEM
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/

address constant SAVINGS_IMPLEM = 0xb1F2A25fFB2b095E99f430cAF507cC31F9A3EaAB;
8 changes: 8 additions & 0 deletions scripts/ConstantsGnosis.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,11 @@ address constant IMMUTABLE_CREATE2_FACTORY_ADDRESS = 0x0000000000FFe8B47B3e21302
address constant CHAIN_AGEUR = 0x4b1E2c2762667331Bc91648052F646d1b0d35984;
address constant PROXY_ADMIN = 0x9a5b060Bd7b8f86c4C0D720a17367729670AfB19;
address constant ACCESS_CONTROL_MANAGER = 0x3E399AE5B4D8bc0021e53b51c8BCdD66DD62c03b;

address constant TREASURY_USD = 0x3E9Ea799C447B3C65702c82F8193085F330a1DB0;

/*//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
SAVINGS IMPLEM
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/

address constant SAVINGS_IMPLEM = 0x6C04c39B9E73aC91106D12F828e2E29Fd8ef1024;
11 changes: 11 additions & 0 deletions scripts/ConstantsLinea.s.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.19;

import "contracts/utils/Constants.sol";

address constant IMMUTABLE_CREATE2_FACTORY_ADDRESS = 0x0000000000FFe8B47B3e2130213B802212439497;
address constant CHAIN_AGEUR = 0x1a7e4e63778B4f12a199C062f3eFdD288afCBce8;
address constant PROXY_ADMIN = 0x1D941EF0D3Bba4ad67DBfBCeE5262F4CEE53A32b;
address constant ACCESS_CONTROL_MANAGER = 0x4b1E2c2762667331Bc91648052F646d1b0d35984;

address constant TREASURY_USD = 0x840b25c87B626a259CA5AC32124fA752F0230a72;
8 changes: 8 additions & 0 deletions scripts/ConstantsOptimism.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,11 @@ address constant IMMUTABLE_CREATE2_FACTORY_ADDRESS = 0x0000000000FFe8B47B3e21302
address constant CHAIN_AGEUR = 0x9485aca5bbBE1667AD97c7fE7C4531a624C8b1ED;
address constant PROXY_ADMIN = 0xC16B81Af351BA9e64C1a069E3Ab18c244A1E3049;
address constant ACCESS_CONTROL_MANAGER = 0x1a7e4e63778B4f12a199C062f3eFdD288afCBce8;

address constant TREASURY_USD = 0x770F7CDFAe5ecaA3A0538DA7Cb1D6c8F22252fe0;

/*//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
SAVINGS IMPLEM
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/

address constant SAVINGS_IMPLEM = 0xB2378660Daebb9BA6c1ce2a38d3ee1d6a6E4Dc14;
8 changes: 8 additions & 0 deletions scripts/ConstantsPolygon.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,11 @@ address constant IMMUTABLE_CREATE2_FACTORY_ADDRESS = 0x0000000000FFe8B47B3e21302
address constant CHAIN_AGEUR = 0xE0B52e49357Fd4DAf2c15e02058DCE6BC0057db4;
address constant PROXY_ADMIN = 0xBFca293e17e067e8aBdca30A5D35ADDd0cBaE6D6;
address constant ACCESS_CONTROL_MANAGER = 0x78754109cb73772d70A6560297037657C2AF51b8;

address constant TREASURY_USD = 0x37ad97C08E3Ce8184aD30911bfb0BcEe443d5120;

/*//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
SAVINGS IMPLEM
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/

address constant SAVINGS_IMPLEM = 0xA7C8AF476558fD8C91422daE19E783dfdf6Ffbb3;
Loading

0 comments on commit addb648

Please sign in to comment.