Skip to content

Set mint agent

Victor Baranov edited this page Feb 19, 2018 · 14 revisions

What are we doing:

Sets finalizeAgents contract and tiers contract addresses as mint agents of token contract

When should we do it:

You need to do this, if mintAgents array property of the tier contract is empty.

Set mint agent from MyEtherWallet

  1. Go to https://www.myetherwallet.com/#contracts

  2. Choose the network. For example, (ETH) Etherscan.io, if your contract is in mainnet.

  1. Attach to your token contract: token contract address and ABI are taken from the file downloaded at step 4 of Token Wizard.

    • ABI of the contract is under the line ****Token contract ABI:****

    Then click Access button.

  1. In Select a function combo choose setMintAgent method

  1. In How would you like to access your wallet? choose any preferable option. If you chose MetaMask/Mist, click "Connect to Metamask".

  1. Enter the data:

    • Fill addr input with the address of the finalize agent contract, that can be found in the file downloaded at step 4 of Token Wizard.
    • For state input choose true.
  2. Click Write.

  3. Choose 0 in Amount to Send. The Gas Limit will be calculated automatically. Click "Generate transaction".

  1. You'll see the transaction data. Click Yes, I am sure. Make transaction..

  1. Confirm transaction in MetaMask popup. Then you need to repeat transactions for all finalize agents, if you setup multiple tiers.

Set crowdsale contract as mint agent of token too. To do this, repeat all steps, but fill addr input with the address of the crowdsale contract in step 6. You need to repeat transactions for all tier contract, if you setup multiple tiers.

Set mint agent by method signature

  1. Open MetaMask Chrome plugin

  2. Connect to the network, where the crowdsale contract is deployed. For example, mainnet.

  3. Choose an account, which is the owner of crowdsale. This account should has sufficient balance in this network too.

  4. Send transaction to the address of the token contract with the data = 0x43214675 + address_of_the_crowdsale_contract + 0000000000000000000000000000000000000000000000000000000000000001, where

    • 0x43214675 - the method's signature
    • address_of_the_crowdsale_contract - address of the crowdsale contract, normalized to 32 bytes (required number of zeros before address).

    For example, if you need to set crowdsale address 0x11bd7d75c081ae7deb9244981a72ceeb340bcbc1 as mint agent for token, the data should be: 0x4321467500000000000000000000000011bd7d75c081ae7deb9244981a72ceeb340bcbc10000000000000000000000000000000000000000000000000000000000000001. Amount to send should be 0.

  5. Send transaction to the address of the token contract with the data = 0x43214675 + address_of_the_finalize_agent_contract + 0000000000000000000000000000000000000000000000000000000000000001, where

    • 0x43214675 - the method's signature
    • address_of_the_finalize_agent_contract - address of the finalize agent contract, normalized to 32 bytes (required number of zeros before address).

    For example, if you need to set finalize agent address 0x1be7505450bcd62b2001db8eefb9be1706db45c6 as mint agent for token, the data should be: 0x432146750000000000000000000000001be7505450bcd62b2001db8eefb9be1706db45c60000000000000000000000000000000000000000000000000000000000000001. Amount to send should be 0.

Clone this wiki locally