-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
IPNS contenthash decoding strips first character from peer ID #4527
Comments
Thanks! I’ll look into this right away. |
The problem is that Base58 is more an encoding for numeric data, not binary data, so as a result the leading-0's are getting trimmer (while in base-58, the character Most protocols that use Base58 as a result tend to specify a bit width to pad to. I'll update shortly. :) |
Useful resource: https://medium.com/concerning-pharo/understanding-base58-encoding-23e673e37ff6 I've made the change and am just waiting for the CI to complete. |
Fixed in v6.9.2. Thanks! :) |
* docs: fixed typo in jsdocs for Wallet.createRandom (ethers-io#4461) * admin: added diff scripts for build page * admin: updated dist files * Added safe and finalized provider events (ethers-io#3921). * tests: bumped Node versions for testing (ethers-io#4451) * admin: style fix (ethers-io#4356) * More robust FallbackProvider broadcast (ethers-io#4186, ethers-io#4297, ethers-io#4442). * Account for provider config weight when kicking off a request in FallbackProvider (ethers-io#4298). * Fixed ParamType formatting causing bad tuple full and minimal ABI output (ethers-io#4329, ethers-io#4479). * Added Base network to AlchemyProvider (ethers-io#4384). * Add auto-detected static network support to providers and allow customizing socket provider options (ethers-io#4199, ethers-io#4418, ethers-io#4441). * Use provider-specified suggested priority fee when available, otherwise fallback onto existing logic of 1 gwei (ethers-io#4463). * admin: updated dist files * admin: update changelog after build-clean * docs: Fixed some grammar in getting-started (ethers-io#4486, ethers-io#4487, ethers-io#4488) * Fix uncatchable issue when sending transactions over JSON-RPC and provide some retry-recovery for missing v (ethers-io#4513). * admin: update dist files * Fix Base58 padding for string representation of binary data (ethers-io#4527). * admin: updated dist files * Limit decoded result imflation ratio from ABI-encoded data (ethers-io#4537). * admin: updated dist files * Better debugging output on fetch errors. * docs: added StaticJsonRpcProvider to migration docs * Fixed typo in Error string (ethers-io#4539). * Fix EIP-712 type aliases for uint and int (ethers-io#4541). * Added additional sepolia testnets. * Updated third-party provider network URLs (ethers-io#4542). * admin: updated dist files * Fixed normalization and abstracted EIP-712 Array parsing (ethers-io#4541). * admin: updated dist files * tests: added testing for correct thrid-party URLs * Updated thrid-part provider URLs for QuickNode. * tests: rename test suite to follow naming convention * admin: updated dist files * Normalize EIP-712 types before computing the payload (ethers-io#4541). * tests: add tests for EIP-712 payload aliases * admin: updated dist files --------- Co-authored-by: Richard Moore <me@ricmoo.com>
* Fix uncatchable issue when sending transactions over JSON-RPC and provide some retry-recovery for missing v (ethers-io#4513). * admin: update dist files * Fix Base58 padding for string representation of binary data (ethers-io#4527). * admin: updated dist files * Limit decoded result imflation ratio from ABI-encoded data (ethers-io#4537). * admin: updated dist files * Better debugging output on fetch errors. * docs: added StaticJsonRpcProvider to migration docs * Fixed typo in Error string (ethers-io#4539). * Fix EIP-712 type aliases for uint and int (ethers-io#4541). * Added additional sepolia testnets. * Updated third-party provider network URLs (ethers-io#4542). * admin: updated dist files * Fixed normalization and abstracted EIP-712 Array parsing (ethers-io#4541). * admin: updated dist files * tests: added testing for correct thrid-party URLs * Updated thrid-part provider URLs for QuickNode. * tests: rename test suite to follow naming convention * admin: updated dist files * Normalize EIP-712 types before computing the payload (ethers-io#4541). * tests: add tests for EIP-712 payload aliases * admin: updated dist files * (feat) ZIL-5458: Add emacs backups to .gitignore (feat) ZIL-5458: Don't validate canonical signatures --------- Co-authored-by: Richard Moore <me@ricmoo.com>
Ethers Version
6.9.1
Search Terms
ipns, contenthash
Describe the Problem
When attempting to decode a contentHash record set to an IPNS peer ID, the first character is stripped, resulting in an unparsable IPNS pointer:
For example (
esteroids.eth
):Wrong:
ipns://2D3KooWKrB93pwXDdeyz2WRMwcSBny5ECjA1JasB4GTo4ijUUtf
Should be:
ipns://12D3KooWKrB93pwXDdeyz2WRMwcSBny5ECjA1JasB4GTo4ijUUtf
Code Snippet
Contract ABI
No response
Errors
No response
Environment
node.js (v12 or newer)
Environment (Other)
No response
The text was updated successfully, but these errors were encountered: