{
    "____comment": "This file was generated with eosio-abigen. DO NOT EDIT ",
    "version": "eosio::abi/1.2",
    "types": [],
    "structs": [
        {
            "name": "account",
            "base": "",
            "fields": [
                {
                    "name": "user",
                    "type": "name"
                },
                {
                    "name": "balance",
                    "type": "asset"
                },
                {
                    "name": "nonce",
                    "type": "uint64"
                }
            ]
        },
        {
            "name": "card",
            "base": "",
            "fields": [
                {
                    "name": "id",
                    "type": "uint64"
                },
                {
                    "name": "owner",
                    "type": "name"
                },
                {
                    "name": "card_name",
                    "type": "string"
                },
                {
                    "name": "version",
                    "type": "string"
                },
                {
                    "name": "total_memory",
                    "type": "uint64"
                },
                {
                    "name": "mp_count",
                    "type": "uint32"
                },
                {
                    "name": "extra",
                    "type": "string"
                }
            ]
        },
        {
            "name": "clean",
            "base": "",
            "fields": []
        },
        {
            "name": "config",
            "base": "",
            "fields": [
                {
                    "name": "token_contract",
                    "type": "name"
                },
                {
                    "name": "token_symbol",
                    "type": "symbol"
                }
            ]
        },
        {
            "name": "dequeue",
            "base": "",
            "fields": [
                {
                    "name": "user",
                    "type": "name"
                },
                {
                    "name": "request_id",
                    "type": "uint64"
                }
            ]
        },
        {
            "name": "enqueue",
            "base": "",
            "fields": [
                {
                    "name": "user",
                    "type": "name"
                },
                {
                    "name": "request_body",
                    "type": "string"
                },
                {
                    "name": "binary_data",
                    "type": "string"
                },
                {
                    "name": "reward",
                    "type": "asset"
                },
                {
                    "name": "min_verification",
                    "type": "uint32"
                }
            ]
        },
        {
            "name": "global_configuration_struct",
            "base": "",
            "fields": [
                {
                    "name": "token_contract",
                    "type": "name"
                },
                {
                    "name": "token_symbol",
                    "type": "symbol"
                }
            ]
        },
        {
            "name": "submit",
            "base": "",
            "fields": [
                {
                    "name": "worker",
                    "type": "name"
                },
                {
                    "name": "request_id",
                    "type": "uint64"
                },
                {
                    "name": "request_hash",
                    "type": "checksum256"
                },
                {
                    "name": "result_hash",
                    "type": "checksum256"
                },
                {
                    "name": "ipfs_hash",
                    "type": "string"
                }
            ]
        },
        {
            "name": "withdraw",
            "base": "",
            "fields": [
                {
                    "name": "user",
                    "type": "name"
                },
                {
                    "name": "quantity",
                    "type": "asset"
                }
            ]
        },
        {
            "name": "work_request_struct",
            "base": "",
            "fields": [
                {
                    "name": "id",
                    "type": "uint64"
                },
                {
                    "name": "user",
                    "type": "name"
                },
                {
                    "name": "reward",
                    "type": "asset"
                },
                {
                    "name": "min_verification",
                    "type": "uint32"
                },
                {
                    "name": "nonce",
                    "type": "uint64"
                },
                {
                    "name": "body",
                    "type": "string"
                },
                {
                    "name": "binary_data",
                    "type": "string"
                },
                {
                    "name": "timestamp",
                    "type": "time_point_sec"
                }
            ]
        },
        {
            "name": "work_result_struct",
            "base": "",
            "fields": [
                {
                    "name": "id",
                    "type": "uint64"
                },
                {
                    "name": "request_id",
                    "type": "uint64"
                },
                {
                    "name": "user",
                    "type": "name"
                },
                {
                    "name": "worker",
                    "type": "name"
                },
                {
                    "name": "result_hash",
                    "type": "checksum256"
                },
                {
                    "name": "ipfs_hash",
                    "type": "string"
                },
                {
                    "name": "submited",
                    "type": "time_point_sec"
                }
            ]
        },
        {
            "name": "workbegin",
            "base": "",
            "fields": [
                {
                    "name": "worker",
                    "type": "name"
                },
                {
                    "name": "request_id",
                    "type": "uint64"
                },
                {
                    "name": "max_workers",
                    "type": "uint32"
                }
            ]
        },
        {
            "name": "workcancel",
            "base": "",
            "fields": [
                {
                    "name": "worker",
                    "type": "name"
                },
                {
                    "name": "request_id",
                    "type": "uint64"
                },
                {
                    "name": "reason",
                    "type": "string"
                }
            ]
        },
        {
            "name": "worker",
            "base": "",
            "fields": [
                {
                    "name": "account",
                    "type": "name"
                },
                {
                    "name": "joined",
                    "type": "time_point_sec"
                },
                {
                    "name": "left",
                    "type": "time_point_sec"
                },
                {
                    "name": "url",
                    "type": "string"
                }
            ]
        },
        {
            "name": "worker_status_struct",
            "base": "",
            "fields": [
                {
                    "name": "worker",
                    "type": "name"
                },
                {
                    "name": "status",
                    "type": "string"
                },
                {
                    "name": "started",
                    "type": "time_point_sec"
                }
            ]
        }
    ],
    "actions": [
        {
            "name": "clean",
            "type": "clean",
            "ricardian_contract": ""
        },
        {
            "name": "config",
            "type": "config",
            "ricardian_contract": ""
        },
        {
            "name": "dequeue",
            "type": "dequeue",
            "ricardian_contract": ""
        },
        {
            "name": "enqueue",
            "type": "enqueue",
            "ricardian_contract": ""
        },
        {
            "name": "submit",
            "type": "submit",
            "ricardian_contract": ""
        },
        {
            "name": "withdraw",
            "type": "withdraw",
            "ricardian_contract": ""
        },
        {
            "name": "workbegin",
            "type": "workbegin",
            "ricardian_contract": ""
        },
        {
            "name": "workcancel",
            "type": "workcancel",
            "ricardian_contract": ""
        }
    ],
    "tables": [
        {
            "name": "cards",
            "type": "card",
            "index_type": "i64",
            "key_names": [],
            "key_types": []
        },
        {
            "name": "config",
            "type": "global_configuration_struct",
            "index_type": "i64",
            "key_names": [],
            "key_types": []
        },
        {
            "name": "queue",
            "type": "work_request_struct",
            "index_type": "i64",
            "key_names": [],
            "key_types": []
        },
        {
            "name": "results",
            "type": "work_result_struct",
            "index_type": "i64",
            "key_names": [],
            "key_types": []
        },
        {
            "name": "status",
            "type": "worker_status_struct",
            "index_type": "i64",
            "key_names": [],
            "key_types": []
        },
        {
            "name": "users",
            "type": "account",
            "index_type": "i64",
            "key_names": [],
            "key_types": []
        },
        {
            "name": "workers",
            "type": "worker",
            "index_type": "i64",
            "key_names": [],
            "key_types": []
        }
    ],
    "ricardian_clauses": [],
    "variants": [],
    "action_results": []
}