{
  "methods": {
    "authorize": {
      "argument": "authority.authorize_arguments",
      "return": "authority.authorize_result",
      "description": "Authorize function",
      "entry_point": 1244511632,
      "read_only": false,
      "entry-point": "0x4a2dbd90",
      "read-only": false
    }
  },
  "types": "Co8EChxrb2lub3MvY2hhaW4vYXV0aG9yaXR5LnByb3RvEgxrb2lub3MuY2hhaW4aFGtvaW5vcy9vcHRpb25zLnByb3RvIn8KCWNhbGxfZGF0YRIlCgtjb250cmFjdF9pZBgBIAEoDEIEgLUYBlIKY29udHJhY3RJZBIfCgtlbnRyeV9wb2ludBgCIAEoDVIKZW50cnlQb2ludBIWCgZjYWxsZXIYAyABKAxSBmNhbGxlchISCgRkYXRhGAQgASgMUgRkYXRhIoYBChNhdXRob3JpemVfYXJndW1lbnRzEjQKBHR5cGUYASABKA4yIC5rb2lub3MuY2hhaW4uYXV0aG9yaXphdGlvbl90eXBlUgR0eXBlEjAKBGNhbGwYAiABKAsyFy5rb2lub3MuY2hhaW4uY2FsbF9kYXRhSABSBGNhbGyIAQFCBwoFX2NhbGwiKAoQYXV0aG9yaXplX3Jlc3VsdBIUCgV2YWx1ZRgBIAEoCFIFdmFsdWUqWQoSYXV0aG9yaXphdGlvbl90eXBlEhEKDWNvbnRyYWN0X2NhbGwQABIbChd0cmFuc2FjdGlvbl9hcHBsaWNhdGlvbhABEhMKD2NvbnRyYWN0X3VwbG9hZBACQjRaMmdpdGh1Yi5jb20va29pbm9zL2tvaW5vcy1wcm90by1nb2xhbmcva29pbm9zL2NoYWluYgZwcm90bzMKSwoUZnJlZW1hbmFzaGFyZXIucHJvdG8SDmZyZWVtYW5hc2hhcmVyIhsKA3N0chIUCgV2YWx1ZRgBIAEoCVIFdmFsdWViBnByb3RvMw==",
  "koilib_types": {
    "nested": {
      "koinos": {
        "options": {
          "go_package": "github.com/koinos/koinos-proto-golang/koinos"
        },
        "nested": {
          "chain": {
            "options": {
              "go_package": "github.com/koinos/koinos-proto-golang/koinos/chain"
            },
            "nested": {
              "authorization_type": {
                "values": {
                  "contract_call": 0,
                  "transaction_application": 1,
                  "contract_upload": 2
                }
              },
              "call_data": {
                "fields": {
                  "contract_id": {
                    "type": "bytes",
                    "id": 1,
                    "options": {
                      "(btype)": "ADDRESS"
                    }
                  },
                  "entry_point": {
                    "type": "uint32",
                    "id": 2
                  },
                  "caller": {
                    "type": "bytes",
                    "id": 3
                  },
                  "data": {
                    "type": "bytes",
                    "id": 4
                  }
                }
              },
              "authorize_arguments": {
                "oneofs": {
                  "_call": {
                    "oneof": [
                      "call"
                    ]
                  }
                },
                "fields": {
                  "type": {
                    "type": "authorization_type",
                    "id": 1
                  },
                  "call": {
                    "type": "call_data",
                    "id": 2,
                    "options": {
                      "proto3_optional": true
                    }
                  }
                }
              },
              "authorize_result": {
                "fields": {
                  "value": {
                    "type": "bool",
                    "id": 1
                  }
                }
              }
            }
          },
          "bytes_type": {
            "values": {
              "BASE64": 0,
              "BASE58": 1,
              "HEX": 2,
              "BLOCK_ID": 3,
              "TRANSACTION_ID": 4,
              "CONTRACT_ID": 5,
              "ADDRESS": 6
            }
          },
          "_btype": {
            "oneof": [
              "btype"
            ]
          },
          "btype": {
            "type": "bytes_type",
            "id": 50000,
            "extend": "google.protobuf.FieldOptions",
            "options": {
              "proto3_optional": true
            }
          }
        }
      },
      "freemanasharer": {
        "nested": {
          "str": {
            "fields": {
              "value": {
                "type": "string",
                "id": 1
              }
            }
          }
        }
      }
    }
  }
}