From 2fca9c3f7d359d730b93f456a034b6c809a47930 Mon Sep 17 00:00:00 2001 From: Erik Zhang Date: Wed, 4 Aug 2021 17:57:50 +0800 Subject: [PATCH] Allow calls from deployed contracts only --- src/neo/SmartContract/Native/GasToken.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/neo/SmartContract/Native/GasToken.cs b/src/neo/SmartContract/Native/GasToken.cs index 39690c7df8..9cfc5c1ede 100644 --- a/src/neo/SmartContract/Native/GasToken.cs +++ b/src/neo/SmartContract/Native/GasToken.cs @@ -41,6 +41,8 @@ internal override async ContractTask OnPersist(ApplicationEngine engine) private async ContractTask Refuel(ApplicationEngine engine, UInt160 account, long amount) { if (amount <= 0) throw new ArgumentOutOfRangeException(nameof(amount)); + if (ContractManagement.GetContract(engine.Snapshot, engine.CallingScriptHash) is null) + throw new InvalidOperationException(); if (!engine.CheckWitnessInternal(account)) throw new InvalidOperationException(); engine.Refuel(amount); await Burn(engine, account, amount);