From 923828a3b86e9f0ee7c3540edfe59782527674c2 Mon Sep 17 00:00:00 2001 From: Anton Livaja Date: Mon, 3 Feb 2025 00:26:25 -0500 Subject: [PATCH] use mini quorum commands for proposals and approvals --- .../approver/approve-transaction.md | 20 ++------- .../proposer/create-transaction-payload.md | 43 +++---------------- 2 files changed, 9 insertions(+), 54 deletions(-) diff --git a/quorum-vault-system/src/generated-documents/level-2/fixed-location/approver/approve-transaction.md b/quorum-vault-system/src/generated-documents/level-2/fixed-location/approver/approve-transaction.md index 7f71f10..82711fa 100644 --- a/quorum-vault-system/src/generated-documents/level-2/fixed-location/approver/approve-transaction.md +++ b/quorum-vault-system/src/generated-documents/level-2/fixed-location/approver/approve-transaction.md @@ -60,27 +60,13 @@ The approver is responsible for verifying a transaction proposed by a [proposer] * `cd /root/vaults` -1. Verify the detached signature for the payload +1. Verify the existing signatures and add your own signature: - * `gpg --verify ..json ...sig` - - * The filename will be of format: `//ceremonies//payloads/payload_.json` - -1. Verify the key is authenticated: - - * `sq-wot --gpg list ""` - - * Ensure the output of the command includes "fully authenticated" - -1. Sign the transaction payload: - - * `gpg --detach-sign /ceremonies//payloads/payload_.json > /ceremonies//payloads/payload__$pgp_key_id.sig` - - * e.g `gpg --detach-sign solana-01/ceremonies/2025-01-01/payloads/payload_1.json > solana-01/ceremonies/2025-01-01/payloads/payload_1_F4BF5C81EC78A5DD341C91EEDC4B7D1F52E0BA4D.sig` + * `icepick workflow --add-signature-to-file /ceremonies//payload_.json --keyring /keyring.asc` 1. Stage the modified file: - * `git add /ceremonies//payloads/payload__$pgp_key_id.sig` + * `git add /ceremonies//payloads/*` 1. Create a signed git commit: diff --git a/quorum-vault-system/src/generated-documents/level-2/fixed-location/proposer/create-transaction-payload.md b/quorum-vault-system/src/generated-documents/level-2/fixed-location/proposer/create-transaction-payload.md index 22b249f..868b03e 100644 --- a/quorum-vault-system/src/generated-documents/level-2/fixed-location/proposer/create-transaction-payload.md +++ b/quorum-vault-system/src/generated-documents/level-2/fixed-location/proposer/create-transaction-payload.md @@ -98,52 +98,21 @@ The proposer must combine these values into a JSON file, such as: * e.g `touch solana-01/ceremonies/2025-01-01/payloads/payload_1.json` -1. Collect data for the transaction being sent, and structure it according to the template below, replacing values with valid ones. The values have to come from a organization approved list of values, for each field, except for `datetime` which is just the current date and time. - - * Write the data to the file: `vim /ceremonies//payloads/payload_.json` - - ```json - { - "workflow": ["", ""], - "values": { - "": "" - }, - "proposal_datetime": "" - } - ``` - - Example data object: - - ```json - { - "workflow": ["cosmos", "withdraw"], - "values": { - "delegate_address": "kyve1q9w3nar74up6mxnwd428wpr5nffcw3360tkxer", - "validator_address": "kyvevaloper1ghpmzfuggm7vcruyhfzrczl4aczy8gas8guslh", - "asset_name": "KYVE", - "asset_amount": "0.4", - "chain_name": "korellia" - }, - "proposal_datetime": "2025-01-28T18:18:00" - } - ``` 1. Import the keys relevant to the ceremony: * `gpg --import /keyring.asc` -1. Sign the data in the CLI using `gpg` or another OpenPGP implementation: +1. Use `icepick workflow --help` to list the available workflows and options - * `gpg --detach-sign /ceremonies//payloads/_.json > /ceremonies//payloads/payload__$smart_card_id.sig` +1. Use icepick to generate and sign the payload: - * e.g `gpg --detach-sign solana-01/ceremonies/2025-01-01/payloads/payload_1.json > solana-01/ceremonies/2025-01-01/payloads/payload_1_F4BF5C81EC78A5DD341C91EEDC4B7D1F52E0BA4D.sig` + * `icepick workflow <--option value> <--option value> --export-for-quorum --sign > ` -1. Stage the new file: + * e.g `icepick workflow cosmos withdraw-rewards --delegate-address kyve1q9w3nar74up6mxnwd428wpr5nffcw3360tkxer --validator-address kyvevaloper1ghpmzfuggm7vcruyhfzrczl4aczy8gas8guslh --chain-name korellia --export-for-quorum --sign > /ceremonies//payloads/payload_.json` - * `git add /ceremonies//payloads/..$smart_card_id.sig` +1. Stage the new files: -1. Create a signed git commit: - - * `git commit -S -m "add payload signature for payload_.sig using $smart_card_id"` + * `git add /ceremonies//payloads/*` 1. {{ #include ../../../../component-documents/finding-device-name.md:content }}