Integrating your Protocol or DApp
How to add your contracts’ function and event signatures into Boost’s well-known registry
Under Construction The V2 Protocol, SDK, and these docs are under active development. You can find the latest testnet deployments here
In prerelease Currently the SDK and protocol only support Sepolia. Public API’s are stable, but could still change before our initial release. If you experience any bugs, please open a Github issue
The Boost Protocol, fundamentally, needs to be able to validate that certain actions have occured in order to allow users to claim incentives. So in order to make it simple to create Boosts and validate them, we publish @boostxyz/signatures
which is a registry of known function and event signatures, their 32 byte selectors, and AbiEvents or AbiFunctions in an easy to consume JSON format.
You can use this library as you’re creating a Boost and building out action steps for use with the Event Actions. You’ll need to specify the function or event’s signature, which allows Boost’s validators to parse the event or function arguments, and compare them against the rest of the actions’ parameters.
So in order to simplify applications that would otherwise need to know the hex encoded 4 byte function selector, or 32 byte event selector, and their associated ABI items, you can instead use this library to save on code and complexity.
If you’ve used a function or event signature from @boostxyz/signatures
in the creation of your Boost, then you don’t have to do anything else for validation to work.
Otherwise, if you’re supplying a custom event signature unknown to @boostxyz/signatures
and dealing with a Boost using a custom validator, you’ll need to additionally supply your own AbiEvent
to validation methods so event logs can be correctly pulled off transactions.
For more detailed examples, see sample use cases
Contributing new signatures
If using the default Boost validator, you also have the option of submitting your contract events and functions to openchain.xyz or 4byte.directory, but contributing to @boostxyz/signatures
is preferred due to its approach as a static manifest as opposed to a third party API.
To integrate your contracts with the Boost V2 Protocol:
- First, check to see if
@boostxyz/signatures
already supports your signature. We include several popular signatures and you may not need to do anything at all. - Fork the
boostxyz/boost-protocol
repository - Add your function or event signature to the correct manifest JSON file following the existing formatting and conventions.
- Entries starting with
//
are treated as comments so you can distinguish a block of related signatures
- Entries starting with
- Commit your modified manifest file
- Create a pull request
The Boost Protocol team will review the submission and promptly release a new version of the @boostxyz/signatures
package so you can continue your Boost Protocol integrations.