@rhinestone/shared-configs 2.0.1 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -18,6 +18,47 @@ Source-of-truth lives in Yeet Jsonnet config:
18
18
  2. Regenerate configs with `bun run generate` from this directory (requires Go)
19
19
  3. Merge to `main` to publish `@rhinestone/shared-configs`
20
20
 
21
+ ## Token authorizations
22
+
23
+ An EVM token with verified token-native signed authorization support carries an
24
+ optional `authorization` object in `chainRegistry[chainId].tokens[]`:
25
+
26
+ ```ts
27
+ {
28
+ standards: ['erc3009', 'erc2612'],
29
+ domain: {
30
+ name: 'USD Coin',
31
+ version: '2',
32
+ chainId: 8453,
33
+ verifyingContract: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',
34
+ },
35
+ domainSeparator: '0x02fa7265e7c5d81118673727957699e4d68f74cd74b7db77da710fe8a2c7834f',
36
+ eoaOnly: false,
37
+ }
38
+ ```
39
+
40
+ The domain contains every EIP-712 signing field. Most deployments use the
41
+ canonical `chainId` layout; legacy Polygon USDT0 instead carries a bytes32
42
+ `salt` and omits `chainId`. `domainSeparator` pins the exact live contract
43
+ value. Consumers should derive the separator from `domain`, compare it with the
44
+ pinned value and the token's live `DOMAIN_SEPARATOR()`, and fail closed before
45
+ requesting a signature if either differs.
46
+
47
+ `eoaOnly: false` means the verified implementation also exposes bytes-signature
48
+ overloads backed by ERC-1271-aware signature checking. Consumers using only the
49
+ legacy `v/r/s` overloads may still impose their own EOA-only restriction.
50
+
51
+ Absence means no token-native capability has been verified. It says nothing
52
+ about Permit2, which is an external contract and is available only when the
53
+ owner has granted it sufficient token allowance.
54
+
55
+ Run `bun run audit:token-authorizations` to revalidate every direct EVM token at
56
+ a single recent block per chain. The audit resolves EIP-1967, legacy Zeppelin,
57
+ and facet-routed implementations; checks exact selectors, state readers, EIP
58
+ type hashes, signature overloads, and the live domain separator; and fails when
59
+ the result differs from the registry. Use `TOKEN_AUTH_AUDIT_RPC_<chainId>` to
60
+ override a rate-limited public RPC.
61
+
21
62
  ## Vendor drift
22
63
 
23
64
  `bun run check:vendor-drift` diffs the RHINO, NEAR and CCTP claims in