const RESERVED: &'static [&'static str] = &[
"getOwner",
"getExternalBalance",
"getBlockHash",
"getBlockNonce",
"getBlockRound",
"getBlockEpoch",
"getBlockRandomSeed",
"getStateRootHash",
"getPrevBlockTimestamp",
"getPrevBlockNonce",
"getPrevBlockRound",
"getPrevBlockEpoch",
"getPrevBlockRandomSeed",
"transferValue",
"getArgument",
"getFunction",
"getNumArguments",
"getArgumentLength",
"storageGetValueLength",
"storageStore",
"storageLoad",
"getCaller",
"getCallValue",
"writeLog",
"finish",
"signalError",
"getGasLeft",
"getBlockTimestamp",
"executeOnSameContext",
"executeOnDestContext",
"asyncCall",
"delegateExecution",
"createContract",
"executeReadOnly",
"getNumReturnData",
"getReturnDataSize",
"getReturnData",
"int64getArgument",
"int64storageStore",
"int64storageLoad",
"int64finish",
"bigIntNew",
"bigIntUnsignedByteLength",
"bigIntSignedByteLength",
"bigIntGetUnsignedBytes",
"bigIntGetSignedBytes",
"bigIntSetUnsignedBytes",
"bigIntSetSignedBytes",
"bigIntIsInt64",
"bigIntGetInt64",
"bigIntSetInt64",
"bigIntAdd",
"bigIntSub",
"bigIntMul",
"bigIntTDiv",
"bigIntTMod",
"bigIntEDiv",
"bigIntEMod",
"bigIntAbs",
"bigIntNeg",
"bigIntSign",
"bigIntCmp",
"bigIntNot",
"bigIntAnd",
"bigIntOr",
"bigIntXor",
"bigIntShr",
"bigIntShl",
"bigIntFinishUnsigned",
"bigIntFinishSigned",
"bigIntStorageStoreUnsigned",
"bigIntStorageLoadUnsigned",
"bigIntGetUnsignedArgument",
"bigIntGetSignedArgument",
"bigIntGetCallValue",
"bigIntGetExternalBalance",
"sha256",
"keccak256",
];
pub fn is_reserved(fn_name: &str) -> bool {
let result = RESERVED.iter().find(|r| **r == fn_name);
result.is_some()
}