viem 2.21.25 → 2.21.27

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/_cjs/chains/definitions/chang.js +25 -0
  3. package/_cjs/chains/definitions/chang.js.map +1 -0
  4. package/_cjs/chains/definitions/hela.js +26 -0
  5. package/_cjs/chains/definitions/hela.js.map +1 -0
  6. package/_cjs/chains/definitions/ql1.js +31 -0
  7. package/_cjs/chains/definitions/ql1.js.map +1 -0
  8. package/_cjs/chains/definitions/shiden.js +27 -0
  9. package/_cjs/chains/definitions/shiden.js.map +1 -0
  10. package/_cjs/chains/definitions/ultron.js +22 -0
  11. package/_cjs/chains/definitions/ultron.js.map +1 -0
  12. package/_cjs/chains/definitions/ultronTestnet.js +22 -0
  13. package/_cjs/chains/definitions/ultronTestnet.js.map +1 -0
  14. package/_cjs/chains/index.js +20 -7
  15. package/_cjs/chains/index.js.map +1 -1
  16. package/_cjs/errors/version.js +1 -1
  17. package/_cjs/experimental/eip7702/actions/signAuthorization.js +9 -2
  18. package/_cjs/experimental/eip7702/actions/signAuthorization.js.map +1 -1
  19. package/_cjs/utils/formatters/transaction.js +3 -9
  20. package/_cjs/utils/formatters/transaction.js.map +1 -1
  21. package/_cjs/utils/rpc/socket.js.map +1 -1
  22. package/_esm/actions/public/getBlockNumber.js +1 -1
  23. package/_esm/chains/definitions/chang.js +22 -0
  24. package/_esm/chains/definitions/chang.js.map +1 -0
  25. package/_esm/chains/definitions/hela.js +23 -0
  26. package/_esm/chains/definitions/hela.js.map +1 -0
  27. package/_esm/chains/definitions/ql1.js +28 -0
  28. package/_esm/chains/definitions/ql1.js.map +1 -0
  29. package/_esm/chains/definitions/shiden.js +24 -0
  30. package/_esm/chains/definitions/shiden.js.map +1 -0
  31. package/_esm/chains/definitions/ultron.js +19 -0
  32. package/_esm/chains/definitions/ultron.js.map +1 -0
  33. package/_esm/chains/definitions/ultronTestnet.js +19 -0
  34. package/_esm/chains/definitions/ultronTestnet.js.map +1 -0
  35. package/_esm/chains/index.js +6 -0
  36. package/_esm/chains/index.js.map +1 -1
  37. package/_esm/errors/version.js +1 -1
  38. package/_esm/experimental/eip7702/actions/signAuthorization.js +9 -2
  39. package/_esm/experimental/eip7702/actions/signAuthorization.js.map +1 -1
  40. package/_esm/utils/formatters/transaction.js +3 -9
  41. package/_esm/utils/formatters/transaction.js.map +1 -1
  42. package/_esm/utils/rpc/socket.js.map +1 -1
  43. package/_types/actions/public/getBlockNumber.d.ts +1 -1
  44. package/_types/chains/definitions/chang.d.ts +37 -0
  45. package/_types/chains/definitions/chang.d.ts.map +1 -0
  46. package/_types/chains/definitions/hela.d.ts +37 -0
  47. package/_types/chains/definitions/hela.d.ts.map +1 -0
  48. package/_types/chains/definitions/ql1.d.ts +32 -0
  49. package/_types/chains/definitions/ql1.d.ts.map +1 -0
  50. package/_types/chains/definitions/shiden.d.ts +38 -0
  51. package/_types/chains/definitions/shiden.d.ts.map +1 -0
  52. package/_types/chains/definitions/ultron.d.ts +37 -0
  53. package/_types/chains/definitions/ultron.d.ts.map +1 -0
  54. package/_types/chains/definitions/ultronTestnet.d.ts +37 -0
  55. package/_types/chains/definitions/ultronTestnet.d.ts.map +1 -0
  56. package/_types/chains/index.d.ts +6 -0
  57. package/_types/chains/index.d.ts.map +1 -1
  58. package/_types/errors/version.d.ts +1 -1
  59. package/_types/experimental/eip7702/actions/signAuthorization.d.ts +7 -2
  60. package/_types/experimental/eip7702/actions/signAuthorization.d.ts.map +1 -1
  61. package/_types/experimental/eip7702/types/rpc.d.ts +8 -2
  62. package/_types/experimental/eip7702/types/rpc.d.ts.map +1 -1
  63. package/_types/types/eip1193.d.ts +12 -0
  64. package/_types/types/eip1193.d.ts.map +1 -1
  65. package/_types/types/transaction.d.ts +1 -1
  66. package/_types/types/transaction.d.ts.map +1 -1
  67. package/actions/public/getBlockNumber.ts +1 -1
  68. package/chains/definitions/chang.ts +22 -0
  69. package/chains/definitions/hela.ts +23 -0
  70. package/chains/definitions/ql1.ts +28 -0
  71. package/chains/definitions/shiden.ts +24 -0
  72. package/chains/definitions/ultron.ts +19 -0
  73. package/chains/definitions/ultronTestnet.ts +19 -0
  74. package/chains/index.ts +6 -0
  75. package/errors/version.ts +1 -1
  76. package/experimental/eip7702/actions/signAuthorization.ts +16 -4
  77. package/experimental/eip7702/types/rpc.ts +8 -2
  78. package/package.json +1 -1
  79. package/types/eip1193.ts +12 -0
  80. package/types/transaction.ts +1 -1
  81. package/utils/formatters/transaction.ts +8 -17
  82. package/utils/rpc/socket.ts +1 -1
