private static object GetFunctionInputFromEventParameter(IContractQueryParameterDto functionParameter, DecodedEvent decodedEvent) { if (functionParameter.EventParameterNumber < 1) { return(null); } return(decodedEvent.Event.FirstOrDefault(p => p.Parameter.Order == functionParameter.EventParameterNumber)?.Result); }
private static object GetFunctionInputFromMetadata(IContractQueryParameterDto functionParameter, DecodedEvent decodedEvent) { if (string.IsNullOrEmpty(functionParameter.EventStateName)) { return(null); } return(decodedEvent.State.ContainsKey(functionParameter.EventStateName) ? decodedEvent.State[functionParameter.EventStateName] : null); }
private object GetFunctionInputParameterValue(IContractQueryParameterDto functionParameter, DecodedEvent decodedEvent) { switch (functionParameter.Source) { case EventValueSource.Static: return(functionParameter.Value); case EventValueSource.EventAddress: return(decodedEvent.Log.Address); case EventValueSource.EventParameters: return(GetFunctionInputFromEventParameter(functionParameter, decodedEvent)); case EventValueSource.EventState: return(GetFunctionInputFromMetadata(functionParameter, decodedEvent)); default: return(null); } }