viem 2.28.0 → 2.28.1

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.
Files changed (55) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/_cjs/actions/wallet/sendCalls.js +1 -1
  3. package/_cjs/actions/wallet/sendCalls.js.map +1 -1
  4. package/_cjs/chains/definitions/memecore.js +36 -0
  5. package/_cjs/chains/definitions/memecore.js.map +1 -0
  6. package/_cjs/chains/definitions/memecoreFormicariumTestnet.js +36 -0
  7. package/_cjs/chains/definitions/memecoreFormicariumTestnet.js.map +1 -0
  8. package/_cjs/chains/definitions/shardeum.js +22 -0
  9. package/_cjs/chains/definitions/shardeum.js.map +1 -0
  10. package/_cjs/chains/index.js +15 -9
  11. package/_cjs/chains/index.js.map +1 -1
  12. package/_cjs/errors/version.js +1 -1
  13. package/_cjs/utils/signature/recoverAddress.js +1 -1
  14. package/_cjs/utils/signature/recoverAddress.js.map +1 -1
  15. package/_cjs/utils/signature/recoverPublicKey.js +3 -0
  16. package/_cjs/utils/signature/recoverPublicKey.js.map +1 -1
  17. package/_esm/actions/wallet/sendCalls.js +1 -1
  18. package/_esm/actions/wallet/sendCalls.js.map +1 -1
  19. package/_esm/actions/wallet/switchChain.js +1 -1
  20. package/_esm/chains/definitions/memecore.js +33 -0
  21. package/_esm/chains/definitions/memecore.js.map +1 -0
  22. package/_esm/chains/definitions/memecoreFormicariumTestnet.js +33 -0
  23. package/_esm/chains/definitions/memecoreFormicariumTestnet.js.map +1 -0
  24. package/_esm/chains/definitions/shardeum.js +19 -0
  25. package/_esm/chains/definitions/shardeum.js.map +1 -0
  26. package/_esm/chains/index.js +3 -0
  27. package/_esm/chains/index.js.map +1 -1
  28. package/_esm/errors/version.js +1 -1
  29. package/_esm/utils/signature/recoverAddress.js +1 -1
  30. package/_esm/utils/signature/recoverAddress.js.map +1 -1
  31. package/_esm/utils/signature/recoverPublicKey.js +3 -0
  32. package/_esm/utils/signature/recoverPublicKey.js.map +1 -1
  33. package/_types/actions/wallet/switchChain.d.ts +1 -1
  34. package/_types/chains/definitions/memecore.d.ts +48 -0
  35. package/_types/chains/definitions/memecore.d.ts.map +1 -0
  36. package/_types/chains/definitions/memecoreFormicariumTestnet.d.ts +47 -0
  37. package/_types/chains/definitions/memecoreFormicariumTestnet.d.ts.map +1 -0
  38. package/_types/chains/definitions/shardeum.d.ts +37 -0
  39. package/_types/chains/definitions/shardeum.d.ts.map +1 -0
  40. package/_types/chains/index.d.ts +3 -0
  41. package/_types/chains/index.d.ts.map +1 -1
  42. package/_types/errors/version.d.ts +1 -1
  43. package/_types/experimental/eip5792/decorators/eip5792.d.ts +1 -1
  44. package/_types/utils/signature/recoverPublicKey.d.ts.map +1 -1
  45. package/actions/wallet/sendCalls.ts +1 -1
  46. package/actions/wallet/switchChain.ts +1 -1
  47. package/chains/definitions/memecore.ts +33 -0
  48. package/chains/definitions/memecoreFormicariumTestnet.ts +33 -0
  49. package/chains/definitions/shardeum.ts +19 -0
  50. package/chains/index.ts +3 -0
  51. package/errors/version.ts +1 -1
  52. package/experimental/eip5792/decorators/eip5792.ts +1 -1
  53. package/package.json +1 -1
  54. package/utils/signature/recoverAddress.ts +1 -1
  55. package/utils/signature/recoverPublicKey.ts +2 -0
