{
    "version": "eosio::abi/1.2",
    "types": [],
    "structs": [
        {
            "name": "action",
            "base": "",
            "fields": [
                {
                    "name": "account",
                    "type": "name"
                },
                {
                    "name": "name",
                    "type": "name"
                },
                {
                    "name": "authorization",
                    "type": "permission_level[]"
                },
                {
                    "name": "data",
                    "type": "bytes"
                }
            ]
        },
        {
            "name": "approval",
            "base": "",
            "fields": [
                {
                    "name": "level",
                    "type": "permission_level"
                },
                {
                    "name": "time",
                    "type": "time_point"
                }
            ]
        },
        {
            "name": "approvals_info",
            "base": "",
            "fields": [
                {
                    "name": "version",
                    "type": "uint8"
                },
                {
                    "name": "proposal_name",
                    "type": "name"
                },
                {
                    "name": "requested_approvals",
                    "type": "approval[]"
                },
                {
                    "name": "provided_approvals",
                    "type": "approval[]"
                }
            ]
        },
        {
            "name": "approve",
            "base": "",
            "fields": [
                {
                    "name": "proposer",
                    "type": "name"
                },
                {
                    "name": "proposal_name",
                    "type": "name"
                },
                {
                    "name": "level",
                    "type": "permission_level"
                },
                {
                    "name": "proposal_hash",
                    "type": "checksum256$"
                }
            ]
        },
        {
            "name": "cancel",
            "base": "",
            "fields": [
                {
                    "name": "proposer",
                    "type": "name"
                },
                {
                    "name": "proposal_name",
                    "type": "name"
                },
                {
                    "name": "canceler",
                    "type": "name"
                }
            ]
        },
        {
            "name": "exec",
            "base": "",
            "fields": [
                {
                    "name": "proposer",
                    "type": "name"
                },
                {
                    "name": "proposal_name",
                    "type": "name"
                },
                {
                    "name": "executer",
                    "type": "name"
                }
            ]
        },
        {
            "name": "extension",
            "base": "",
            "fields": [
                {
                    "name": "type",
                    "type": "uint16"
                },
                {
                    "name": "data",
                    "type": "bytes"
                }
            ]
        },
        {
            "name": "invalidate",
            "base": "",
            "fields": [
                {
                    "name": "account",
                    "type": "name"
                }
            ]
        },
        {
            "name": "invalidation",
            "base": "",
            "fields": [
                {
                    "name": "account",
                    "type": "name"
                },
                {
                    "name": "last_invalidation_time",
                    "type": "time_point"
                }
            ]
        },
        {
            "name": "old_approvals_info",
            "base": "",
            "fields": [
                {
                    "name": "proposal_name",
                    "type": "name"
                },
                {
                    "name": "requested_approvals",
                    "type": "permission_level[]"
                },
                {
                    "name": "provided_approvals",
                    "type": "permission_level[]"
                }
            ]
        },
        {
            "name": "permission_level",
            "base": "",
            "fields": [
                {
                    "name": "actor",
                    "type": "name"
                },
                {
                    "name": "permission",
                    "type": "name"
                }
            ]
        },
        {
            "name": "proposal",
            "base": "",
            "fields": [
                {
                    "name": "proposal_name",
                    "type": "name"
                },
                {
                    "name": "packed_transaction",
                    "type": "bytes"
                },
                {
                    "name": "earliest_exec_time",
                    "type": "time_point?$"
                }
            ]
        },
        {
            "name": "propose",
            "base": "",
            "fields": [
                {
                    "name": "proposer",
                    "type": "name"
                },
                {
                    "name": "proposal_name",
                    "type": "name"
                },
                {
                    "name": "requested",
                    "type": "permission_level[]"
                },
                {
                    "name": "trx",
                    "type": "transaction"
                }
            ]
        },
        {
            "name": "transaction",
            "base": "transaction_header",
            "fields": [
                {
                    "name": "context_free_actions",
                    "type": "action[]"
                },
                {
                    "name": "actions",
                    "type": "action[]"
                },
                {
                    "name": "transaction_extensions",
                    "type": "extension[]"
                }
            ]
        },
        {
            "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": "unapprove",
            "base": "",
            "fields": [
                {
                    "name": "proposer",
                    "type": "name"
                },
                {
                    "name": "proposal_name",
                    "type": "name"
                },
                {
                    "name": "level",
                    "type": "permission_level"
                }
            ]
        }
    ],
    "actions": [
        {
            "name": "approve",
            "type": "approve",
            "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Approve Proposed Transaction\nsummary: '{{nowrap level.actor}} approves the {{nowrap proposal_name}} proposal'\nicon: https://raw.githubusercontent.com/eosnetworkfoundation/eos-system-contracts/main/contracts/icons/multisig.png#4fb41d3cf02d0dd2d35a29308e93c2d826ec770d6bb520db668f530764be7153\n---\n\n{{level.actor}} approves the {{proposal_name}} proposal proposed by {{proposer}} with the {{level.permission}} permission of {{level.actor}}."
        },
        {
            "name": "cancel",
            "type": "cancel",
            "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Cancel Proposed Transaction\nsummary: '{{nowrap canceler}} cancels the {{nowrap proposal_name}} proposal'\nicon: https://raw.githubusercontent.com/eosnetworkfoundation/eos-system-contracts/main/contracts/icons/multisig.png#4fb41d3cf02d0dd2d35a29308e93c2d826ec770d6bb520db668f530764be7153\n---\n\n{{canceler}} cancels the {{proposal_name}} proposal submitted by {{proposer}}."
        },
        {
            "name": "exec",
            "type": "exec",
            "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Execute Proposed Transaction\nsummary: '{{nowrap executer}} executes the {{nowrap proposal_name}} proposal'\nicon: https://raw.githubusercontent.com/eosnetworkfoundation/eos-system-contracts/main/contracts/icons/multisig.png#4fb41d3cf02d0dd2d35a29308e93c2d826ec770d6bb520db668f530764be7153\n---\n\n{{executer}} executes the {{proposal_name}} proposal submitted by {{proposer}} if the minimum required approvals for the proposal have been secured."
        },
        {
            "name": "invalidate",
            "type": "invalidate",
            "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Invalidate All Approvals\nsummary: '{{nowrap account}} invalidates approvals on outstanding proposals'\nicon: https://raw.githubusercontent.com/eosnetworkfoundation/eos-system-contracts/main/contracts/icons/multisig.png#4fb41d3cf02d0dd2d35a29308e93c2d826ec770d6bb520db668f530764be7153\n---\n\n{{account}} invalidates all approvals on proposals which have not yet executed."
        },
        {
            "name": "propose",
            "type": "propose",
            "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Propose Transaction\nsummary: '{{nowrap proposer}} creates the {{nowrap proposal_name}}'\nicon: https://raw.githubusercontent.com/eosnetworkfoundation/eos-system-contracts/main/contracts/icons/multisig.png#4fb41d3cf02d0dd2d35a29308e93c2d826ec770d6bb520db668f530764be7153\n---\n\n{{proposer}} creates the {{proposal_name}} proposal for the following transaction:\n{{to_json trx}}\n\nThe proposal requests approvals from the following accounts at the specified permission levels:\n{{#each requested}}\n   + {{this.permission}} permission of {{this.actor}}\n{{/each}}\n\nIf the proposed transaction is not executed prior to {{trx.expiration}}, the proposal will automatically expire."
        },
        {
            "name": "unapprove",
            "type": "unapprove",
            "ricardian_contract": "---\nspec_version: \"0.2.0\"\ntitle: Unapprove Proposed Transaction\nsummary: '{{nowrap level.actor}} revokes the approval previously provided to {{nowrap proposal_name}} proposal'\nicon: https://raw.githubusercontent.com/eosnetworkfoundation/eos-system-contracts/main/contracts/icons/multisig.png#4fb41d3cf02d0dd2d35a29308e93c2d826ec770d6bb520db668f530764be7153\n---\n\n{{level.actor}} revokes the approval previously provided at their {{level.permission}} permission level from the {{proposal_name}} proposal proposed by {{proposer}}."
        }
    ],
    "tables": [
        {
            "name": "approvals",
            "index_type": "i64",
            "key_names": [],
            "key_types": [],
            "type": "old_approvals_info"
        },
        {
            "name": "approvals2",
            "index_type": "i64",
            "key_names": [],
            "key_types": [],
            "type": "approvals_info"
        },
        {
            "name": "invals",
            "index_type": "i64",
            "key_names": [],
            "key_types": [],
            "type": "invalidation"
        },
        {
            "name": "proposal",
            "index_type": "i64",
            "key_names": [],
            "key_types": [],
            "type": "proposal"
        }
    ],
    "ricardian_clauses": [],
    "error_messages": [],
    "abi_extensions": [],
    "variants": [],
    "action_results": []
}
