aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/vm/contracts_stateful.go3
-rw-r--r--params/config.go4
2 files changed, 7 insertions, 0 deletions
diff --git a/core/vm/contracts_stateful.go b/core/vm/contracts_stateful.go
index b91acfb..a7caf14 100644
--- a/core/vm/contracts_stateful.go
+++ b/core/vm/contracts_stateful.go
@@ -53,6 +53,9 @@ func newWrappedPrecompiledContract(p PrecompiledContract) StatefulPrecompiledCon
// Run ...
func (w *wrappedPrecompiledContract) Run(evm *EVM, caller ContractRef, addr common.Address, value *big.Int, input []byte, suppliedGas uint64, readOnly bool) (ret []byte, remainingGas uint64, err error) {
+ // [caller.Address()] has already been verified
+ // as having a sufficient balance before the
+ // precompiled contract runs.
evm.Transfer(evm.StateDB, caller.Address(), addr, value)
return RunPrecompiledContract(w.p, input, suppliedGas)
}
diff --git a/params/config.go b/params/config.go
index f945f47..8d7bd92 100644
--- a/params/config.go
+++ b/params/config.go
@@ -560,6 +560,10 @@ func (c *ChainConfig) CheckConfigForkOrder() error {
lastFork = cur
}
}
+
+ if c.ApricotBlockTimestamp != nil && c.YoloV1Block != nil {
+ return fmt.Errorf("apricot fork is incomatible with yoloV1 fork")
+ }
return nil
}