client: add verbose signing option
This patch-set adds the option --verbose-signing
to many wallet commands of tezos-client
.
What the option does is display a bunch of information of about the operation before calling the signer.
It is meant for extra-cautious usage of the hardware ledger but it is actually independent of the signer backend.
Ledger Use-case
In the next version of the Wallet app, in the cases where the full parsing of the operation is not (yet) implemented the ledger will display a Blake 2B hash of what it is asked to sign (so far it has only been displaying “Sign Unverified”).
So the idea is to run the operations with --verbose-signing
and --dry-run
with ≥ 1 independent tezos-client
's (for instance with a separate 99% air-gaped device)
to get more assurance that the tezos-client
actually doing the operation is
not lying to the ledger.
(Of course, UX in this case is still no ideal since the user needs to try-run
the operations based on the same branch, e.g. making sure with -b <hash>
, but
they have to be fast enough for that branch to not become obsolete).
Examples/Tests
Here is what is displayed for most commands that allow --verbose-signing
, in
the case of the ledger (or any “interactive” signer) the output is paused after
the “pre-signature information.”
Start the mini-net flextesa-sandbox (I use --time 5,5,5
to slow it down a bit
$ tezos-client import secret key sledger "ledger://back-himalayan-apt-poodle/ed25519/0'/0'" --force
Please validate (and write down) the public key hash displayed on the Ledger,
it should be equal
to `tz1es8RjqHUD483BN9APWtvCzgjTFVGeMh3y`:
Tezos address added: tz1es8RjqHUD483BN9APWtvCzgjTFVGeMh3y
$ tezos-client transfer 10000 from bootacc-0 to sledger --verbose-signing --burn-cap 0.3
Node is bootstrapped, ready for injecting operations.
Estimated gas: 10100 units (will add 100 for safety)
Estimated storage: 257 bytes added (will add 20 for safety)
Pre-signature information (verbose signing):
* Branch: BL42YCPUEqwEcWnLSS6ckqHZiukJxo6pmZAoJuzNrFHSPpVgC1X
* Watermark: `Generic-operation` (0x03)
* Operation bytes:
2cd54a6d49c82da8807044a41f8670cf31832cb12c151fe2f605407bcdf558960800008bd
703c4a2d91b8f1d79455be9b99c2693e931fdfa0901d84f950280c8afa0250000d2e495a7
ab40156d0a7c35b73d2530a3470fc87000
* Blake 2B Hash (raw): 8YpyejphEGRfTXy3YMPQmMASm5VGsuS4AaLSd7QcwdCv
* Blake 2B Hash (ledger-style, with operation watermark):
5MzbDja8eTsyqLHAuJHjScYb8SNfRcWQboUtXCPkqdH4
* JSON encoding:
{ "branch": "BL42YCPUEqwEcWnLSS6ckqHZiukJxo6pmZAoJuzNrFHSPpVgC1X",
"contents":
[ { "kind": "transaction",
"source": "tz1YPSCGWXwBdTncK2aCctSZAXWvGsGwVJqU", "fee": "1274",
"counter": "1", "gas_limit": "10200", "storage_limit": "277",
"amount": "10000000000",
"destination": "tz1es8RjqHUD483BN9APWtvCzgjTFVGeMh3y" } ] }
Operation successfully injected in the node.
Operation hash is 'opBQwjhyCEcH5JxUtthPxh7m7sBxGKnCzVYwUcR7xr7MGwotZnW'
Waiting for the operation to be included...
Operation found in block: BLxcnVPonCjWyQSt5vgkUq9pTcrSbhXttZ8wMRS6Nmj8WBM8RhU (pass: 3, offset: 0)
This sequence of operations was run:
Manager signed operations:
From: tz1YPSCGWXwBdTncK2aCctSZAXWvGsGwVJqU
Fee to the baker: ꜩ0.001274
Expected counter: 1
Gas limit: 10200
Storage limit: 277 bytes
Balance updates:
tz1YPSCGWXwBdTncK2aCctSZAXWvGsGwVJqU ........... -ꜩ0.001274
fees(tz1hUXU4DPHPyrEEekqhmEEJvdCpB2gP4qtp,0) ... +ꜩ0.001274
Transaction:
Amount: ꜩ10000
From: tz1YPSCGWXwBdTncK2aCctSZAXWvGsGwVJqU
To: tz1es8RjqHUD483BN9APWtvCzgjTFVGeMh3y
This transaction was successfully applied
Consumed gas: 10100
Balance updates:
tz1YPSCGWXwBdTncK2aCctSZAXWvGsGwVJqU ... -ꜩ10000
tz1es8RjqHUD483BN9APWtvCzgjTFVGeMh3y ... +ꜩ10000
tz1YPSCGWXwBdTncK2aCctSZAXWvGsGwVJqU ... -ꜩ0.257
The operation has only been included 0 blocks ago.
We recommend to wait more.
Use command
tezos-client wait for opBQwjhyCEcH5JxUtthPxh7m7sBxGKnCzVYwUcR7xr7MGwotZnW to be included --confirmations 30 --branch BL42YCPUEqwEcWnLSS6ckqHZiukJxo6pmZAoJuzNrFHSPpVgC1X
and/or an external block explorer.
$ tezos-client originate account to_delegate for sledger transferring 1000 from sledger --verbose-signing --delegatable --burn-cap 0.3
Node is bootstrapped, ready for injecting operations.
Estimated gas: 10000 units (will add 100 for safety)
Estimated storage: 257 bytes added (will add 20 for safety)
Pre-signature information (verbose signing):
* Branch: BLxcnVPonCjWyQSt5vgkUq9pTcrSbhXttZ8wMRS6Nmj8WBM8RhU
* Watermark: `Generic-operation` (0x03)
* Operation bytes:
a43f08f2b1d38e7c2762fc1b123b3ab772ae34669c2b541a0f7e96a104341e94070000d2e
495a7ab40156d0a7c35b73d2530a3470fc870ea0902904e0000cda3081bd81219ec494b29
068dcfd19e427fed9a66abcdc9e9e99ca6478f60e9090000d2e495a7ab40156d0a7c35b73
d2530a3470fc870920903f44e950200d2e495a7ab40156d0a7c35b73d2530a3470fc87080
94ebdc03ffff0000
* Blake 2B Hash (raw): 9r7Kamx86vpGiYgmsj8nQWWN8wBXi3QPEh7qSo13xKGR
* Blake 2B Hash (ledger-style, with operation watermark):
51Kq8DEp2DU7bw9tMbFRYW2DzQ5bFC2giAtGCBY6zwvp
* JSON encoding:
{ "branch": "BLxcnVPonCjWyQSt5vgkUq9pTcrSbhXttZ8wMRS6Nmj8WBM8RhU",
"contents":
[ { "kind": "reveal",
"source": "tz1es8RjqHUD483BN9APWtvCzgjTFVGeMh3y", "fee": "1258",
"counter": "2", "gas_limit": "10000", "storage_limit": "0",
"public_key":
"edpkvCnetRr7moCiJkEY99Sbi4FTNgmP9yVF8JPXAYwWNkwgAaVkxV" },
{ "kind": "origination",
"source": "tz1es8RjqHUD483BN9APWtvCzgjTFVGeMh3y", "fee": "1170",
"counter": "3", "gas_limit": "10100", "storage_limit": "277",
"managerPubkey": "tz1es8RjqHUD483BN9APWtvCzgjTFVGeMh3y",
"balance": "1000000000" } ] }
Operation successfully injected in the node.
Operation hash is 'ooBsWAJUcvpNaNQgGREyEmdUdd2r1SFPHfSN9RWy9cUpmwVGCWP'
Waiting for the operation to be included...
Operation found in block: BLfaNjKbfcCdDKFNrxcmcu5CsDAS3ZMEikyoygUASGuoWb9fvek (pass: 3, offset: 0)
This sequence of operations was run:
Manager signed operations:
From: tz1es8RjqHUD483BN9APWtvCzgjTFVGeMh3y
Fee to the baker: ꜩ0.001258
Expected counter: 2
Gas limit: 10000
Storage limit: 0 bytes
Balance updates:
tz1es8RjqHUD483BN9APWtvCzgjTFVGeMh3y ........... -ꜩ0.001258
fees(tz1SUjpVZe18i2VbPEeQBxcv5erERFuGk1Q8,0) ... +ꜩ0.001258
Revelation of manager public key:
Contract: tz1es8RjqHUD483BN9APWtvCzgjTFVGeMh3y
Key: edpkvCnetRr7moCiJkEY99Sbi4FTNgmP9yVF8JPXAYwWNkwgAaVkxV
This revelation was successfully applied
Consumed gas: 10000
Manager signed operations:
From: tz1es8RjqHUD483BN9APWtvCzgjTFVGeMh3y
Fee to the baker: ꜩ0.00117
Expected counter: 3
Gas limit: 10100
Storage limit: 277 bytes
Balance updates:
tz1es8RjqHUD483BN9APWtvCzgjTFVGeMh3y ........... -ꜩ0.00117
fees(tz1SUjpVZe18i2VbPEeQBxcv5erERFuGk1Q8,0) ... +ꜩ0.00117
Origination:
From: tz1es8RjqHUD483BN9APWtvCzgjTFVGeMh3y
For: tz1es8RjqHUD483BN9APWtvCzgjTFVGeMh3y
Credit: ꜩ1000
No script (accepts all transactions)
No delegate for this contract
Spendable by the manager
Delegate can be changed by the manager
This origination was successfully applied
Originated contracts:
KT1TptTRYx2BEYetm61ABjkBdfHXQ2SQrXo8
Consumed gas: 10000
Balance updates:
tz1es8RjqHUD483BN9APWtvCzgjTFVGeMh3y ... -ꜩ0.257
tz1es8RjqHUD483BN9APWtvCzgjTFVGeMh3y ... -ꜩ1000
KT1TptTRYx2BEYetm61ABjkBdfHXQ2SQrXo8 ... +ꜩ1000
New contract KT1TptTRYx2BEYetm61ABjkBdfHXQ2SQrXo8 originated.
The operation has only been included 0 blocks ago.
We recommend to wait more.
Use command
tezos-client wait for ooBsWAJUcvpNaNQgGREyEmdUdd2r1SFPHfSN9RWy9cUpmwVGCWP to be included --confirmations 30 --branch BLxcnVPonCjWyQSt5vgkUq9pTcrSbhXttZ8wMRS6Nmj8WBM8RhU
and/or an external block explorer.
Contract memorized as to_delegate.
$ tezos-client set delegate for to_delegate to bootacc-0 --verbose-signing
Node is bootstrapped, ready for injecting operations.
Estimated gas: 10000 units (will add 100 for safety)
Pre-signature information (verbose signing):
* Branch: BLfaNjKbfcCdDKFNrxcmcu5CsDAS3ZMEikyoygUASGuoWb9fvek
* Watermark: `Generic-operation` (0x03)
* Operation bytes:
7d8d230a91d1fb8391727f37a1bfeb332b7f249c78315ea4ae934e2103a826630701d315f
72434520d43d415f0dff4632519501d2d9400ea0901904e0000cda3081bd81219ec494b29
068dcfd19e427fed9a66abcdc9e9e99ca6478f60e90a01d315f72434520d43d415f0dff46
32519501d2d9400890902f44e00ff008bd703c4a2d91b8f1d79455be9b99c2693e931fd
* Blake 2B Hash (raw): 2iQ2VfVa8Q9vRr1qAHeFYo4fzT2d5z9kA46HRVJkbwx3
* Blake 2B Hash (ledger-style, with operation watermark):
FwGB7zDG4SNzNkdHNGhQymaTtMwnkkSXQhNmw5M6vYyy
* JSON encoding:
{ "branch": "BLfaNjKbfcCdDKFNrxcmcu5CsDAS3ZMEikyoygUASGuoWb9fvek",
"contents":
[ { "kind": "reveal",
"source": "KT1TptTRYx2BEYetm61ABjkBdfHXQ2SQrXo8", "fee": "1258",
"counter": "1", "gas_limit": "10000", "storage_limit": "0",
"public_key":
"edpkvCnetRr7moCiJkEY99Sbi4FTNgmP9yVF8JPXAYwWNkwgAaVkxV" },
{ "kind": "delegation",
"source": "KT1TptTRYx2BEYetm61ABjkBdfHXQ2SQrXo8", "fee": "1161",
"counter": "2", "gas_limit": "10100", "storage_limit": "0",
"delegate": "tz1YPSCGWXwBdTncK2aCctSZAXWvGsGwVJqU" } ] }
Operation successfully injected in the node.
Operation hash is 'opYPiKi4q3H2FFX74Yc1ehzfETF4amMYkriXth3CTcMfXXMNwmp'
Waiting for the operation to be included...
Operation found in block: BLYfaez4in6VgwQ8zvHnCFbNxhAS5Ear7xn53XUUAt2D7Nyjbbe (pass: 3, offset: 0)
This sequence of operations was run:
Manager signed operations:
From: KT1TptTRYx2BEYetm61ABjkBdfHXQ2SQrXo8
Fee to the baker: ꜩ0.001258
Expected counter: 1
Gas limit: 10000
Storage limit: 0 bytes
Balance updates:
KT1TptTRYx2BEYetm61ABjkBdfHXQ2SQrXo8 ........... -ꜩ0.001258
fees(tz1hUXU4DPHPyrEEekqhmEEJvdCpB2gP4qtp,0) ... +ꜩ0.001258
Revelation of manager public key:
Contract: KT1TptTRYx2BEYetm61ABjkBdfHXQ2SQrXo8
Key: edpkvCnetRr7moCiJkEY99Sbi4FTNgmP9yVF8JPXAYwWNkwgAaVkxV
This revelation was successfully applied
Consumed gas: 10000
Manager signed operations:
From: KT1TptTRYx2BEYetm61ABjkBdfHXQ2SQrXo8
Fee to the baker: ꜩ0.001161
Expected counter: 2
Gas limit: 10100
Storage limit: 0 bytes
Balance updates:
KT1TptTRYx2BEYetm61ABjkBdfHXQ2SQrXo8 ........... -ꜩ0.001161
fees(tz1hUXU4DPHPyrEEekqhmEEJvdCpB2gP4qtp,0) ... +ꜩ0.001161
Delegation:
Contract: KT1TptTRYx2BEYetm61ABjkBdfHXQ2SQrXo8
To: tz1YPSCGWXwBdTncK2aCctSZAXWvGsGwVJqU
This delegation was successfully applied
Consumed gas: 10000
The operation has only been included 0 blocks ago.
We recommend to wait more.
Use command
tezos-client wait for opYPiKi4q3H2FFX74Yc1ehzfETF4amMYkriXth3CTcMfXXMNwmp to be included --confirmations 30 --branch BLfaNjKbfcCdDKFNrxcmcu5CsDAS3ZMEikyoygUASGuoWb9fvek
and/or an external block explorer.
$ tezos-client withdraw delegate from to_delegate --verbose-signing
Node is bootstrapped, ready for injecting operations.
Estimated gas: 10000 units (will add 100 for safety)
Pre-signature information (verbose signing):
* Branch: BLYfaez4in6VgwQ8zvHnCFbNxhAS5Ear7xn53XUUAt2D7Nyjbbe
* Watermark: `Generic-operation` (0x03)
* Operation bytes:
6ddc5a40fbf955f4339a65aa6861c2273b618fa5ba5791b510c33295e7ab75300a01d315f
72434520d43d415f0dff4632519501d2d9400d40903f44e0000
* Blake 2B Hash (raw): AzjxdMYrkXfUSaSNDYGSt6VD6XuMSrV1F5e9Zp8JBGpt
* Blake 2B Hash (ledger-style, with operation watermark):
D3wXDH8jE2tgYM72RfAiLUki7J5Zs7FziejUEKA33s69
* JSON encoding:
{ "branch": "BLYfaez4in6VgwQ8zvHnCFbNxhAS5Ear7xn53XUUAt2D7Nyjbbe",
"contents":
[ { "kind": "delegation",
"source": "KT1TptTRYx2BEYetm61ABjkBdfHXQ2SQrXo8", "fee": "1236",
"counter": "3", "gas_limit": "10100", "storage_limit": "0" } ] }
Operation successfully injected in the node.
Operation hash is 'oowsJaz5ymbci9kdHTATXB7M6XTYfAs6HWycJECkp4ZKSfJHZJY'
Waiting for the operation to be included...
Operation found in block: BKvYwJJdRa6X6GMMHtJ2NbZSPHV4KbGZprKqvwZT68FSxwAut9o (pass: 3, offset: 0)
This sequence of operations was run:
Manager signed operations:
From: KT1TptTRYx2BEYetm61ABjkBdfHXQ2SQrXo8
Fee to the baker: ꜩ0.001236
Expected counter: 3
Gas limit: 10100
Storage limit: 0 bytes
Balance updates:
KT1TptTRYx2BEYetm61ABjkBdfHXQ2SQrXo8 ........... -ꜩ0.001236
fees(tz1hUXU4DPHPyrEEekqhmEEJvdCpB2gP4qtp,0) ... +ꜩ0.001236
Delegation:
Contract: KT1TptTRYx2BEYetm61ABjkBdfHXQ2SQrXo8
To: nobody
This delegation was successfully applied
Consumed gas: 10000
The operation has only been included 0 blocks ago.
We recommend to wait more.
Use command
tezos-client wait for oowsJaz5ymbci9kdHTATXB7M6XTYfAs6HWycJECkp4ZKSfJHZJY to be included --confirmations 30 --branch BLYfaez4in6VgwQ8zvHnCFbNxhAS5Ear7xn53XUUAt2D7Nyjbbe
and/or an external block explorer.
$ tezos-client originate contract c0 for sledger transferring 1000 from sledger running tz/vsg/src/bin_client/test/contracts/attic/id.tz --init '"hello"' --verbose-signing --burn-cap 0.4
Node is bootstrapped, ready for injecting operations.
Estimated gas: 11262 units (will add 100 for safety)
Estimated storage: 303 bytes added (will add 20 for safety)
Pre-signature information (verbose signing):
* Branch: BKvYwJJdRa6X6GMMHtJ2NbZSPHV4KbGZprKqvwZT68FSxwAut9o
* Watermark: `Generic-operation` (0x03)
* Operation bytes:
1bdbb5b55a6e566bfb5f721230a113412f510c74f4448fc86505c5abe29ec625090000d2e
495a7ab40156d0a7c35b73d2530a3470fc8709f0b04e258c30200d2e495a7ab40156d0a7c
35b73d2530a3470fc8708094ebdc03000000ff0000001c020000001705000368050103680
50202000000080316053d036d03420000000a010000000568656c6c6f
* Blake 2B Hash (raw): 8h52p7wqCFiSJap5C5D8Q61LXP45E2MPuCwdWaMFBCnu
* Blake 2B Hash (ledger-style, with operation watermark):
8bd9eq8uUt2WjCGKeGPN8LFQg4X54jy3wn7PoQxSdX9Q
* JSON encoding:
{ "branch": "BKvYwJJdRa6X6GMMHtJ2NbZSPHV4KbGZprKqvwZT68FSxwAut9o",
"contents":
[ { "kind": "origination",
"source": "tz1es8RjqHUD483BN9APWtvCzgjTFVGeMh3y", "fee": "1439",
"counter": "4", "gas_limit": "11362", "storage_limit": "323",
"managerPubkey": "tz1es8RjqHUD483BN9APWtvCzgjTFVGeMh3y",
"balance": "1000000000", "spendable": false,
"delegatable": false,
"script":
{ "code":
[ { "prim": "parameter", "args": [ { "prim": "string" } ] },
{ "prim": "storage", "args": [ { "prim": "string" } ] },
{ "prim": "code",
"args":
[ [ { "prim": "CAR" },
{ "prim": "NIL",
"args": [ { "prim": "operation" } ] },
{ "prim": "PAIR" } ] ] } ],
"storage": { "string": "hello" } } } ] }
Operation successfully injected in the node.
Operation hash is 'oooVPV8UpxejjTC8ubZRcWfLz8gq8hBDsMmXNeokxJt86WkAsKQ'
Waiting for the operation to be included...
Operation found in block: BMXzD1fUS8StA9aDvEk9HteXhQCYw1r5z5rX4h9yRX6zSKFzr5Q (pass: 3, offset: 0)
This sequence of operations was run:
Manager signed operations:
From: tz1es8RjqHUD483BN9APWtvCzgjTFVGeMh3y
Fee to the baker: ꜩ0.001439
Expected counter: 4
Gas limit: 11362
Storage limit: 323 bytes
Balance updates:
tz1es8RjqHUD483BN9APWtvCzgjTFVGeMh3y ........... -ꜩ0.001439
fees(tz1hUXU4DPHPyrEEekqhmEEJvdCpB2gP4qtp,1) ... +ꜩ0.001439
Origination:
From: tz1es8RjqHUD483BN9APWtvCzgjTFVGeMh3y
For: tz1es8RjqHUD483BN9APWtvCzgjTFVGeMh3y
Credit: ꜩ1000
Script:
{ parameter string ;
storage string ;
code { CAR ; NIL operation ; PAIR } }
Initial storage: "hello"
No delegate for this contract
This origination was successfully applied
Originated contracts:
KT19cx8uShwf1cso4JmL5EARvJ6M5uz7Goty
Storage size: 46 bytes
Paid storage size diff: 46 bytes
Consumed gas: 11262
Balance updates:
tz1es8RjqHUD483BN9APWtvCzgjTFVGeMh3y ... -ꜩ0.046
tz1es8RjqHUD483BN9APWtvCzgjTFVGeMh3y ... -ꜩ0.257
tz1es8RjqHUD483BN9APWtvCzgjTFVGeMh3y ... -ꜩ1000
KT19cx8uShwf1cso4JmL5EARvJ6M5uz7Goty ... +ꜩ1000
New contract KT19cx8uShwf1cso4JmL5EARvJ6M5uz7Goty originated.
The operation has only been included 0 blocks ago.
We recommend to wait more.
Use command
tezos-client wait for oooVPV8UpxejjTC8ubZRcWfLz8gq8hBDsMmXNeokxJt86WkAsKQ to be included --confirmations 30 --branch BKvYwJJdRa6X6GMMHtJ2NbZSPHV4KbGZprKqvwZT68FSxwAut9o
and/or an external block explorer.
Contract memorized as c0.
$ tezos-client submit proposals for sledger \
Prqg8m9F3MriiJyKuCmQzJEsnTCcYbuiP8TVbAZsFCwLcg8Xavw \
PsqMEmUVGEhcFK1B6wG57hoTFn1ckePAH2Y2FQqFDnjmnowLDTe \
Ps6LVbHPaeVfJe7DELfYncv9mZTRUQmy12wcqu2GWcgbdZBxtZC \
PsPV5ZRZsTdT6WSS8ehwHARoFZyThpGipfxU8hTKsNbo3rBGM56 \
PtWRULfDkFagFRjKEh5kKCUJ5nSFQdmSmE82ooiiTX1oDKuZ7fj \
PsaKxtyuCS7xfNE9cRn7um74n6vG3PCJgkwBZyTNBRXe47PAevy \
PsfGxJqE8eUpupbKHCPrKM5UxAyeaw2vmxkjg3xxCM4TJEBXeZR \
ProDLfkDbPg7gf4zGt2znra9FWFe9uuHmpvYkkCZzM2aWGD3udZ \
PtcXCrhgUC64nn6H9Rzw1yM3xRk14na27piVhx2y6njtGzaYVJm \
Pt9voHR8FzZUgopzjiKrfEgUHwtUXwa4BTjt8CMKn61BxDVdtV1 \
PtJc8UYi3ha9yG4c1v2GFfwcW7DcA2UpJhT8faSACJ1PzKD4LCv \
Prxb97zADA79weKsvjmsqd6ztYjtNdXYHiJkYPbxJj6r5NM4HBd \
PtEryq5jmynGZfAfQb7Evw4ZBH4Ucn1Jh3hN24J5aP3Gi1KRSWZ \
PsBFwj3391bt7u24r44vWz9cbfXZqhQhKuEbCDM4K8BYk1UShVc \
Ps7H4VK9gRMU9kdw8RteNDZWT51e4U74Aivjs6LcyQ34tgmQ5JF \
PsEUJ6X78R6jEV19hRg5wdypf5chfnMGQqQVG3JXNd5a9ijV8Qu \
PtcTP3DmWzZePrfDyuLaKGKmjx2zPJRiyETv3bDSBN4NV1Ekbdc \
PtUnrfPg86aDpqY2g9eTSG7zXG1wPDzDc8MV68f6yDKsb5Va4QN \
PtNBgBbHL31AsyLmuezRxNJTRobcMxncz5WCBL4SfqtPoecyzs4 \
Prw1Kp9r68Pjoiyi9PEjwY6mwUP1vZiNzXYbqBdp5XTX8b6ou6p \
PtNnPJZFr1q44xQ1dTVvSviqoH1Dh182r9HFqjNoxS6ThfETsc1 \
PtMomAE1hncfVA5nhmtMAkQQ6XRwhts3LUpve5n86b2RLyJaWzN --force --verbose-signing
There are issues with the submission:
* Public-key-hash `tz1es8RjqHUD483BN9APWtvCzgjTFVGeMh3y` from account
`sledger` does not appear to have voting rights.
* Protocol PtMomAE1hncfVA5nhmtMAkQQ6XRwhts3LUpve5n86b2RLyJaWzN is not a known
proposal.
* Protocol PtNnPJZFr1q44xQ1dTVvSviqoH1Dh182r9HFqjNoxS6ThfETsc1 is not a known
proposal.
* Protocol Prw1Kp9r68Pjoiyi9PEjwY6mwUP1vZiNzXYbqBdp5XTX8b6ou6p is not a known
proposal.
* Protocol PtNBgBbHL31AsyLmuezRxNJTRobcMxncz5WCBL4SfqtPoecyzs4 is not a known
proposal.
* Protocol PtUnrfPg86aDpqY2g9eTSG7zXG1wPDzDc8MV68f6yDKsb5Va4QN is not a known
proposal.
* Protocol PtcTP3DmWzZePrfDyuLaKGKmjx2zPJRiyETv3bDSBN4NV1Ekbdc is not a known
proposal.
* Protocol PsEUJ6X78R6jEV19hRg5wdypf5chfnMGQqQVG3JXNd5a9ijV8Qu is not a known
proposal.
* Protocol Ps7H4VK9gRMU9kdw8RteNDZWT51e4U74Aivjs6LcyQ34tgmQ5JF is not a known
proposal.
* Protocol PsBFwj3391bt7u24r44vWz9cbfXZqhQhKuEbCDM4K8BYk1UShVc is not a known
proposal.
* Protocol PtEryq5jmynGZfAfQb7Evw4ZBH4Ucn1Jh3hN24J5aP3Gi1KRSWZ is not a known
proposal.
* Protocol Prxb97zADA79weKsvjmsqd6ztYjtNdXYHiJkYPbxJj6r5NM4HBd is not a known
proposal.
* Protocol PtJc8UYi3ha9yG4c1v2GFfwcW7DcA2UpJhT8faSACJ1PzKD4LCv is not a known
proposal.
* Protocol Pt9voHR8FzZUgopzjiKrfEgUHwtUXwa4BTjt8CMKn61BxDVdtV1 is not a known
proposal.
* Protocol PtcXCrhgUC64nn6H9Rzw1yM3xRk14na27piVhx2y6njtGzaYVJm is not a known
proposal.
* Protocol ProDLfkDbPg7gf4zGt2znra9FWFe9uuHmpvYkkCZzM2aWGD3udZ is not a known
proposal.
* Protocol PsfGxJqE8eUpupbKHCPrKM5UxAyeaw2vmxkjg3xxCM4TJEBXeZR is not a known
proposal.
* Protocol PsaKxtyuCS7xfNE9cRn7um74n6vG3PCJgkwBZyTNBRXe47PAevy is not a known
proposal.
* Protocol PtWRULfDkFagFRjKEh5kKCUJ5nSFQdmSmE82ooiiTX1oDKuZ7fj is not a known
proposal.
* Protocol PsPV5ZRZsTdT6WSS8ehwHARoFZyThpGipfxU8hTKsNbo3rBGM56 is not a known
proposal.
* Protocol Ps6LVbHPaeVfJe7DELfYncv9mZTRUQmy12wcqu2GWcgbdZBxtZC is not a known
proposal.
* Protocol PsqMEmUVGEhcFK1B6wG57hoTFn1ckePAH2Y2FQqFDnjmnowLDTe is not a known
proposal.
* Protocol Prqg8m9F3MriiJyKuCmQzJEsnTCcYbuiP8TVbAZsFCwLcg8Xavw is not a known
proposal.
* Too many proposals: 22 > 20.
Some proposals are not valid, but `--force` was used.
Node is bootstrapped, ready for injecting operations.
Pre-signature information (verbose signing):
* Branch: BLzta84P2HH33niR5BLqJCnGf2YrxFchA38sgUXHtyXYGQNKTYJ
* Watermark: `Generic-operation` (0x03)
* Operation bytes:
a967cf35a8bba485ddcf711e1254f613bad774ba4e846d24d1867b9ed4e5d8380500d2e49
5a7ab40156d0a7c35b73d2530a3470fc87000000004000002c00fd923ca5e7218c4ba3c38
01c26a617ecdbfdaebb9c76ce2eca166e7855efbb892cdf578c47085a5992256f0dcf97d0
b19f1f1c9de4d5fe30c3ace6191b6e5db31237cdb79ae1dfa7ffb87cde7ea8a80352d300e
e5ac758a6cddd19d671925ec581348337b0f3e148620173daaa5f94d00d881705dcbf0aa8
3efdaba61d2ede1eb8649214997574e20c464388a172420d25403682bbbb80c496831c8cc
1f8f0d70b201352f24bf1c9770b99f8f71201821411cf414377c9b8c2dbcee61db87d67be
e3bbfb37286d6a41378082e08c12af0084f0b1b92f77983f4c3394e91b5e90a420b072ce7
2f6a6833576ffa74ea21dcca4ce7c025dbee7b1dae478cba6f29f95f6b30745ba7cbab07c
cc59fdc83be45649c4c964909b7675ff0b57b15f585bcfd554527e31708adfbfdcaa46092
238b452331f9c438a3f8b2d891648252a2d0b1be7d92bf8830457c084ff4da1c2841879b4
83c3cface85dcd40f69e1ab8e1f8c0bfd983fbc0c61f48b51ee0d8a95148dd96756fcd00e
c76260f6efa8030fc83176b698c10e17d80324d6ea14f2bc47fd2b0d247aa1c10815bb31b
f1f44953c504a2e2be2c29b5b5f35f6a52f4f7c8733a7f26387484d8ef2d3ff92c53fea33
465cfcceb111b0c4fc1bd728fbf5d478dd8acc8cffbbb6ff1aa123e3cfcead439be98bf90
21ac2c94c2e5a0aacd02cf5fc252f9a69b1d32fc32c8293474eadf93916fa5d2fb992814e
85a225c21fc518c1fc375bcc6415bf127158eeb4fc32e7d20c296e273f8446ea555069d31
0daebc3a84bf070bad7f184ed8199a6ce23d8d1c9f15f619c5784cc310914e0867500299f
ac0197e2ee16ce029de21555d61bf3dd7ca6cdfe766f689ed771d8738c3aeb4a0367e9feb
7b6b65c142a4e31fcda2da4e3366bca0044c0340f33a10067c0be5235a081f4a87b4f3958
bb2aea77d7f629d9cf2c7ce0404ac62c874a9b1eafe7e31f3747cbcc8b6f56481dc74aed
* Blake 2B Hash (raw): ApHUdZzq9e1LoGzCn3yCDZaTB5R7ciKqfXhWLk12DZ9U
* Blake 2B Hash (ledger-style, with operation watermark):
62CTUKVgVqgJgHTFTatZjN3UZeD448d57EKxVAFj3Mug
* JSON encoding:
{ "branch": "BLzta84P2HH33niR5BLqJCnGf2YrxFchA38sgUXHtyXYGQNKTYJ",
"contents":
[ { "kind": "proposals",
"source": "tz1es8RjqHUD483BN9APWtvCzgjTFVGeMh3y", "period": 4,
"proposals":
[ "Prqg8m9F3MriiJyKuCmQzJEsnTCcYbuiP8TVbAZsFCwLcg8Xavw",
"PsqMEmUVGEhcFK1B6wG57hoTFn1ckePAH2Y2FQqFDnjmnowLDTe",
"Ps6LVbHPaeVfJe7DELfYncv9mZTRUQmy12wcqu2GWcgbdZBxtZC",
"PsPV5ZRZsTdT6WSS8ehwHARoFZyThpGipfxU8hTKsNbo3rBGM56",
"PtWRULfDkFagFRjKEh5kKCUJ5nSFQdmSmE82ooiiTX1oDKuZ7fj",
"PsaKxtyuCS7xfNE9cRn7um74n6vG3PCJgkwBZyTNBRXe47PAevy",
"PsfGxJqE8eUpupbKHCPrKM5UxAyeaw2vmxkjg3xxCM4TJEBXeZR",
"ProDLfkDbPg7gf4zGt2znra9FWFe9uuHmpvYkkCZzM2aWGD3udZ",
"PtcXCrhgUC64nn6H9Rzw1yM3xRk14na27piVhx2y6njtGzaYVJm",
"Pt9voHR8FzZUgopzjiKrfEgUHwtUXwa4BTjt8CMKn61BxDVdtV1",
"PtJc8UYi3ha9yG4c1v2GFfwcW7DcA2UpJhT8faSACJ1PzKD4LCv",
"Prxb97zADA79weKsvjmsqd6ztYjtNdXYHiJkYPbxJj6r5NM4HBd",
"PtEryq5jmynGZfAfQb7Evw4ZBH4Ucn1Jh3hN24J5aP3Gi1KRSWZ",
"PsBFwj3391bt7u24r44vWz9cbfXZqhQhKuEbCDM4K8BYk1UShVc",
"Ps7H4VK9gRMU9kdw8RteNDZWT51e4U74Aivjs6LcyQ34tgmQ5JF",
"PsEUJ6X78R6jEV19hRg5wdypf5chfnMGQqQVG3JXNd5a9ijV8Qu",
"PtcTP3DmWzZePrfDyuLaKGKmjx2zPJRiyETv3bDSBN4NV1Ekbdc",
"PtUnrfPg86aDpqY2g9eTSG7zXG1wPDzDc8MV68f6yDKsb5Va4QN",
"PtNBgBbHL31AsyLmuezRxNJTRobcMxncz5WCBL4SfqtPoecyzs4",
"Prw1Kp9r68Pjoiyi9PEjwY6mwUP1vZiNzXYbqBdp5XTX8b6ou6p",
"PtNnPJZFr1q44xQ1dTVvSviqoH1Dh182r9HFqjNoxS6ThfETsc1",
"PtMomAE1hncfVA5nhmtMAkQQ6XRwhts3LUpve5n86b2RLyJaWzN" ] } ] }
Error:
Error:
Unauthorized proposal