@@ -1,5 +1,5 @@
1
1
  import type { Address } from 'abitype'
2
- import type { Hex, Signature } from '../../../types/misc.js'
2
+ import type { Hex } from '../../../types/misc.js'
3
3
 
4
4
  export type RpcAuthorization = {
5
5
  /** Address of the contract to set as code for the Authority. */
@@ -8,5 +8,11 @@ export type RpcAuthorization = {
8
8
  chainId: Hex
9
9
  /** Nonce of the Authority to authorize. */
10
10
  nonce: Hex
11
- } & Signature
11
+ /** ECDSA r value. */
12
+ r: Hex
13
+ /** ECDSA s value. */
14
+ s: Hex
15
+ /** y parity. */
16
+ yParity: Hex
17
+ }
12
18
  export type RpcAuthorizationList = readonly RpcAuthorization[]
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "viem",
3
3
  "description": "TypeScript Interface for Ethereum",
4
- "version": "2.21.25",
4
+ "version": "2.21.27",
5
5
  "main": "./_cjs/index.js",
6
6
  "module": "./_esm/index.js",
7
7
  "types": "./_types/index.d.ts",
package/types/eip1193.ts CHANGED
@@ -1780,6 +1780,18 @@ export type WalletRpcSchema = [
1780
1780
  Parameters?: WalletSendCallsParameters
1781
1781
  ReturnType: string
1782
1782
  },
1783
+ /**
1784
+ * @description Creates, signs, and sends a new transaction to the network
1785
+ * @link https://eips.ethereum.org/EIPS/eip-1474
1786
+ * @example
1787
+ * provider.request({ method: 'wallet_sendTransaction', params: [{ from: '0x...', to: '0x...', value: '0x...' }] })
1788
+ * // => '0x...'
1789
+ */
1790
+ {
1791
+ Method: 'wallet_sendTransaction'
1792
+ Parameters: [transaction: TransactionRequest]
1793
+ ReturnType: Hash
1794
+ },
1783
1795
  /**
1784
1796
  * @description Requests for the wallet to show information about a call batch
1785
1797
  * that was sent via `wallet_sendCalls`.
@@ -275,7 +275,7 @@ export type TransactionRequestEIP7702<
275
275
  > = TransactionRequestBase<quantity, index, type> &
276
276
  ExactPartial<FeeValuesEIP1559<quantity>> & {
277
277
  accessList?: AccessList | undefined
278
- authorizationList: AuthorizationList<index, boolean>
278
+ authorizationList?: AuthorizationList<index, boolean> | undefined
279
279
  }
280
280
 
281
281
  export type TransactionRequest<quantity = bigint, index = number> = OneOf<
@@ -127,21 +127,12 @@ export const defineTransaction = /*#__PURE__*/ defineFormatter(
127
127
  function formatAuthorizationList(
128
128
  authorizationList: RpcAuthorizationList,
129
129
  ): SignedAuthorizationList {
130
- return authorizationList.map(
131
- (authorization) =>
132
- ({
133
- contractAddress: (authorization as any).address,
134
- r: authorization.r,
135
- s: authorization.s,
136
- chainId: Number(authorization.chainId),
137
- nonce: Number(authorization.nonce),
138
- ...(typeof authorization.yParity !== 'undefined'
139
- ? { yParity: Number(authorization.yParity) }
140
- : {}),
141
- ...(typeof authorization.v !== 'undefined' &&
142
- typeof authorization.yParity === 'undefined'
143
- ? { v: Number(authorization.v) }
144
- : {}),
145
- }) as any,
146
- ) as SignedAuthorizationList
130
+ return authorizationList.map((authorization) => ({
131
+ contractAddress: (authorization as any).address,
132
+ chainId: Number(authorization.chainId),
133
+ nonce: Number(authorization.nonce),
134
+ r: authorization.r,
135
+ s: authorization.s,
136
+ yParity: Number(authorization.yParity),
137
+ })) as SignedAuthorizationList
147
138
  }
@@ -128,7 +128,7 @@ export async function getSocketRpcClient<socket extends {}>(
128
128
 
129
129
  let error: Error | Event | undefined
130
130
  let socket: Socket<{}>
131
- let keepAliveTimer: Timer | undefined
131
+ let keepAliveTimer: ReturnType<typeof setInterval> | undefined
132
132
 
133
133
  // Set up socket implementation.
134
134
  async function setup() {