public void TestAbiParameBuilder() { string abiJson = "[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"numProposals\",\"type\":\"uint8\"}]"; IAbiParameterDefinition[] parames = new AbiParameterBuilder().Builder(abiJson); Assert.True(parames.Length == 2); Assert.True(parames[0].Name.Equals("to")); Assert.True(parames[0].ABIType.Equals("address")); Assert.True(parames[1].Name.Equals("numProposals")); Assert.True(parames[1].ABIType.Equals("uint8")); }
private static AbiConstructorDefinition ConstructorBuilder(JToken abiJson) { var definition = new AbiConstructorDefinition { Payable = (bool)abiJson["payable"] }; Enum.TryParse <AbiStateMutability>(abiJson["stateMutability"].ToString(), true, out var stateMutability); definition.StateMutability = stateMutability; definition.Type = "constructor"; definition.Inputs = AbiParameterBuilder.Builder(abiJson["inputs"].ToString()); return(definition); }
public static AbiFunctionDefinition Builder(JToken abiJson) { var definition = new AbiFunctionDefinition { Name = abiJson["name"].ToString(), Constant = (bool)abiJson["constant"], Payable = (bool)abiJson["payable"] }; Enum.TryParse(abiJson["stateMutability"].ToString(), true, out AbiStateMutability stateMutability); definition.StateMutability = stateMutability; definition.Inputs = AbiParameterBuilder.Builder(abiJson["inputs"].ToString()); definition.Outputs = AbiParameterBuilder.Builder(abiJson["outputs"].ToString()); definition.Sha3Signature = GetNethFunctionAbi(definition).Sha3Signature.ToBytes(); return(definition); }