Exemple #1
0
        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);
        }