tokenIssuanceContract top-level constant

Contract const tokenIssuanceContract

Implementation

const tokenIssuanceContract = Contract(
  contractAddress: tokenIssuanceContractAddress,
  abi: [
    // Issue new token
    {
      "type": "function",
      "name": "IssueToken",
      "inputs": [
        {"name": "isReIssuable", "type": "bool"},
        {"name": "tokenName", "type": "string"},
        {"name": "tokenSymbol", "type": "string"},
        {"name": "totalSupply", "type": "uint256"},
        {"name": "decimals", "type": "uint8"},
        {"name": "maxSupply", "type": "uint256"},
        {"name": "isOwnerBurnOnly", "type": "bool"}
      ]
    },
    // Re-issue. Mint additional tokens
    {
      "type": "function",
      "name": "ReIssue",
      "inputs": [
        {"name": "tokenId", "type": "tokenId"},
        {"name": "amount", "type": "uint256"},
        {"name": "receiveAddress", "type": "address"}
      ]
    },
    // Burn
    {"type": "function", "name": "Burn", "inputs": []},
    // Transfer ownership of re-issuable token
    {
      "type": "function",
      "name": "TransferOwnership",
      "inputs": [
        {"name": "tokenId", "type": "tokenId"},
        {"name": "newOwner", "type": "address"}
      ]
    },
    // Change token type from re-issuable to non-reissuable
    {
      "type": "function",
      "name": "DisableReIssue",
      "inputs": [
        {"name": "tokenId", "type": "tokenId"}
      ]
    },
    // Query token information
    {
      "type": "function",
      "name": "GetTokenInformation",
      "inputs": [
        {"name": "tokenId", "type": "tokenId"}
      ]
    },
    // Token issuance event
    {
      "type": "event",
      "name": "issue",
      "inputs": [
        {"name": "tokenId", "type": "tokenId", "indexed": true}
      ]
    },
    // Token re-issuance event
    {
      "type": "event",
      "name": "reIssue",
      "inputs": [
        {"name": "tokenId", "type": "tokenId", "indexed": true}
      ]
    },
    // Burn event
    {
      "type": "event",
      "name": "burn",
      "inputs": [
        {"name": "tokenId", "type": "tokenId", "indexed": true},
        {"name": "burnAddress", "type": "address"},
        {"name": "amount", "type": "uint256"}
      ]
    },
    // Ownership transfer event
    {
      "type": "event",
      "name": "transferOwnership",
      "inputs": [
        {"name": "tokenId", "type": "tokenId", "indexed": true},
        {"name": "owner", "type": "address"}
      ]
    },
    // Token type change event
    {
      "type": "event",
      "name": "disableReIssue",
      "inputs": [
        {"name": "tokenId", "type": "tokenId", "indexed": true}
      ]
    }
  ],
  callbacks: [
    // Callback method for querying token information
    {
      "type": "function",
      "name": "GetTokenInformationCallback",
      "inputs": [
        {"name": "id", "type": "bytes32"},
        {"name": "tokenId", "type": "tokenId"},
        {"name": "exist", "type": "bool"},
        {"name": "isReIssuable", "type": "bool"},
        {"name": "tokenName", "type": "string"},
        {"name": "tokenSymbol", "type": "string"},
        {"name": "totalSupply", "type": "uint256"},
        {"name": "decimals", "type": "uint8"},
        {"name": "maxSupply", "type": "uint256"},
        {"name": "isOwnerBurnOnly", "type": "bool"},
        {"name": "index", "type": "uint16"},
        {"name": "ownerAddress", "type": "address"}
      ]
    },
  ],
);