Skip to content

Commit

Permalink
chore: staging deployed
Browse files Browse the repository at this point in the history
  • Loading branch information
0xTimepunk committed Feb 13, 2024
1 parent cb30870 commit b0b6874
Show file tree
Hide file tree
Showing 12 changed files with 288 additions and 76 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,4 @@ lcov.info

report/

script/output/
script/output
6 changes: 4 additions & 2 deletions script/Abstract.Deploy.Single.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -772,7 +772,8 @@ abstract contract AbstractDeploySingle is Script {
uint256 i,
uint256 trueIndex,
Cycle cycle,
uint64[] memory s_superFormChainIds
uint64[] memory s_superFormChainIds,
bool grantProtocolAdmin
)
internal
setEnvDeploy(cycle)
Expand All @@ -787,7 +788,8 @@ abstract contract AbstractDeploySingle is Script {
bytes32 protocolAdminRole = srbac.PROTOCOL_ADMIN_ROLE();
bytes32 emergencyAdminRole = srbac.EMERGENCY_ADMIN_ROLE();

srbac.grantRole(protocolAdminRole, PROTOCOL_ADMINS[trueIndex]);
if (grantProtocolAdmin) srbac.grantRole(protocolAdminRole, PROTOCOL_ADMINS[trueIndex]);

srbac.grantRole(emergencyAdminRole, EMERGENCY_ADMIN);

//srbac.revokeRole(emergencyAdminRole, ownerAddress);
Expand Down
2 changes: 1 addition & 1 deletion script/Mainnet.Deploy.NewChain.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ contract MainnetDeployNewChain is AbstractDeploySingle {
}
}

_deployStage3(selectedChainIndex, trueIndex, Cycle.Prod, TARGET_DEPLOYMENT_CHAINS);
_deployStage3(selectedChainIndex, trueIndex, Cycle.Prod, TARGET_DEPLOYMENT_CHAINS, true);
}

/// @dev configures stage 2 for previous chains for the newly added chain
Expand Down
2 changes: 1 addition & 1 deletion script/Mainnet.Deploy.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,6 @@ contract MainnetDeploy is AbstractDeploySingle {
}
}

_deployStage3(selectedChainIndex, trueIndex, Cycle.Prod, TARGET_DEPLOYMENT_CHAINS);
_deployStage3(selectedChainIndex, trueIndex, Cycle.Prod, TARGET_DEPLOYMENT_CHAINS, true);
}
}
15 changes: 15 additions & 0 deletions script/Mainnet.Staging.Deploy.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -52,4 +52,19 @@ contract MainnetStagingDeploy is AbstractDeploySingle {

_deployStage2(selectedChainIndex, trueIndex, Cycle.Prod, TARGET_DEPLOYMENT_CHAINS, TARGET_DEPLOYMENT_CHAINS);
}

/// @dev stage 3 must be called only after stage 1 is complete for all chains!
function deployStage3(uint256 selectedChainIndex) external {
_preDeploymentSetup();

uint256 trueIndex;
for (uint256 i = 0; i < chainIds.length; i++) {
if (TARGET_DEPLOYMENT_CHAINS[selectedChainIndex] == chainIds[i]) {
trueIndex = i;
break;
}
}

_deployStage3(selectedChainIndex, trueIndex, Cycle.Prod, TARGET_DEPLOYMENT_CHAINS, false);
}
}
2 changes: 1 addition & 1 deletion script/Tenderly.Deploy.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,6 @@ contract TenderlyDeploy is AbstractDeploySingle {
}
}

_deployStage3(selectedChainIndex, trueIndex, Cycle.Dev, TARGET_DEPLOYMENT_CHAINS);
_deployStage3(selectedChainIndex, trueIndex, Cycle.Dev, TARGET_DEPLOYMENT_CHAINS, true);
}
}
36 changes: 26 additions & 10 deletions script/utils/run_script_mainnet_staging.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,32 +7,48 @@ source .env
# Run the script
echo Running Stage 1: ...

