use mini quorum commands for proposals and approvals

This commit is contained in:
Anton Livaja 2025-02-03 00:26:25 -05:00
parent 4999b08e7e
commit 923828a3b8
Signed by: anton
GPG Key ID: 44A86CFF1FDF0E85
2 changed files with 9 additions and 54 deletions

View File

@ -60,27 +60,13 @@ The approver is responsible for verifying a transaction proposed by a [proposer]
* `cd /root/vaults` * `cd /root/vaults`
1. Verify the detached signature for the payload 1. Verify the existing signatures and add your own signature:
* `gpg --verify <payload>.<num>.json <payload>.<num>.<key_id>.sig` * `icepick workflow --add-signature-to-file <namespace>/ceremonies/<date>/payload_<num>.json --keyring <namespace>/keyring.asc`
* The filename will be of format: `/<namespace>/ceremonies/<date>/payloads/payload_<number>.json`
1. Verify the key is authenticated:
* `sq-wot --gpg list "<their@email.co>"`
* Ensure the output of the command includes "fully authenticated"
1. Sign the transaction payload:
* `gpg --detach-sign <namespace>/ceremonies/<date>/payloads/payload_<num>.json > <namespace>/ceremonies/<date>/payloads/payload_<num>_$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`
1. Stage the modified file: 1. Stage the modified file:
* `git add <namespace>/ceremonies/<date>/payloads/payload_<num>_$pgp_key_id.sig` * `git add <namespace>/ceremonies/<date>/payloads/*`
1. Create a signed git commit: 1. Create a signed git commit:

View File

@ -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` * 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 <namespace>/ceremonies/<date>/payloads/payload_<num>.json`
```json
{
"workflow": ["<workflow_namespace>", "<workflow_name>"],
"values": {
"<workflow_field>": "<workflow_value>"
},
"proposal_datetime": "<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: 1. Import the keys relevant to the ceremony:
* `gpg --import <namespace>/keyring.asc` * `gpg --import <namespace>/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 <namespace>/ceremonies/<date>/payloads/<payload>_<num>.json > <namespace>/ceremonies/<date>/payloads/payload_<num>_$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 <chain> <workflow> <--option value> <--option value> --export-for-quorum --sign > <output_file>`
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 > <namespace>/ceremonies/<date>/payloads/payload_<num>.json`
* `git add <namespace>/ceremonies/<date>/payloads/<payload>.<num>.$smart_card_id.sig` 1. Stage the new files:
1. Create a signed git commit: * `git add <namespace>/ceremonies/<date>/payloads/*`
* `git commit -S -m "add payload signature for payload_<num>.sig using $smart_card_id"`
1. {{ #include ../../../../component-documents/finding-device-name.md:content }} 1. {{ #include ../../../../component-documents/finding-device-name.md:content }}