IShPolicy Interface
Policy Management Functions
These functions allow users to commit/uncommit their ShMONAD tokens and manage their re-staked positions in the ShMonad contract.
createPolicy
function createPolicy(uint48 escrowDuration) external returns (uint64 policyID, address policyERC20Wrapper);
Creates a new policy with a specified escrowDuration. Returns the new policyID and the address of the associated wrapped ERC-20.
Parameters
| Name | Type | Description |
|---|---|---|
| escrowDuration | uint48 | Duration of escrow associated with this policy |
Returns
| Name | Type | Description |
|---|---|---|
| policyID | uint64 | Unique identifier for the newly created policy |
| policyERC20Wrapper | address | Address of the ERC-20 wrapper for the policy |
addPolicyAgent
function addPolicyAgent(uint64 policyID, address agent) external;
Adds agent as an authorized policy agent under policyID.
removePolicyAgent
function removePolicyAgent(uint64 policyID, address agent) external;
Removes agent from authorized policy agents under policyID.
disablePolicy
function disablePolicy(uint64 policyID) external;
Disables (or deactivates) a policy, preventing further bonding or agent operations.
View Functions
policyCount
function policyCount() external view returns (uint64);
Returns the total number of policies created.
getPolicy
function getPolicy(uint64 policyID) external view returns (Policy memory);
Retrieves the Policy struct details for a given policyID.
isPolicyAgent
function isPolicyAgent(uint64 policyID, address agent) external view returns (bool);
Checks if agent is recognized as an authorized agent under policyID.
getPolicyAgents
function getPolicyAgents(uint64 policyID) external view returns (address[] memory);
Lists all agents for a given policyID.
getHoldAmount
function getHoldAmount(uint64 policyID, address account) external view returns (uint256);
Returns the total tokens under hold for account in the specified policyID.
unbondingCompleteBlock
function unbondingCompleteBlock(uint64 policyID, address account) external view returns (uint256);
Returns the block number at which unbonding completes for a given policyID and account.
balanceOfBonded
function balanceOfBonded(uint64 policyID, address account) external view returns (uint256);
Returns the bonded token balance of account for policyID.
balanceOfUnbonding
function balanceOfUnbonding(uint64 policyID, address account) external view returns (uint256);
Returns the unbonding token balance of account for policyID.