FOUNDRY_PROFILE=default forge script script/Mainnet.Staging.Deploy.s.sol:MainnetStagingDeploy --sig "deployStage1(uint256)" 0 --rpc-url $BSC_RPC_URL --slow --account defaultKey --sender 0x48aB8AdF869Ba9902Ad483FB1Ca2eFDAb6eabe92
#FOUNDRY_PROFILE=default forge script script/Mainnet.Staging.Deploy.s.sol:MainnetStagingDeploy --sig "deployStage1(uint256)" 0 --rpc-url $BSC_RPC_URL --broadcast --slow --account defaultKey --sender 0x48aB8AdF869Ba9902Ad483FB1Ca2eFDAb6eabe92

wait
#wait

#FOUNDRY_PROFILE=default forge script script/Mainnet.Staging.Deploy.s.sol:MainnetStagingDeploy --sig "deployStage1(uint256)" 1 --rpc-url $ARBITRUM_RPC_URL --broadcast --slow --legacy --account defaultKey --sender 0x48aB8AdF869Ba9902Ad483FB1Ca2eFDAb6eabe92

#wait

#FOUNDRY_PROFILE=default forge script script/Mainnet.Staging.Deploy.s.sol:MainnetStagingDeploy --sig "deployStage1(uint256)" 2 --rpc-url $OPTIMISM_RPC_URL --broadcast --slow --account defaultKey --sender 0x48aB8AdF869Ba9902Ad483FB1Ca2eFDAb6eabe92

#wait

#FOUNDRY_PROFILE=default forge script script/Mainnet.Staging.Deploy.s.sol:MainnetStagingDeploy --sig "deployStage1(uint256)" 3 --rpc-url $BASE_RPC_URL --broadcast --slow --account defaultKey --sender 0x48aB8AdF869Ba9902Ad483FB1Ca2eFDAb6eabe92

FOUNDRY_PROFILE=default forge script script/Mainnet.Staging.Deploy.s.sol:MainnetStagingDeploy --sig "deployStage1(uint256)" 1 --rpc-url $ARBITRUM_RPC_URL --slow --legacy --account defaultKey --sender 0x48aB8AdF869Ba9902Ad483FB1Ca2eFDAb6eabe92
#wait

echo Running Stage 2: ...

FOUNDRY_PROFILE=default forge script script/Mainnet.Staging.Deploy.s.sol:MainnetStagingDeploy --sig "deployStage2(uint256)" 0 --rpc-url $BSC_RPC_URL --broadcast --slow --account defaultKey --sender 0x48aB8AdF869Ba9902Ad483FB1Ca2eFDAb6eabe92

wait

FOUNDRY_PROFILE=default forge script script/Mainnet.Staging.Deploy.s.sol:MainnetStagingDeploy --sig "deployStage1(uint256)" 2 --rpc-url $OPTIMISM_RPC_URL --slow --account defaultKey --sender 0x48aB8AdF869Ba9902Ad483FB1Ca2eFDAb6eabe92
FOUNDRY_PROFILE=default forge script script/Mainnet.Staging.Deploy.s.sol:MainnetStagingDeploy --sig "deployStage2(uint256)" 1 --rpc-url $ARBITRUM_RPC_URL --broadcast --slow --legacy --account defaultKey --sender 0x48aB8AdF869Ba9902Ad483FB1Ca2eFDAb6eabe92

wait
FOUNDRY_PROFILE=default forge script script/Mainnet.Staging.Deploy.s.sol:MainnetStagingDeploy --sig "deployStage2(uint256)" 2 --rpc-url $OPTIMISM_RPC_URL --broadcast --slow --account defaultKey --sender 0x48aB8AdF869Ba9902Ad483FB1Ca2eFDAb6eabe92