package/chains/index.ts CHANGED
@@ -186,6 +186,7 @@ export { fluenceTestnet } from './definitions/fluenceTestnet.js'
186
186
  export { fluentTestnet } from './definitions/fluentTestnet.js'
187
187
  export { forma } from './definitions/forma.js'
188
188
  export { form } from './definitions/form.js'
189
+ export { formicarium } from './definitions/memecoreFormicariumTestnet.js'
189
190
  export { formTestnet } from './definitions/formTestnet.js'
190
191
  export { forta } from './definitions/forta.js'
191
192
  /** @deprecated Use `anvil` instead. */
@@ -325,6 +326,7 @@ export { mchVerse } from './definitions/mchVerse.js'
325
326
  export { megaethTestnet } from './definitions/megaethTestnet.js'
326
327
  export { mekong } from './definitions/mekong.js'
327
328
  export { meld } from './definitions/meld.js'
329
+ export { memecore } from './definitions/memecore.js'
328
330
  export { merlin } from './definitions/merlin.js'
329
331
  export { merlinErigonTestnet } from './definitions/merlinErigonTestnet.js'
330
332
  export { metachain } from './definitions/metachain.js'
@@ -450,6 +452,7 @@ export { seiTestnet } from './definitions/seiTestnet.js'
450
452
  export { sepolia } from './definitions/sepolia.js'
451
453
  export { shape } from './definitions/shape.js'
452
454
  export { shapeSepolia } from './definitions/shapeSepolia.js'
455
+ export { shardeum } from './definitions/shardeum.js'
453
456
  export { shardeumSphinx } from './definitions/shardeumSphinx.js'
454
457
  export { shibarium } from './definitions/shibarium.js'
455
458
  export { shibariumTestnet } from './definitions/shibariumTestnet.js'
package/errors/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '2.28.0'
1
+ export const version = '2.28.1'
@@ -92,7 +92,7 @@ export type Eip5792Actions<
92
92
  /**
93
93
  * Requests the connected wallet to send a batch of calls.
94
94
  *
95
- * - Docs: https://viem.sh/experimental/eip5792/sendCalls
95
+ * - Docs: https://viem.sh/docs/actions/wallet/sendCalls
96
96
  * - JSON-RPC Methods: [`wallet_sendCalls`](https://eips.ethereum.org/EIPS/eip-5792)
97
97
  *
98
98
  * @param client - Client to use
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "viem",
3
3
  "description": "TypeScript Interface for Ethereum",
4
- "version": "2.28.0",
4
+ "version": "2.28.1",
5
5
  "main": "./_cjs/index.js",
6
6
  "module": "./_esm/index.js",
7
7
  "types": "./_types/index.d.ts",
@@ -19,5 +19,5 @@ export async function recoverAddress({
19
19
  hash,
20
20
  signature,
21
21
  }: RecoverAddressParameters): Promise<RecoverAddressReturnType> {
22
- return publicKeyToAddress(await recoverPublicKey({ hash: hash, signature }))
22
+ return publicKeyToAddress(await recoverPublicKey({ hash, signature }))
23
23
  }
@@ -1,6 +1,7 @@
1
1
  import type { ErrorType } from '../../errors/utils.js'
2
2
  import type { ByteArray, Hex, Signature } from '../../types/misc.js'
3
3
  import { type IsHexErrorType, isHex } from '../data/isHex.js'
4
+ import { size } from '../data/size.js'
4
5
  import {
5
6
  type HexToNumberErrorType,
6
7
  hexToBigInt,
@@ -41,6 +42,7 @@ export async function recoverPublicKey({
41
42
 
42
43
  // typeof signature: `Hex | ByteArray`
43
44
  const signatureHex = isHex(signature) ? signature : toHex(signature)
45
+ if (size(signatureHex) !== 65) throw new Error('invalid signature length')
44
46
  const yParityOrV = hexToNumber(`0x${signatureHex.slice(130)}`)
45
47
  const recoveryBit = toRecoveryBit(yParityOrV)
46
48
  return secp256k1.Signature.fromCompact(