Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: okx/proof-of-reserves
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v3.1.15
Choose a base ref
...
head repository: okx/proof-of-reserves
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v3.1.16
Choose a head ref
  • 18 commits
  • 24 files changed
  • 3 contributors

Commits on Jul 31, 2026

  1. feat(verify): add BIP-322 P2TR verification and ADA payment credentia…

    …l matching
    
    BIP-322 P2TR:
    - Add common/bip322.go implementing BIP-322 message hashing and Schnorr
      signature verification for Taproot key-path spends
    - VerifyUtxoCoin routes P2TR addresses to VerifyBip322P2TR; Schnorr is not a
      recoverable signature scheme, so the pubkey-recovery path cannot apply and
      the signing key is taken from the address instead
    - GuessUtxoCoinAddressType checks P2TR first: the existing bech32 pattern
      "^bc1[0-9a-zA-Z]{11,71}$" also matches bc1p... and reported them as P2WSH
    
    ADA:
    - Replace address reconstruction with AdaAddressMatchesPubKey, which decodes
      the address and compares the payment credential it carries. Base (addr1q...)
      and Pointer addresses also commit to a staking credential or chain pointer
      that no payment key can derive, so they can never be rebuilt from the key
      alone. Enterprise addresses are covered by the same path.
    - Reject script-hash payment credentials: a script is not a public key, so no
      key can prove ownership of one.
    
    Dependencies (required for Taproot/Schnorr support, cannot be reduced):
    - btcd 0.23.4 -> 0.24.2, btcec 2.3.2 -> 2.3.4, btcutil -> 1.1.5
    - go-ethereum 1.12.2 -> 1.16.1, Go 1.17 -> 1.23
    
    Tests: bip322_test.go covers the official BIP-322 vector, a POR report vector,
    and rejection cases (tampered signature, wrong message/address, script path).
    ada_test.go covers base/enterprise addresses, wrong key, script hash, testnet.
    
    Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
    LwwL-123 and claude committed Jul 31, 2026
    Configuration menu
    Copy the full SHA
    8faba08 View commit details
    Browse the repository at this point in the history
  2. fix(checkbalance): parse 11- and 12-column POR report detail rows

    InitPorCsvDataMap only accepted len(args) == 9. The detail section grew to
    11 columns (eoa1/eoa2) and then 12 (Type), so every detail row was silently
    dropped -- loading the current production report yields 0 rows instead of
    213087, leaving PorCoinDataMap empty and every report-side balance at 0.
    
    Resolve the layout from the header instead. DetectPorFormatOffset is now
    shared with verifyaddress, which no longer keeps its own copy.
    
    Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
    LwwL-123 and claude committed Jul 31, 2026
    Configuration menu
    Copy the full SHA
    3cceefb View commit details
    Browse the repository at this point in the history
  3. docs: add design spec for network-driven signature verification

    Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
    LwwL-123 and claude committed Jul 31, 2026
    Configuration menu
    Copy the full SHA
    30f9eab View commit details
    Browse the repository at this point in the history
  4. docs: add implementation plan for network-driven verification

    Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
    LwwL-123 and claude committed Jul 31, 2026
    Configuration menu
    Copy the full SHA
    990a4b4 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    8ed7161 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    649041e View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    337ab61 View commit details
    Browse the repository at this point in the history
  8. refactor(verify): resolve msg header and address type from network

    Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
    LwwL-123 and claude committed Jul 31, 2026
    Configuration menu
    Copy the full SHA
    fe393cf View commit details
    Browse the repository at this point in the history
  9. test(crypto): pass network names to Verify* after semantic change

    Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
    LwwL-123 and claude committed Jul 31, 2026
    Configuration menu
    Copy the full SHA
    f0da870 View commit details
    Browse the repository at this point in the history
  10. refactor(csv_verify): look up verification scheme by network table

    Switch the Deloitte flow's three PorCoinTypeMap[coin] lookups to
    NetworkType(coin), keeping the ECDSA fallback in
    verifyCSVLineInternal. The coin parameter here is always the network
    column value.
    LwwL-123 committed Jul 31, 2026
    Configuration menu
    Copy the full SHA
    484a388 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    81272e3 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    08c7891 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    b9e6243 View commit details
    Browse the repository at this point in the history
  14. docs: remove internal design/plan documents from repository

    Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
    LwwL-123 and claude committed Jul 31, 2026
    Configuration menu
    Copy the full SHA
    83967f4 View commit details
    Browse the repository at this point in the history
  15. test(csv_verify): detect dq-por chain-column layout in multithread test

    Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
    LwwL-123 and claude committed Jul 31, 2026
    Configuration menu
    Copy the full SHA
    3d80f78 View commit details
    Browse the repository at this point in the history

Commits on Aug 3, 2026

  1. feat(verify): derive NULS address for ECDSA signature verification

    Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
    LwwL-123 and claude committed Aug 3, 2026
    2 Configuration menu
    Copy the full SHA
    e1b2e7c View commit details
    Browse the repository at this point in the history

Commits on Aug 14, 2026

  1. 2 Configuration menu
    Copy the full SHA
    732764f View commit details
    Browse the repository at this point in the history
  2. Merge branch 'feature/ada-bip322-address-verification' into 'main'

    feat(verify): add BIP-322 P2TR verification and ADA payment credential matching
    
    Closes BIP-322
    
    See merge request sign-github-mirror/proof-of-reserves!6
    yong.huang@okg.com
    yong.huang@okg.com committed Aug 14, 2026
    Configuration menu
    Copy the full SHA
    dc00a96 View commit details
    Browse the repository at this point in the history
Loading