Skip to main content

Cutting Board Management

Prerequisites​

In order to follow along with this tutorial you will need access to cast, a command line tool for building EVM contract transactions.

The fastest way to install this is using Foundryup via the following command:

curl -L https://foundry.paradigm.xyz | bash

For more information on installing Foundry/Cast see here.

Parameters​

Overview​

To set your cutting board you will need a few things:

  • The public address of your operator wallet ($YOUR_PUBLIC_ADDRESS in the example).
  • The private key of your operator wallet ($YOUR_PRIVATE_KEY in the example).
  • The list of gauges/reward vaults you wish to support as listed here.
  • A block height in the near future from which the settings will take effect. Get the current block height here and add ~100 to it.

Cutting Board Settings​

The list of reward vaults you want to link to your validator is provided as a list of tuples where the first value of each tuple is the contract address of the reward vault and the second value is the percentage to apply in bips (i.e 100% is 10000).

You can see the full list of approved reward vaults and the associated rewards here. To get the contract address of the reward vault click on it and take the value from the URL or click on Reward Vault and copy the address from the explorer.

You should provide the settings in the following format (including the quotes):

'[(0xe5519D97eA854291c35a494b28929fA7abEf12e8,5000),(0x175e2429bCb92643255abCbCDF47Fff63F7990CC,5000)]'

In the above example we are setting two rewards vaults:

  • HONEY-USDC (0xe5519D97eA854291c35a494b28929fA7abEf12e8) @ 50%
  • YEET-WBERA (0x175e2429bCb92643255abCbCDF47Fff63F7990CC) @ 50%

You can set multiple reward vaults at a time but the total must always equal 10000 (100%). For example:

'[(0xe5519D97eA854291c35a494b28929fA7abEf12e8,5000),(0x175e2429bCb92643255abCbCDF47Fff63F7990CC,2500),(0x12F45203b4dF96106fb18d557EE3224A4dC65637,2500)]'

Example Command​

Remember: Change the values for $YOUR_PUBLIC_ADDRESS $YOUR_PRIVATE_KEY and set $BLOCK_HEIGHT to a block in the future.

cast send 0xfb81E39E3970076ab2693fA5C45A07Cc724C93c2 "queueNewCuttingBoard(address,uint64,(address,uint96)[])" $YOUR_PUBLIC_ADDRESS $BLOCK_HEIGHT '[(0xe5519D97eA854291c35a494b28929fA7abEf12e8,5000),(0x175e2429bCb92643255abCbCDF47Fff63F7990CC,2500),(0x12F45203b4dF96106fb18d557EE3224A4dC65637,2500)]' --rpc-url https://bartio.rpc.berachain.com/ --private-key $YOUR_PRIVATE_KEY