FOUNDRY_PROFILE=default forge script script/Mainnet.Staging.Deploy.s.sol:MainnetStagingDeploy --sig "deployStage1(uint256)" 3 --rpc-url $BASE_RPC_URL --slow --account defaultKey --sender 0x48aB8AdF869Ba9902Ad483FB1Ca2eFDAb6eabe92
wait
FOUNDRY_PROFILE=default forge script script/Mainnet.Staging.Deploy.s.sol:MainnetStagingDeploy --sig "deployStage2(uint256)" 3 --rpc-url $BASE_RPC_URL --broadcast --slow --account defaultKey --sender 0x48aB8AdF869Ba9902Ad483FB1Ca2eFDAb6eabe92

wait

echo Running Stage 2: ...
echo Running Stage 3: ...

FOUNDRY_PROFILE=default forge script script/Mainnet.Staging.Deploy.s.sol:MainnetStagingDeploy --sig "deployStage2(uint256)" 0 --rpc-url $BSC_RPC_URL --slow --account defaultKey --sender 0x48aB8AdF869Ba9902Ad483FB1Ca2eFDAb6eabe92
FOUNDRY_PROFILE=default forge script script/Mainnet.Staging.Deploy.s.sol:MainnetStagingDeploy --sig "deployStage3(uint256)" 0 --rpc-url $BSC_RPC_URL --broadcast --slow --account defaultKey --sender 0x48aB8AdF869Ba9902Ad483FB1Ca2eFDAb6eabe92

wait

FOUNDRY_PROFILE=default forge script script/Mainnet.Staging.Deploy.s.sol:MainnetStagingDeploy --sig "deployStage2(uint256)" 1 --rpc-url $ARBITRUM_RPC_URL --slow --legacy --account defaultKey --sender 0x48aB8AdF869Ba9902Ad483FB1Ca2eFDAb6eabe92
FOUNDRY_PROFILE=default forge script script/Mainnet.Staging.Deploy.s.sol:MainnetStagingDeploy --sig "deployStage3(uint256)" 1 --rpc-url $ARBITRUM_RPC_URL --broadcast --slow --legacy --account defaultKey --sender 0x48aB8AdF869Ba9902Ad483FB1Ca2eFDAb6eabe92

wait
FOUNDRY_PROFILE=default forge script script/Mainnet.Staging.Deploy.s.sol:MainnetStagingDeploy --sig "deployStage2(uint256)" 2 --rpc-url $OPTIMISM_RPC_URL --slow --account defaultKey --sender 0x48aB8AdF869Ba9902Ad483FB1Ca2eFDAb6eabe92
FOUNDRY_PROFILE=default forge script script/Mainnet.Staging.Deploy.s.sol:MainnetStagingDeploy --sig "deployStage3(uint256)" 2 --rpc-url $OPTIMISM_RPC_URL --broadcast --slow --account defaultKey --sender 0x48aB8AdF869Ba9902Ad483FB1Ca2eFDAb6eabe92

wait
FOUNDRY_PROFILE=default forge script script/Mainnet.Staging.Deploy.s.sol:MainnetStagingDeploy --sig "deployStage2(uint256)" 3 --rpc-url $BASE_RPC_URL --slow --account defaultKey --sender 0x48aB8AdF869Ba9902Ad483FB1Ca2eFDAb6eabe92
FOUNDRY_PROFILE=default forge script script/Mainnet.Staging.Deploy.s.sol:MainnetStagingDeploy --sig "deployStage3(uint256)" 3 --rpc-url $BASE_RPC_URL --broadcast --slow --account defaultKey --sender 0x48aB8AdF869Ba9902Ad483FB1Ca2eFDAb6eabe92
157 changes: 157 additions & 0 deletions script/utils/verify_contracts_staging.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
#!/usr/bin/env bash

# Read the RPC URL
source .env

networks=(
56
42161
10
8453
# add more networks here if needed
)

api_keys=(
$BSCSCAN_API
$ARBISCAN_API
$OPSCAN_API
$BASESCAN_API
# add more API keys here if needed
)

