AgentRegistryCore
AgentRegistryCore
_stakeThreshold
frontRunningDelay
AgentCommitted
AgentUpdated
StakeThresholdChanged
FrontRunningDelaySet
onlyOwnerOf
Checks sender (or metatx signer) is owner of the agent token.
Name | Type | Description |
---|---|---|
agentId | uint256 | ERC721 token id of the agent. |
onlySorted
Checks if array of uint256 is sorted from lower (index 0) to higher (array.length -1)
Name | Type | Description |
---|---|---|
array | uint256[] | to check |
prepareAgent
Save commit representing an agent to prevent frontrunning of their creation
Name | Type | Description |
---|---|---|
commit | bytes32 | keccak256 hash of the agent creation's parameters |
registerAgent
Agent registration method. Mints an ERC721 token with the agent id for the sender and stores metadata.
Agent Ids are generated through the Forta Bot SDK (by hashing UUIDs) so the agentId collision risk is minimized. Fires _before and _after hooks within the inheritance tree. If front run protection is enabled (disabled by default), it will check if the keccak256 hash of the parameters has been committed in prepareAgent(bytes32).
Name | Type | Description |
---|---|---|
agentId | uint256 | ERC721 token id of the agent to be created. |
metadata | string | IPFS pointer to agent's metadata JSON. |
chainIds | uint256[] | ordered list of chainIds where the agent wants to run. |
createAgent
Create agent method with old signature for backwards compatibility. Owner parameter is ignore in favour of sender. This method is deprecated and it will be removed in future versions of AgentRegistryCore
isRegistered
Checks if the agentId has been minted.
Name | Type | Description |
---|---|---|
agentId | uint256 | ERC721 token id of the agent. |
Name | Type | Description |
---|---|---|
[0] | bool | true if agentId exists, false otherwise. |
updateAgent
Updates parameters of an agentId (metadata, image, chain IDs...) if called by the agent owner.
fires _before and _after hooks within the inheritance tree.
Name | Type | Description |
---|---|---|
agentId | uint256 | ERC721 token id of the agent to be updated. |
metadata | string | IPFS pointer to agent's metadata JSON. |
chainIds | uint256[] | ordered list of chainIds where the agent wants to run. |
setStakeThreshold
StakeThreshold setter, common to all Agents. Restricted to AGENT_ADMIN_ROLE, emits StakeThresholdChanged
getStakeThreshold
stake threshold common for all agents
_isStakeActivated
_isStakedOverMin
Checks if agent is staked over minimum stake
Name | Type | Description |
---|---|---|
subject | uint256 | agentId |
Name | Type | Description |
---|---|---|
[0] | bool | true if agent is staked over the minimum threshold and is, or staking is not enabled (stakeController = 0 or activated = false ). false otherwise |
setFrontRunningDelay
allows AGENT_ADMIN_ROLE to activate frontrunning protection for agents
Name | Type | Description |
---|---|---|
delay | uint256 | in seconds |
_beforeAgentUpdate
function _beforeAgentUpdate(uint256 agentId, string newMetadata, uint256[] newChainIds) internal virtual
hook fired before agent creation or update.
does nothing in this contract.
Name | Type | Description |
---|---|---|
agentId | uint256 | ERC721 token id of the agent to be created or updated. |
newMetadata | string | IPFS pointer to agent's metadata JSON. |
newChainIds | uint256[] | ordered list of chainIds where the agent wants to run. |
_agentUpdate
logic for agent update.
emits AgentUpdated, will be extended by child contracts.
Name | Type | Description |
---|---|---|
agentId | uint256 | ERC721 token id of the agent to be created or updated. |
newMetadata | string | IPFS pointer to agent's metadata JSON. |
newChainIds | uint256[] | ordered list of chainIds where the agent wants to run. |
_afterAgentUpdate
function _afterAgentUpdate(uint256 agentId, string newMetadata, uint256[] newChainIds) internal virtual
hook fired after agent creation or update.
emits Router hook.
Name | Type | Description |
---|---|---|
agentId | uint256 | ERC721 token id of the agent to be created or updated. |
newMetadata | string | IPFS pointer to agent's metadata JSON. |
newChainIds | uint256[] | ordered list of chainIds where the agent wants to run. |
_msgSender
Obligatory inheritance dismambiguation of ForwardedContext's _msgSender()
Name | Type | Description |
---|---|---|
sender | address | msg.sender if not a meta transaction, signer of forwarder metatx if it is. |
_msgData
Obligatory inheritance dismambiguation of ForwardedContext's _msgSender()
Name | Type | Description |
---|---|---|
[0] | bytes | sender msg.data if not a meta transaction, forwarder data in metatx if it is. |