Vaulta

4profitshare

Contract

{
  "version": "eosio::abi/1.1",
  "types": [],
  "structs": [
    {
      "name": "account",
      "base": "",
      "fields": [
        {
          "name": "balance",
          "type": "asset"
        }
      ]
    },
    {
      "name": "addblacklist",
      "base": "",
      "fields": [
        {
          "name": "symbol",
          "type": "symbol"
        },
        {
          "name": "account",
          "type": "name"
        }
      ]
    },
    {
      "name": "autorefund",
      "base": "",
      "fields": [
        {
          "name": "owner",
          "type": "name"
        },
        {
          "name": "index",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "autostake",
      "base": "",
      "fields": [
        {
          "name": "owner",
          "type": "name"
        },
        {
          "name": "quantity",
          "type": "asset"
        }
      ]
    },
    {
      "name": "cancelunstake",
      "base": "",
      "fields": [
        {
          "name": "owner",
          "type": "name"
        },
        {
          "name": "index",
          "type": "uint64"
        }
      ]
    },
    {
      "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": "currency_stats",
      "base": "",
      "fields": [
        {
          "name": "supply",
          "type": "asset"
        },
        {
          "name": "max_supply",
          "type": "asset"
        },
        {
          "name": "issuer",
          "type": "name"
        },
        {
          "name": "refund_delay",
          "type": "uint64"
        },
        {
          "name": "transfer_fee_ratio",
          "type": "uint64"
        },
        {
          "name": "fee_receiver",
          "type": "name"
        }
      ]
    },
    {
      "name": "div",
      "base": "",
      "fields": [
        {
          "name": "account",
          "type": "name"
        },
        {
          "name": "tokens_staked",
          "type": "asset"
        },
        {
          "name": "dividend",
          "type": "asset"
        }
      ]
    },
    {
      "name": "issue",
      "base": "",
      "fields": [
        {
          "name": "to",
          "type": "name"
        },
        {
          "name": "quantity",
          "type": "asset"
        },
        {
          "name": "memo",
          "type": "string"
        }
      ]
    },
    {
      "name": "lock_account",
      "base": "",
      "fields": [
        {
          "name": "locked_balance",
          "type": "asset"
        }
      ]
    },
    {
      "name": "open",
      "base": "",
      "fields": [
        {
          "name": "owner",
          "type": "name"
        },
        {
          "name": "symbol",
          "type": "symbol"
        },
        {
          "name": "ram_payer",
          "type": "name"
        }
      ]
    },
    {
      "name": "paydividend",
      "base": "",
      "fields": [
        {
          "name": "quantity",
          "type": "asset"
        }
      ]
    },
    {
      "name": "refund",
      "base": "",
      "fields": [
        {
          "name": "caller",
          "type": "name"
        },
        {
          "name": "owner",
          "type": "name"
        },
        {
          "name": "index",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "refund_request",
      "base": "",
      "fields": [
        {
          "name": "index",
          "type": "uint64"
        },
        {
          "name": "owner",
          "type": "name"
        },
        {
          "name": "available_time",
          "type": "time_point_sec"
        },
        {
          "name": "amount",
          "type": "asset"
        }
      ]
    },
    {
      "name": "removedivs",
      "base": "",
      "fields": []
    },
    {
      "name": "retire",
      "base": "",
      "fields": [
        {
          "name": "quantity",
          "type": "asset"
        },
        {
          "name": "memo",
          "type": "string"
        }
      ]
    },
    {
      "name": "rmblacklist",
      "base": "",
      "fields": [
        {
          "name": "symbol",
          "type": "symbol"
        },
        {
          "name": "account",
          "type": "name"
        }
      ]
    },
    {
      "name": "setdelay",
      "base": "",
      "fields": [
        {
          "name": "symbol",
          "type": "symbol"
        },
        {
          "name": "t",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "settransfee",
      "base": "",
      "fields": [
        {
          "name": "symbol",
          "type": "symbol"
        },
        {
          "name": "r",
          "type": "uint64"
        },
        {
          "name": "receiver",
          "type": "name"
        }
      ]
    },
    {
      "name": "stake",
      "base": "",
      "fields": [
        {
          "name": "owner",
          "type": "name"
        },
        {
          "name": "quantity",
          "type": "asset"
        }
      ]
    },
    {
      "name": "stake_blacklist",
      "base": "",
      "fields": [
        {
          "name": "account",
          "type": "name"
        }
      ]
    },
    {
      "name": "total",
      "base": "",
      "fields": [
        {
          "name": "id",
          "type": "uint64"
        },
        {
          "name": "tokens_staked",
          "type": "asset"
        }
      ]
    },
    {
      "name": "totalstaked",
      "base": "",
      "fields": [
        {
          "name": "owner",
          "type": "name"
        }
      ]
    },
    {
      "name": "transfer",
      "base": "",
      "fields": [
        {
          "name": "from",
          "type": "name"
        },
        {
          "name": "to",
          "type": "name"
        },
        {
          "name": "quantity",
          "type": "asset"
        },
        {
          "name": "memo",
          "type": "string"
        }
      ]
    },
    {
      "name": "unstake",
      "base": "",
      "fields": [
        {
          "name": "owner",
          "type": "name"
        },
        {
          "name": "quantity",
          "type": "asset"
        }
      ]
    }
  ],
  "actions": [
    {
      "name": "addblacklist",
      "type": "addblacklist",
      "ricardian_contract": "---\nspec-version: 0.0.2\ntitle: Addblacklist\nsummary: This action will blacklist an account. The ram costs are paid by the issuer.\nicon:"
    },
    {
      "name": "autorefund",
      "type": "autorefund",
      "ricardian_contract": "---\nspec-version: 0.0.2\ntitle: Autorefund\nsummary: This action will autorefund.\nicon:"
    },
    {
      "name": "autostake",
      "type": "autostake",
      "ricardian_contract": "---\nspec-version: 0.0.2\ntitle: Autostake\nsummary: This action will autostake.  \nicon:"
    },
    {
      "name": "cancelunstake",
      "type": "cancelunstake",
      "ricardian_contract": "---\nspec-version: 0.0.2\ntitle: Cancelunstake  \nsummary: This action will cancelunstake.  \nicon:"
    },
    {
      "name": "close",
      "type": "close",
      "ricardian_contract": ""
    },
    {
      "name": "create",
      "type": "create",
      "ricardian_contract": "---\nspec-version: 0.0.2\ntitle: Create\nsummary: This action will create a new token. The ram costs are paid by the smart contract.\nicon:"
    },
    {
      "name": "issue",
      "type": "issue",
      "ricardian_contract": "---\nspec-version: 0.0.2\ntitle: Issue\nsummary: This action will issue a token. The ram costs are paid by the issuer.\nicon:"
    },
    {
      "name": "open",
      "type": "open",
      "ricardian_contract": ""
    },
    {
      "name": "paydividend",
      "type": "paydividend",
      "ricardian_contract": "---\nspec-version: 0.0.2\ntitle: Paydividend\nsummary: This action will pay the profit sharing dividend. The amount paid per LOTTO token staked, is equal to the profit share amount / total LOTTO tokens staked.\nThe ram costs are paid by the smart contract.\nicon:"
    },
    {
      "name": "refund",
      "type": "refund",
      "ricardian_contract": "---\nspec-version: 0.0.2\ntitle: Refund  \nsummary: This action will perform a refund.  \nicon:"
    },
    {
      "name": "removedivs",
      "type": "removedivs",
      "ricardian_contract": "---\nspec-version: 0.0.2\ntitle: Removedivs  \nsummary: This action is for administrative purposes.  \nicon:"
    },
    {
      "name": "retire",
      "type": "retire",
      "ricardian_contract": "---\nspec-version: 0.0.2\ntitle: Retire\nsummary: This action will retire tokens. Potentially for future use.  \nicon:"
    },
    {
      "name": "rmblacklist",
      "type": "rmblacklist",
      "ricardian_contract": "---\nspec-version: 0.0.2\ntitle: Rmblacklist\nsummary: This action will remove account from blacklist.  \nicon:"
    },
    {
      "name": "setdelay",
      "type": "setdelay",
      "ricardian_contract": "---\nspec-version: 0.0.2\ntitle: Setdelay\nsummary: This action will set refund delay.  \nicon:"
    },
    {
      "name": "settransfee",
      "type": "settransfee",
      "ricardian_contract": "---\nspec-version: 0.0.2\ntitle: Settransfee\nsummary: This action will set a transfer fee.  \nicon:"
    },
    {
      "name": "stake",
      "type": "stake",
      "ricardian_contract": "---\nspec-version: 0.0.2\ntitle: Stake\nsummary: This action will stake the number LOTTO tokens specified in {{quantity}}.\nThe tokens staked will be locked until they are unstaked. Staked tokens qualify for profit sharing. The RAM costs are paid by the {{owner}} of the tokens that are being staked.\nicon:"
    },
    {
      "name": "totalstaked",
      "type": "totalstaked",
      "ricardian_contract": "---\nspec-version: 0.0.2\ntitle: Totalstaked \nsummary: This action will calculate the total number LOTTO tokens currently staked in the smart contract.\nThe RAM costs are paid by the specified {{owner}}.\nicon:"
    },
    {
      "name": "transfer",
      "type": "transfer",
      "ricardian_contract": "---\nspec-version: 0.0.2\ntitle: Transfer\nsummary: This action will  change the ownership of {{quantity}} tokens from the account {{from}} to the account {{to}}. Only unlocked tokens can be transferred. The {{memo}} can be used to explain why the tokens are being transferred.\nicon:"
    },
    {
      "name": "unstake",
      "type": "unstake",
      "ricardian_contract": "---\nspec-version: 0.0.2\ntitle: Unstake\nsummary: This action will unstake the number LOTTO tokens specified in {{quantity}}.\nThe tokens staked will be unlocked and no longer qualify for profit sharing. The RAM costs are paid by the {{owner}} of the tokens that$\nicon:"
    }
  ],
  "tables": [
    {
      "name": "accounts",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "account"
    },
    {
      "name": "blacklist",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "stake_blacklist"
    },
    {
      "name": "divs",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "div"
    },
    {
      "name": "lockaccounts",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "lock_account"
    },
    {
      "name": "refunds",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "refund_request"
    },
    {
      "name": "stat",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "currency_stats"
    },
    {
      "name": "totals",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "total"
    }
  ],
  "ricardian_clauses": [
    {
      "id": "Token Staking and Unstaking",
      "body": "---\nspec-version: 0.0.1\ntitle: Token Staking and Unstaking\nsummary: This smart contract will allow LOTTO token owners to stake and unstake LOTTO tokens. Staked LOTTO tokens are locked until {{unstaked}} and are eligible to participate in profit sharing.\nSince staked tokens are locked in the smart contract, they can't be transferred until they are unstaked (unlocked).\nicon:"
    },
    {
      "id": "Profit Sharing",
      "body": "---\nspec-version: 0.0.1\ntitle: Profit Sharing\nsummary: This smart contract will periodically make profit sharing payments to the {{owners}} of LOTTO tokens that have staked their LOTTO tokens to the smart contract.\nOnly staked LOTTO tokens are eligible for profit sharing. Payments are calculated as: The value to be distributed / Total LOTTO tokens staked. This amount is per LOTTO token staked.\nicon:"
    }
  ],
  "error_messages": [],
  "abi_extensions": [],
  "variants": [],
  "action_results": []
}