public Data data { get; set; }
public GasError estimateGasError { get; set; }
public string reason { get; set; }
public static void Main()
string urlData = "%7B%22key%22%3A%22registerInChain%22%2C%22data%22%3A%7B%22to%22%3A%220x7fb2E1cb11a8C1a82763D2d3Bf0bABc8f958ed99%22%2C%22data%22%3A%220x1b41b7ef00000000000000000000000000000000000000000000000000000000000000200000000000000000000000009b3a6fc1b72af9759b950d5ee455ef9793995a9a64656164626565660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000054361726130000000000000000000000000000000000000000000000000000000%22%2C%22gasPrice%22%3A%7B%22type%22%3A%22BigNumber%22%2C%22hex%22%3A%220x3b9aca00%22%7D%2C%22from%22%3A%220x9B3a6fC1B72af9759b950D5EE455ef9793995a9A%22%2C%22type%22%3A0%2C%22nonce%22%3A0%2C%22chainId%22%3A14000%2C%22estimateGasError%22%3A%7B%22reason%22%3A%22cannot%20estimate%20gas%3B%20transaction%20may%20fail%20or%20may%20require%20manual%20gas%20limit%22%2C%22code%22%3A%22UNPREDICTABLE_GAS_LIMIT%22%2C%22error%22%3A%7B%22reason%22%3A%22processing%20response%20error%22%2C%22code%22%3A%22SERVER_ERROR%22%2C%22body%22%3A%22%7B%5C%22jsonrpc%5C%22%3A%5C%222.0%5C%22%2C%5C%22id%5C%22%3A56%2C%5C%22error%5C%22%3A%7B%5C%22code%5C%22%3A-32000%2C%5C%22message%5C%22%3A%5C%22gas%20required%20exceeds%20allowance%20%280%29%5C%22%7D%7D%5Cn%22%2C%22error%22%3A%7B%22code%22%3A-32000%7D%2C%22requestBody%22%3A%22%7B%5C%22method%5C%22%3A%5C%22eth_estimateGas%5C%22%2C%5C%22params%5C%22%3A%5B%7B%5C%22gasPrice%5C%22%3A%5C%220x3b9aca00%5C%22%2C%5C%22from%5C%22%3A%5C%220x9b3a6fc1b72af9759b950d5ee455ef9793995a9a%5C%22%2C%5C%22to%5C%22%3A%5C%220x7fb2e1cb11a8c1a82763d2d3bf0babc8f958ed99%5C%22%2C%5C%22data%5C%22%3A%5C%220x1b41b7ef00000000000000000000000000000000000000000000000000000000000000200000000000000000000000009b3a6fc1b72af9759b950d5ee455ef9793995a9a64656164626565660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000054361726130000000000000000000000000000000000000000000000000000000%5C%22%7D%5D%2C%5C%22id%5C%22%3A56%2C%5C%22jsonrpc%5C%22%3A%5C%222.0%5C%22%7D%22%2C%22requestMethod%22%3A%22POST%22%2C%22url%22%3A%22http%3A%2F%2F13.214.80.146%3A80%22%7D%2C%22method%22%3A%22estimateGas%22%2C%22transaction%22%3A%7B%22from%22%3A%220x9B3a6fC1B72af9759b950D5EE455ef9793995a9A%22%2C%22gasPrice%22%3A%7B%22type%22%3A%22BigNumber%22%2C%22hex%22%3A%220x3b9aca00%22%7D%2C%22to%22%3A%220x7fb2E1cb11a8C1a82763D2d3Bf0bABc8f958ed99%22%2C%22data%22%3A%220x1b41b7ef00000000000000000000000000000000000000000000000000000000000000200000000000000000000000009b3a6fc1b72af9759b950d5ee455ef9793995a9a64656164626565660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000054361726130000000000000000000000000000000000000000000000000000000%22%2C%22accessList%22%3Anull%7D%7D%7D%2C%22estimateGasError%22%3A%7B%22reason%22%3A%22cannot%20estimate%20gas%3B%20transaction%20may%20fail%20or%20may%20require%20manual%20gas%20limit%22%2C%22code%22%3A%22UNPREDICTABLE_GAS_LIMIT%22%2C%22error%22%3A%7B%22reason%22%3A%22processing%20response%20error%22%2C%22code%22%3A%22SERVER_ERROR%22%2C%22body%22%3A%22%7B%5C%22jsonrpc%5C%22%3A%5C%222.0%5C%22%2C%5C%22id%5C%22%3A56%2C%5C%22error%5C%22%3A%7B%5C%22code%5C%22%3A-32000%2C%5C%22message%5C%22%3A%5C%22gas%20required%20exceeds%20allowance%20%280%29%5C%22%7D%7D%5Cn%22%2C%22error%22%3A%7B%22code%22%3A-32000%7D%2C%22requestBody%22%3A%22%7B%5C%22method%5C%22%3A%5C%22eth_estimateGas%5C%22%2C%5C%22params%5C%22%3A%5B%7B%5C%22gasPrice%5C%22%3A%5C%220x3b9aca00%5C%22%2C%5C%22from%5C%22%3A%5C%220x9b3a6fc1b72af9759b950d5ee455ef9793995a9a%5C%22%2C%5C%22to%5C%22%3A%5C%220x7fb2e1cb11a8c1a82763d2d3bf0babc8f958ed99%5C%22%2C%5C%22data%5C%22%3A%5C%220x1b41b7ef00000000000000000000000000000000000000000000000000000000000000200000000000000000000000009b3a6fc1b72af9759b950d5ee455ef9793995a9a64656164626565660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000054361726130000000000000000000000000000000000000000000000000000000%5C%22%7D%5D%2C%5C%22id%5C%22%3A56%2C%5C%22jsonrpc%5C%22%3A%5C%222.0%5C%22%7D%22%2C%22requestMethod%22%3A%22POST%22%2C%22url%22%3A%22http%3A%2F%2F13.214.80.146%3A80%22%7D%2C%22method%22%3A%22estimateGas%22%2C%22transaction%22%3A%7B%22from%22%3A%220x9B3a6fC1B72af9759b950D5EE455ef9793995a9A%22%2C%22gasPrice%22%3A%7B%22type%22%3A%22BigNumber%22%2C%22hex%22%3A%220x3b9aca00%22%7D%2C%22to%22%3A%220x7fb2E1cb11a8C1a82763D2d3Bf0bABc8f958ed99%22%2C%22data%22%3A%220x1b41b7ef00000000000000000000000000000000000000000000000000000000000000200000000000000000000000009b3a6fc1b72af9759b950d5ee455ef9793995a9a64656164626565660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000054361726130000000000000000000000000000000000000000000000000000000%22%2C%22accessList%22%3Anull%7D%7D%7D%0A";
var dataStr = HttpUtility.UrlDecode(urlData);
var fromObject = LitJson.JsonMapper.ToObject<Test>(dataStr);
Console.WriteLine(fromObject.data.estimateGasError.reason);