{
   "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"
   },{
      "new_type_name": "transaction_id_type",
      "type": "checksum256"
   },{
      "new_type_name": "weight_type",
      "type": "uint16"
   }],
   "____comment": "eosio.bios structs: set_account_limits, setpriv, set_global_limits, producer_key, set_producers, require_auth are provided so abi available for deserialization in future.",
   "structs": [{
      "name": "permission_level",
      "base": "",
      "fields": [
        {"name":"actor",      "type":"account_name"},
        {"name":"permission", "type":"permission_name"}
      ]
    },{
      "name": "key_weight",
      "base": "",
      "fields": [
        {"name":"key",    "type":"public_key"},
        {"name":"weight", "type":"weight_type"}
      ]
    },{
      "name": "bidname",
      "base": "",
      "fields": [
        {"name":"bidder",  "type":"account_name"},
        {"name":"newname", "type":"account_name"},
        {"name":"bid", "type":"asset"}
      ]
    },{
      "name": "bidrefund",
      "base": "",
      "fields": [
        {"name":"bidder",  "type":"account_name"},
        {"name":"newname", "type":"account_name"}
      ]
    },{
      "name": "permission_level_weight",
      "base": "",
      "fields": [
        {"name":"permission", "type":"permission_level"},
        {"name":"weight",     "type":"weight_type"}
      ]
    },{
      "name": "wait_weight",
      "base": "",
      "fields": [
        {"name":"wait_sec", "type":"uint32"},
        {"name":"weight",   "type":"weight_type"}
      ]
    },{
      "name": "authority",
      "base": "",
      "fields": [
        {"name":"threshold", "type":"uint32"},
        {"name":"keys",      "type":"key_weight[]"},
        {"name":"accounts",  "type":"permission_level_weight[]"},
        {"name":"waits",     "type":"wait_weight[]"}
      ]
    },{
      "name": "newaccount",
      "base": "",
      "fields": [
        {"name":"creator", "type":"account_name"},
        {"name":"name",    "type":"account_name"},
        {"name":"owner",   "type":"authority"},
        {"name":"active",  "type":"authority"}
      ]
    },{
      "name": "setcode",
      "base": "",
      "fields": [
        {"name":"account",   "type":"account_name"},
        {"name":"vmtype",    "type":"uint8"},
        {"name":"vmversion", "type":"uint8"},
        {"name":"code",      "type":"bytes"}
      ]
    },{
      "name": "setabi",
      "base": "",
      "fields": [
        {"name":"account", "type":"account_name"},
        {"name":"abi",     "type":"bytes"}
      ]
    },{
      "name": "updateauth",
      "base": "",
      "fields": [
        {"name":"account",    "type":"account_name"},
        {"name":"permission", "type":"permission_name"},
        {"name":"parent",     "type":"permission_name"},
        {"name":"auth",       "type":"authority"}
      ]
    },{
      "name": "deleteauth",
      "base": "",
      "fields": [
        {"name":"account",    "type":"account_name"},
        {"name":"permission", "type":"permission_name"}
      ]
    },{
      "name": "linkauth",
      "base": "",
      "fields": [
        {"name":"account",     "type":"account_name"},
        {"name":"code",        "type":"account_name"},
        {"name":"type",        "type":"action_name"},
        {"name":"requirement", "type":"permission_name"}
      ]
    },{
      "name": "unlinkauth",
      "base": "",
      "fields": [
        {"name":"account",     "type":"account_name"},
        {"name":"code",        "type":"account_name"},
        {"name":"type",        "type":"action_name"}
      ]
    },{
      "name": "canceldelay",
      "base": "",
      "fields": [
        {"name":"canceling_auth", "type":"permission_level"},
        {"name":"trx_id",         "type":"transaction_id_type"}
      ]
    },{
      "name": "onerror",
      "base": "",
      "fields": [
        {"name":"sender_id", "type":"uint128"},
        {"name":"sent_trx",  "type":"bytes"}
      ]
    },{
      "name": "buyrambytes",
      "base": "",
      "fields": [
         {"name":"payer", "type":"account_name"},
         {"name":"receiver", "type":"account_name"},
         {"name":"bytes", "type":"uint32"}
      ]
    },{
      "name": "sellram",
      "base": "",
      "fields": [
         {"name":"account", "type":"account_name"},
         {"name":"bytes", "type":"uint64"}
      ]
    },{
      "name": "buyram",
      "base": "",
      "fields": [
         {"name":"payer", "type":"account_name"},
         {"name":"receiver", "type":"account_name"},
         {"name":"quant", "type":"asset"}
      ]
    },{
      "name": "delegatebw",
      "base": "",
      "fields": [
         {"name":"from", "type":"account_name"},
         {"name":"receiver", "type":"account_name"},
         {"name":"stake_net_quantity", "type":"asset"},
         {"name":"stake_cpu_quantity", "type":"asset"},
         {"name":"transfer", "type":"bool"}
      ]
    },{
      "name": "undelegatebw",
      "base": "",
      "fields": [
         {"name":"from", "type":"account_name"},
         {"name":"receiver", "type":"account_name"},
         {"name":"unstake_net_quantity", "type":"asset"},
         {"name":"unstake_cpu_quantity", "type":"asset"}
      ]
    },{
      "name": "refund",
      "base": "",
      "fields": [
         {"name":"owner", "type":"account_name"}
      ]
    },{
      "name": "delegated_bandwidth",
      "base": "",
      "fields": [
         {"name":"from", "type":"account_name"},
         {"name":"to", "type":"account_name"},
         {"name":"net_weight", "type":"asset"},
         {"name":"cpu_weight", "type":"asset"}
      ]
    },{
      "name": "user_resources",
      "base": "",
      "fields": [
         {"name":"owner", "type":"account_name"},
         {"name":"net_weight", "type":"asset"},
         {"name":"cpu_weight", "type":"asset"},
         {"name":"ram_bytes", "type":"uint64"}
      ]
    },{
      "name": "total_resources",
      "base": "",
      "fields": [
         {"name":"owner", "type":"account_name"},
         {"name":"net_weight", "type":"asset"},
         {"name":"cpu_weight", "type":"asset"},
         {"name":"ram_bytes", "type":"uint64"}
      ]
    },{
      "name": "refund_request",
      "base": "",
      "fields": [
         {"name":"owner", "type":"account_name"},
         {"name":"request_time", "type":"time_point_sec"},
         {"name":"net_amount", "type":"asset"},
         {"name":"cpu_amount", "type":"asset"}
      ]
    },{
      "name": "blockchain_parameters",
      "base": "",
      "fields": [

         {"name":"max_block_net_usage",                 "type":"uint64"},
         {"name":"target_block_net_usage_pct",          "type":"uint32"},
         {"name":"max_transaction_net_usage",           "type":"uint32"},
         {"name":"base_per_transaction_net_usage",      "type":"uint32"},
         {"name":"net_usage_leeway",                    "type":"uint32"},
         {"name":"context_free_discount_net_usage_num", "type":"uint32"},
         {"name":"context_free_discount_net_usage_den", "type":"uint32"},
         {"name":"max_block_cpu_usage",                 "type":"uint32"},
         {"name":"target_block_cpu_usage_pct",          "type":"uint32"},
         {"name":"max_transaction_cpu_usage",           "type":"uint32"},
         {"name":"min_transaction_cpu_usage",           "type":"uint32"},
         {"name":"max_transaction_lifetime",            "type":"uint32"},
         {"name":"deferred_trx_expiration_window",      "type":"uint32"},
         {"name":"max_transaction_delay",               "type":"uint32"},
         {"name":"max_inline_action_size",              "type":"uint32"},
         {"name":"max_inline_action_depth",             "type":"uint16"},
         {"name":"max_authority_depth",                 "type":"uint16"}
      ]
    },{
      "name": "eosio_global_state2",
      "fields": [
         {"name":"new_ram_per_block",   "type":"uint16"},
         {"name":"last_ram_increase",   "type":"block_timestamp_type"},
         {"name":"last_block_num",      "type":"block_timestamp_type"},
         {"name":"reserved",            "type":"float64"},
         {"name":"revision",            "type":"uint8"}
      ]
    },{
      "name": "eosio_global_state",
      "base": "blockchain_parameters",
      "fields": [
         {"name":"max_ram_size",                  "type":"uint64"},
         {"name":"total_ram_bytes_reserved",      "type":"uint64"},
         {"name":"total_ram_stake",               "type":"int64"},
         {"name":"last_producer_schedule_update", "type":"block_timestamp_type"},
         {"name":"last_pervote_bucket_fill",      "type":"uint64"},
         {"name":"pervote_bucket",                "type":"int64"},
         {"name":"perblock_bucket",               "type":"int64"},
         {"name":"total_unpaid_blocks",           "type":"uint32"},
         {"name":"total_activated_stake",         "type":"int64"},
         {"name":"thresh_activated_stake_time",   "type":"uint64"},
         {"name":"last_producer_schedule_size",   "type":"uint16"},
         {"name":"total_producer_vote_weight",    "type":"float64"},
         {"name":"last_name_close",               "type":"block_timestamp_type"}
      ]
    },{
      "name": "producer_info",
      "base": "",
      "fields": [
         {"name":"owner",           "type":"account_name"},
         {"name":"total_votes",     "type":"float64"},
         {"name":"producer_key",    "type":"public_key"},
         {"name":"is_active",       "type":"bool"},
         {"name":"url",             "type":"string"},
         {"name":"unpaid_blocks",   "type":"uint32"},
         {"name":"last_result_time", "type":"uint64"},
         {"name":"location",        "type":"uint16"}
      ]
    },{
      "name": "regproducer",
      "base": "",
      "fields": [
        {"name":"producer",     "type":"account_name"},
        {"name":"producer_key", "type":"public_key"},
        {"name":"url",          "type":"string"},
        {"name":"location",     "type":"uint16"}
      ]
    },{
      "name": "unregprod",
      "base": "",
      "fields": [
        {"name":"producer",     "type":"account_name"}
      ]
    },{
      "name": "setram",
      "base": "",
      "fields": [
        {"name":"max_ram_size",     "type":"uint64"}
      ]
    },{
      "name": "setramrate",
      "base": "",
      "fields": [
        {"name":"bytes_per_block",   "type":"uint16"}
      ]
    },{
      "name": "regproxy",
      "base": "",
      "fields": [
        {"name":"proxy",     "type":"account_name"},
        {"name":"isproxy",   "type":"bool"}
      ]
    },{
      "name": "voteproducer",
      "base": "",
      "fields": [
        {"name":"voter",     "type":"account_name"},
        {"name":"proxy",     "type":"account_name"},
        {"name":"producers", "type":"account_name[]"}
      ]
    },{
      "name": "voter_info",
      "base": "",
      "fields": [
        {"name":"owner",                "type":"account_name"},
        {"name":"proxy",                "type":"account_name"},
        {"name":"producers",            "type":"account_name[]"},
        {"name":"staked",               "type":"int64"},
        {"name":"last_vote_weight",     "type":"float64"},
        {"name":"proxied_vote_weight",  "type":"float64"},
        {"name":"is_proxy",             "type":"bool"}
      ]
    },{
      "name": "claimrewards",
      "base": "",
      "fields": [
        {"name":"owner",   "type":"account_name"}
      ]
    },{
      "name": "setpriv",
      "base": "",
      "fields": [
        {"name":"account",    "type":"account_name"},
        {"name":"is_priv",    "type":"int8"}
      ]
    },{
      "name": "rmvproducer",
      "base": "",
      "fields": [
        {"name":"producer", "type":"account_name"}
      ]
    },{
      "name": "set_account_limits",
      "base": "",
      "fields": [
        {"name":"account",    "type":"account_name"},
        {"name":"ram_bytes",  "type":"int64"},
        {"name":"net_weight", "type":"int64"},
        {"name":"cpu_weight", "type":"int64"}
      ]
    },{
      "name": "set_global_limits",
      "base": "",
      "fields": [
        {"name":"cpu_usec_per_period",    "type":"int64"}
      ]
    },{
      "name": "producer_key",
      "base": "",
      "fields": [
        {"name":"producer_name",      "type":"account_name"},
        {"name":"block_signing_key",  "type":"public_key"}
      ]
    },{
      "name": "set_producers",
      "base": "",
      "fields": [
        {"name":"schedule",   "type":"producer_key[]"}
      ]
    },{
      "name": "require_auth",
      "base": "",
      "fields": [
        {"name":"from", "type":"account_name"}
      ]
    },{
      "name": "setparams",
      "base": "",
      "fields": [
        {"name":"params", "type":"blockchain_parameters"}
      ]
    },{
      "name": "connector",
      "base": "",
      "fields": [
        {"name":"balance", "type":"asset"},
        {"name":"weight", "type":"float64"}
      ]
    },{
      "name": "exchange_state",
      "base": "",
      "fields": [
        {"name":"supply", "type":"asset"},
        {"name":"base", "type":"connector"},
        {"name":"quote", "type":"connector"}
      ]
    }, {
       "name": "name_bid",
       "base": "",
       "fields": [
          {"name":"newname", "type":"account_name"},
          {"name":"high_bidder", "type":"account_name"},
          {"name":"high_bid", "type":"int64"},
          {"name":"last_bid_time", "type":"uint64"}
       ]
    }, {
     "name": "bid_refund",
     "base": "",
     "fields": [
       {"name":"bidder", "type":"account_name"},
       {"name":"amount", "type":"asset"}
     ]
   }
   ],
   "actions": [{
     "name": "newaccount",
     "type": "newaccount",
     "ricardian_contract": ""
   },{
     "name": "setcode",
     "type": "setcode",
     "ricardian_contract": ""
   },{
     "name": "setabi",
     "type": "setabi",
     "ricardian_contract": ""
   },{
     "name": "updateauth",
     "type": "updateauth",
     "ricardian_contract": ""
   },{
     "name": "deleteauth",
     "type": "deleteauth",
     "ricardian_contract": ""
   },{
     "name": "linkauth",
     "type": "linkauth",
     "ricardian_contract": ""
   },{
     "name": "unlinkauth",
     "type": "unlinkauth",
     "ricardian_contract": ""
   },{
     "name": "canceldelay",
     "type": "canceldelay",
     "ricardian_contract": ""
   },{
     "name": "onerror",
     "type": "onerror",
     "ricardian_contract": ""
   },{
      "name": "buyrambytes",
      "type": "buyrambytes",
      "ricardian_contract": ""
   },{
      "name": "buyram",
      "type": "buyram",
      "ricardian_contract": ""
   },{
      "name": "sellram",
      "type": "sellram",
      "ricardian_contract": ""
   },{
      "name": "delegatebw",
      "type": "delegatebw",
      "ricardian_contract": ""
   },{
      "name": "undelegatebw",
      "type": "undelegatebw",
      "ricardian_contract": ""
   },{
      "name": "refund",
      "type": "refund",
      "ricardian_contract": ""
   },{
      "name": "regproducer",
      "type": "regproducer",
      "ricardian_contract": ""
   },{
      "name": "setram",
      "type": "setram",
      "ricardian_contract": ""
   },{
      "name": "setramrate",
      "type": "setramrate",
      "ricardian_contract": "Sets the number of new bytes of ram to create per block and resyncs bancor base connector balance"
   },{
      "name": "bidname",
      "type": "bidname",
      "ricardian_contract": ""
   },{
      "name": "bidrefund",
      "type": "bidrefund",
      "ricardian_contract": ""
   },{
      "name": "unregprod",
      "type": "unregprod",
      "ricardian_contract": ""
   },{
      "name": "regproxy",
      "type": "regproxy",
      "ricardian_contract": ""
   },{
      "name": "voteproducer",
      "type": "voteproducer",
      "ricardian_contract": ""
   },{
      "name": "claimrewards",
      "type": "claimrewards",
      "ricardian_contract": ""
   },{
      "name": "setpriv",
      "type": "setpriv",
      "ricardian_contract": ""
   },{
      "name": "rmvproducer",
      "type": "rmvproducer",
      "ricardian_contract": ""
   },{
      "name": "setalimits",
      "type": "set_account_limits",
      "ricardian_contract": ""
    },{
      "name": "setglimits",
      "type": "set_global_limits",
      "ricardian_contract": ""
    },{
      "name": "setprods",
      "type": "set_producers",
      "ricardian_contract": ""
    },{
      "name": "reqauth",
      "type": "require_auth",
      "ricardian_contract": ""
    },{
      "name": "setparams",
      "type": "setparams",
      "ricardian_contract": ""
    }],
   "tables": [{
      "name": "producers",
      "type": "producer_info",
      "index_type": "i64",
      "key_names" : ["owner"],
      "key_types" : ["uint64"]
    },{
      "name": "global",
      "type": "eosio_global_state",
      "index_type": "i64",
      "key_names" : [],
      "key_types" : []
    },{
      "name": "global2",
      "type": "eosio_global_state2",
      "index_type": "i64",
      "key_names" : [],
      "key_types" : []
    },{
      "name": "voters",
      "type": "voter_info",
      "index_type": "i64",
      "key_names" : ["owner"],
      "key_types" : ["account_name"]
    },{
      "name": "userres",
      "type": "user_resources",
      "index_type": "i64",
      "key_names" : ["owner"],
      "key_types" : ["uint64"]
    },{
      "name": "delband",
      "type": "delegated_bandwidth",
      "index_type": "i64",
      "key_names" : ["to"],
      "key_types" : ["uint64"]
    },{
      "name": "rammarket",
      "type": "exchange_state",
      "index_type": "i64",
      "key_names" : ["supply"],
      "key_types" : ["uint64"]
    },{
      "name": "refunds",
      "type": "refund_request",
      "index_type": "i64",
      "key_names" : ["owner"],
      "key_types" : ["uint64"]
    },{
       "name": "namebids",
       "type": "name_bid",
       "index_type": "i64",
       "key_names" : ["newname"],
       "key_types" : ["account_name"]
    },{
     "name": "bidrefunds",
     "type": "bid_refund",
     "index_type": "i64",
     "key_names" : ["bidder"],
     "key_types" : ["account_name"]
   }
   ],
   "ricardian_clauses": [],
   "abi_extensions": []
}
