Skip to content

Commit 309fafc

Browse files
werner-stacksgitbook-bot
authored andcommitted
GITBOOK: Apply Stacks Labs writing rules to Generate a Signer Signature
1 parent b2b05b9 commit 309fafc

1 file changed

Lines changed: 8 additions & 8 deletions

File tree

‎docs/operate/stacking-stx/generate-signer-signature.md‎

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ description: >-
1010
Updated for Stacks 4.x and PoX-5.
1111
{% endhint %}
1212

13-
PoX-5 uses a one-time **signer-key grant**. You generate one grant per signer-manager contract and submit it once. Every staking call routed through that manager then relies on it until you revoke it. There is nothing to generate per transaction, per cycle, or per staker.
13+
PoX-5 uses a one-time **signer-key grant**. You generate one grant per signer-manager contract and submit it once. Every staking call routed through that manager then relies on it until you revoke it. There is nothing to generate per transaction or per cycle.
1414

15-
The grant ties three things together: your signer node, the signer-manager contract that stakers stake to, and the pox-5 contract. Without an active grant, `stake` and every related call against your manager fails with `ERR_SIGNER_KEY_GRANT_NOT_FOUND` (u17).
15+
The grant is what connects your signer node, the signer-manager contract that stakers stake to, and the pox-5 contract. Without an active grant, `stake` and every related call against your manager fails with `ERR_SIGNER_KEY_GRANT_NOT_FOUND` (u17).
1616

1717
### Generate the grant
1818

@@ -51,7 +51,7 @@ The [register-self page](https://stx.fan/signer/04-register-self.html) takes a c
5151

5252
### What the grant contains
5353

54-
The signed message carries two application fields and nothing else:
54+
The signed message:
5555

5656
```clarity
5757
message: { topic: "grant-authorization", signer-manager: <principal>, auth-id: <uint> }
@@ -61,7 +61,7 @@ domain: { name: "pox-5-signer", version: "1.0.0", chain-id: <uint> }
6161
* **`signer-manager`** is the contract principal the key is bound to. Every staker who later stakes through that manager relies on this one grant.
6262
* **`auth-id`** is a replay guard. The tuple `(signer-key, signer-manager, auth-id)` can be consumed exactly once. Reusing it fails with `ERR_SIGNER_KEY_GRANT_USED` (u12). Pick a fresh value to issue a new grant.
6363

64-
There is no `max-amount`, `period`, `reward-cycle`, or `pox-addr` field. The grant is not scoped to a single call.
64+
Those two fields are the whole scope. A grant authorises a signer-manager and stands until you revoke it.
6565

6666
### One grant covers every entrypoint
6767

@@ -83,9 +83,9 @@ It must be sent directly by the Stacks principal derived from the signer key. No
8383

8484
Revoking is not a kill switch. It stops the manager accepting new stake. Existing positions are left intact and wind down as their locks expire.
8585

86-
### Doing it with the SDK
86+
### Using @stacks/bitcoin-staking
8787

88-
`@stacks/bitcoin-staking` exposes the same flow for tooling:
88+
The SDK exposes the same flow for tooling:
8989

9090
```typescript
9191
import {
@@ -119,6 +119,6 @@ stacks-signer generate-stacking-signature \
119119
--config ./config.toml --json
120120
```
121121

122-
Three things changed. The command was renamed from `generate-stacking-signature` to `generate-staking-signature`. Five scoping flags collapsed into a single `--signer-manager`. And the result is reusable, so you run it once per manager rather than once per transaction.
122+
The command was renamed from `generate-stacking-signature` to `generate-staking-signature`. Five scoping flags collapsed into a single `--signer-manager`. The result is reusable, so you run it once per manager rather than once per transaction.
123123

124-
The old per-function signature table no longer applies. There are no `--method`, `--max-amount`, `--period`, `--reward-cycle`, or `--pox-address` flags, because a grant authorises a signer-manager rather than a specific call.
124+
There are no `--method`, `--max-amount`, `--period`, `--reward-cycle`, or `--pox-address` flags, because a grant authorises a signer-manager rather than a specific call.

0 commit comments

Comments
 (0)