From ccc130f82f9f473ad6453b48ea7e143466d22c27 Mon Sep 17 00:00:00 2001 From: pinardZ Date: Wed, 28 May 2025 01:10:06 +0800 Subject: [PATCH] staking contract modified to be upgradeable --- core/state_processor.go | 13 +++++++------ params/protocol_params.go | 4 ---- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/core/state_processor.go b/core/state_processor.go index 1197559258..9090ed60c9 100644 --- a/core/state_processor.go +++ b/core/state_processor.go @@ -299,22 +299,23 @@ func ProcessStakingDistribution(evm *vm.EVM, address common.Address, amount *big defer tracer.OnSystemCallEnd() } } - input := make([]byte, 32) - copy(input[12:], address.Bytes()) - addr := params.StakingContractAddress + data := make([]byte, 32) + amount.FillBytes(data) + addr := address msg := &Message{ - From: params.SystemAddress, + From: params.SystemAddress, + // Value: amount, GasLimit: 30_000_000, GasPrice: common.Big0, GasFeeCap: common.Big0, GasTipCap: common.Big0, To: &addr, - Data: append(params.StakingContractCallData, input...), + Data: data, } evm.SetTxContext(NewEVMTxContext(msg)) evm.StateDB.AddAddressToAccessList(addr) evm.StateDB.AddBalance( - params.StakingContractAddress, + address, uint256.NewInt(0).SetBytes(amount.Bytes()), tracing.BalanceIncreaseRewardMineBlock, ) diff --git a/params/protocol_params.go b/params/protocol_params.go index c5bde58510..6b06dadaef 100644 --- a/params/protocol_params.go +++ b/params/protocol_params.go @@ -211,8 +211,4 @@ var ( // EIP-7251 - Increase the MAX_EFFECTIVE_BALANCE ConsolidationQueueAddress = common.HexToAddress("0x0000BBdDc7CE488642fb579F8B00f3a590007251") ConsolidationQueueCode = common.FromHex("3373fffffffffffffffffffffffffffffffffffffffe1460d35760115f54807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1461019a57600182026001905f5b5f82111560685781019083028483029004916001019190604d565b9093900492505050366060146088573661019a573461019a575f5260205ff35b341061019a57600154600101600155600354806004026004013381556001015f358155600101602035815560010160403590553360601b5f5260605f60143760745fa0600101600355005b6003546002548082038060021160e7575060025b5f5b8181146101295782810160040260040181607402815460601b815260140181600101548152602001816002015481526020019060030154905260010160e9565b910180921461013b5790600255610146565b90505f6002555f6003555b5f54807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff141561017357505f5b6001546001828201116101885750505f61018e565b01600190035b5f555f6001556074025ff35b5f5ffd") - - StakingContractAddress = common.HexToAddress("0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512") - // StakingContractCode = common.FromHex("3373fffffffffffffffffffffffffffffffffffffffe14604d57602036146024575f5ffd5b5f35801560495762001fff810690815414603c575f5ffd5b62001fff01545f5260205ff35b5f5ffd5b62001fff42064281555f359062001fff015500") - StakingContractCallData = common.FromHex("1de9d9b6") )