## CONTRACTS VERIFICATION
empty_constructor_arg="$(cast abi-encode "constructor()")"
super_constructor_arg="$(cast abi-encode "constructor(address)" 0xB2C097ac459aFAc892ae5b35f6bd6a9Dd3071F47)"
superposition_constructor_arg="$(cast abi-encode "constructor(string, address, string, string)" https://ipfs-gateway.superform.xyz/ipns/k51qzi5uqu5dg90fqdo9j63m556wlddeux4mlgyythp30zousgh3huhyzouyq8/JSON/ 0xB2C097ac459aFAc892ae5b35f6bd6a9Dd3071F47 StagingSuperPositions SP)"
superregistry_constructor_arg="$(cast abi-encode "constructor(address)" 0x9736b60c4f749232d400B5605f21AE137a5Ebb71)"
super_rbac_arg="$(cast abi-encode 'constructor((address,address,address,address,address,address,address,address,address,address,address))' '(0x48aB8AdF869Ba9902Ad483FB1Ca2eFDAb6eabe92,0x48aB8AdF869Ba9902Ad483FB1Ca2eFDAb6eabe92,0xc5c971e6B9F01dcf06bda896AEA3648eD6e3EFb3,0x2759142A9e3cBbcCc1E3d5F76490eEE4007B8943,0x6A5DD913fE3CB5193E09D1810a3b9ff1C0f9c0D6,0x6A5DD913fE3CB5193E09D1810a3b9ff1C0f9c0D6,0xF1c73958118F22Fc3A3947f405DcEBF08a1E68f7,0x6A5DD913fE3CB5193E09D1810a3b9ff1C0f9c0D6,0x3ea519270248BdEE4a939df20049E02290bf9CaF,0xe1A61d90554131314cB30dB55B8AD4F4b6e21C3a,0xe9F074d003b377A197D336B8a1c86EdaA6cC4dEF)')"
wormhole_sr_arg="$(cast abi-encode "constructor(address, uint8)" 0xB2C097ac459aFAc892ae5b35f6bd6a9Dd3071F47 2)"

file_names=(
"src/crosschain-data/extensions/CoreStateRegistry.sol"
"src/crosschain-liquidity/DstSwapper.sol"
"src/forms/ERC4626Form.sol"
"src/EmergencyQueue.sol"
"src/crosschain-data/adapters/hyperlane/HyperlaneImplementation.sol"
"src/crosschain-data/adapters/layerzero/LayerzeroImplementation.sol"
"src/crosschain-liquidity/lifi/LiFiValidator.sol"
"src/payments/PayMaster.sol"
"src/crosschain-data/utils/PayloadHelper.sol"
"src/payments/PaymentHelper.sol"
"src/crosschain-liquidity/socket/SocketValidator.sol"
"src/SuperformFactory.sol"
"src/SuperformRouter.sol"
"src/crosschain-data/adapters/wormhole/automatic-relayer/WormholeARImplementation.sol"
"src/SuperPositions.sol"
"src/settings/SuperRegistry.sol"
"src/settings/SuperRBAC.sol"
"src/VaultClaimer.sol"
"src/crosschain-data/BroadcastRegistry.sol"
"src/crosschain-data/adapters/wormhole/specialized-relayer/WormholeSRImplementation.sol"
# Add more file names here if needed
)

contract_names=(
"CoreStateRegistry"
"DstSwapper"
"ERC4626Form"
"EmergencyQueue"
"HyperlaneImplementation"
"LayerzeroImplementation"
"LiFiValidator"
"PayMaster"
"PayloadHelper"
"PaymentHelper"
"SocketValidator"
"SuperformFactory"
"SuperformRouter"
"WormholeARImplementation"
"SuperPositions"
"SuperRegistry"
"SuperRBAC"
"VaultClaimer"
"BroadcastRegistry"
"WormholeSRImplementation"
# Add more contract names here if needed
)

