Commit db1108e
fix(abstract-substrate): blake2_256 prehash signablePayload over 256 bytes
Substrate signs the raw encoded ExtrinsicPayload when it is at most 256
bytes, but signs the blake2_256 hash of the payload when it exceeds 256
bytes. The signablePayload getter previously always returned the raw
bytes, so for large extrinsics (e.g. POLYX nominate with 6+ validators)
the BitGoJS user signed the raw payload while the HSM signed the hash,
causing TSS signature combination to fail with InvalidSignature.
Return blake2_256(raw) (32 bytes) when the payload is larger than 256
bytes, and the raw bytes otherwise, so all downstream consumers
(sdk-coin-polyx, sdk-coin-dot, recovery flows) get the correct
signableHex without coin-specific logic.
Generated with [Linear](https://linear.app/bitgo/issue/SI-911/fix-signablepayload-to-apply-substrate-blake2-256-prehash-when#agent-session-0bfb5d75)
Co-authored-by: linear-code[bot] <222613912+linear-code[bot]@users.noreply.github.com>0 parents commit db1108e
5,892 files changed
Lines changed: 1005412 additions & 0 deletions
File tree
- .github
- ISSUE_TEMPLATE
- actions
- verify-npm-packages
- version-bump-summary
- prompts
- workflows
- .husky
- docs
- examples
- docs
- js
- ada
- algo
- atom
- eth
- sol
- sui/custom-tx
- trx
- xtz
- ts
- ada
- address-book
- algo
- apt
- atom
- avaxp
- btc
- bip322
- changeAddress
- legacySafe
- fixtures
- lightning
- omni
- ordinals
- rbf
- custodial
- v1
- eth
- go-account
- http-proxy
- key
- nft
- proxy
- sol
- utils/nonce-account-creation
- json
- stablecoin
- sui
- trade
- network
- trx
- tss-recovery
- tss-smc
- json
- xrp
- xtz
- modules
- abstract-cosmos
- resources
- src
- lib
- abstract-eth
- src
- lib
- messages
- eip191
- eip712
- transferBuilders
- test
- unit
- messages
- eip191
- eip712
- transactionBuilder
- abstract-lightning
- src
- codecs
- api
- lightning
- wallet
- test/unit/lightning
- abstract-substrate
- src
- lib
- abstract-utxo
- src
- address
- descriptor
- builder
- createWallet
- impl
- bcha
- bch
- bsv
- btc
- btg
- dash
- doge
- ltc
- zec
- offlineVault
- descriptor
- recovery
- transaction
- common
- descriptor
- fixedScript
- test
- integration/impl/bch
- unit
- descriptor
- createWallet
- fixtures
- fixtures
- fixtures
- bcha
- recovery
- bch
- recovery
- bsv
- recovery
- btc
- recovery
- btg
- recovery
- dash
- recovery
- doge
- recovery
- ltc
- recovery
- tbcha
- recovery
- tbch
- recovery
- tbsv
- recovery
- tbtc4
- recovery
- tbtcbgsig
- recovery
- tbtcsig
- recovery
- tbtc
- recovery
- tdash
- recovery
- tdoge
- recovery
- tltc
- recovery
- tzec
- recovery
- zec
- recovery
- impl
- bcha/unit
- bch/unit
- bsv/unit
- btg/unit
- dash/unit
- doge/unit
- zec/unit
- offlineVault
- fixtures
- recovery
- transaction
- descriptor
- fixtures
- fixedScript
- util
- account-lib
- resources
- cspr/contract
- dot
- src
- keyPair
- utils
- messages
- test
- resources
- unit
- coin/baseCoin
- keyPair
- mpc/tss
- ecdsa
- eddsa
- fixtures
- utils
- messages
- argon2
- scripts
- test
- babylonlabs-io-btc-staking-ts
- assets
- bin
- src
- constants
- error
- staking
- observable
- types
- utils
- fee
- staking
- utxo
- beta-tools
- src
- test
- bitgo
- scripts
- upload-tools
- src
- v2
- coins
- internal
- test
- browser
- integration
- fixtures
- unit
- v2
- fixtures
- coins
- lightning
- nfts
- staking
- tss
- integration
- coins
- lib
- resources
- unit
- ams
- coins
- internal
- tssUtils
- ecdsaMPCv2
- fixtures
- eddsaMPCv2
- mocks
- lightning
- staking
- tss
- blake2b-wasm
- blake2b
- blockapis
- src
- impl
- test
- fixtures
- responses
- blockchair
- blockstream
- deser-lib
- src
- test
- cbor
- unit
- express
- bin
- scripts
- src
- lightning
- typedRoutes
- api
- v1
- v2
- schemas
- test
- integration
- lib
- unit
- clientRoutes
- lightning
- mocks
- lightning
- typedRoutes
- decodeTests
- types/express
- key-card
- src
- test/unit
- logger
- src
- test/unit
- passkey-crypto
- src
- test
- integration
- helpers
- unit
- sdk-api
- src
- v1
- test/unit
- v1
- fixtures
- sdk-coin-ada
- src
- lib
- messages
- cip8
- test
- resources
- unit
- messages
- cip8
- sdk-coin-algo
- src
- lib
- test
- fixtures
- integration
- unit
- fixtures
- lib
- transactionBuilder
- types
- sdk-coin-apechain
- src
- lib
- test
- integration
- unit
- transactionBuilder
- sdk-coin-apt
- src
- lib
- transactionBuilder
- transaction
- utils
- test
- integration
- resources
- unit
- transactionBuilder
- sdk-coin-arbeth
- src
- lib
- test
- fixtures
- unit
- transactionBuilder
- sdk-coin-asi
- src
- lib
- test
- resources
- unit
- transactionBuilder
- sdk-coin-atom
- src
- lib
- test
- integration
- resources
- unit
- transactionBuilder
- sdk-coin-avaxc
- src
- lib
- test
- resources
- unit
- transactionBuilder
- sdk-coin-avaxp
- src
- lib
- test
- resources
- tx
- unit
- lib
- sdk-coin-baby
- src
- lib
- test
- resources
- unit
- transactionBuilder
- sdk-coin-bcha
- src
- sdk-coin-bch
- src
- sdk-coin-bera
- src
- lib
- test
- fixtures
- unit
- transactionBuilder
- sdk-coin-bld
- src
- lib
- test
- integration
- resources
- unit
- transactionBuilder
- sdk-coin-bsc
- src
- lib
- messages
- test
- fixtures
- resources
- unit
- messages
- transactionBuilder
- sdk-coin-bsv
- src
- sdk-coin-btc
- src
- sdk-coin-btg
- src
- sdk-coin-canton
- resources
- hash
- proto
- metadata
- node
- src
- lib
- messages
- cantonSignTopology
- cantonSignTransaction
- transaction
- walletInitialization
- test
- integration
- unit
- builder
- allocationAllocateWithdrawn
- allocationAllocate
- allocationReject
- allocationRequest
- cantonCommand
- cosignDelegationAccept
- cosignDelegationProposal
- oneStepEnablement
- transferAccept
- transferAcknowledge
- transferOfferWithdrawn
- transferReject
- transfer
- walletInit
- messages
- sdk-coin-celo
- src
- lib
- test
- resources
- unit
- transactionBuilder
- sdk-coin-coredao
- src
- lib
- test
- unit
- transactionBuilder
- sdk-coin-coreum
- src
- lib
- test
- resources
- unit
- transactionBuilder
- sdk-coin-cosmos
- src
- lib
- test
- resources
- testUtils
- unit
- transactionBuilder
- sdk-coin-cronos
- src
- lib
- test
- resources
- unit
- transactionBuilder
- sdk-coin-cspr
- src
- lib
- test
- fixtures
- integration
- unit
- lib
- transactionBuilder
- sdk-coin-dash
- src
- sdk-coin-doge
- src
- sdk-coin-dot
- src
- lib
- resources
- test
- resources
- unit
- transactionBuilder
- sdk-coin-eos
- src
- eosutil
- lib
- test
- unit
- sdk-coin-etc
- src
- lib
- test
- unit
- transactionBuilder
- sdk-coin-ethlike
- src
- lib
- test
- fixtures
- unit
- sdk-coin-ethw
- src
- test
- integration
- lib
- unit
- sdk-coin-eth
- src
- lib
- messages
- transferBuilders
- test
- fixtures
- resources
- unit
- fixtures
- transactionBuilder
- sdk-coin-evm
- src
- lib
- test
- integration
- unit
- sdk-coin-flrp
- src
- lib
- test
- resources
- transactionData
- unit
- lib
- sdk-coin-flr
- src
- lib
- test
- unit
- transactionBuilder
- sdk-coin-hash
- src
- lib
- test
- integration
- resources
- unit
- transactionBuilder
- sdk-coin-hbar
- src
- lib
- test
- fixtures
- resources
- unit
- fixtures
- transactionBuilder
- sdk-coin-icp
- resources
- src
- lib
- test
- resources
- unit
- transactionBuilder
- sdk-coin-initia
- src
- lib
- test
- resources
- unit
- transactionBuilder
- sdk-coin-injective
- src
- lib
- test
- integration
- resources
- unit
- transactionBuilder
- sdk-coin-iota
- src
- lib
- test
- resources
- unit
- helpers
- transactionBuilder
- sdk-coin-irys
- src
- lib
- test/unit
- sdk-coin-islm
- resources
- proto
- ethermint/crypto/v1/ethsecp256k1
- gogoproto
- types
- src
- lib
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
0 commit comments