At the moment, it’s not possible to change an Indexer’s rewards address using the available GUIs like Subgraph Studio or Explorer. If you’re staking GRT using a vesting contract, the recommended way of doing so is through Remix. This will allow you to interact with the right Token Lock Contract
deployed on Ethereum mainnet, using your own vesting contract. Doing it through Etherscan is currently not possible. Please follow the guide below to get your protocol rewards sent to a different address other than the vesting contract and make your GRT rewards liquid.
On a clean workspace, create a new file called TokenLockWalletABIRemix.abi and paste the contents of the following TokenLockWalletABIRemix.json
ABI file:
token-distribution/TokenLockWalletABIRemix.json at main · graphprotocol/token-distribution
Make sure there’s no compilation errors checking the Solidity Compiler button on the left. Remix automatically compiles files, so don’t worry if the button is greyed out.
Go to Deploy and Run Transactions menu on the left and enter select Injected Web3
using the Environment dropdown menu. This will allow you to connect to Remix with your Metamask beneficiary address account on Ethereum mainnet.
{
tokenLockWallets(where: {beneficiary: "<YOUR_ETH_ADDRESS>"}) {
id
}
}
In the same pane, there’s a Load contract address at input text area. Make sure you enter here your vesting contract address
If you had no errors, you’ll now see a list of functions you can call right below that area
You must call setRewardsDestination(address _destination)
. (If you do not do this before closing your allocation, you will get your rewards on your vesting contract!)
address _destination
is the address you want the rewards sent toThat’s it!