contract_addresses=(
0x80AAb0eA1243817E22D6ad76ebe06385900e906d
0xAACA228C3fca21c41C4Ea82EBb2d8843bd830B3b
0xB2f32B62B7537304b830dE6575Fe73c41ea52991
0x7FE59421D6b85afa86d982E3186a74c72f6c4c03
0x207BFE0Fb040F17cC61B67e4aaDfC59C9e170671
0x1863862794cD8ec60daBF8B473fcA928B78cE563
0x1921E55E07A049DE0a3853b4A34235E37e4F3425
0x36560c6790FaEb44BEdA2606e6aC50f08fdF0c94
0x5Ae08549F266a9B4cC95Ad8aac57bE6Af236b647
0xfbdCa870c9878d71e6a3A0a312220De153404eA2
0x71060c588Aa01e61253EE4ac231Ac1a2bC672Bb8
0x9CA4480B65E5F3d57cFb942ac44A0A6Ab0B2C843
0x21b69aC55e3B620aCF74b4362D34d5E51a8187b8
0x3b6FABE94a5d0B160e2E1519495e7Fe9dD009Ea3
0x9AB6Dd8c4FC98F859a3271db98B81777aC2893b0
0xB2C097ac459aFAc892ae5b35f6bd6a9Dd3071F47
0x9736b60c4f749232d400B5605f21AE137a5Ebb71
0xf1930eD240cF9c4F1840aDB689E5d231687922C5
0x5767897fc69A77AC68a75001a56fcA6c421adc6f
0x44b451Ca87267a62A0C853ECFbaaC1C3E528a82C
# Add more addresses here if needed
)

constructor_args=(
$super_constructor_arg
$super_constructor_arg
$super_constructor_arg
$super_constructor_arg
$super_constructor_arg
$super_constructor_arg
$super_constructor_arg
$super_constructor_arg
$super_constructor_arg
$super_constructor_arg
$super_constructor_arg
$super_constructor_arg
$super_constructor_arg
$super_constructor_arg
$superposition_constructor_arg
$superregistry_constructor_arg
$super_rbac_arg
$empty_constructor_arg
$super_constructor_arg
$wormhole_sr_arg
)

# loop through networks
for i in "${!networks[@]}"; do
network="${networks[$i]}"
api_key="${api_keys[$i]}"

# loop through file_names and contract_names
for j in "${!file_names[@]}"; do
file_name="${file_names[$j]}"
contract_name="${contract_names[$j]}"
contract_address="${contract_addresses[$j]}"
constructor_arg="${constructor_args[$j]}"

