Output Icepick command blobs as a JSON blob that isn't passed through to the subcommand when --generate-input-only is passed #20

Closed
opened 2024-12-09 17:00:49 +00:00 by ryan · 4 comments
Owner

Example:

icepick sol transfer-token --generate-input-only 1 $token_address $to_address $from_address

This will generate:

{
 "operation": "transfer-token",
 "derived-keys": [],
 "blob": {},
 "values": {
  "amount": 1,
  "token-address": "$token_address",
  "to-address": "$to_address",
  "from-address": "$from_address",
 },
}

We assume we can generate the JSON blob in a deterministic manner so all signatures can be concatenated into a common file and verified in one operation

Example: ```sh icepick sol transfer-token --generate-input-only 1 $token_address $to_address $from_address ``` This will generate: ```json { "operation": "transfer-token", "derived-keys": [], "blob": {}, "values": { "amount": 1, "token-address": "$token_address", "to-address": "$to_address", "from-address": "$from_address", }, } ``` We assume we can generate the JSON blob in a deterministic manner so all signatures can be concatenated into a common file and verified in one operation
ryan added this to the Custody Framework project 2024-12-09 17:13:41 +00:00
Author
Owner

pass the policy and signatures as a blob to a separate module so the policy module can exist as its own enclave

pass the policy and signatures as a blob to a separate module so the policy module can exist as its own enclave
Author
Owner
engine --{ request, signatures }> policy engine
policy engine --{ request, policy engine signature (PES)}> engine --> transaction generator
transaction generator --{ transaction, request, PES, key derivation requests}> engine
engine --{ transaction, request, PES, derivation account requests }> key derivation module
key derivation module --{ transaction, request, PES, derived keys }> engine --> coin signer module
coin signer module --{ signed transaction, request, PES }> engine --> coin broadcaster module
coin broadcaster module --> internet
``` engine --{ request, signatures }> policy engine policy engine --{ request, policy engine signature (PES)}> engine --> transaction generator transaction generator --{ transaction, request, PES, key derivation requests}> engine engine --{ transaction, request, PES, derivation account requests }> key derivation module key derivation module --{ transaction, request, PES, derived keys }> engine --> coin signer module coin signer module --{ signed transaction, request, PES }> engine --> coin broadcaster module coin broadcaster module --> internet ```
Author
Owner

encrypt the key in transit from the key derivation module to the coin signer module

encrypt the key in transit from the key derivation module to the coin signer module
ryan added this to the Icepick v0.2.0 milestone 2024-12-12 20:28:34 +00:00
Author
Owner

Closing in favor of Icepick Workflows

Closing in favor of Icepick Workflows
ryan closed this issue 2024-12-12 20:28:44 +00:00
Sign in to join this conversation.
No Label
No Milestone
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: public/icepick#20
No description provided.