Comment on page
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.
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.
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.
denyProxyfunctions on the HyperVIBES smart contract are used to add and remove proxies on behalf of the message sender.
// allower operator to infuse or claim on behalf of msg.sender for a
// specific realm
function allowProxy(uint256 realmId, address proxy) external;
// deny operator the ability to infuse or claim on behalf of msg.sender for
// a specific realm
function denyProxy(uint256 realmId, address proxy) external;
These functions will allow or deny
proxythe ability to infuse and claim on behalf of
You can view and query proxy information from the HyperVIBES subgraph.