diff --git a/app/upgrades.go b/app/upgrades.go index 4c37278b..4ea416f7 100755 --- a/app/upgrades.go +++ b/app/upgrades.go @@ -13,7 +13,6 @@ import ( "github.com/pushchain/push-chain-node/app/upgrades/noop" outbound "github.com/pushchain/push-chain-node/app/upgrades/outbound" pcmintcap "github.com/pushchain/push-chain-node/app/upgrades/pc-mint-cap" - proxybytecodefix "github.com/pushchain/push-chain-node/app/upgrades/proxy-bytecode-fix" removefeeabsv1 "github.com/pushchain/push-chain-node/app/upgrades/remove-fee-abs-v1" solanafix "github.com/pushchain/push-chain-node/app/upgrades/solana-fix" tsscore "github.com/pushchain/push-chain-node/app/upgrades/tss-core" @@ -38,7 +37,6 @@ var Upgrades = []upgrades.Upgrade{ removefeeabsv1.NewUpgrade(), outbound.NewUpgrade(), universaltxv1.NewUpgrade(), - proxybytecodefix.NewUpgrade(), } // RegisterUpgradeHandlers registers the chain upgrade handlers diff --git a/app/upgrades/proxy-bytecode-fix/upgrade.go b/app/upgrades/proxy-bytecode-fix/upgrade.go deleted file mode 100644 index c89cda26..00000000 --- a/app/upgrades/proxy-bytecode-fix/upgrade.go +++ /dev/null @@ -1,49 +0,0 @@ -package addressfix - -import ( - "context" - - storetypes "cosmossdk.io/store/types" - upgradetypes "cosmossdk.io/x/upgrade/types" - - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/module" - - "github.com/pushchain/push-chain-node/app/upgrades" -) - -const UpgradeName = "proxy-bytecode-fix" - -// NewUpgrade constructs the upgrade definition -func NewUpgrade() upgrades.Upgrade { - return upgrades.Upgrade{ - UpgradeName: UpgradeName, - CreateUpgradeHandler: CreateUpgradeHandler, - StoreUpgrades: storetypes.StoreUpgrades{ - Added: []string{}, - Deleted: []string{}, - }, - } -} - -func CreateUpgradeHandler( - mm upgrades.ModuleManager, - configurator module.Configurator, - ak *upgrades.AppKeepers, -) upgradetypes.UpgradeHandler { - return func(ctx context.Context, plan upgradetypes.Plan, fromVM module.VersionMap) (module.VersionMap, error) { - sdkCtx := sdk.UnwrapSDKContext(ctx) - sdkCtx.Logger().Info("🔧 Running upgrade:", "name", UpgradeName) - - err := ak.URegistryKeeper.FixReservedBytecode(sdkCtx) - - if err != nil { - panic(err) - } - - sdkCtx.Logger().Info("Fixed Reserved Addresses Bytecodes...") - - // Run module migrations - return mm.RunMigrations(ctx, configurator, fromVM) - } -} diff --git a/x/uregistry/keeper/keeper.go b/x/uregistry/keeper/keeper.go index 3540f93b..9ad25d98 100755 --- a/x/uregistry/keeper/keeper.go +++ b/x/uregistry/keeper/keeper.go @@ -3,12 +3,9 @@ package keeper import ( "context" "errors" - "fmt" - "sort" "strings" "github.com/cosmos/cosmos-sdk/codec" - "github.com/ethereum/go-ethereum/common" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" @@ -200,73 +197,3 @@ func (k Keeper) ReserveUGPC(ctx context.Context) error { return nil } - -func (k Keeper) FixReservedBytecode(ctx context.Context) error { - var SYSTEM_CONTRACTS = map[string]types.ContractAddresses{ - "UNIVERSAL_BATCH_CALL": { - Address: "0x00000000000000000000000000000000000000Bc", - ProxyAdmin: "0xf2000000000000000000000000000000000000BC", - Implementation: "0xF1000000000000000000000000000000000000Bc", - }, - "RESERVED_0": { - Address: "0x00000000000000000000000000000000000000B0", - ProxyAdmin: "0xF2000000000000000000000000000000000000b0", - Implementation: "0xf1000000000000000000000000000000000000b0", - }, - "RESERVED_1": { - Address: "0x00000000000000000000000000000000000000B1", - ProxyAdmin: "0xF2000000000000000000000000000000000000b1", - Implementation: "0xf1000000000000000000000000000000000000b1", - }, - "RESERVED_2": { - Address: "0x00000000000000000000000000000000000000b2", - ProxyAdmin: "0xf2000000000000000000000000000000000000b2", - Implementation: "0xF1000000000000000000000000000000000000b2", - }, - } - - // BYTECODE holds all system contracts - var BYTECODE = map[string]types.ByteCodes{ - "UNIVERSAL_BATCH_CALL": { - IMPL_RUNTIME: types.ReservedImplRuntimeBytecode, - PROXY_RUNTIME: common.FromHex("0x608060405261000c61000e565b005b7f000000000000000000000000f2000000000000000000000000000000000000BC73ffffffffffffffffffffffffffffffffffffffff1633036100d1575f357fffffffff00000000000000000000000000000000000000000000000000000000167f4f1ef28600000000000000000000000000000000000000000000000000000000146100c7576040517fd2b576ec00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6100cf6100d9565b565b6100cf610107565b5f806100e8366004818461043e565b8101906100f59190610492565b915091506101038282610117565b5050565b6100cf61011261017e565b6101c2565b610120826101e0565b60405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156101765761017182826102b3565b505050565b610103610332565b5f6101bd7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b365f80375f80365f845af43d5f803e8080156101dc573d5ff35b3d5ffd5b8073ffffffffffffffffffffffffffffffffffffffff163b5f0361024d576040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60605f808473ffffffffffffffffffffffffffffffffffffffff16846040516102dc91906105ad565b5f60405180830381855af49150503d805f8114610314576040519150601f19603f3d011682016040523d82523d5f602084013e610319565b606091505b509150915061032985838361036a565b95945050505050565b34156100cf576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60608261037f5761037a826103fc565b6103f5565b81511580156103a3575073ffffffffffffffffffffffffffffffffffffffff84163b155b156103f2576040517f9996b31500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401610244565b50805b9392505050565b80511561040c5780518082602001fd5b6040517fd6bda27500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f808585111561044c575f80fd5b83861115610458575f80fd5b5050820193919092039150565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f80604083850312156104a3575f80fd5b823573ffffffffffffffffffffffffffffffffffffffff811681146104c6575f80fd5b9150602083013567ffffffffffffffff8111156104e1575f80fd5b8301601f810185136104f1575f80fd5b803567ffffffffffffffff81111561050b5761050b610465565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff8211171561057757610577610465565b60405281815282820160200187101561058e575f80fd5b816020840160208301375f602083830101528093505050509250929050565b5f82515f5b818110156105cc57602081860181015185830152016105b2565b505f92019182525091905056fea2646970667358221220e70393c35b3e95d53f92887d1108e4b563be364c093a130a7bb2e621a0aa9b8f64736f6c634300081a0033"), - ADMIN_RUNTIME: types.ProxyAdminRuntimeBytecode, - }, - "RESERVED_0": { - IMPL_RUNTIME: types.ReservedImplRuntimeBytecode, - PROXY_RUNTIME: common.FromHex("0x608060405261000c61000e565b005b7f000000000000000000000000f2000000000000000000000000000000000000b073ffffffffffffffffffffffffffffffffffffffff1633036100d1575f357fffffffff00000000000000000000000000000000000000000000000000000000167f4f1ef28600000000000000000000000000000000000000000000000000000000146100c7576040517fd2b576ec00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6100cf6100d9565b565b6100cf610107565b5f806100e8366004818461043e565b8101906100f59190610492565b915091506101038282610117565b5050565b6100cf61011261017e565b6101c2565b610120826101e0565b60405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156101765761017182826102b3565b505050565b610103610332565b5f6101bd7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b365f80375f80365f845af43d5f803e8080156101dc573d5ff35b3d5ffd5b8073ffffffffffffffffffffffffffffffffffffffff163b5f0361024d576040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60605f808473ffffffffffffffffffffffffffffffffffffffff16846040516102dc91906105ad565b5f60405180830381855af49150503d805f8114610314576040519150601f19603f3d011682016040523d82523d5f602084013e610319565b606091505b509150915061032985838361036a565b95945050505050565b34156100cf576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60608261037f5761037a826103fc565b6103f5565b81511580156103a3575073ffffffffffffffffffffffffffffffffffffffff84163b155b156103f2576040517f9996b31500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401610244565b50805b9392505050565b80511561040c5780518082602001fd5b6040517fd6bda27500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f808585111561044c575f80fd5b83861115610458575f80fd5b5050820193919092039150565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f80604083850312156104a3575f80fd5b823573ffffffffffffffffffffffffffffffffffffffff811681146104c6575f80fd5b9150602083013567ffffffffffffffff8111156104e1575f80fd5b8301601f810185136104f1575f80fd5b803567ffffffffffffffff81111561050b5761050b610465565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff8211171561057757610577610465565b60405281815282820160200187101561058e575f80fd5b816020840160208301375f602083830101528093505050509250929050565b5f82515f5b818110156105cc57602081860181015185830152016105b2565b505f92019182525091905056fea2646970667358221220e70393c35b3e95d53f92887d1108e4b563be364c093a130a7bb2e621a0aa9b8f64736f6c634300081a0033"), - ADMIN_RUNTIME: types.ProxyAdminRuntimeBytecode, - }, - "RESERVED_1": { - IMPL_RUNTIME: types.ReservedImplRuntimeBytecode, - PROXY_RUNTIME: common.FromHex("0x608060405261000c61000e565b005b7f000000000000000000000000f2000000000000000000000000000000000000b173ffffffffffffffffffffffffffffffffffffffff1633036100d1575f357fffffffff00000000000000000000000000000000000000000000000000000000167f4f1ef28600000000000000000000000000000000000000000000000000000000146100c7576040517fd2b576ec00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6100cf6100d9565b565b6100cf610107565b5f806100e8366004818461043e565b8101906100f59190610492565b915091506101038282610117565b5050565b6100cf61011261017e565b6101c2565b610120826101e0565b60405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156101765761017182826102b3565b505050565b610103610332565b5f6101bd7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b365f80375f80365f845af43d5f803e8080156101dc573d5ff35b3d5ffd5b8073ffffffffffffffffffffffffffffffffffffffff163b5f0361024d576040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60605f808473ffffffffffffffffffffffffffffffffffffffff16846040516102dc91906105ad565b5f60405180830381855af49150503d805f8114610314576040519150601f19603f3d011682016040523d82523d5f602084013e610319565b606091505b509150915061032985838361036a565b95945050505050565b34156100cf576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60608261037f5761037a826103fc565b6103f5565b81511580156103a3575073ffffffffffffffffffffffffffffffffffffffff84163b155b156103f2576040517f9996b31500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401610244565b50805b9392505050565b80511561040c5780518082602001fd5b6040517fd6bda27500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f808585111561044c575f80fd5b83861115610458575f80fd5b5050820193919092039150565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f80604083850312156104a3575f80fd5b823573ffffffffffffffffffffffffffffffffffffffff811681146104c6575f80fd5b9150602083013567ffffffffffffffff8111156104e1575f80fd5b8301601f810185136104f1575f80fd5b803567ffffffffffffffff81111561050b5761050b610465565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff8211171561057757610577610465565b60405281815282820160200187101561058e575f80fd5b816020840160208301375f602083830101528093505050509250929050565b5f82515f5b818110156105cc57602081860181015185830152016105b2565b505f92019182525091905056fea2646970667358221220e70393c35b3e95d53f92887d1108e4b563be364c093a130a7bb2e621a0aa9b8f64736f6c634300081a0033"), - ADMIN_RUNTIME: types.ProxyAdminRuntimeBytecode, - }, - "RESERVED_2": { - IMPL_RUNTIME: types.ReservedImplRuntimeBytecode, - PROXY_RUNTIME: common.FromHex("0x608060405261000c61000e565b005b7f000000000000000000000000f2000000000000000000000000000000000000b273ffffffffffffffffffffffffffffffffffffffff1633036100d1575f357fffffffff00000000000000000000000000000000000000000000000000000000167f4f1ef28600000000000000000000000000000000000000000000000000000000146100c7576040517fd2b576ec00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6100cf6100d9565b565b6100cf610107565b5f806100e8366004818461043e565b8101906100f59190610492565b915091506101038282610117565b5050565b6100cf61011261017e565b6101c2565b610120826101e0565b60405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156101765761017182826102b3565b505050565b610103610332565b5f6101bd7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b365f80375f80365f845af43d5f803e8080156101dc573d5ff35b3d5ffd5b8073ffffffffffffffffffffffffffffffffffffffff163b5f0361024d576040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60605f808473ffffffffffffffffffffffffffffffffffffffff16846040516102dc91906105ad565b5f60405180830381855af49150503d805f8114610314576040519150601f19603f3d011682016040523d82523d5f602084013e610319565b606091505b509150915061032985838361036a565b95945050505050565b34156100cf576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60608261037f5761037a826103fc565b6103f5565b81511580156103a3575073ffffffffffffffffffffffffffffffffffffffff84163b155b156103f2576040517f9996b31500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401610244565b50805b9392505050565b80511561040c5780518082602001fd5b6040517fd6bda27500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f808585111561044c575f80fd5b83861115610458575f80fd5b5050820193919092039150565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f80604083850312156104a3575f80fd5b823573ffffffffffffffffffffffffffffffffffffffff811681146104c6575f80fd5b9150602083013567ffffffffffffffff8111156104e1575f80fd5b8301601f810185136104f1575f80fd5b803567ffffffffffffffff81111561050b5761050b610465565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff8211171561057757610577610465565b60405281815282820160200187101561058e575f80fd5b816020840160208301375f602083830101528093505050509250929050565b5f82515f5b818110156105cc57602081860181015185830152016105b2565b505f92019182525091905056fea2646970667358221220e70393c35b3e95d53f92887d1108e4b563be364c093a130a7bb2e621a0aa9b8f64736f6c634300081a0033"), - ADMIN_RUNTIME: types.ProxyAdminRuntimeBytecode, - }, - } - - // Sort contract names for deterministic iteration order across all validators - names := make([]string, 0, len(SYSTEM_CONTRACTS)) - for name := range SYSTEM_CONTRACTS { - names = append(names, name) - } - sort.Strings(names) - - for _, name := range names { - contract := SYSTEM_CONTRACTS[name] - - bytecodes, ok := BYTECODE[name] - if !ok { - panic(fmt.Sprintf("no bytecode found for contract %s", name)) - } - - // 3. Deploy Proxy with PROXY_RUNTIME - deployProxyContract(ctx, k.evmKeeper, contract.Address, contract.ProxyAdmin, contract.Implementation, bytecodes.PROXY_RUNTIME) - } - - return nil -}