# verify the contract
if [[ $network == 43114 ]]; then
forge verify-contract $contract_address \
--chain-id $network \
--num-of-optimizations 200 \
--watch --compiler-version v0.8.23+commit.f704f362 \
--constructor-args "$constructor_arg" \
"$file_name:$contract_name" \
--etherscan-api-key "$api_key" \
--verifier-url 'https://api.routescan.io/v2/network/mainnet/evm/43114/etherscan'
else
forge verify-contract $contract_address \
--chain-id $network \
--num-of-optimizations 200 \
--watch --compiler-version v0.8.23+commit.f704f362 \
--constructor-args "$constructor_arg" \
"$file_name:$contract_name" \
--etherscan-api-key "$api_key"
fi
done
done
40 changes: 20 additions & 20 deletions script/v1_staging_deployment/10/Optimism-latest.json
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
{
"BroadcastRegistry": "0x856ddF6348fFF6B774566cD63f2e8db3796a0965",
"CoreStateRegistry": "0x3721B0E122768CedDfB3Dec810E64c361177f826",
"DstSwapper": "0x2691638Fa19357773C186BA34924E194B4Ab6cDa",
"ERC4626Form": "0x58F8Cef0D825B1a609FaD0576d5F2b7399ab1335",
"EmergencyQueue": "0xE22DCd9264086DF7B26d97A9A9d35e8dFac819dd",
"HyperlaneImplementation": "0x5417Fe6bA77106BCb5Ef1173fd901097BF08F234",
"LayerzeroImplementation": "0x8a3E646d9FDAA5ce032743fCe4d81B5Fa8723Be2",
"LiFiValidator": "0x8b5dF72D849cC03baf168678FD357B81E00e2ba5",
"PayMaster": "0xcA665d3e3D48fb3C1A2B743445e367fa4340Eb3F",
"PayloadHelper": "0x92f98d698d2c8E0f29D1bb4d75C3A03e05e811bc",
"PaymentHelper": "0xaDcA2c82D7A05b9E84F75AeAc466bE74B34066d9",
"SocketValidator": "0x7483486862BDa9BA68Be4923E7E9945c2771Ec28",
"SuperPositions": "0x01dF6fb6a28a89d6bFa53b2b3F20644AbF417678",
"SuperRBAC": "0x480bec236e3d3AE33789908BF024850B2Fe71258",
"SuperRegistry": "0x17A332dC7B40aE701485023b219E9D6f493a2514",
"SuperformFactory": "0xD85ec15A9F814D6173bF1a89273bFB3964aAdaEC",
"SuperformRouter": "0xa195608C2306A26f727d5199D5A382a4508308DA",
"VaultClaimer": "0xC4A234A40aC13b02096Dd4aae1b8221541Dc5d5A",
"WormholeARImplementation": "0xbD59F0B24d7A668f2c2CEAcfa056518bB3C06A9f",
"WormholeSRImplementation": "0x2827eFf89affacf9E80D671bca6DeCf7dbdcCaCa"
"BroadcastRegistry": "0x5767897fc69A77AC68a75001a56fcA6c421adc6f",
"CoreStateRegistry": "0x80AAb0eA1243817E22D6ad76ebe06385900e906d",
"DstSwapper": "0xAACA228C3fca21c41C4Ea82EBb2d8843bd830B3b",
"ERC4626Form": "0xB2f32B62B7537304b830dE6575Fe73c41ea52991",
"EmergencyQueue": "0x7FE59421D6b85afa86d982E3186a74c72f6c4c03",
"HyperlaneImplementation": "0x207BFE0Fb040F17cC61B67e4aaDfC59C9e170671",
"LayerzeroImplementation": "0x1863862794cD8ec60daBF8B473fcA928B78cE563",
"LiFiValidator": "0x1921E55E07A049DE0a3853b4A34235E37e4F3425",
"PayMaster": "0x36560c6790FaEb44BEdA2606e6aC50f08fdF0c94",
"PayloadHelper": "0x5Ae08549F266a9B4cC95Ad8aac57bE6Af236b647",
"PaymentHelper": "0xfbdCa870c9878d71e6a3A0a312220De153404eA2",
"SocketValidator": "0x71060c588Aa01e61253EE4ac231Ac1a2bC672Bb8",
"SuperPositions": "0x9AB6Dd8c4FC98F859a3271db98B81777aC2893b0",
"SuperRBAC": "0x9736b60c4f749232d400B5605f21AE137a5Ebb71",
"SuperRegistry": "0xB2C097ac459aFAc892ae5b35f6bd6a9Dd3071F47",
"SuperformFactory": "0x9CA4480B65E5F3d57cFb942ac44A0A6Ab0B2C843",
"SuperformRouter": "0x21b69aC55e3B620aCF74b4362D34d5E51a8187b8",
"VaultClaimer": "0xf1930eD240cF9c4F1840aDB689E5d231687922C5",
"WormholeARImplementation": "0x3b6FABE94a5d0B160e2E1519495e7Fe9dD009Ea3",
"WormholeSRImplementation": "0x44b451Ca87267a62A0C853ECFbaaC1C3E528a82C"
}
40 changes: 20 additions & 20 deletions script/v1_staging_deployment/42161/Arbitrum-latest.json
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
{
"BroadcastRegistry": "0x856ddF6348fFF6B774566cD63f2e8db3796a0965",
"CoreStateRegistry": "0x3721B0E122768CedDfB3Dec810E64c361177f826",
"DstSwapper": "0x2691638Fa19357773C186BA34924E194B4Ab6cDa",
"ERC4626Form": "0x58F8Cef0D825B1a609FaD0576d5F2b7399ab1335",
"EmergencyQueue": "0xE22DCd9264086DF7B26d97A9A9d35e8dFac819dd",
"HyperlaneImplementation": "0x5417Fe6bA77106BCb5Ef1173fd901097BF08F234",
"LayerzeroImplementation": "0x8a3E646d9FDAA5ce032743fCe4d81B5Fa8723Be2",
"LiFiValidator": "0x8b5dF72D849cC03baf168678FD357B81E00e2ba5",
"PayMaster": "0xcA665d3e3D48fb3C1A2B743445e367fa4340Eb3F",
"PayloadHelper": "0x92f98d698d2c8E0f29D1bb4d75C3A03e05e811bc",
"PaymentHelper": "0xaDcA2c82D7A05b9E84F75AeAc466bE74B34066d9",
"SocketValidator": "0x7483486862BDa9BA68Be4923E7E9945c2771Ec28",
"SuperPositions": "0x01dF6fb6a28a89d6bFa53b2b3F20644AbF417678",
"SuperRBAC": "0x480bec236e3d3AE33789908BF024850B2Fe71258",
"SuperRegistry": "0x17A332dC7B40aE701485023b219E9D6f493a2514",
"SuperformFactory": "0xD85ec15A9F814D6173bF1a89273bFB3964aAdaEC",
"SuperformRouter": "0xa195608C2306A26f727d5199D5A382a4508308DA",
"VaultClaimer": "0xC4A234A40aC13b02096Dd4aae1b8221541Dc5d5A",
"WormholeARImplementation": "0xbD59F0B24d7A668f2c2CEAcfa056518bB3C06A9f",
"WormholeSRImplementation": "0x2827eFf89affacf9E80D671bca6DeCf7dbdcCaCa"
"BroadcastRegistry": "0x5767897fc69A77AC68a75001a56fcA6c421adc6f",
"CoreStateRegistry": "0x80AAb0eA1243817E22D6ad76ebe06385900e906d",
"DstSwapper": "0xAACA228C3fca21c41C4Ea82EBb2d8843bd830B3b",
"ERC4626Form": "0xB2f32B62B7537304b830dE6575Fe73c41ea52991",
"EmergencyQueue": "0x7FE59421D6b85afa86d982E3186a74c72f6c4c03",
"HyperlaneImplementation": "0x207BFE0Fb040F17cC61B67e4aaDfC59C9e170671",
"LayerzeroImplementation": "0x1863862794cD8ec60daBF8B473fcA928B78cE563",
"LiFiValidator": "0x1921E55E07A049DE0a3853b4A34235E37e4F3425",
"PayMaster": "0x36560c6790FaEb44BEdA2606e6aC50f08fdF0c94",
"PayloadHelper": "0x5Ae08549F266a9B4cC95Ad8aac57bE6Af236b647",
"PaymentHelper": "0xfbdCa870c9878d71e6a3A0a312220De153404eA2",
"SocketValidator": "0x71060c588Aa01e61253EE4ac231Ac1a2bC672Bb8",
"SuperPositions": "0x9AB6Dd8c4FC98F859a3271db98B81777aC2893b0",
"SuperRBAC": "0x9736b60c4f749232d400B5605f21AE137a5Ebb71",
"SuperRegistry": "0xB2C097ac459aFAc892ae5b35f6bd6a9Dd3071F47",
"SuperformFactory": "0x9CA4480B65E5F3d57cFb942ac44A0A6Ab0B2C843",
"SuperformRouter": "0x21b69aC55e3B620aCF74b4362D34d5E51a8187b8",
"VaultClaimer": "0xf1930eD240cF9c4F1840aDB689E5d231687922C5",
"WormholeARImplementation": "0x3b6FABE94a5d0B160e2E1519495e7Fe9dD009Ea3",
"WormholeSRImplementation": "0x44b451Ca87267a62A0C853ECFbaaC1C3E528a82C"
}
Loading

0 comments on commit b0b6874

Please sign in to comment.