Skip to content

Clean up residual pq1/bech32m references in SDK docs and examples#19

Merged
LucienSong merged 1 commit into
mainfrom
chore/remove-pq1-residue
May 24, 2026
Merged

Clean up residual pq1/bech32m references in SDK docs and examples#19
LucienSong merged 1 commit into
mainfrom
chore/remove-pq1-residue

Conversation

@LucienSong
Copy link
Copy Markdown
Collaborator

@LucienSong LucienSong commented May 24, 2026

Cherry-pick of LucienSong#1 onto ShellDAO main.

Background: Shell-Chain v0.23.0 canonical address is 0x + 64 lowercase hex. pq1/Bech32m is no longer supported. This PR removes stale pq1 wording from AGENTS.md, CHANGELOG.md, examples/minimal-dapp/*, and tests/api-surface.test.mjs.

Validation:

  • npm run build and npm test pass (verified by the cleanup agent).
  • Docs and test fixtures only; no runtime or ABI changes.

Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com

* spec: align address format to 0x 64-char hex 32-byte

- Rewrite address.ts: BLAKE3(algo_id||pk) → 32 bytes, 0x hex display
- Remove bech32m/pq1 encoding; no version byte
- Rename: bytesToShellAddress, shellAddressToBytes, deriveShellAddressFromPublicKey, isShellAddress, normalizeShellAddress
- Keep legacy pq* aliases (deprecated) for callers during transition
- system-contracts.ts: system addresses now 32-byte big-endian (matching shell-chain)
- Update all src/*.ts: imports, comments, pq1 examples → 0x
- index.ts: export new Shell* names + legacy aliases

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* docs: add self-contained AGENTS.md SSoT for AI agents (#16)

* docs: add self-contained AGENTS.md SSoT for AI agents

Add an AGENTS.md (and CLAUDE.md pointer) in this repository root that
serves as the single source of truth for AI coding agents working here.

The file is fully self-contained (no references to files outside this
submodule) and English-only (apart from one literal Chinese template
string for AI-attribution).

Cross-vendor: AGENTS.md is the native format for Codex, Copilot CLI;
CLAUDE.md, .cursor/rules/main.mdc, and .github/copilot-instructions.md
all point to AGENTS.md.

🤖 本提交由 AI Agent (Copilot) 创建

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chore(gitignore): ignore local AI/Agent state directories

Add a standard ignore block for AI/agent local caches, configs, and
scratch files (.claude/, .codex/, .cursor/, .antigravity/, .aider*,
.continue/, .roo/, .windsurf/, .copilot/, AGENTS.local.md, etc.).

The committed SSoT files (AGENTS.md, CLAUDE.md, docs/agents/) remain
tracked — only ad-hoc local agent state is ignored.

🤖 本提交由 AI Agent (Copilot) 创建

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: LucienSong <LucienSong@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* docs(readme): align with shell-chain v0.23.0 — drop pq1/Bech32m, document 32-byte 0x addresses, flag signing-hash drift (#17)

* docs(readme): align with chain v0.23.0 — drop pq1/Bech32m examples, document 32-byte 0x address format, flag signing-hash drift

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* docs: fix system-contracts table, address exports, and error messages

Address three Copilot review comments on PR #17:

1. Fix malformed system-contracts table (3-column header with 2-column
   rows) — collapse to a clean 2-column Name/Address table with full
   32-byte literal addresses.

2. Fix normalizeShellAddress error example (lines 206, 737) to match
   the actual thrown message: 'expected 0x + 64-char hex address, got: …'

3. Fix system-contracts module reference: remove the non-existent
   validatorRegistryHexAddress / accountManagerHexAddress entries;
   document only the actual exports (validatorRegistryAddress /
   accountManagerAddress) with their full 32-byte canonical values;
   update the isSystemContractAddress example to use a 32-byte address.

Also fix stale error message in the error-handling table:
'expected 20 address bytes' → 'expected 32 address bytes' to match
address.ts:37.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* test: update fixtures and assertions for v0.23.0 0x address format

Replace all pq1/Bech32m address references in test fixtures and
assertions with valid 0x + 64-char hex Shell addresses. Update
keystore fixture address fields to match BLAKE3-derived canonical
addresses. Fix tampered-address test to produce a valid 64-char
hex address before mutation so the keystore address-mismatch guard
is exercised (not the format validator). Update rust-compat fixture
pq_address and transaction hash vectors for 32-byte address encoding.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: LucienSong <LucienSong@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* docs: align README and PQTx comments with PQVM-native design (#18)

* docs: replace EVM-compatible headline; clarify PQTx fee-field comments

- README: PQVM-native chain description
- src/transactions.ts: EIP-1559-style fee fields (not claiming ECDSA-based signing),
  Shell chain ID label instead of EIP-155, removed bare EIP-1559 and EIP-155 labels

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* docs(transactions): address review comments — standardize chainId/fee-field JSDoc

- Standardize chainId description to 'EIP-155 chain ID (Shell Chain)' in
  BuildTransactionOptions (was 'Shell chain ID'), matching all other helpers
- Remove '-style' suffix from EIP-1559 fee field docs in BuildTransactionOptions
  for consistency with DEFAULT_MAX_FEE_PER_GAS / DEFAULT_MAX_PRIORITY_FEE_PER_GAS
- Add '(scaffolded; not enforced by the chain)' note to maxFeePerGas and
  maxPriorityFeePerGas fields to clarify gas fields are present in encoding
  but not yet active on-chain
- Update DEFAULT_TX_TYPE comment to explain fee-field scaffolding intent

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: LucienSong <LucienSong@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* docs(sdk): scrub stale pq1 bech32m mentions from README/examples

Remove stale documentation and example references that implied pq1 bech32m was a valid current render.

Current v0.23.0-compatible APIs use BLAKE3-derived 32-byte Shell addresses rendered as 0x + 64 lowercase hex; deprecated Pq* aliases remain for API compatibility.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: LucienSong <LucienSong@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings May 24, 2026 14:02
@LucienSong LucienSong merged commit 4866abf into main May 24, 2026
1 of 2 checks passed
@LucienSong LucienSong deleted the chore/remove-pq1-residue branch May 24, 2026 14:03
@LucienSong LucienSong changed the title 清理 SDK 中残留的 pq1/bech32m 文档与示例 Clean up residual pq1/bech32m references in SDK docs and examples May 24, 2026
@LucienSong LucienSong review requested due to automatic review settings May 24, 2026 14:27
LucienSong added a commit that referenced this pull request May 24, 2026
Cherry-pick of LucienSong#1 onto ShellDAO main.

Shell-Chain v0.23.0 canonical address is 0x + 64 lowercase hex; pq1/Bech32m
is no longer supported. Removes stale pq1 wording from AGENTS.md,
CHANGELOG.md, examples/minimal-dapp/*, and tests/api-surface.test.mjs.

Docs and test fixtures only; no runtime or ABI changes.

Co-authored-by: Lucien <44640337+LucienSong@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
LucienSong added a commit that referenced this pull request May 24, 2026
First published release with 32-byte 0x hex address format (breaking from
0.8.x). Includes docs cleanup PRs #16-#19 on top of the 0.9.0 dev tag.

Requires shell-chain >= v0.23.0.

Co-authored-by: LucienSong <LucienSong@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant