RolesResource
Access via urblock.roles.
Manage on-chain access control roles (grant, revoke, renounce) on any Urblock-deployed contract.
Methods
grant(tokenId, params)
Grant a role to an address.
const tx = await urblock.roles.grant("tok_abc123", {
role: "MINTER_ROLE",
address: "0x...",
idempotency_key: "grant-001",
});
Returns: TransactionShortResponse
revoke(tokenId, params)
Revoke a role from an address.
const tx = await urblock.roles.revoke("tok_abc123", {
role: "MINTER_ROLE",
address: "0x...",
idempotency_key: "revoke-001",
});
Returns: TransactionShortResponse
renounce(tokenId, params)
Renounce a role (caller removes their own role).
const tx = await urblock.roles.renounce("tok_abc123", {
role: "MINTER_ROLE",
address: "0x...",
idempotency_key: "renounce-001",
});
Returns: TransactionShortResponse
list(tokenId)
List all roles on a token contract.
const roles = await urblock.roles.list("tok_abc123");
Returns: RolesListResponse
getRoleAdmin(tokenId, params)
Get the admin role for a given role.
const admin = await urblock.roles.getRoleAdmin("tok_abc123", {
role: "MINTER_ROLE",
});
Returns: RoleAdminResponse
getAddressRoles(tokenId, address)
Get all roles assigned to a specific address.
const roles = await urblock.roles.getAddressRoles(
"tok_abc123",
"0x...",
);
Returns: AddressRolesResponse