{
  "nested": {
    "aelf": {
      "nested": {
        "Transaction": {
          "fields": {
            "from": {
              "type": "Address",
              "id": 1
            },
            "to": {
              "type": "Address",
              "id": 2
            },
            "refBlockNumber": {
              "type": "int64",
              "id": 3
            },
            "refBlockPrefix": {
              "type": "bytes",
              "id": 4
            },
            "methodName": {
              "type": "string",
              "id": 5
            },
            "params": {
              "type": "bytes",
              "id": 6
            },
            "signature": {
              "type": "bytes",
              "id": 10000
            }
          }
        },
        "Address": {
          "fields": {
            "value": {
              "type": "bytes",
              "id": 1
            }
          }
        },
        "Hash": {
          "fields": {
            "value": {
              "type": "bytes",
              "id": 1
            }
          }
        },
        "MerklePath": {
          "fields": {
            "merklePathNodes": {
              "rule": "repeated",
              "type": "MerklePathNode",
              "id": 1
            }
          }
        },
        "MerklePathNode": {
          "fields": {
            "hash": {
              "type": "Hash",
              "id": 1
            },
            "isLeftChildNode": {
              "type": "bool",
              "id": 2
            }
          }
        },
        "BinaryMerkleTree": {
          "fields": {
            "nodes": {
              "rule": "repeated",
              "type": "Hash",
              "id": 1
            },
            "root": {
              "type": "Hash",
              "id": 2
            },
            "leafCount": {
              "type": "int32",
              "id": 3
            }
          }
        },
        "TransactionFeeCharged": {
          "fields": {
            "symbol": {
              "type": "string",
              "id": 1
            },
            "amount": {
              "type": "int64",
              "id": 2
            }
          }
        },
        "ResourceTokenCharged": {
          "fields": {
            "symbol": {
              "type": "string",
              "id": 1
            },
            "amount": {
              "type": "int64",
              "id": 2
            },
            "contractAddress": {
              "type": "aelf.Address",
              "id": 3
            }
          }
        },
        "ResourceTokenOwned": {
          "fields": {
            "symbol": {
              "type": "string",
              "id": 1
            },
            "amount": {
              "type": "int64",
              "id": 2
            }
          }
        }
      }
    }
  }
}