staking contract modified to be upgradeable

This commit is contained in:
pinardZ 2025-05-28 01:10:06 +08:00
parent e9d4bfa266
commit ccc130f82f
2 changed files with 7 additions and 10 deletions

View file

@ -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,
// 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,
)

View file

@ -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")
)