pub struct Policy {
pub created_at: String,
pub description: Option<PolicyDescription>,
pub id: PolicyId,
pub rules: Vec<Rule>,
pub scope: PolicyScope,
pub updated_at: String,
}
Expand description
Policy
JSON schema
{
"type": "object",
"required": [
"createdAt",
"id",
"rules",
"scope",
"updatedAt"
],
"properties": {
"createdAt": {
"description": "The ISO 8601 timestamp at which the Policy was created.",
"examples": [
"2025-03-25T12:00:00Z"
],
"type": "string"
},
"description": {
"description": "An optional human-readable description of the policy.\nPolicy descriptions can consist of alphanumeric characters, spaces, commas, and periods, and be 50 characters or less.",
"examples": [
"Default policy"
],
"type": "string",
"pattern": "^[A-Za-z0-9 ,.]{1,50}$"
},
"id": {
"description": "The unique identifier for the policy.",
"examples": [
"123e4567-e89b-12d3-a456-426614174000"
],
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
},
"rules": {
"description": "A list of rules that comprise the policy.",
"examples": [
[
{
"action": "accept",
"criteria": [
{
"ethValue": "1000000000000000000",
"operator": "<=",
"type": "ethValue"
},
{
"addresses": [
"0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
"0x1234567890123456789012345678901234567890"
],
"operator": "in",
"type": "evmAddress"
}
],
"operation": "signEvmTransaction"
},
{
"action": "accept",
"criteria": [
{
"addresses": [
"HpabPRRCFbBKSuJr5PdkVvQc85FyxyTWkFM2obBRSvHT"
],
"operator": "in",
"type": "solAddress"
}
],
"operation": "signSolTransaction"
}
]
],
"type": "array",
"items": {
"$ref": "#/components/schemas/Rule"
}
},
"scope": {
"description": "The scope of the policy. Only one project-level policy can exist at any time.",
"examples": [
"project"
],
"type": "string",
"enum": [
"project",
"account"
]
},
"updatedAt": {
"description": "The ISO 8601 timestamp at which the Policy was last updated.",
"examples": [
"2025-03-26T12:00:00Z"
],
"type": "string"
}
}
}
Fields§
§created_at: String
The ISO 8601 timestamp at which the Policy was created.
description: Option<PolicyDescription>
An optional human-readable description of the policy. Policy descriptions can consist of alphanumeric characters, spaces, commas, and periods, and be 50 characters or less.
id: PolicyId
The unique identifier for the policy.
rules: Vec<Rule>
A list of rules that comprise the policy.
scope: PolicyScope
The scope of the policy. Only one project-level policy can exist at any time.
updated_at: String
The ISO 8601 timestamp at which the Policy was last updated.
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Policy
impl<'de> Deserialize<'de> for Policy
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Policy
impl RefUnwindSafe for Policy
impl Send for Policy
impl Sync for Policy
impl Unpin for Policy
impl UnwindSafe for Policy
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more