Skip to content

Commit

Permalink
feat: Refactor staging to simplify and new deploy (SC-873) (#66)
Browse files Browse the repository at this point in the history
* refactor staging to most up to date and do another deploy

* remove custom psm in favour of real one

* new deploy and add sUSDe rate limits

* formating and fixed some modifiers

* split out into deps and release json

* formatting
  • Loading branch information
hexonaut authored Dec 11, 2024
1 parent 153310a commit 22bb50e
Show file tree
Hide file tree
Showing 21 changed files with 193 additions and 361 deletions.
5 changes: 3 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
# Staging Full Deployment with Dependencies
deploy-staging-full :; forge script script/staging/FullStagingDeploy.s.sol:FullStagingDeploy --sender ${ETH_FROM} --broadcast --verify

# Staging Deployments
deploy-mainnet-staging-full :; ENV=staging forge script script/Deploy.s.sol:DeployMainnetFull --sender ${ETH_FROM} --broadcast --verify
deploy-mainnet-staging-controller :; ENV=staging forge script script/Deploy.s.sol:DeployMainnetController --sender ${ETH_FROM} --broadcast --verify

deploy-base-staging-full :; CHAIN=base ENV=staging forge script script/Deploy.s.sol:DeployForeignFull --sender ${ETH_FROM} --broadcast --verify
deploy-base-staging-controller :; CHAIN=base ENV=staging forge script script/Deploy.s.sol:DeployForeignController --sender ${ETH_FROM} --broadcast --verify

# Production Deployments
Expand Down
35 changes: 16 additions & 19 deletions deploy/ControllerInit.sol
Original file line number Diff line number Diff line change
Expand Up @@ -134,11 +134,11 @@ library MainnetControllerInit {
addresses.susds
);

_setRateLimitData(controller.LIMIT_USDS_MINT(), rateLimits, data.usdsMintData, "usdsMintData", 18);
_setRateLimitData(controller.LIMIT_USDS_TO_USDC(), rateLimits, data.usdsToUsdcData, "usdsToUsdcData", 6);
_setRateLimitData(controller.LIMIT_USDC_TO_CCTP(), rateLimits, data.usdcToCctpData, "usdcToCctpData", 6);
_setRateLimitData(domainKeyBase, rateLimits, data.cctpToBaseDomainData, "cctpToBaseDomainData", 6);
_setRateLimitData(susdsKey, rateLimits, data.susdsDepositData, "susdsDepositData", 18);
setRateLimitData(controller.LIMIT_USDS_MINT(), rateLimits, data.usdsMintData, "usdsMintData", 18);
setRateLimitData(controller.LIMIT_USDS_TO_USDC(), rateLimits, data.usdsToUsdcData, "usdsToUsdcData", 6);
setRateLimitData(controller.LIMIT_USDC_TO_CCTP(), rateLimits, data.usdcToCctpData, "usdcToCctpData", 6);
setRateLimitData(domainKeyBase, rateLimits, data.cctpToBaseDomainData, "cctpToBaseDomainData", 6);
setRateLimitData(susdsKey, rateLimits, data.susdsDepositData, "susdsDepositData", 18);

// Step 4: Configure the mint recipients on other domains

Expand Down Expand Up @@ -175,7 +175,7 @@ library MainnetControllerInit {
IPSMLike(psm).kiss(almProxy); // To allow using no fee functionality
}

function _setRateLimitData(
function setRateLimitData(
bytes32 key,
IRateLimits rateLimits,
RateLimitData memory data,
Expand Down Expand Up @@ -295,14 +295,15 @@ library ForeignControllerInit {
CCTPForwarder.DOMAIN_ID_CIRCLE_ETHEREUM
);

_setRateLimitData(_makeKey(depositKey, addresses.usdc), rateLimits, data.usdcDepositData, "usdcDepositData", 6);
_setRateLimitData(_makeKey(withdrawKey, addresses.usdc), rateLimits, data.usdcWithdrawData, "usdcWithdrawData", 6);
_setRateLimitData(_makeKey(depositKey, addresses.usds), rateLimits, data.usdsDepositData, "usdsDepositData", 18);
_setRateLimitData(_makeKey(withdrawKey, addresses.usds), rateLimits, data.usdsWithdrawData, "usdsWithdrawData", 18);
_setRateLimitData(_makeKey(depositKey, addresses.susds), rateLimits, data.susdsDepositData, "susdsDepositData", 18);
_setRateLimitData(_makeKey(withdrawKey, addresses.susds), rateLimits, data.susdsWithdrawData, "susdsWithdrawData", 18);
_setRateLimitData(controller.LIMIT_USDC_TO_CCTP(), rateLimits, data.usdcToCctpData, "usdcToCctpData", 6);
_setRateLimitData(domainKeyEthereum, rateLimits, data.cctpToEthereumDomainData, "cctpToEthereumDomainData", 6);
setRateLimitData(RateLimitHelpers.makeAssetKey(depositKey, addresses.usdc), rateLimits, data.usdcDepositData, "usdcDepositData", 6);
setRateLimitData(RateLimitHelpers.makeAssetKey(withdrawKey, addresses.usdc), rateLimits, data.usdcWithdrawData, "usdcWithdrawData", 6);
setRateLimitData(RateLimitHelpers.makeAssetKey(depositKey, addresses.usds), rateLimits, data.usdsDepositData, "usdsDepositData", 18);
setRateLimitData(RateLimitHelpers.makeAssetKey(withdrawKey, addresses.usds), rateLimits, data.usdsWithdrawData, "usdsWithdrawData", 18);
setRateLimitData(RateLimitHelpers.makeAssetKey(depositKey, addresses.susds), rateLimits, data.susdsDepositData, "susdsDepositData", 18);
setRateLimitData(RateLimitHelpers.makeAssetKey(withdrawKey, addresses.susds), rateLimits, data.susdsWithdrawData, "susdsWithdrawData", 18);

setRateLimitData(controller.LIMIT_USDC_TO_CCTP(), rateLimits, data.usdcToCctpData, "usdcToCctpData", 6);
setRateLimitData(domainKeyEthereum, rateLimits, data.cctpToEthereumDomainData, "cctpToEthereumDomainData", 6);

// Step 3: Configure the mint recipients on other domains

Expand All @@ -311,11 +312,7 @@ library ForeignControllerInit {
}
}

function _makeKey(bytes32 actionKey, address asset) internal pure returns (bytes32) {
return RateLimitHelpers.makeAssetKey(actionKey, asset);
}

function _setRateLimitData(
function setRateLimitData(
bytes32 key,
IRateLimits rateLimits,
RateLimitData memory data,
Expand Down
9 changes: 4 additions & 5 deletions script/input/1/base-staging.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
{
"admin": "0x6F3066538A648b9CFad0679DF0a7e40882A23AA4",
"almProxy": "0x94eA1518cACD45786Dbe0fe646F93446F94d21FE",
"cctpTokenMessenger": "0x1682Ae6375C4E4A97e4B583BC394c861A46D8962",
"psm": "0x1601843c5E9bC251A3272907010AFa41Fa18347E",
"rateLimits": "0x79F826786953fb42aed02796F792EF8f2701d18b",
"relayer": "0xaB959A6F88b8D966c44a7cDC2049Ba9669EBf047",
"freezer": "0xaB959A6F88b8D966c44a7cDC2049Ba9669EBf047",
"usdc": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
"usdc": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"psm": "0x1601843c5E9bC251A3272907010AFa41Fa18347E",
"usds": "0x820C137fa70C8691f0e44Dc420a5e53c168921Dc",
"susds": "0x5875eEE11Cf8398102FdAd704C9E96607675467a"
}
5 changes: 0 additions & 5 deletions script/input/1/common.json

This file was deleted.

7 changes: 3 additions & 4 deletions script/input/1/mainnet-staging.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
{
"admin": "0x6F3066538A648b9CFad0679DF0a7e40882A23AA4",
"allocatorVault": "0x8E20650287635aE6e20ce38EcD3E795919D52354",
"almProxy": "0xC29D06ce81137E6B3C3DC090713636d81600a347",
"ilk": "ALLOCATOR-SPARK-A",
"usdcUnitSize": 10,
"usdsUnitSize": 10,
"cctpTokenMessenger": "0xBd3fa81B58Ba92a82136038B25aDec7066af3155",
"dai": "0x6B175474E89094C44Da98b954EedeAC495271d0F",
"daiUsds": "0x3225737a9Bbb6473CB4a45b7244ACa2BeFdB276A",
"psm": "0x91AA02EDe82D3C2f49A2d5a7efBA7ba4403100C8",
"rateLimits": "0x9A140AC56CC28A00B2c036F454F202c2459ca84c",
"relayer": "0x611C7c37F296240c2fF5a92f0B4a398B01B237c4",
"freezer": "0x611C7c37F296240c2fF5a92f0B4a398B01B237c4",
"susds": "0xa3931d71877C0E7a3148CB7Eb4463524FEc27fbD",
Expand Down
8 changes: 8 additions & 0 deletions script/output/1/base-staging-deps-release-20241022.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"admin": "0x6F3066538A648b9CFad0679DF0a7e40882A23AA4",
"psm": "0x6b728c4Fa4746a78e9af2cD75C712b5Bf2A90Ae7",
"susds": "0x4ae97016a03C132d2F600444E2493C62B01C9497",
"safe": "0xaB959A6F88b8D966c44a7cDC2049Ba9669EBf047",
"usdc": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"usds": "0x4e9BEe8F2b33d8893a5A219854AC52e9518ee328"
}
5 changes: 5 additions & 0 deletions script/output/1/base-staging-deps-release-20241210.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"admin": "0xd1236a6A111879d9862f8374BA15344b6B233Fbd",
"freezer": "0xaB959A6F88b8D966c44a7cDC2049Ba9669EBf047",
"relayer": "0xaB959A6F88b8D966c44a7cDC2049Ba9669EBf047"
}
8 changes: 1 addition & 7 deletions script/output/1/base-staging-release-20241022.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,5 @@
{
"admin": "0x6F3066538A648b9CFad0679DF0a7e40882A23AA4",
"almProxy": "0x94eA1518cACD45786Dbe0fe646F93446F94d21FE",
"controller": "0xD26112Ce8f7BE0834dBcfd018042bF76d68Ff42a",
"psm": "0x6b728c4Fa4746a78e9af2cD75C712b5Bf2A90Ae7",
"rateLimits": "0x79F826786953fb42aed02796F792EF8f2701d18b",
"susds": "0x4ae97016a03C132d2F600444E2493C62B01C9497",
"safe": "0xaB959A6F88b8D966c44a7cDC2049Ba9669EBf047",
"usdc": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"usds": "0x4e9BEe8F2b33d8893a5A219854AC52e9518ee328"
"rateLimits": "0x79F826786953fb42aed02796F792EF8f2701d18b"
}
5 changes: 5 additions & 0 deletions script/output/1/base-staging-release-20241210.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"almProxy": "0x2627d5D0AF0B88Ee58BD7346F20A429f67a73e00",
"controller": "0xa3091Dfa6c02B6611250733852c95A59a127E00F",
"rateLimits": "0xAe20F9093eB3301b2D83871A3505935eFc8498C6"
}
18 changes: 18 additions & 0 deletions script/output/1/mainnet-staging-deps-release-20241022.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"admin": "0x6F3066538A648b9CFad0679DF0a7e40882A23AA4",
"allocatorBuffer": "0x6b728c4Fa4746a78e9af2cD75C712b5Bf2A90Ae7",
"allocatorOracle": "0x4ae97016a03C132d2F600444E2493C62B01C9497",
"allocatorRegistry": "0x6f75E221ccd8D7C496a48Ff4fd854C2319F2DaE2",
"allocatorRoles": "0x87E8A7537875661d12a31912FAaF07f50043e3D7",
"allocatorVault": "0x8E20650287635aE6e20ce38EcD3E795919D52354",
"dai": "0x6B175474E89094C44Da98b954EedeAC495271d0F",
"daiUsds": "0x3225737a9Bbb6473CB4a45b7244ACa2BeFdB276A",
"jug": "0x464c46b3bFCf261ABFe440F90f08a08A39a59DD4",
"psm": "0x91AA02EDe82D3C2f49A2d5a7efBA7ba4403100C8",
"susds": "0xa3931d71877C0E7a3148CB7Eb4463524FEc27fbD",
"safe": "0x611C7c37F296240c2fF5a92f0B4a398B01B237c4",
"usdc": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"usds": "0xdC035D45d973E3EC169d2276DDab16f1e407384F",
"usdsJoin": "0xA1CCf21b7012874fB2CD81704e0eeeF083DDe1b8",
"vat": "0xea53A79Fc3e024C887f37E844FA24B3DEbEC84B4"
}
19 changes: 19 additions & 0 deletions script/output/1/mainnet-staging-deps-release-20241210.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"admin": "0xd1236a6A111879d9862f8374BA15344b6B233Fbd",
"allocatorBuffer": "0x36138584868028D1913bf01359D7c736E6773008",
"allocatorOracle": "0xfC0E1fFBF9cCd82688c775b1587c45506cebDBdf",
"allocatorRegistry": "0xfd0A671c07309f14b05ec72c741C86AEA02e873c",
"allocatorRoles": "0xF954e125E979e104974882ca94063B4f088cf71D",
"allocatorVault": "0xAB0d4019B1182021C4cAa2F3D078EFe55cD5B5A6",
"dai": "0x6B175474E89094C44Da98b954EedeAC495271d0F",
"daiUsds": "0x3225737a9Bbb6473CB4a45b7244ACa2BeFdB276A",
"freezer": "0x611C7c37F296240c2fF5a92f0B4a398B01B237c4",
"jug": "0xf999576B81c53BFf473550354eeD98cD7b126184",
"psm": "0x8ac160e388a3F975c9Db1D41DeB76C574702CFa9",
"relayer": "0x611C7c37F296240c2fF5a92f0B4a398B01B237c4",
"susds": "0xa3931d71877C0E7a3148CB7Eb4463524FEc27fbD",
"usdc": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"usds": "0xdC035D45d973E3EC169d2276DDab16f1e407384F",
"usdsJoin": "0xAd309294c38EB44C929a9bB2A9452B1C8D96965e",
"vat": "0x373E0699D8bFDdd99d78248e5b993E6a02061B0e"
}
18 changes: 1 addition & 17 deletions script/output/1/mainnet-staging-release-20241022.json
Original file line number Diff line number Diff line change
@@ -1,21 +1,5 @@
{
"admin": "0x6F3066538A648b9CFad0679DF0a7e40882A23AA4",
"allocatorBuffer": "0x6b728c4Fa4746a78e9af2cD75C712b5Bf2A90Ae7",
"allocatorOracle": "0x4ae97016a03C132d2F600444E2493C62B01C9497",
"allocatorRegistry": "0x6f75E221ccd8D7C496a48Ff4fd854C2319F2DaE2",
"allocatorRoles": "0x87E8A7537875661d12a31912FAaF07f50043e3D7",
"allocatorVault": "0x8E20650287635aE6e20ce38EcD3E795919D52354",
"almProxy": "0xC29D06ce81137E6B3C3DC090713636d81600a347",
"controller": "0xcc0c5ADF6649256d3cE6084eCf94AF5D01440b6C",
"dai": "0x6B175474E89094C44Da98b954EedeAC495271d0F",
"daiUsds": "0x3225737a9Bbb6473CB4a45b7244ACa2BeFdB276A",
"jug": "0x464c46b3bFCf261ABFe440F90f08a08A39a59DD4",
"psm": "0x91AA02EDe82D3C2f49A2d5a7efBA7ba4403100C8",
"rateLimits": "0x9A140AC56CC28A00B2c036F454F202c2459ca84c",
"susds": "0xa3931d71877C0E7a3148CB7Eb4463524FEc27fbD",
"safe": "0x611C7c37F296240c2fF5a92f0B4a398B01B237c4",
"usdc": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"usds": "0xdC035D45d973E3EC169d2276DDab16f1e407384F",
"usdsJoin": "0xA1CCf21b7012874fB2CD81704e0eeeF083DDe1b8",
"vat": "0xea53A79Fc3e024C887f37E844FA24B3DEbEC84B4"
"rateLimits": "0x9A140AC56CC28A00B2c036F454F202c2459ca84c"
}
5 changes: 5 additions & 0 deletions script/output/1/mainnet-staging-release-20241210.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"almProxy": "0x675fc95BF2b42Fc61FF0f2E9969d9Ab19b65cda5",
"controller": "0x08c830bc14b52A65E7e62aBc7365e1C53933D4Bf",
"rateLimits": "0x449F100E37CF9CC4631c044efC4726609Be26766"
}
37 changes: 0 additions & 37 deletions script/staging/DeployEthereum.s.sol

This file was deleted.

Loading

0 comments on commit 22bb50e

Please sign in to comment.