{
  "options": {
    "java_outer_classname": "StorageProtobuf",
    "java_package": "cn.chain33.javasdk.model.protobuf"
  },
  "nested": {
    "Storage": {
      "oneofs": {
        "value": {
          "oneof": [
            "contentStorage",
            "hashStorage",
            "linkStorage",
            "encryptStorage",
            "encryptShareStorage"
          ]
        }
      },
      "fields": {
        "contentStorage": {
          "type": "ContentOnlyNotaryStorage",
          "id": 1
        },
        "hashStorage": {
          "type": "HashOnlyNotaryStorage",
          "id": 2
        },
        "linkStorage": {
          "type": "LinkNotaryStorage",
          "id": 3
        },
        "encryptStorage": {
          "type": "EncryptNotaryStorage",
          "id": 4
        },
        "encryptShareStorage": {
          "type": "EncryptShareNotaryStorage",
          "id": 5
        },
        "ty": {
          "type": "int32",
          "id": 6
        }
      }
    },
    "StorageAction": {
      "oneofs": {
        "value": {
          "oneof": [
            "contentStorage",
            "hashStorage",
            "linkStorage",
            "encryptStorage",
            "encryptShareStorage"
          ]
        }
      },
      "fields": {
        "contentStorage": {
          "type": "ContentOnlyNotaryStorage",
          "id": 1
        },
        "hashStorage": {
          "type": "HashOnlyNotaryStorage",
          "id": 2
        },
        "linkStorage": {
          "type": "LinkNotaryStorage",
          "id": 3
        },
        "encryptStorage": {
          "type": "EncryptNotaryStorage",
          "id": 4
        },
        "encryptShareStorage": {
          "type": "EncryptShareNotaryStorage",
          "id": 5
        },
        "ty": {
          "type": "int32",
          "id": 6
        }
      }
    },
    "ContentOnlyNotaryStorage": {
      "fields": {
        "content": {
          "type": "bytes",
          "id": 1
        },
        "key": {
          "type": "string",
          "id": 2
        },
        "op": {
          "type": "int32",
          "id": 3
        },
        "value": {
          "type": "string",
          "id": 4
        }
      }
    },
    "HashOnlyNotaryStorage": {
      "fields": {
        "hash": {
          "type": "bytes",
          "id": 1
        },
        "key": {
          "type": "string",
          "id": 2
        },
        "value": {
          "type": "string",
          "id": 3
        }
      }
    },
    "LinkNotaryStorage": {
      "fields": {
        "link": {
          "type": "bytes",
          "id": 1
        },
        "hash": {
          "type": "bytes",
          "id": 2
        },
        "key": {
          "type": "string",
          "id": 3
        },
        "value": {
          "type": "string",
          "id": 4
        }
      }
    },
    "EncryptNotaryStorage": {
      "fields": {
        "contentHash": {
          "type": "bytes",
          "id": 1
        },
        "encryptContent": {
          "type": "bytes",
          "id": 2
        },
        "nonce": {
          "type": "bytes",
          "id": 3
        },
        "key": {
          "type": "string",
          "id": 4
        },
        "value": {
          "type": "string",
          "id": 5
        }
      }
    },
    "EncryptShareNotaryStorage": {
      "fields": {
        "contentHash": {
          "type": "bytes",
          "id": 1
        },
        "encryptContent": {
          "type": "bytes",
          "id": 2
        },
        "pubKey": {
          "type": "bytes",
          "id": 3
        },
        "key": {
          "type": "string",
          "id": 4
        },
        "value": {
          "type": "string",
          "id": 5
        }
      }
    },
    "EncryptNotaryAdd": {
      "fields": {
        "key": {
          "type": "string",
          "id": 1
        },
        "encryptAdd": {
          "type": "bytes",
          "id": 2
        }
      }
    },
    "QueryStorage": {
      "fields": {
        "txHash": {
          "type": "string",
          "id": 1
        }
      }
    },
    "BatchQueryStorage": {
      "fields": {
        "txHashs": {
          "rule": "repeated",
          "type": "string",
          "id": 1
        }
      }
    },
    "BatchReplyStorage": {
      "fields": {
        "storages": {
          "rule": "repeated",
          "type": "Storage",
          "id": 1
        }
      }
    },
    "ReceiptStorage": {
      "fields": {}
    }
  }
}