{
  "version": "eosio::abi/1.0",
  "types": [{
      "new_type_name": "account_name",
      "type": "name"
   },{
      "new_type_name": "permission_name",
      "type": "name"
   },{
      "new_type_name": "action_name",
      "type": "name"
  }],
  "structs": [{
      "name": "permission_level",
      "base": "",
      "fields": [
        {"name": "actor", "type": "account_name"},
        {"name": "permission", "type": "permission_name"}
      ]
    },{
      "name": "action",
      "base": "",
      "fields": [
         {"name": "account", "type": "account_name"},
         {"name": "name", "type": "action_name"},
         {"name": "authorization", "type": "permission_level[]"},
         {"name": "data", "type": "bytes"}
      ]
    },{
      "name": "transaction_header",
      "base": "",
      "fields": [
         {"name": "expiration", "type": "time_point_sec"},
         {"name": "ref_block_num", "type": "uint16"},
         {"name": "ref_block_prefix", "type": "uint32"},
         {"name": "max_net_usage_words", "type": "varuint32"},
         {"name": "max_cpu_usage_ms", "type": "uint8"},
         {"name": "delay_sec", "type": "varuint32"}
      ]
   },{
      "name": "extension",
      "base": "",
      "fields": [
         {"name": "type", "type" : "uint16" },
         {"name": "data", "type": "bytes"}
      ]
   },{
      "name": "transaction",
      "base": "transaction_header",
      "fields": [
         {"name": "context_free_actions", "type": "action[]"},
         {"name": "actions", "type": "action[]"},
         {"name": "transaction_extensions", "type": "extension[]"}
      ]
   },{
      "name": "propose",
      "base": "",
      "fields": [
        {"name":"proposer", "type":"account_name"},
        {"name":"proposal_name", "type":"name"},
        {"name":"requested", "type":"permission_level[]"},
        {"name":"trx", "type":"transaction"}
      ]
    },{
     "name": "approve",
     "base": "",
     "fields": [
        {"name":"proposer", "type":"account_name"},
        {"name":"proposal_name", "type":"name"},
        {"name":"level", "type":"permission_level"}
     ]
    },{
     "name": "unapprove",
     "base": "",
     "fields": [
        {"name":"proposer", "type":"account_name"},
        {"name":"proposal_name", "type":"name"},
        {"name":"level", "type":"permission_level"}
     ]
    },{
      "name": "cancel",
      "base": "",
      "fields": [
        {"name":"proposer", "type":"account_name"},
        {"name":"proposal_name", "type":"name"},
        {"name":"canceler", "type":"account_name"}
      ]
    },{
      "name": "exec",
      "base": "",
      "fields": [
        {"name":"proposer", "type":"account_name"},
        {"name":"proposal_name", "type":"name"},
        {"name":"executer", "type":"account_name"}
      ]
    },{
      "name": "proposal",
      "base": "",
      "fields": [
        {"name": "proposal_name", "type": "name"},
        {"name": "packed_transaction", "type": "bytes"}
      ]
    },{
      "name": "approvals_info",
      "base": "",
      "fields": [
        {"name": "proposal_name", "type": "name"},
        {"name": "requested_approvals", "type": "permission_level[]"},
        {"name": "provided_approvals", "type": "permission_level[]"}
      ]
    }
  ],
  "actions": [{
      "name": "propose",
      "type": "propose",
      "ricardian_contract": ""
    },{
      "name": "approve",
      "type": "approve",
      "ricardian_contract": ""
    },{
      "name": "unapprove",
      "type": "unapprove",
      "ricardian_contract": ""
    }, {
      "name": "cancel",
      "type": "cancel",
      "ricardian_contract": ""
    }, {
      "name": "exec",
      "type": "exec",
      "ricardian_contract": ""
    }

  ],
  "tables": [{
      "name": "proposal",
      "type": "proposal",
      "index_type": "i64",
      "key_names" : ["proposal_name"],
      "key_types" : ["name"]
    },{
      "name": "approvals",
      "type": "approvals_info",
      "index_type": "i64",
      "key_names" : ["proposal_name"],
      "key_types" : ["name"]
    }
  ],
  "ricardian_clauses": [],
  "abi_extensions": []
}
