💼Proxies
Proxies are an advanced HyperVIBES mechanic that ensures that on-chain customization is possible for more complex integrations with the protocol.
This allows developers to launch a HyperVIBES realm with complete control over the infusion and claiming experience.
You can configure a realm with various constraints directly in the HyperVIBES UI with no need for custom smart contracts.
Proxies are only needed for advanced integrations.
Overview
A HyperVIBES proxy is an address that an agent has delegated infusion and claiming functionality to for a specific realm.
Once an agent (the delegator) has delegated to a proxy, the proxy may now:
Infuse tokens into an NFT on behalf of the delegator. Infused tokens must come from the proxy's address, and the delegator will be recorded as the infuser.
Claim infused tokens from NFTs owned by the delegator. Claimed tokens are sent to the proxy's address.
Proxies are scoped to a specific realm. Authorizing a proxy does NOT allow it to infuse and claim on behalf of the delegator across all realms.
Design Rationale
It can be useful to have a smart contract "frontend" to the infusion or claiming steps to add custom functionality for a realm beyond the built-in constraints.
However, we do not want to allow any contract to have the ability to attribute infusion nor claim tokens on behalf of an address without that address giving explicit authorization.
This ensures that no matter how the realm is configured, nobody can "spoof" the recorded infuser nor claim tokens without permission.
Allowing and Denying Proxies
The allowProxy
and denyProxy
functions on the HyperVIBES smart contract are used to add and remove proxies on behalf of the message sender.
From IHyperVIBES.sol
:
These functions will allow or deny proxy
the ability to infuse and claim on behalf of msg.sender
.
You can view and query proxy information from the HyperVIBES subgraph.
🛰️SubgraphLast updated