TZIP-16
{
"homepage": "https://stably.io/",
"interfaces": [
"TZIP-012",
"TZIP-017"
],
"views": [
{
"implementations": [
{
"michelsonStorageView": {
"returnType": {
"prim": "nat"
},
"code": [
{
"prim": "CAR"
},
{
"prim": "CAR"
},
{
"prim": "CAR"
},
{
"prim": "CAR"
}
]
}
}
],
"name": "GetDefaultExpiry",
"pure": true,
"description": "Access the contract's default expiry in seconds"
},
{
"implementations": [
{
"michelsonStorageView": {
"returnType": {
"prim": "nat"
},
"code": [
{
"prim": "CAR"
},
{
"prim": "CDR"
},
{
"prim": "CDR"
},
{
"prim": "CAR"
}
]
}
}
],
"name": "GetCounter",
"pure": true,
"description": "Access the current permit counter"
},
{
"implementations": [
{
"michelsonStorageView": {
"returnType": {
"prim": "nat"
},
"code": [
{
"prim": "DUP"
},
{
"prim": "CAR"
},
{
"args": [
[
{
"prim": "CDR"
},
{
"prim": "CAR"
},
{
"prim": "CAR"
},
{
"prim": "CAR"
},
{
"prim": "CDR"
}
]
],
"prim": "DIP"
},
{
"prim": "CAR"
},
{
"prim": "GET"
},
{
"args": [
[
{
"args": [
{
"prim": "nat"
},
{
"int": "0"
}
],
"prim": "PUSH"
}
],
[
]
],
"prim": "IF_NONE"
}
],
"parameter": {
"args": [
{
"prim": "address"
},
{
"prim": "nat"
}
],
"prim": "pair"
}
}
}
],
"name": "get_balance",
"pure": true,
"description": "Access the balance of an address"
},
{
"implementations": [
{
"michelsonStorageView": {
"returnType": {
"prim": "nat"
},
"code": [
{
"prim": "DUP"
},
{
"prim": "CAR"
},
{
"args": [
[
{
"prim": "CDR"
}
]
],
"prim": "DIP"
},
{
"prim": "INT"
},
{
"prim": "EQ"
},
{
"args": [
[
],
[
{
"args": [
{
"prim": "string"
},
{
"string": "Unknown TOKEN ID"
}
],
"prim": "PUSH"
},
{
"prim": "FAILWITH"
}
]
],
"prim": "IF"
},
{
"prim": "CDR"
},
{
"prim": "CAR"
},
{
"prim": "CDR"
}
],
"parameter": {
"prim": "nat"
}
}
}
],
"name": "total_supply",
"pure": true,
"description": "Get the total amount of tokens available"
},
{
"implementations": [
{
"michelsonStorageView": {
"returnType": {
"args": [
{
"prim": "nat"
}
],
"prim": "list"
},
"code": [
{
"prim": "DROP"
},
{
"args": [
{
"prim": "nat"
}
],
"prim": "NIL"
},
{
"args": [
{
"prim": "nat"
},
{
"int": "0"
}
],
"prim": "PUSH"
},
{
"prim": "CONS"
}
]
}
}
],
"name": "all_tokens",
"pure": true,
"description": "Get list of token ids supported"
},
{
"implementations": [
{
"michelsonStorageView": {
"returnType": {
"prim": "bool"
},
"code": [
{
"prim": "DUP"
},
{
"prim": "CAR"
},
{
"args": [
[
{
"prim": "CDR"
},
{
"prim": "CAR"
},
{
"prim": "CDR"
},
{
"prim": "CAR"
},
{
"prim": "CAR"
}
]
],
"prim": "DIP"
},
{
"prim": "DUP"
},
{
"prim": "CDR"
},
{
"prim": "CDR"
},
{
"prim": "INT"
},
{
"prim": "EQ"
},
{
"args": [
[
],
[
{
"args": [
{
"prim": "string"
},
{
"string": "Unknown TOKEN ID"
}
],
"prim": "PUSH"
},
{
"prim": "FAILWITH"
}
]
],
"prim": "IF"
},
{
"prim": "DUP"
},
{
"prim": "CAR"
},
{
"args": [
[
{
"prim": "CDR"
},
{
"prim": "CAR"
}
]
],
"prim": "DIP"
},
{
"prim": "PAIR"
},
{
"prim": "GET"
},
{
"args": [
[
{
"args": [
{
"prim": "bool"
},
{
"prim": "False"
}
],
"prim": "PUSH"
}
],
[
{
"prim": "DROP"
},
{
"args": [
{
"prim": "bool"
},
{
"prim": "True"
}
],
"prim": "PUSH"
}
]
],
"prim": "IF_NONE"
}
],
"parameter": {
"args": [
{
"prim": "address",
"annots": [
"%owner"
]
},
{
"args": [
{
"prim": "address",
"annots": [
"%operator"
]
},
{
"prim": "nat",
"annots": [
"%token_id"
]
}
],
"prim": "pair"
}
],
"prim": "pair"
}
}
}
],
"name": "is_operator",
"pure": true,
"description": "Check if the given address is an operator"
},
{
"implementations": [
{
"michelsonStorageView": {
"returnType": {
"args": [
{
"prim": "nat"
},
{
"args": [
{
"prim": "string"
},
{
"prim": "bytes"
}
],
"prim": "map"
}
],
"prim": "pair"
},
"code": [
{
"prim": "DUP"
},
{
"prim": "CAR"
},
{
"args": [
[
{
"prim": "CDR"
}
]
],
"prim": "DIP"
},
{
"prim": "SWAP"
},
{
"prim": "DROP"
},
{
"prim": "INT"
},
{
"prim": "EQ"
},
{
"args": [
[
],
[
{
"args": [
{
"prim": "string"
},
{
"string": "Unknown TOKEN ID"
}
],
"prim": "PUSH"
},
{
"prim": "FAILWITH"
}
]
],
"prim": "IF"
},
{
"args": [
{
"args": [
{
"prim": "nat"
},
{
"args": [
{
"prim": "string"
},
{
"prim": "bytes"
}
],
"prim": "map"
}
],
"prim": "pair"
},
{
"args": [
{
"int": "0"
},
[
{
"args": [
{
"string": "decimals"
},
{
"bytes": "36"
}
],
"prim": "Elt"
},
{
"args": [
{
"string": "name"
},
{
"bytes": "537461626c7920555344"
}
],
"prim": "Elt"
},
{
"args": [
{
"string": "symbol"
},
{
"bytes": "55534453"
}
],
"prim": "Elt"
}
]
],
"prim": "Pair"
}
],
"prim": "PUSH"
}
],
"parameter": {
"prim": "nat"
}
}
}
],
"name": "token_metadata",
"pure": true,
"description": "Get token metadata for the token id"
}
],
"authors": [
"Stably <https://stably.io/>"
],
"name": "Stably USD",
"version": "1.7.0",
"source": {
"location": "https://github.com/stablyio",
"tools": [
"ligo b6c3a9d4257bda78af46250a447ce78c5d2291a4"
]
},
"license": {
"name": "MIT"
},
"errors": [
{
"error": {
"string": "FA2_TOKEN_UNDEFINED"
},
"expansion": {
"string": "All `token_id`s must be 0"
},
"languages": [
"en"
]
},
{
"error": {
"string": "FA2_INSUFFICIENT_BALANCE"
},
"expansion": {
"string": "Cannot debit from a wallet because of insufficient amount of tokens"
},
"languages": [
"en"
]
},
{
"error": {
"string": "FA2_NOT_OPERATOR"
},
"expansion": {
"string": "You're neither the owner or a permitted operator of one or more wallets from which tokens will be transferred"
},
"languages": [
"en"
]
},
{
"error": {
"string": "XTZ_RECEIVED"
},
"expansion": {
"string": "Contract received a non-zero amount of tokens"
},
"languages": [
"en"
]
},
{
"error": {
"string": "NOT_CONTRACT_OWNER"
},
"expansion": {
"string": "Operation can only be performed by the contract's owner"
},
"languages": [
"en"
]
},
{
"error": {
"string": "NOT_PENDING_OWNER"
},
"expansion": {
"string": "Operation can only be performed by the current contract's pending owner"
},
"languages": [
"en"
]
},
{
"error": {
"string": "NO_PENDING_OWNER_SET"
},
"expansion": {
"string": "There's no pending transfer of ownership"
},
"languages": [
"en"
]
},
{
"error": {
"string": "NOT_PAUSER"
},
"expansion": {
"string": "Operation can only be performed by the contract's pauser"
},
"languages": [
"en"
]
},
{
"error": {
"string": "NOT_MASTER_MINTER"
},
"expansion": {
"string": "Operation can only be performed by the contract's master minter"
},
"languages": [
"en"
]
},
{
"error": {
"string": "NOT_MINTER"
},
"expansion": {
"string": "Operation can only be performed by registered minters"
},
"languages": [
"en"
]
},
{
"error": {
"string": "CONTRACT_PAUSED"
},
"expansion": {
"string": "Operation cannot be performed while the contract is paused"
},
"languages": [
"en"
]
},
{
"error": {
"string": "CONTRACT_NOT_PAUSED"
},
"expansion": {
"string": "Operation cannot be performed while the contract is not paused"
},
"languages": [
"en"
]
},
{
"error": {
"string": "NOT_TOKEN_OWNER"
},
"expansion": {
"string": "You cannot configure another user's operators"
},
"languages": [
"en"
]
},
{
"error": {
"string": "CURRENT_ALLOWANCE_REQUIRED"
},
"expansion": {
"string": "The given address is already a minter, you must specify its current minting allowance"
},
"languages": [
"en"
]
},
{
"error": {
"string": "ALLOWANCE_MISMATCH"
},
"expansion": {
"string": "The given current minting allowance does not match the minter's actual current minting allowance"
},
"languages": [
"en"
]
},
{
"error": {
"string": "ADDR_NOT_MINTER"
},
"expansion": {
"string": "This address is not a registered minter"
},
"languages": [
"en"
]
},
{
"error": {
"string": "ALLOWANCE_EXCEEDED"
},
"expansion": {
"string": "The amount of tokens to be minted exceeds your current minting allowance"
},
"languages": [
"en"
]
},
{
"error": {
"string": "BAD_TRANSFERLIST"
},
"expansion": {
"string": "The given address is a not a smart contract complying with the transferlist interface"
},
"languages": [
"en"
]
},
{
"error": {
"string": "MINTER_LIMIT_REACHED"
},
"expansion": {
"string": "Cannot add new minter because the number of minters is already at the limit"
},
"languages": [
"en"
]
},
{
"error": {
"string": "MISSIGNED"
},
"expansion": {
"string": "This permit's signature is invalid"
},
"languages": [
"en"
]
},
{
"error": {
"string": "EXPIRED_PERMIT"
},
"expansion": {
"string": "A permit was found, but it has already expired"
},
"languages": [
"en"
]
},
{
"error": {
"string": "NOT_PERMIT_ISSUER"
},
"expansion": {
"string": "You're not the issuer of the given permit"
},
"languages": [
"en"
]
},
{
"error": {
"string": "DUP_PERMIT"
},
"expansion": {
"string": "The given permit already exists"
},
"languages": [
"en"
]
},
{
"error": {
"string": "EXPIRY_TOO_BIG"
},
"expansion": {
"string": "The `set_expiry` entrypoint was called with an expiry value that is too big"
},
"languages": [
"en"
]
},
{
"error": {
"string": "NEGATIVE_TOTAL_SUPPLY"
},
"expansion": {
"string": "The total_supply value was found to be less than zero after an operation. This indicates a bug in the contract."
},
"languages": [
"en"
]
}
],
"description": "USDS is a regulated and transparent fiat-backed stablecoin with a 1:1 US dollar reserve"
}