Skip to main content

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