Controller

Ethereum

0xca06411bd7a7296d7dbdd0050dfc846e95febeb7

Solidity v0.4.24+commit.e67f0147

🤖
Query this contract from your AI
Reference: 0xca06411bd7a7296d7dbdd0050dfc846e95febeb7
Sample prompt: “Tell me the current state of eth/0xca06411bd7a7296d7dbdd0050dfc846e95febeb7”
No AI wired up yet? → mcp.smarts.md

Admin & Risk

Who can change the rules?

Block #25,170,019

Detected mintable, pausable, and ownable controls from the verified ABI.

Mintable Pausable Ownable

Current controls

Owner
0x972eed35781f09987a5c40f761f6a24623c570de ↗ Etherscan → smarts

Overview

Read Functions
8
Write Functions
13
Events
9

Read Functions

Block #25,170,019 · just now
isMerchant(addr: address) view

Check whether a given address is registered as a merchant.✨ AI

Parameters

Name Type Description
addr address Address to check for merchant registration.✨ AI

Returns

Name Type Description
bool True if the address is a registered merchant, false otherwise.✨ AI
isCustodian(addr: address) view

Checks whether the given address is a registered custodian.✨ AI

Parameters

Name Type Description
addr address Address to check for custodian status.✨ AI

Returns

Name Type Description
bool True if the address is a registered custodian, otherwise false.✨ AI
getWBTC() view → 0x2260fac5e5542a773aa44fbcfedf7c193bc2c599

Returns the WBTC token contract address stored by the controller.✨ AI

Returns

Name Type Description
address The WBTC ERC20 token contract address used by the controller.✨ AI
owner() view → 0x972eed35781f09987a5c40f761f6a24623c570de

Returns the Ethereum address of the contract owner.✨ AI

Returns

Name Type Description
address The address that currently holds ownership and administrative privileges for the contract.✨ AI
members() view → 0x3e8640574aa764763291ed733672d3a105107ac5

Return the address of the members contract used by this Controller.✨ AI

Returns

Name Type Description
address Address of the members contract or registry that this Controller references.✨ AI
factory() view → 0xe5a5f138005e19a3e6d0fe68b039397eeef2322b

Return the address of the factory associated with this controller.✨ AI

Returns

Name Type Description
address The address of the factory contract linked to this controller.✨ AI
pendingOwner() view → 0x0000000000000000000000000000000000000000

Return the address that has been nominated to become the contract owner.✨ AI

Returns

Name Type Description
address The nominated owner's address; returns the zero address if no pending owner is set.✨ AI
token() view → 0x2260fac5e5542a773aa44fbcfedf7c193bc2c599

Returns the address of the token managed by the controller.✨ AI

Returns

Name Type Description
address The token contract address (ERC20) that this controller interacts with.✨ AI

Write Functions

reclaimToken(_token: address) nonpayable

Transfers any ERC20 tokens held by this contract for the specified token address to the controller.✨ AI

dev: Reclaim all ERC20Basic compatible tokens

Parameters

Name Type Description
_token address ERC20Basic The address of the token contract
callClaimOwnership(contractToOwn: address) nonpayable

Calls claimOwnership on the specified contract to accept ownership on behalf of this Controller.✨ AI

Parameters

Name Type Description
contractToOwn address Address of the contract whose claimOwnership function will be invoked.✨ AI

Returns

Name Type Description
bool True if the remote claimOwnership call succeeded and ownership was accepted.✨ AI
unpause() nonpayable

Unpauses contract operations, allowing functions restricted by pause to be executed.✨ AI

dev: called by the owner to unpause, returns to normal state

Returns

Name Type Description
bool Boolean indicating whether the contract is unpaused after the call.✨ AI
mint(to: address, amount: uint256) nonpayable

Mint tokens to the specified recipient address.✨ AI

dev: Function to mint tokens

Parameters

Name Type Description
to address Recipient address that will receive the newly minted tokens.✨ AI
amount uint256 Amount of tokens to mint, expressed in the token's smallest unit.✨ AI

Returns

Name Type Description
bool A boolean that indicates if the operation was successful.
burn(value: uint256) nonpayable

Burns a specified amount of tokens from the caller's balance.✨ AI

dev: Burns a specific amount of tokens.

Parameters

Name Type Description
value uint256 Number of tokens to burn, in the token's smallest unit.✨ AI

Returns

Name Type Description
bool True if the burn operation succeeded; otherwise false.✨ AI
callReclaimToken(ownedContract: address, _token: address) nonpayable

Calls a managed contract to reclaim an ERC20 token and return it to the controller.✨ AI

Parameters

Name Type Description
ownedContract address Address of the contract to call reclaimToken on.✨ AI
_token address ERC20 token contract address to reclaim from the owned contract.✨ AI

Returns

Name Type Description
bool True when the external reclaim call succeeded, false otherwise.✨ AI
claimOwnership() nonpayable

Transfers contract ownership to the caller when they are the pending owner.✨ AI

dev: Allows the pendingOwner address to finalize the transfer.
setFactory(_factory: address) nonpayable

Set the controller's factory address to a new address.✨ AI

Parameters

Name Type Description
_factory address New factory contract address to be recorded by the controller.✨ AI

Returns

Name Type Description
bool Boolean indicating whether the factory address was updated successfully.✨ AI
renounceOwnership() nonpayable

Renouncing to ownership will leave the contract without an owner. It will not be possible to call the functions with the `onlyOwner` modifier anymore.

dev: Allows the current owner to relinquish control of the contract.
pause() nonpayable

Pause the Controller to disable guarded functions until it is unpaused.✨ AI

dev: called by the owner to pause, triggers stopped state

Returns

Name Type Description
bool True if the contract was paused successfully, false otherwise.✨ AI
callTransferOwnership(ownedContract: address, newOwner: address) nonpayable

Calls transferOwnership on a target contract to transfer its ownership to a new owner and returns whether the call succeeded.✨ AI

Parameters

Name Type Description
ownedContract address Address of the contract whose ownership should be transferred.✨ AI
newOwner address Address to set as the new owner of the owned contract.✨ AI

Returns

Name Type Description
bool Boolean indicating if the transfer call succeeded (true) or failed (false).✨ AI
transferOwnership(newOwner: address) nonpayable

Transfer ownership of the Controller contract to a new owner address.✨ AI

dev: Allows the current owner to transfer control of the contract to a newOwner.

Parameters

Name Type Description
newOwner address Address that will become the new owner of the contract.✨ AI
setMembers(_members: address) nonpayable

Set the members contract address to the provided address.✨ AI

Parameters

Name Type Description
_members address Address of the new members contract to store.✨ AI

Returns

Name Type Description
bool True if the members address was updated successfully, otherwise false.✨ AI

Events

MembersSet(members: address)
Name Type Indexed Description
members address
FactorySet(factory: address)
Name Type Indexed Description
factory address
Paused()
Unpaused()
CalledTransferOwnership(ownedContract: address, newOwner: address)
Name Type Indexed Description
ownedContract address
newOwner address
CalledClaimOwnership(contractToOwn: address)
Name Type Indexed Description
contractToOwn address
CalledReclaimToken(ownedContract: address, _token: address)
Name Type Indexed Description
ownedContract address
_token address
OwnershipRenounced(previousOwner: address)
Name Type Indexed Description
previousOwner address
OwnershipTransferred(previousOwner: address, newOwner: address)
Name Type Indexed Description
previousOwner address
newOwner address