
{ "version": "eosio::abi/1.1", "types": [], "structs": [ { "name": "account", "base": "", "fields": [ { "name": "balance", "type": "asset" } ] }, { "name": "burn", "base": "", "fields": [ { "name": "from", "type": "name" }, { "name": "quantity", "type": "asset" } ] }, { "name": "cancel", "base": "", "fields": [ { "name": "unstake_id", "type": "uint64" }, { "name": "token_symbol", "type": "symbol" } ] }, { "name": "clearold", "base": "", "fields": [ { "name": "batch_size", "type": "uint16" } ] }, { "name": "close", "base": "", "fields": [ { "name": "owner", "type": "name" }, { "name": "symbol", "type": "symbol" } ] }, { "name": "create", "base": "", "fields": [ { "name": "issuer", "type": "name" }, { "name": "maximum_supply", "type": "asset" }, { "name": "transfer_locked", "type": "bool" } ] }, { "name": "currency_stats", "base": "", "fields": [ { "name": "supply", "type": "asset" }, { "name": "max_supply", "type": "asset" }, { "name": "issuer", "type": "name" }, { "name": "transfer_locked", "type": "bool" } ] }, { "name": "issue", "base": "", "fields": [ { "name": "to", "type": "name" }, { "name": "quantity", "type": "asset" }, { "name": "memo", "type": "string" } ] }, { "name": "member", "base": "", "fields": [ { "name": "sender", "type": "name" }, { "name": "agreedtermsversion", "type": "uint64" } ] }, { "name": "memberreg", "base": "", "fields": [ { "name": "sender", "type": "name" }, { "name": "agreedterms", "type": "string" } ] }, { "name": "memberrege", "base": "", "fields": [ { "name": "sender", "type": "name" }, { "name": "agreedterms", "type": "string" }, { "name": "dac_id", "type": "name" } ] }, { "name": "memberunreg", "base": "", "fields": [ { "name": "sender", "type": "name" } ] }, { "name": "memberunrege", "base": "", "fields": [ { "name": "sender", "type": "name" }, { "name": "dac_id", "type": "name" } ] }, { "name": "migrate", "base": "", "fields": [ { "name": "batch", "type": "uint16" } ] }, { "name": "newmemterms", "base": "", "fields": [ { "name": "terms", "type": "string" }, { "name": "hash", "type": "string" } ] }, { "name": "newmemtermse", "base": "", "fields": [ { "name": "terms", "type": "string" }, { "name": "hash", "type": "string" }, { "name": "dac_id", "type": "name" } ] }, { "name": "refund", "base": "", "fields": [ { "name": "unstake_id", "type": "uint64" }, { "name": "token_symbol", "type": "symbol" } ] }, { "name": "stake", "base": "", "fields": [ { "name": "account", "type": "name" }, { "name": "quantity", "type": "asset" } ] }, { "name": "stake_config", "base": "", "fields": [ { "name": "enabled", "type": "bool" }, { "name": "min_stake_time", "type": "uint32" }, { "name": "max_stake_time", "type": "uint32" } ] }, { "name": "stake_info", "base": "", "fields": [ { "name": "account", "type": "name" }, { "name": "stake", "type": "asset" } ] }, { "name": "stakeconfig", "base": "", "fields": [ { "name": "config", "type": "stake_config" }, { "name": "token_symbol", "type": "symbol" } ] }, { "name": "staketime", "base": "", "fields": [ { "name": "account", "type": "name" }, { "name": "unstake_time", "type": "uint32" }, { "name": "token_symbol", "type": "symbol" } ] }, { "name": "staketime_info", "base": "", "fields": [ { "name": "account", "type": "name" }, { "name": "delay", "type": "uint32" } ] }, { "name": "termsinfo", "base": "", "fields": [ { "name": "terms", "type": "string" }, { "name": "hash", "type": "string" }, { "name": "version", "type": "uint64" } ] }, { "name": "transfer", "base": "", "fields": [ { "name": "from", "type": "name" }, { "name": "to", "type": "name" }, { "name": "quantity", "type": "asset" }, { "name": "memo", "type": "string" } ] }, { "name": "unlock", "base": "", "fields": [ { "name": "unlock", "type": "asset" } ] }, { "name": "unstake", "base": "", "fields": [ { "name": "account", "type": "name" }, { "name": "quantity", "type": "asset" } ] }, { "name": "unstake_info", "base": "", "fields": [ { "name": "key", "type": "uint64" }, { "name": "account", "type": "name" }, { "name": "stake", "type": "asset" }, { "name": "release_time", "type": "time_point_sec" } ] }, { "name": "updateterms", "base": "", "fields": [ { "name": "termsid", "type": "uint64" }, { "name": "terms", "type": "string" } ] }, { "name": "updatetermse", "base": "", "fields": [ { "name": "termsid", "type": "uint64" }, { "name": "terms", "type": "string" }, { "name": "dac_id", "type": "name" } ] }, { "name": "xferstake", "base": "", "fields": [ { "name": "from", "type": "name" }, { "name": "to", "type": "name" }, { "name": "quantity", "type": "asset" }, { "name": "memo", "type": "string" } ] } ], "actions": [ { "name": "burn", "type": "burn", "ricardian_contract": "---\r\nspec_version: \"0.2.0\"\r\ntitle: Burn Tokens\r\nsummary: 'Will burn (remove from circulation) {{ nowrap quantity }} tokens and deduct them from the supply of the {{ asset_to_symbol_code quantity }} token.'\r\nicon: https://eosdac.io/assets/contracts/generic.png#00da1afc6464028359b3a02ffbdb59e1ea79fa261b5523ce7ac174cc0ef27bbd\r\n---\r\n\r\nThe intent of {{ burn }} is to allow a user to burn {{ quantity }} tokens that belong to them. These tokens will be removed from supply and the balance of {{ nowrap from }} will be reduced by {{ nowrap quantity }}.\r\n\r\n**WARNING** You will lose tokens by proceeding, this process cannot be reversed!" }, { "name": "cancel", "type": "cancel", "ricardian_contract": "" }, { "name": "clearold", "type": "clearold", "ricardian_contract": "" }, { "name": "close", "type": "close", "ricardian_contract": "---\r\nspec_version: \"0.2.0\"\r\ntitle: Close Token Balance\r\nsummary: 'Close {{nowrap owner}}’s zero quantity balance'\r\nicon: https://eosdac.io/assets/contracts/generic.png#00da1afc6464028359b3a02ffbdb59e1ea79fa261b5523ce7ac174cc0ef27bbd\r\n---\r\n\r\n{{owner}} agrees to close their zero quantity balance for the {{symbol_to_symbol_code symbol}} token.\r\n\r\nRAM will be refunded to the RAM payer of the {{symbol_to_symbol_code symbol}} token balance for {{owner}}." }, { "name": "create", "type": "create", "ricardian_contract": "---\r\nspec_version: \"0.2.0\"\r\ntitle: Create New Token\r\nsummary: 'Create a new token'\r\nicon: https://eosdac.io/assets/contracts/generic.png#00da1afc6464028359b3a02ffbdb59e1ea79fa261b5523ce7ac174cc0ef27bbd\r\n---\r\n\r\n{{$action.account}} agrees to create a new token with symbol {{asset_to_symbol_code maximum_supply}} to be managed by {{issuer}}.\r\n\r\nThis action will not result any any tokens being issued into circulation.\r\n\r\n{{issuer}} will be allowed to issue tokens into circulation, up to a maximum supply of {{maximum_supply}}.\r\n\r\nRAM will deducted from {{$action.account}}’s resources to create the necessary records." }, { "name": "issue", "type": "issue", "ricardian_contract": "---\r\nspec_version: \"0.2.0\"\r\ntitle: Issue Tokens into Circulation\r\nsummary: 'Issue {{nowrap quantity}} into circulation and transfer into {{nowrap to}}’s account'\r\nicon: https://eosdac.io/assets/contracts/generic.png#00da1afc6464028359b3a02ffbdb59e1ea79fa261b5523ce7ac174cc0ef27bbd\r\n---\r\n\r\nThe token manager agrees to issue {{quantity}} into circulation, and transfer it into {{to}}’s account.\r\n\r\n{{#if memo}}There is a memo attached to the transfer stating:\r\n{{memo}}\r\n{{/if}}\r\n\r\nIf {{to}} does not have a balance for {{asset_to_symbol_code quantity}}, or the token manager does not have a balance for {{asset_to_symbol_code quantity}}, the token manager will be designated as the RAM payer of the {{asset_to_symbol_code quantity}} token balance for {{to}}. As a result, RAM will be deducted from the token manager’s resources to create the necessary records.\r\n\r\nThis action does not allow the total quantity to exceed the max allowed supply of the token." }, { "name": "memberreg", "type": "memberreg", "ricardian_contract": "" }, { "name": "memberrege", "type": "memberrege", "ricardian_contract": "---\r\nspec_version: \"0.2.0\"\r\ntitle: Register as a Member\r\nsummary: 'Register account {{ nowrap sender }} for DAC with ID {{ nowrap dac_id }} and agree to the terms identified by {{ agreedterms }}.'\r\nicon: https://eosdac.io/assets/contracts/generic.png#00da1afc6464028359b3a02ffbdb59e1ea79fa261b5523ce7ac174cc0ef27bbd\r\n---\r\n\r\nAgree to the terms and condition using the hash provided ({{ agreedterms }}). This hash can only be generated by starting with a valid user agreement.\r\n\r\nThis action can be called multiple times if the terms and conditions are updated. You will be registered as a member in the on-chain database." }, { "name": "memberunreg", "type": "memberunreg", "ricardian_contract": "" }, { "name": "memberunrege", "type": "memberunrege", "ricardian_contract": "---\r\nspec_version: \"0.2.0\"\r\ntitle: Unregister as a Member\r\nsummary: 'Unregister account {{ nowrap sender }} for DAC with ID {{ nowrap dac_id }}.'\r\nicon: https://eosdac.io/assets/contracts/generic.png#00da1afc6464028359b3a02ffbdb59e1ea79fa261b5523ce7ac174cc0ef27bbd\r\n---\r\n\r\nThis action indicates that you no longer agree to the terms and conditions. Your account will be marked as no longer a member." }, { "name": "migrate", "type": "migrate", "ricardian_contract": "" }, { "name": "newmemterms", "type": "newmemterms", "ricardian_contract": "" }, { "name": "newmemtermse", "type": "newmemtermse", "ricardian_contract": "---\r\nspec_version: \"0.2.0\"\r\ntitle: Set new member terms\r\nsummary: 'Set new member terms for DAC with ID {{ nowrap dac_id }} to {{ term }} with hash {{ hash }}.'\r\nicon: https://eosdac.io/assets/contracts/generic.png#00da1afc6464028359b3a02ffbdb59e1ea79fa261b5523ce7ac174cc0ef27bbd\r\n---\r\n\r\nUpdates the member terms to the document at [{{nowrap terms}}]({{nowrap terms}}). This document has the identifying hash {{ hash }}, this must match or users will not be able to agree." }, { "name": "refund", "type": "refund", "ricardian_contract": "" }, { "name": "stake", "type": "stake", "ricardian_contract": "" }, { "name": "stakeconfig", "type": "stakeconfig", "ricardian_contract": "" }, { "name": "staketime", "type": "staketime", "ricardian_contract": "" }, { "name": "transfer", "type": "transfer", "ricardian_contract": "---\r\nspec_version: \"0.2.0\"\r\ntitle: Transfer Tokens\r\nsummary: 'Send {{nowrap quantity}} from {{nowrap from}} to {{nowrap to}}'\r\nicon: https://eosdac.io/assets/contracts/generic.png#00da1afc6464028359b3a02ffbdb59e1ea79fa261b5523ce7ac174cc0ef27bbd\r\n---\r\n\r\n{{from}} agrees to send {{quantity}} to {{to}}.\r\n\r\n{{#if memo}}There is a memo attached to the transfer stating:\r\n{{memo}}\r\n{{/if}}\r\n\r\nIf {{from}} is not already the RAM payer of their {{asset_to_symbol_code quantity}} token balance, {{from}} will be designated as such. As a result, RAM will be deducted from {{from}}’s resources to refund the original RAM payer.\r\n\r\nIf {{to}} does not have a balance for {{asset_to_symbol_code quantity}}, {{from}} will be designated as the RAM payer of the {{asset_to_symbol_code quantity}} token balance for {{to}}. As a result, RAM will be deducted from {{from}}’s resources to create the necessary records." }, { "name": "unlock", "type": "unlock", "ricardian_contract": "---\r\nspec_version: \"0.2.0\"\r\ntitle: Unlock Tokens\r\nsummary: 'Unlocks the {{ asset_to_symbol_code unlock }} token and allows transfers'\r\nicon: https://eosdac.io/assets/contracts/generic.png#00da1afc6464028359b3a02ffbdb59e1ea79fa261b5523ce7ac174cc0ef27bbd\r\n---\r\n\r\nUnlocks the token {{ asset_to_symbol_code unlock }} on this contract so that it can be transferred. This can only be done once to unlock a token and cannot be reversed to lock a token again." }, { "name": "unstake", "type": "unstake", "ricardian_contract": "" }, { "name": "updateterms", "type": "updateterms", "ricardian_contract": "" }, { "name": "updatetermse", "type": "updatetermse", "ricardian_contract": "" }, { "name": "xferstake", "type": "xferstake", "ricardian_contract": "" } ], "tables": [ { "name": "accounts", "index_type": "i64", "key_names": [], "key_types": [], "type": "account" }, { "name": "members", "index_type": "i64", "key_names": [], "key_types": [], "type": "member" }, { "name": "memberterms", "index_type": "i64", "key_names": [], "key_types": [], "type": "termsinfo" }, { "name": "stakeconfig", "index_type": "i64", "key_names": [], "key_types": [], "type": "stake_config" }, { "name": "stakes", "index_type": "i64", "key_names": [], "key_types": [], "type": "stake_info" }, { "name": "staketime", "index_type": "i64", "key_names": [], "key_types": [], "type": "staketime_info" }, { "name": "stat", "index_type": "i64", "key_names": [], "key_types": [], "type": "currency_stats" }, { "name": "unstakes", "index_type": "i64", "key_names": [], "key_types": [], "type": "unstake_info" } ], "ricardian_clauses": [ { "id": "ENTIRE AGREEMENT", "body": "This contract contains the entire agreement of the parties, for all described actions, and there are no other promises or conditions in any other agreement whether oral or written concerning the subject matter of this Contract. This contract supersedes any prior written or oral agreements between the parties." }, { "id": "BINDING CONSTITUTION", "body": "All the the action descibed in this contract are subject to the EOSDAC consitution as held at http://eosdac.io . This includes, but is not limited to membership terms and condiutions, dispute resolution and severability." }, { "id": "OVERALL FUNCTION", "body": "This contract creates the currency and also give a means to say whether an eosDAC account holder is a member. A member is classified as a token holder who has registered and agreed to the membership agreement. This contract also covers the standard token transfer and account balance functions" } ], "error_messages": [], "abi_extensions": [], "variants": [], "action_results": [] }