{
  "options": {
    "csharp_namespace": "AElf.Kernel"
  },
  "nested": {
    "SideChainBlockInfo": {
      "fields": {
        "Height": {
          "type": "uint64",
          "id": 1
        },
        "BlockHeaderHash": {
          "type": "Hash",
          "id": 2
        },
        "TransactionMKRoot": {
          "type": "Hash",
          "id": 3
        },
        "ChainId": {
          "type": "Hash",
          "id": 4
        }
      }
    },
    "ParentChainBlockInfo": {
      "fields": {
        "Root": {
          "type": "ParentChainBlockRootInfo",
          "id": 1
        },
        "IndexedBlockInfo": {
          "keyType": "uint64",
          "type": "MerklePath",
          "id": 2
        }
      }
    },
    "ParentChainBlockRootInfo": {
      "fields": {
        "Height": {
          "type": "uint64",
          "id": 1
        },
        "SideChainBlockHeadersRoot": {
          "type": "Hash",
          "id": 2
        },
        "SideChainTransactionsRoot": {
          "type": "Hash",
          "id": 3
        },
        "ChainId": {
          "type": "Hash",
          "id": 4
        }
      }
    },
    "MerklePath": {
      "fields": {
        "Path": {
          "rule": "repeated",
          "type": "Hash",
          "id": 1
        }
      }
    },
    "SideChainStatus": {
      "values": {
        "Apply": 0,
        "Review": 1,
        "Active": 2,
        "Terminated": 3
      }
    },
    "SideChainInfo": {
      "fields": {
        "IndexingPrice": {
          "type": "uint64",
          "id": 1
        },
        "LockedTokenAmount": {
          "type": "uint64",
          "id": 2
        },
        "ResourceBalances": {
          "rule": "repeated",
          "type": "ResourceTypeBalancePair",
          "id": 3
        },
        "ContractCode": {
          "type": "bytes",
          "id": 4
        },
        "Proposer": {
          "type": "Address",
          "id": 5
        },
        "SideChainStatus": {
          "type": "SideChainStatus",
          "id": 6
        },
        "ChainId": {
          "type": "Hash",
          "id": 7
        }
      }
    },
    "Address": {
      "fields": {
        "Value": {
          "type": "bytes",
          "id": 1
        }
      }
    },
    "Hash": {
      "fields": {
        "Value": {
          "type": "bytes",
          "id": 1
        },
        "HashType": {
          "type": "HashType",
          "id": 2
        }
      }
    },
    "HashType": {
      "values": {
        "General": 0,
        "AccountAddress": 1,
        "ResourcePath": 2,
        "ResourcePointer": 3,
        "StateHash": 4,
        "BlockHash": 5,
        "AccountZero": 6,
        "ChainHeight": 7,
        "PreviousBlockHash": 8,
        "CallingGraph": 9,
        "TxResult": 10,
        "CanonicalHash": 11,
        "CurrentHash": 12,
        "GenesisHash": 13,
        "BlockHeaderHash": 14,
        "BlockBodyHash": 15
      }
    },
    "SInt32Value": {
      "fields": {
        "value": {
          "type": "sint32",
          "id": 1
        }
      }
    },
    "SInt64Value": {
      "fields": {
        "value": {
          "type": "sint64",
          "id": 1
        }
      }
    },
    "ResourceType": {
      "values": {
        "UndefinedResourceType": 0,
        "Ram": 1,
        "Cpu": 2,
        "Net": 3
      }
    },
    "ResourceTypeBalancePair": {
      "fields": {
        "Type": {
          "type": "ResourceType",
          "id": 1
        },
        "Amount": {
          "type": "uint64",
          "id": 2
        }
      }
    }
  }
}