ComplianceResource
Access via urblock.compliance.
Manage T-REX modular compliance: deploy modules, add rules, bind tokens, and check compliance.
Methods
createModule(params)
Deploy a new compliance module.
const module = await urblock.compliance.createModule({
name: "CountryRestrictions",
network: "polygon_amoy",
rules: [
{ type: "country_restrict", countries: [408], allowed: false },
],
idempotency_key: "compliance-001",
});
Returns: ComplianceModuleResponse
listModules(params?)
List compliance modules.
const modules = await urblock.compliance.listModules({ limit: 10 });
Returns: ListResponse<ComplianceModuleListItem>
retrieveModule(id)
Get a compliance module by ID.
const module = await urblock.compliance.retrieveModule("cmp_abc123");
Returns: ComplianceModuleResponse
addRule(id, params)
Add a rule to a compliance module.
const tx = await urblock.compliance.addRule("cmp_abc123", {
type: "country_restrict",
countries: [408],
allowed: false,
idempotency_key: "rule-001",
});
Returns: TransactionShortResponse
removeModule(id, params)
Remove a compliance module from a token.
const tx = await urblock.compliance.removeModule("cmp_abc123", {
module_address: "0x...",
idempotency_key: "remove-module-001",
});
Returns: TransactionShortResponse
bindToken(id, params)
Bind a compliance module to a token.
const tx = await urblock.compliance.bindToken("cmp_abc123", {
token_address: "0x...",
idempotency_key: "bind-001",
});
Returns: TransactionShortResponse
unbindToken(id, params)
Unbind a compliance module from a token.
const tx = await urblock.compliance.unbindToken("cmp_abc123", {
token_address: "0x...",
idempotency_key: "unbind-001",
});
Returns: TransactionShortResponse
checkCompliance(tokenId, params)
Check if a transfer is compliant.
const result = await urblock.compliance.checkCompliance("tok_abc123", {
from: "0x...",
to: "0x...",
amount: "1000000000000000000",
});
Returns: ComplianceCheckResponse
getModulesOnChain(params)
Get compliance modules bound on-chain.
const result = await urblock.compliance.getModulesOnChain({
contract_address: "0x...",
network: "polygon_amoy",
});
Returns: ComplianceModulesOnChainResponse
isModuleBound(params)
Check if a specific module is bound to a compliance contract.
const result = await urblock.compliance.isModuleBound({
contract_address: "0x...",
network: "polygon_amoy",
module_address: "0x...",
});
Returns: ComplianceModuleBoundResponse
isTokenBound(params)
Check if a token is bound to a compliance contract.
const result = await urblock.compliance.isTokenBound({
contract_address: "0x...",
network: "polygon_amoy",
token_address: "0x...",
});
Returns: ComplianceTokenBoundResponse