@invariance/common
v0.1.1
Published
Shared types and constants for Invariance Protocol
Downloads
212
Readme
@invariance/common
Shared types and constants for Invariance Protocol.
Installation
pnpm add @invariance/commonUsage
import {
// Types
type AgentId,
type ActionId,
type Action,
type Policy,
type SpendingCapPolicy,
type PolicyConfig,
type AnyContractEvent,
// Custom Permission Marketplace Types
type CustomPermissionId,
type CustomPermissionMetadata,
type CustomPermissionConfig,
// Constants
BASE_MAINNET,
BASE_SEPOLIA,
getChainConfig,
getContractAddresses,
// Helpers
createAgentId,
createActionId,
createCustomPermissionId,
// Defaults
DEFAULT_POLICY_VALUES,
applyPolicyDefaults,
} from '@invariance/common';Types
Actions
AgentId- Branded type for agent identifiersActionId- Branded type for action identifiersTaskId- Branded type for task identifiersIntentHash- Branded type for intent hashesAction- Represents an action to executeActionInput- Input for creating actionsActionResult- Result of action executionActionResultWithProvenance- Result with full execution context
Policies (Execution Rules)
Policy- Base policy interfaceSpendingCapPolicy- Limits spending per tx/dayTimeWindowPolicy- Restricts execution hoursActionWhitelistPolicy- Allows specific actionsVotingPolicy- Requires consensus (multi-sig, DAO, threshold)HumanApprovalPolicy- Human-in-the-loop confirmationPolicyConfig- Agent policy configurationPolicyCheckResult- Result of policy check
Custom Permission Marketplace
CustomPermissionId- Branded type for custom permission IDsCustomPermissionMetadata- Permission metadata from marketplaceCustomPermissionConfig- Configuration for enabling permissionsAgentPermissionConfig- Agent-specific permission settingsListPermissionsOptions- Query options for listing permissionsCustomPermissionCheckResult- Result of custom permission checkDeployPermissionOptions- Options for deploying permissionsDeployPermissionResult- Result of permission deploymentBuiltInTemplateType- Available template types
Template System
InvarianceTemplate- Full template definitionTemplateId- Branded type for template IDsTemplateOptions- Template configuration optionsTemplateCheckResult- Result of template verificationAuthorizationRule- Authorization requirementsStateCondition- State conditions to checkTimingRule- Timing constraintsRateLimitRule- Rate limiting rulesStakingRule- Staking requirements
Events
ContractEvent- Base event interfaceAgentRegisteredEvent- New agent registeredActionLoggedEvent- Action logged on-chainPolicyDeniedEvent- Policy check failedEscrowDepositedEvent- Funds depositedEscrowReleasedEvent- Funds releasedEscrowRefundedEvent- Funds refundedDisputeOpenedEvent- Dispute openedDisputeResolvedEvent- Dispute resolvedPermissionRegisteredEvent- Custom permission registeredPermissionEnabledEvent- Permission enabled for agentPermissionDisabledEvent- Permission disabled for agent
Constants
Chains
BASE_MAINNET- Base mainnet config (chain ID: 8453)BASE_SEPOLIA- Base Sepolia config (chain ID: 84532)
Contracts
getContractAddresses(chainId)- Get contract addresses for a chain
Policy Defaults
DEFAULT_POLICY_VALUES- Default values for policy fieldsMAX_UINT256- Maximum uint256 valueapplyPolicyDefaults(policy)- Apply defaults to a policy
Backward Compatibility
The following deprecated aliases are provided for backward compatibility:
| Deprecated | Use Instead |
|------------|-------------|
| Permission | Policy |
| PermissionConfig | PolicyConfig |
| SpendingCapPermission | SpendingCapPolicy |
| TimeWindowPermission | TimeWindowPolicy |
| ActionWhitelistPermission | ActionWhitelistPolicy |
| VotingPermission | VotingPolicy |
| HumanApprovalPermission | HumanApprovalPolicy |
| PermissionCheckResult | PolicyCheckResult |
| PermissionDeniedEvent | PolicyDeniedEvent |
