pub struct WalletIntentResponse {
pub action_result: Option<WalletIntentResponseActionResult>,
pub authorization_details: Vec<WalletIntentResponseAuthorizationDetailsItem>,
pub created_at: f64,
pub created_by_display_name: String,
pub created_by_id: Option<String>,
pub current_resource_data: Option<Wallet>,
pub expires_at: f64,
pub intent_id: String,
pub intent_type: WalletIntentResponseIntentType,
pub request_details: WalletIntentResponseRequestDetails,
pub resource_id: String,
pub status: WalletIntentResponseStatus,
}Expand description
Response for a wallet update intent creation request
JSON schema
{
"description": "Response for a wallet update intent creation request",
"type": "object",
"required": [
"authorization_details",
"created_at",
"created_by_display_name",
"expires_at",
"intent_id",
"intent_type",
"request_details",
"resource_id",
"status"
],
"properties": {
"action_result": {
"description": "Result of wallet update execution (only present if
status is 'executed' or 'failed')",
"type": "object",
"required": [
"executed_at",
"prior_state",
"response_body",
"status_code"
],
"properties": {
"authorized_by_display_name": {
"description": "Display name of the key quorum that authorized
execution",
"type": "string"
},
"authorized_by_id": {
"description": "ID of the key quorum that authorized
execution",
"type": "string"
},
"executed_at": {
"description": "Unix timestamp when the action was executed",
"type": "number"
},
"prior_state": {
"allOf": [
{
"$ref": "#/components/schemas/Wallet"
},
{
"description": "State of the wallet immediately before
execution"
}
]
},
"response_body": {
"$ref": "#/components/schemas/Wallet"
},
"status_code": {
"description": "HTTP status code from the action execution",
"type": "number"
}
}
},
"authorization_details": {
"description": "Detailed authorization information including key
quorum members, thresholds, and signature status",
"type": "array",
"items": {
"type": "object",
"required": [
"members",
"threshold"
],
"properties": {
"display_name": {
"description": "Display name of the key quorum",
"type": "string"
},
"members": {
"description": "Members in this authorization quorum",
"type": "array",
"items": {
"oneOf": [
{
"title": "User member",
"type": "object",
"required": [
"has_signed",
"type",
"user_id"
],
"properties": {
"display_name": {
"description": "Display name for the user (email,
etc)",
"type": "string"
},
"has_signed": {
"description": "Whether this member has signed the
intent",
"type": "boolean"
},
"type": {
"type": "string",
"enum": [
"user"
]
},
"user_id": {
"description": "User ID of the key quorum member",
"type": "string"
}
}
},
{
"title": "Key member",
"type": "object",
"required": [
"has_signed",
"public_key",
"type"
],
"properties": {
"display_name": {
"description": "Display name for the key (if any)",
"type": "string"
},
"has_signed": {
"description": "Whether this key has signed the
intent",
"type": "boolean"
},
"public_key": {
"description": "Public key of the key quorum
member",
"type": "string"
},
"type": {
"type": "string",
"enum": [
"key"
]
}
}
}
]
}
},
"threshold": {
"description": "Number of signatures required from this
quorum",
"type": "number"
}
}
}
},
"created_at": {
"description": "Unix timestamp when the intent was created",
"type": "number"
},
"created_by_display_name": {
"description": "Display name of the user who created the intent",
"type": "string"
},
"created_by_id": {
"description": "ID of the user who created the intent. If
undefined, the intent was created using the app secret",
"type": "string"
},
"current_resource_data": {
"allOf": [
{
"$ref": "#/components/schemas/Wallet"
},
{
"description": "Current state of the wallet before any changes.
If undefined, the resource was deleted and no longer exists"
}
]
},
"expires_at": {
"description": "Unix timestamp when the intent expires",
"type": "number"
},
"intent_id": {
"description": "Unique ID for the intent",
"type": "string"
},
"intent_type": {
"type": "string",
"enum": [
"WALLET"
]
},
"request_details": {
"description": "The original wallet update request that would be
sent to the wallet endpoint",
"type": "object",
"required": [
"body",
"method",
"url"
],
"properties": {
"body": {
"type": "object",
"properties": {
"additional_signers": {
"$ref": "#/components/schemas/WalletAdditionalSigner"
},
"owner": {
"$ref": "#/components/schemas/OwnerInput"
},
"owner_id": {
"allOf": [
{
"$ref": "#/components/schemas/OwnerIdInput"
},
{}
]
},
"policy_ids": {
"description": "New policy IDs to enforce on the wallet.
Currently, only one policy is supported per wallet.",
"type": "array",
"items": {
"type": "string",
"maxLength": 24,
"minLength": 24
},
"maxItems": 1
}
}
},
"method": {
"type": "string",
"enum": [
"PATCH"
]
},
"url": {
"type": "string"
}
}
},
"resource_id": {
"description": "ID of the resource being modified (wallet_id,
policy_id, etc)",
"type": "string"
},
"status": {
"description": "Current status of the intent",
"type": "string",
"enum": [
"executed",
"expired",
"failed",
"pending",
"rejected"
]
}
}
}Fields§
§action_result: Option<WalletIntentResponseActionResult>Detailed authorization information including key quorum members, thresholds, and signature status
created_at: f64§created_by_display_name: StringDisplay name of the user who created the intent
created_by_id: Option<String>ID of the user who created the intent. If undefined, the intent was created using the app secret
current_resource_data: Option<Wallet>§expires_at: f64§intent_id: StringUnique ID for the intent
intent_type: WalletIntentResponseIntentType§request_details: WalletIntentResponseRequestDetails§resource_id: StringID of the resource being modified (wallet_id, policy_id, etc)
status: WalletIntentResponseStatusCurrent status of the intent
Trait Implementations§
Source§impl Clone for WalletIntentResponse
impl Clone for WalletIntentResponse
Source§fn clone(&self) -> WalletIntentResponse
fn clone(&self) -> WalletIntentResponse
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for WalletIntentResponse
impl Debug for WalletIntentResponse
Source§impl<'de> Deserialize<'de> for WalletIntentResponse
impl<'de> Deserialize<'de> for WalletIntentResponse
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
Source§impl From<&WalletIntentResponse> for WalletIntentResponse
impl From<&WalletIntentResponse> for WalletIntentResponse
Source§fn from(value: &WalletIntentResponse) -> Self
fn from(value: &WalletIntentResponse) -> Self
Converts to this type from the input type.
Source§impl From<WalletIntentResponse> for IntentResponse
impl From<WalletIntentResponse> for IntentResponse
Source§fn from(value: WalletIntentResponse) -> Self
fn from(value: WalletIntentResponse) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for WalletIntentResponse
impl RefUnwindSafe for WalletIntentResponse
impl Send for WalletIntentResponse
impl Sync for WalletIntentResponse
impl Unpin for WalletIntentResponse
impl UnsafeUnpin for WalletIntentResponse
impl UnwindSafe for WalletIntentResponse
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