Step-by-Step guide to HANBAOBAO Reward Program with MEW!

Official Rate3
Sep 4, 2018 · 5 min read

Here’s how you can use MyEtherWallet to access Hanbaobao Reward Program!

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

  1. Make sure you’re on ‘Contracts

2. Copy and paste the following Contract Address: 0x436f0f3a982074c4a05084485d421466a994fe53

3. Copy and paste the entire ABI / Json Interface as follows:

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"INITIAL_SUPPLY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_whitelistAddress","type":"address"}],"name":"removeFromWhitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_whitelistAddresses","type":"address[]"}],"name":"addManyToWhitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"whitelist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_whitelistAddress","type":"address"}],"name":"addToWhitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]

4. Click “Access

5. You’ll see this screen. Change the function to “approve” as seen below.

6. For “spender address”: key in the intended vault address:

Vault #1: 0xdf08cb8d7d57dcd18241d9dd552c52bb76c6b464

Vault #2: 0x02b3ff33b4fff92f7b897057872c0c84a93bc3c9

Vault #3: 0x7ebdd442277c86ded738e8a3532c285fa4e73187

Vault #4: 0xadddc97cb641b0ebaf2594eed9323b3bed009e09

Vault #5: 0x28f9c29704e4ebf9023073bbb88fc365bbb055c5

Vault #6: 0xa581f98cd2a5eacf4fa466ad872cb71e0eb9cfa2

7. For “value”, this is how much you intend to deposit.
In the example below, I’m intending to deposit 100 RTE. So, I will have to put 100, with an additional 000000000000000000 (18 zeroes). It will be 100000000000000000000 then.

If you’re using Ledger Wallet, click Ledger Wallet and ‘Connect to Ledger Wallet’.

Once you’ve connected correctly, click ‘Write’.

Once this transaction is successful, go to Step2.

Step 2: Interact with the Vaults’ contracts now.

  1. Choose the right Contract Address to paste.

Vault #1: 0xdf08cb8d7d57dcd18241d9dd552c52bb76c6b464

Vault #2: 0x02b3ff33b4fff92f7b897057872c0c84a93bc3c9

Vault #3: 0x7ebdd442277c86ded738e8a3532c285fa4e73187

Vault #4: 0xadddc97cb641b0ebaf2594eed9323b3bed009e09

Vault #5: 0x28f9c29704e4ebf9023073bbb88fc365bbb055c5

Vault #6: 0xa581f98cd2a5eacf4fa466ad872cb71e0eb9cfa2

In this case, I want to deposit 100 RTE into the Vault #6. So, I paste the 6th address (0xa581f98cd2a5eacf4fa466ad872cb71e0eb9cfa2) into the Contract Address tab.

2. Next, copy and paste the entire code into the ABI / Json tab:

[
{
"constant": true,
"inputs": [
{
"name": "",
"type": "address"
}
],
"name": "lockedBalances",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "token",
"type": "address"
}
],
"name": "reclaimToken",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "vaultUnlocked",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "tokensDeposited",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "vaultLockDays",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "cap",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "vaultDepositDeadlineTime",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "minimumDeposit",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "interestRate",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "owner",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [],
"name": "reclaimEther",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "vaultUnlockTime",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "rewardWallet",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "token",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"name": "_token",
"type": "address"
},
{
"name": "_cap",
"type": "uint256"
},
{
"name": "_minimumDeposit",
"type": "uint256"
},
{
"name": "_interestRate",
"type": "uint256"
},
{
"name": "_vaultDepositDeadlineTime",
"type": "uint256"
},
{
"name": "_vaultUnlockTime",
"type": "uint256"
},
{
"name": "_vaultLockDays",
"type": "uint256"
},
{
"name": "_rewardWallet",
"type": "address"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"payable": false,
"stateMutability": "nonpayable",
"type": "fallback"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"name": "_investor",
"type": "address"
},
{
"indexed": false,
"name": "_value",
"type": "uint256"
}
],
"name": "TokenLocked",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"name": "_investor",
"type": "address"
},
{
"indexed": false,
"name": "_value",
"type": "uint256"
}
],
"name": "TokenWithdrawal",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"constant": false,
"inputs": [
{
"name": "_amount",
"type": "uint256"
}
],
"name": "lockToken",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [],
"name": "withdrawToken",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_forceAddress",
"type": "address"
}
],
"name": "forceWithdrawToken",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [],
"name": "finalizeVault",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
}
]

3. Click ‘Access’.

4. Change the function to ‘lockToken’.

Input your desired deposit amount. If you want to deposit 100 RTE, remember to put 100 with an additional 18 ‘zeros’ behind. So, it would be: 100000000000000000000.

5. Click ‘Write’ and approve the transaction on whichever device you’re using.

Step 3: Check your transaction on Etherscan. If it is successful, you have successfully sent over your deposit RTE to the vault contract address! You would have seen a lesser balance in your RTE wallet now.

And, that’s all!

Remember, if you’ve any issues, contact any of the friendly admins on:


About Rate3

Rate3 is a decentralised dual protocol for cross-chain asset tokenization and identity management. The Rate3 Tokenization Protocol is an end-to-end protocol for tokenization on both Ethereum and Stellar, while the Rate3 Identity Protocol is a protocol to create and manage a unified cross-chain identity.

Website: https://rate3.network
Twitter: https://twitter.com/officialrate3
Telegram: https://t.me/officialrate3

Official Rate3

Creating a Connected Tokenized World

Official Rate3

Written by

Creating a Connected Tokenized World

Official Rate3

Creating a Connected Tokenized World

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade