Vaulta

carmeltokens

Contract

{
  "version": "eosio::abi/1.1",
  "types": [],
  "structs": [
    {
      "name": "account",
      "base": "",
      "fields": [
        {
          "name": "balance",
          "type": "asset"
        }
      ]
    },
    {
      "name": "create",
      "base": "",
      "fields": [
        {
          "name": "issuer",
          "type": "name"
        },
        {
          "name": "maximum_supply",
          "type": "asset"
        }
      ]
    },
    {
      "name": "currency_stats",
      "base": "",
      "fields": [
        {
          "name": "supply",
          "type": "asset"
        },
        {
          "name": "max_supply",
          "type": "asset"
        },
        {
          "name": "issuer",
          "type": "name"
        }
      ]
    },
    {
      "name": "issue",
      "base": "",
      "fields": [
        {
          "name": "to",
          "type": "name"
        },
        {
          "name": "quantity",
          "type": "asset"
        },
        {
          "name": "memo",
          "type": "string"
        }
      ]
    },
    {
      "name": "retire",
      "base": "",
      "fields": [
        {
          "name": "quantity",
          "type": "asset"
        },
        {
          "name": "memo",
          "type": "string"
        }
      ]
    },
    {
      "name": "rev2",
      "base": "",
      "fields": []
    },
    {
      "name": "transfer",
      "base": "",
      "fields": [
        {
          "name": "from",
          "type": "name"
        },
        {
          "name": "to",
          "type": "name"
        },
        {
          "name": "quantity",
          "type": "asset"
        },
        {
          "name": "memo",
          "type": "string"
        }
      ]
    }
  ],
  "actions": [
    {
      "name": "create",
      "type": "create",
      "ricardian_contract": "Input parameters:\n\n* `issuer` (the author of this contract)\n* `maximum_supply` (total available token supply)\n\n### Intent\nINTENT. As the author and {{ owner }} of this contract, I {{ signer }} want to create a new token, with a total available supply of {{ maximum_supply }} tokens. Only I {{ signer }}, as the author, {{ issuer }} and {{ owner }}, am allowed to invoke this action.\n\n### Term\nTERM. This Contract expires at the conclusion of code execution. The token will then persist on the chain."
    },
    {
      "name": "issue",
      "type": "issue",
      "ricardian_contract": "Input parameters:\n\n* `to` (the account receiving the tokens)\n* `quantity` (how many tokens to issue)\n* `memo` (a reason for issuing the tokens)\n\n### Intent\nINTENT. As the original {{ owner }} and {{ issuer }} of this contract, I {{ signer }} want to mint {{ quantity }} new tokens\nand give them to {{ to }} for a reason explained by {{ memo }}. Only I {{ signer }}, as the author, {{ issuer }} and {{ owner }}, am allowed to invoke this action.\n\n### Term\nTERM. This Contract expires at the conclusion of code execution. This action changes the token circulating supply."
    },
    {
      "name": "retire",
      "type": "retire",
      "ricardian_contract": "Input parameters:\n\n* `quantity` (how many tokens to retire)\n* `memo` (a reason for retiring the tokens)\n\n### Intent\nINTENT. As the original {{ owner }} and {{ issuer }} of this contract, I {{ signer }} want to burn {{ quantity }} exiting tokens and remove them from circulation for a reason explained by {{ memo }}. Only I {{ signer }}, as the author, {{ issuer }} and {{ owner }}, am allowed to invoke this action.\n\n### Term\nTERM. This Contract expires at the conclusion of code execution. This action changes the token circulating supply."
    },
    {
      "name": "rev2",
      "type": "rev2",
      "ricardian_contract": "Input parameters:\n\nnone\n\n### Intent\nINTENT. Depicts the current revision of the contract.\n\n### Term\nTERM. This Contract expires at the conclusion of code execution."
    },
    {
      "name": "transfer",
      "type": "transfer",
      "ricardian_contract": "Input parameters:\n\n* `from` (the account sending the tokens)\n* `to` (the account receiving the tokens)\n* `quantity` (how many tokens to send)\n* `memo` (a reason for sending the tokens)\n\n### Intent\nINTENT. As a token holder, I {{ signer }} want to send {{ quantity }} of my own tokens to {{ to }} for a reason explained by {{ memo }}. Only I {{ signer }}, am allowed to transfer my own tokens.\n\n### Term\nTERM. This Contract expires at the conclusion of code execution. This action changes the token balances of the sender and receiver accounts."
    }
  ],
  "tables": [
    {
      "name": "accounts",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "account"
    },
    {
      "name": "stat",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "currency_stats"
    }
  ],
  "ricardian_clauses": [
    {
      "id": "Constitution",
      "body": "This contract and all its actions is subject to the Carmel Constitution at https://carmel.io. The Carmel Constitution constitution is interim and is in effect until a permanent constitution is written and ratified by the Carmel Community."
    },
    {
      "id": "Terms and Conditions",
      "body": "This contract and all its actions is subject to the Carmel Terms and Conditions at https://carmel.io."
    }
  ],
  "error_messages": [],
  "abi_extensions": [],
  "variants": [],
  "action_results": []
}