viem 2.16.5 → 2.17.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (212) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/_cjs/actions/public/watchContractEvent.js +1 -1
  3. package/_cjs/actions/public/watchContractEvent.js.map +1 -1
  4. package/_cjs/celo/formatters.js +17 -12
  5. package/_cjs/celo/formatters.js.map +1 -1
  6. package/_cjs/celo/parsers.js +2 -1
  7. package/_cjs/celo/parsers.js.map +1 -1
  8. package/_cjs/celo/serializers.js +2 -1
  9. package/_cjs/celo/serializers.js.map +1 -1
  10. package/_cjs/chains/definitions/berachainTestnetbArtio.js +6 -0
  11. package/_cjs/chains/definitions/berachainTestnetbArtio.js.map +1 -1
  12. package/_cjs/chains/definitions/btr.js +3 -4
  13. package/_cjs/chains/definitions/btr.js.map +1 -1
  14. package/_cjs/chains/definitions/btrTestnet.js +4 -5
  15. package/_cjs/chains/definitions/btrTestnet.js.map +1 -1
  16. package/_cjs/chains/definitions/crab.js +29 -0
  17. package/_cjs/chains/definitions/crab.js.map +1 -0
  18. package/_cjs/chains/definitions/koi.js +30 -0
  19. package/_cjs/chains/definitions/koi.js.map +1 -0
  20. package/_cjs/chains/definitions/seiTestnet.js +23 -0
  21. package/_cjs/chains/definitions/seiTestnet.js.map +1 -0
  22. package/_cjs/chains/definitions/taikoHekla.js +1 -0
  23. package/_cjs/chains/definitions/taikoHekla.js.map +1 -1
  24. package/_cjs/chains/definitions/xLayerTestnet.js +2 -2
  25. package/_cjs/chains/definitions/xLayerTestnet.js.map +1 -1
  26. package/_cjs/chains/definitions/zkLinkNova.js +23 -0
  27. package/_cjs/chains/definitions/zkLinkNova.js.map +1 -0
  28. package/_cjs/chains/index.js +13 -5
  29. package/_cjs/chains/index.js.map +1 -1
  30. package/_cjs/errors/version.js +1 -1
  31. package/_cjs/op-stack/formatters.js.map +1 -1
  32. package/_cjs/utils/formatters/formatter.js.map +1 -1
  33. package/_cjs/zksync/formatters.js.map +1 -1
  34. package/_cjs/zksync/index.js.map +1 -1
  35. package/_esm/actions/public/watchContractEvent.js +1 -1
  36. package/_esm/actions/public/watchContractEvent.js.map +1 -1
  37. package/_esm/celo/formatters.js +17 -12
  38. package/_esm/celo/formatters.js.map +1 -1
  39. package/_esm/celo/parsers.js +3 -2
  40. package/_esm/celo/parsers.js.map +1 -1
  41. package/_esm/celo/serializers.js +3 -2
  42. package/_esm/celo/serializers.js.map +1 -1
  43. package/_esm/chains/definitions/berachainTestnetbArtio.js +6 -0
  44. package/_esm/chains/definitions/berachainTestnetbArtio.js.map +1 -1
  45. package/_esm/chains/definitions/btr.js +3 -4
  46. package/_esm/chains/definitions/btr.js.map +1 -1
  47. package/_esm/chains/definitions/btrTestnet.js +4 -5
  48. package/_esm/chains/definitions/btrTestnet.js.map +1 -1
  49. package/_esm/chains/definitions/crab.js +26 -0
  50. package/_esm/chains/definitions/crab.js.map +1 -0
  51. package/_esm/chains/definitions/koi.js +27 -0
  52. package/_esm/chains/definitions/koi.js.map +1 -0
  53. package/_esm/chains/definitions/seiTestnet.js +20 -0
  54. package/_esm/chains/definitions/seiTestnet.js.map +1 -0
  55. package/_esm/chains/definitions/taikoHekla.js +1 -0
  56. package/_esm/chains/definitions/taikoHekla.js.map +1 -1
  57. package/_esm/chains/definitions/xLayerTestnet.js +2 -2
  58. package/_esm/chains/definitions/xLayerTestnet.js.map +1 -1
  59. package/_esm/chains/definitions/zkLinkNova.js +20 -0
  60. package/_esm/chains/definitions/zkLinkNova.js.map +1 -0
  61. package/_esm/chains/index.js +4 -0
  62. package/_esm/chains/index.js.map +1 -1
  63. package/_esm/errors/version.js +1 -1
  64. package/_esm/op-stack/formatters.js.map +1 -1
  65. package/_esm/utils/formatters/formatter.js.map +1 -1
  66. package/_esm/zksync/formatters.js.map +1 -1
  67. package/_esm/zksync/index.js.map +1 -1
  68. package/_types/celo/chainConfig.d.ts +445 -3773
  69. package/_types/celo/chainConfig.d.ts.map +1 -1
  70. package/_types/celo/formatters.d.ts +222 -1887
  71. package/_types/celo/formatters.d.ts.map +1 -1
  72. package/_types/celo/index.d.ts +1 -1
  73. package/_types/celo/index.d.ts.map +1 -1
  74. package/_types/celo/parsers.d.ts.map +1 -1
  75. package/_types/celo/serializers.d.ts +1 -1
  76. package/_types/celo/serializers.d.ts.map +1 -1
  77. package/_types/celo/types.d.ts +38 -28
  78. package/_types/celo/types.d.ts.map +1 -1
  79. package/_types/chains/definitions/ancient8.d.ts +18 -820
  80. package/_types/chains/definitions/ancient8.d.ts.map +1 -1
  81. package/_types/chains/definitions/ancient8Sepolia.d.ts +18 -820
  82. package/_types/chains/definitions/ancient8Sepolia.d.ts.map +1 -1
  83. package/_types/chains/definitions/base.d.ts +18 -820
  84. package/_types/chains/definitions/base.d.ts.map +1 -1
  85. package/_types/chains/definitions/baseGoerli.d.ts +18 -820
  86. package/_types/chains/definitions/baseGoerli.d.ts.map +1 -1
  87. package/_types/chains/definitions/baseSepolia.d.ts +18 -820
  88. package/_types/chains/definitions/baseSepolia.d.ts.map +1 -1
  89. package/_types/chains/definitions/berachainTestnetbArtio.d.ts +6 -8
  90. package/_types/chains/definitions/berachainTestnetbArtio.d.ts.map +1 -1
  91. package/_types/chains/definitions/btr.d.ts +3 -4
  92. package/_types/chains/definitions/btr.d.ts.map +1 -1
  93. package/_types/chains/definitions/btrTestnet.d.ts +4 -5
  94. package/_types/chains/definitions/btrTestnet.d.ts.map +1 -1
  95. package/_types/chains/definitions/celo.d.ts +442 -3770
  96. package/_types/chains/definitions/celo.d.ts.map +1 -1
  97. package/_types/chains/definitions/celoAlfajores.d.ts +442 -3770
  98. package/_types/chains/definitions/celoAlfajores.d.ts.map +1 -1
  99. package/_types/chains/definitions/crab.d.ts +34 -0
  100. package/_types/chains/definitions/crab.d.ts.map +1 -0
  101. package/_types/chains/definitions/dchain.d.ts +18 -820
  102. package/_types/chains/definitions/dchain.d.ts.map +1 -1
  103. package/_types/chains/definitions/dchainTestnet.d.ts +18 -820
  104. package/_types/chains/definitions/dchainTestnet.d.ts.map +1 -1
  105. package/_types/chains/definitions/fraxtal.d.ts +18 -820
  106. package/_types/chains/definitions/fraxtal.d.ts.map +1 -1
  107. package/_types/chains/definitions/fraxtalTestnet.d.ts +18 -820
  108. package/_types/chains/definitions/fraxtalTestnet.d.ts.map +1 -1
  109. package/_types/chains/definitions/funkiSepolia.d.ts +18 -820
  110. package/_types/chains/definitions/funkiSepolia.d.ts.map +1 -1
  111. package/_types/chains/definitions/koi.d.ts +34 -0
  112. package/_types/chains/definitions/koi.d.ts.map +1 -0
  113. package/_types/chains/definitions/lisk.d.ts +45 -1148
  114. package/_types/chains/definitions/lisk.d.ts.map +1 -1
  115. package/_types/chains/definitions/liskSepolia.d.ts +18 -820
  116. package/_types/chains/definitions/liskSepolia.d.ts.map +1 -1
  117. package/_types/chains/definitions/metalL2.d.ts +18 -820
  118. package/_types/chains/definitions/metalL2.d.ts.map +1 -1
  119. package/_types/chains/definitions/optimism.d.ts +18 -820
  120. package/_types/chains/definitions/optimism.d.ts.map +1 -1
  121. package/_types/chains/definitions/optimismGoerli.d.ts +18 -820
  122. package/_types/chains/definitions/optimismGoerli.d.ts.map +1 -1
  123. package/_types/chains/definitions/optimismSepolia.d.ts +18 -820
  124. package/_types/chains/definitions/optimismSepolia.d.ts.map +1 -1
  125. package/_types/chains/definitions/pgn.d.ts +18 -820
  126. package/_types/chains/definitions/pgn.d.ts.map +1 -1
  127. package/_types/chains/definitions/pgnTestnet.d.ts +18 -820
  128. package/_types/chains/definitions/pgnTestnet.d.ts.map +1 -1
  129. package/_types/chains/definitions/playfiAlbireo.d.ts +45 -1148
  130. package/_types/chains/definitions/playfiAlbireo.d.ts.map +1 -1
  131. package/_types/chains/definitions/rss3.d.ts +18 -820
  132. package/_types/chains/definitions/rss3.d.ts.map +1 -1
  133. package/_types/chains/definitions/rss3Sepolia.d.ts +18 -820
  134. package/_types/chains/definitions/rss3Sepolia.d.ts.map +1 -1
  135. package/_types/chains/definitions/seiTestnet.d.ts +36 -0
  136. package/_types/chains/definitions/seiTestnet.d.ts.map +1 -0
  137. package/_types/chains/definitions/taikoHekla.d.ts +1 -1
  138. package/_types/chains/definitions/taikoHekla.d.ts.map +1 -1
  139. package/_types/chains/definitions/xLayerTestnet.d.ts +2 -2
  140. package/_types/chains/definitions/zkLinkNova.d.ts +35 -0
  141. package/_types/chains/definitions/zkLinkNova.d.ts.map +1 -0
  142. package/_types/chains/definitions/zkSync.d.ts +45 -1148
  143. package/_types/chains/definitions/zkSync.d.ts.map +1 -1
  144. package/_types/chains/definitions/zkSyncInMemoryNode.d.ts +45 -1148
  145. package/_types/chains/definitions/zkSyncInMemoryNode.d.ts.map +1 -1
  146. package/_types/chains/definitions/zkSyncLocalNode.d.ts +45 -1148
  147. package/_types/chains/definitions/zkSyncLocalNode.d.ts.map +1 -1
  148. package/_types/chains/definitions/zkSyncSepoliaTestnet.d.ts +45 -1148
  149. package/_types/chains/definitions/zkSyncSepoliaTestnet.d.ts.map +1 -1
  150. package/_types/chains/definitions/zkSyncTestnet.d.ts +45 -1148
  151. package/_types/chains/definitions/zkSyncTestnet.d.ts.map +1 -1
  152. package/_types/chains/definitions/zora.d.ts +18 -820
  153. package/_types/chains/definitions/zora.d.ts.map +1 -1
  154. package/_types/chains/definitions/zoraSepolia.d.ts +18 -820
  155. package/_types/chains/definitions/zoraSepolia.d.ts.map +1 -1
  156. package/_types/chains/definitions/zoraTestnet.d.ts +18 -820
  157. package/_types/chains/definitions/zoraTestnet.d.ts.map +1 -1
  158. package/_types/chains/index.d.ts +6 -2
  159. package/_types/chains/index.d.ts.map +1 -1
  160. package/_types/errors/version.d.ts +1 -1
  161. package/_types/op-stack/chainConfig.d.ts +18 -820
  162. package/_types/op-stack/chainConfig.d.ts.map +1 -1
  163. package/_types/op-stack/formatters.d.ts +60 -863
  164. package/_types/op-stack/formatters.d.ts.map +1 -1
  165. package/_types/op-stack/types/transaction.d.ts +1 -1
  166. package/_types/op-stack/types/transaction.d.ts.map +1 -1
  167. package/_types/types/utils.d.ts +0 -10
  168. package/_types/types/utils.d.ts.map +1 -1
  169. package/_types/utils/formatters/block.d.ts +1 -1
  170. package/_types/utils/formatters/formatter.d.ts +2 -2
  171. package/_types/utils/formatters/formatter.d.ts.map +1 -1
  172. package/_types/utils/formatters/transaction.d.ts +1 -386
  173. package/_types/utils/formatters/transaction.d.ts.map +1 -1
  174. package/_types/utils/formatters/transactionReceipt.d.ts +1 -1
  175. package/_types/utils/formatters/transactionRequest.d.ts +1 -274
  176. package/_types/utils/formatters/transactionRequest.d.ts.map +1 -1
  177. package/_types/zksync/chainConfig.d.ts +45 -1148
  178. package/_types/zksync/chainConfig.d.ts.map +1 -1
  179. package/_types/zksync/formatters.d.ts +100 -1204
  180. package/_types/zksync/formatters.d.ts.map +1 -1
  181. package/_types/zksync/index.d.ts +1 -1
  182. package/_types/zksync/index.d.ts.map +1 -1
  183. package/_types/zksync/types/block.d.ts +5 -6
  184. package/_types/zksync/types/block.d.ts.map +1 -1
  185. package/_types/zksync/types/transaction.d.ts +2 -1
  186. package/_types/zksync/types/transaction.d.ts.map +1 -1
  187. package/actions/public/watchContractEvent.ts +1 -1
  188. package/celo/formatters.ts +22 -24
  189. package/celo/index.ts +0 -2
  190. package/celo/parsers.ts +5 -3
  191. package/celo/serializers.ts +3 -5
  192. package/celo/types.ts +74 -54
  193. package/chains/definitions/berachainTestnetbArtio.ts +6 -0
  194. package/chains/definitions/btr.ts +3 -4
  195. package/chains/definitions/btrTestnet.ts +4 -5
  196. package/chains/definitions/crab.ts +26 -0
  197. package/chains/definitions/koi.ts +27 -0
  198. package/chains/definitions/seiTestnet.ts +20 -0
  199. package/chains/definitions/taikoHekla.ts +1 -0
  200. package/chains/definitions/xLayerTestnet.ts +2 -2
  201. package/chains/definitions/zkLinkNova.ts +20 -0
  202. package/chains/index.ts +4 -4
  203. package/errors/version.ts +1 -1
  204. package/op-stack/formatters.ts +8 -20
  205. package/op-stack/types/transaction.ts +3 -3
  206. package/package.json +1 -1
  207. package/types/utils.ts +0 -11
  208. package/utils/formatters/formatter.ts +3 -3
  209. package/zksync/formatters.ts +6 -18
  210. package/zksync/index.ts +0 -2
  211. package/zksync/types/block.ts +24 -23
  212. package/zksync/types/transaction.ts +4 -0
@@ -9,12 +9,12 @@ export const xLayerTestnet = /*#__PURE__*/ defineChain({
9
9
  symbol: 'OKB',
10
10
  },
11
11
  rpcUrls: {
12
- default: { http: ['https://x1testrpc.okx.com'] },
12
+ default: { http: ['https://xlayertestrpc.okx.com'] },
13
13
  },
14
14
  blockExplorers: {
15
15
  default: {
16
16
  name: 'OKLink',
17
- url: 'https://www.oklink.com/x1-test',
17
+ url: 'https://www.oklink.com/xlayer-test',
18
18
  },
19
19
  },
20
20
  contracts: {
@@ -0,0 +1,20 @@
1
+ import { defineChain } from '../../utils/chain/defineChain.js'
2
+
3
+ export const zkLinkNova = /*#__PURE__*/ defineChain({
4
+ id: 810180,
5
+ name: 'zkLink Nova',
6
+ nativeCurrency: {
7
+ decimals: 18,
8
+ name: 'ETH',
9
+ symbol: 'ETH',
10
+ },
11
+ rpcUrls: {
12
+ default: { http: ['https://rpc.zklink.io'] },
13
+ },
14
+ blockExplorers: {
15
+ default: {
16
+ name: 'zkLink Nova Block Explorer',
17
+ url: 'https://explorer.zklink.io',
18
+ },
19
+ },
20
+ })
package/chains/index.ts CHANGED
@@ -56,6 +56,7 @@ export { classic } from './definitions/classic.js'
56
56
  export { confluxESpace } from './definitions/confluxESpace.js'
57
57
  export { confluxESpaceTestnet } from './definitions/confluxESpaceTestnet.js'
58
58
  export { coreDao } from './definitions/coreDao.js'
59
+ export { crab } from './definitions/crab.js'
59
60
  export { cronos } from './definitions/cronos.js'
60
61
  export { cronosTestnet } from './definitions/cronosTestnet.js'
61
62
  export { crossbell } from './definitions/crossbell.js'
@@ -130,6 +131,7 @@ export { kavaTestnet } from './definitions/kavaTestnet.js'
130
131
  export { kcc } from './definitions/kcc.js'
131
132
  export { klaytn } from './definitions/klaytn.js'
132
133
  export { klaytnBaobab } from './definitions/klaytnBaobab.js'
134
+ export { koi } from './definitions/koi.js'
133
135
  export { kroma } from './definitions/kroma.js'
134
136
  export { kromaSepolia } from './definitions/kromaSepolia.js'
135
137
  export { l3x } from './definitions/l3x.js'
@@ -229,6 +231,7 @@ export { scroll } from './definitions/scroll.js'
229
231
  export { scrollSepolia } from './definitions/scrollSepolia.js'
230
232
  export { sei } from './definitions/sei.js'
231
233
  export { seiDevnet } from './definitions/seiDevnet.js'
234
+ export { seiTestnet } from './definitions/seiTestnet.js'
232
235
  export { sepolia } from './definitions/sepolia.js'
233
236
  export { shimmer } from './definitions/shimmer.js'
234
237
  export { shimmerTestnet } from './definitions/shimmerTestnet.js'
@@ -294,6 +297,7 @@ export { zilliqa } from './definitions/zilliqa.js'
294
297
  export { zilliqaTestnet } from './definitions/zilliqaTestnet.js'
295
298
  export { zkFair } from './definitions/zkFair.js'
296
299
  export { zkFairTestnet } from './definitions/zkFairTestnet.js'
300
+ export { zkLinkNova } from './definitions/zkLinkNova.js'
297
301
  export { zkSync } from './definitions/zkSync.js'
298
302
  export { zkSyncInMemoryNode } from './definitions/zkSyncInMemoryNode.js'
299
303
  export { zkSyncLocalNode } from './definitions/zkSyncLocalNode.js'
@@ -316,9 +320,7 @@ export type {
316
320
  } from '../types/utils.js'
317
321
  export type {
318
322
  CeloBlock,
319
- CeloBlockOverrides,
320
323
  CeloRpcBlock,
321
- CeloRpcBlockOverrides,
322
324
  CeloRpcTransaction,
323
325
  CeloRpcTransactionRequest,
324
326
  CeloTransaction,
@@ -368,9 +370,7 @@ export type {
368
370
  } from '../op-stack/types/transaction.js'
369
371
  export type {
370
372
  ZkSyncBlock,
371
- ZkSyncBlockOverrides,
372
373
  ZkSyncRpcBlock,
373
- ZkSyncRpcBlockOverrides,
374
374
  } from '../zksync/types/block.js'
375
375
  export type { ChainEIP712 } from '../zksync/types/chain.js'
376
376
  export type { ZkSyncEip712Meta } from '../zksync/types/eip712.js'
package/errors/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '2.16.5'
1
+ export const version = '2.17.1'
@@ -1,5 +1,4 @@
1
1
  import type { ChainFormatters } from '../types/chain.js'
2
- import type { Hash } from '../types/misc.js'
3
2
  import type { RpcTransaction } from '../types/rpc.js'
4
3
  import { hexToBigInt } from '../utils/encoding/fromHex.js'
5
4
  import { defineBlock } from '../utils/formatters/block.js'
@@ -8,26 +7,17 @@ import {
8
7
  formatTransaction,
9
8
  } from '../utils/formatters/transaction.js'
10
9
  import { defineTransactionReceipt } from '../utils/formatters/transactionReceipt.js'
11
- import type {
12
- OpStackBlockOverrides,
13
- OpStackRpcBlockOverrides,
14
- } from './types/block.js'
10
+ import type { OpStackBlock, OpStackRpcBlock } from './types/block.js'
15
11
  import type {
16
12
  OpStackRpcTransaction,
17
- OpStackRpcTransactionReceiptOverrides,
13
+ OpStackRpcTransactionReceipt,
18
14
  OpStackTransaction,
19
- OpStackTransactionReceiptOverrides,
15
+ OpStackTransactionReceipt,
20
16
  } from './types/transaction.js'
21
17
 
22
18
  export const formatters = {
23
19
  block: /*#__PURE__*/ defineBlock({
24
- format(
25
- args: OpStackRpcBlockOverrides & {
26
- transactions: Hash[] | OpStackRpcTransaction[]
27
- },
28
- ): OpStackBlockOverrides & {
29
- transactions: Hash[] | OpStackTransaction[]
30
- } {
20
+ format(args: OpStackRpcBlock): OpStackBlock {
31
21
  const transactions = args.transactions?.map((transaction) => {
32
22
  if (typeof transaction === 'string') return transaction
33
23
  const formatted = formatTransaction(
@@ -42,11 +32,11 @@ export const formatters = {
42
32
  formatted.type = 'deposit'
43
33
  }
44
34
  return formatted
45
- }) as Hash[] | OpStackTransaction[]
35
+ })
46
36
  return {
47
37
  transactions,
48
38
  stateRoot: args.stateRoot,
49
- }
39
+ } as OpStackBlock
50
40
  },
51
41
  }),
52
42
  transaction: /*#__PURE__*/ defineTransaction({
@@ -62,15 +52,13 @@ export const formatters = {
62
52
  },
63
53
  }),
64
54
  transactionReceipt: /*#__PURE__*/ defineTransactionReceipt({
65
- format(
66
- args: OpStackRpcTransactionReceiptOverrides,
67
- ): OpStackTransactionReceiptOverrides {
55
+ format(args: OpStackRpcTransactionReceipt): OpStackTransactionReceipt {
68
56
  return {
69
57
  l1GasPrice: args.l1GasPrice ? hexToBigInt(args.l1GasPrice) : null,
70
58
  l1GasUsed: args.l1GasUsed ? hexToBigInt(args.l1GasUsed) : null,
71
59
  l1Fee: args.l1Fee ? hexToBigInt(args.l1Fee) : null,
72
60
  l1FeeScalar: args.l1FeeScalar ? Number(args.l1FeeScalar) : null,
73
- }
61
+ } as OpStackTransactionReceipt
74
62
  },
75
63
  }),
76
64
  } as const satisfies ChainFormatters
@@ -32,9 +32,9 @@ export type OpStackRpcDepositTransaction<TPending extends boolean = boolean> =
32
32
  sourceHash: Hex
33
33
  type: '0x7e'
34
34
  }
35
- export type OpStackRpcTransaction<TPending extends boolean = boolean> =
36
- | RpcTransaction<TPending>
37
- | OpStackRpcDepositTransaction<TPending>
35
+ export type OpStackRpcTransaction<TPending extends boolean = boolean> = OneOf<
36
+ RpcTransaction<TPending> | OpStackRpcDepositTransaction<TPending>
37
+ >
38
38
 
39
39
  export type OpStackRpcTransactionReceiptOverrides = {
40
40
  l1GasPrice: Hex | null
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "viem",
3
3
  "description": "TypeScript Interface for Ethereum",
4
- "version": "2.16.5",
4
+ "version": "2.17.1",
5
5
  "main": "./_cjs/index.js",
6
6
  "module": "./_esm/index.js",
7
7
  "types": "./_types/index.d.ts",
package/types/utils.ts CHANGED
@@ -139,17 +139,6 @@ type Assign_<T, U> = {
139
139
  : K]: K extends keyof U ? U[K] : T[K]
140
140
  }
141
141
 
142
- /**
143
- * @description Make properties K of type T never.
144
- *
145
- * @example
146
- * NeverBy<{ a: string, b: boolean, c: number }, 'a' | 'c'>
147
- * => { a: never, b: boolean, c: never }
148
- */
149
- export type NeverBy<T, K extends keyof T> = {
150
- [U in keyof T]: U extends K ? never : T[U]
151
- }
152
-
153
142
  // TODO: Remove when peer dep `typescript@>=4.5` (NoInfer is native)
154
143
  export type NoInfer<type> = [type][type extends any ? 0 : never]
155
144
 
@@ -1,5 +1,5 @@
1
1
  import type { ErrorType } from '../../errors/utils.js'
2
- import type { Assign, Prettify } from '../../types/utils.js'
2
+ import type { Prettify } from '../../types/utils.js'
3
3
 
4
4
  export type DefineFormatterErrorType = ErrorType
5
5
 
@@ -20,7 +20,7 @@ export function defineFormatter<TType extends string, TParameters, TReturnType>(
20
20
  }) => {
21
21
  return {
22
22
  exclude,
23
- format: (args: Assign<TParameters, TOverrideParameters>) => {
23
+ format: (args: TOverrideParameters) => {
24
24
  const formatted = format(args as any)
25
25
  if (exclude) {
26
26
  for (const key of exclude) {
@@ -30,7 +30,7 @@ export function defineFormatter<TType extends string, TParameters, TReturnType>(
30
30
  return {
31
31
  ...formatted,
32
32
  ...overrides(args),
33
- } as Prettify<Assign<TReturnType, TOverrideReturnType>> & {
33
+ } as Prettify<TOverrideReturnType> & {
34
34
  [_key in TExclude[number]]: never
35
35
  }
36
36
  },
@@ -1,5 +1,4 @@
1
1
  import type { ChainFormatters } from '../types/chain.js'
2
- import type { Hash } from '../types/misc.js'
3
2
  import { hexToBigInt, hexToNumber } from '../utils/encoding/fromHex.js'
4
3
  import { hexToBytes } from '../utils/encoding/toBytes.js'
5
4
  import { toHex } from '../utils/encoding/toHex.js'
@@ -9,14 +8,11 @@ import { defineTransaction } from '../utils/formatters/transaction.js'
9
8
  import { defineTransactionReceipt } from '../utils/formatters/transactionReceipt.js'
10
9
  import { defineTransactionRequest } from '../utils/formatters/transactionRequest.js'
11
10
  import { gasPerPubdataDefault } from './constants/number.js'
12
- import type {
13
- ZkSyncBlockOverrides,
14
- ZkSyncRpcBlockOverrides,
15
- } from './types/block.js'
11
+ import type { ZkSyncBlock, ZkSyncRpcBlock } from './types/block.js'
16
12
  import type { ZkSyncL2ToL1Log, ZkSyncLog } from './types/log.js'
17
13
  import type {
18
14
  ZkSyncRpcTransaction,
19
- ZkSyncRpcTransactionReceiptOverrides,
15
+ ZkSyncRpcTransactionReceipt,
20
16
  ZkSyncRpcTransactionRequest,
21
17
  ZkSyncTransaction,
22
18
  ZkSyncTransactionReceipt,
@@ -25,13 +21,7 @@ import type {
25
21
 
26
22
  export const formatters = {
27
23
  block: /*#__PURE__*/ defineBlock({
28
- format(
29
- args: ZkSyncRpcBlockOverrides & {
30
- transactions: Hash[] | ZkSyncRpcTransaction[]
31
- },
32
- ): ZkSyncBlockOverrides & {
33
- transactions: Hash[] | ZkSyncTransaction[]
34
- } {
24
+ format(args: ZkSyncRpcBlock): ZkSyncBlock {
35
25
  const transactions = args.transactions?.map((transaction) => {
36
26
  if (typeof transaction === 'string') return transaction
37
27
  const formatted = formatters.transaction?.format(
@@ -40,7 +30,7 @@ export const formatters = {
40
30
  if (formatted.typeHex === '0x71') formatted.type = 'eip712'
41
31
  else if (formatted.typeHex === '0xff') formatted.type = 'priority'
42
32
  return formatted
43
- }) as Hash[] | ZkSyncTransaction[]
33
+ })
44
34
  return {
45
35
  l1BatchNumber: args.l1BatchNumber
46
36
  ? hexToBigInt(args.l1BatchNumber)
@@ -49,7 +39,7 @@ export const formatters = {
49
39
  ? hexToBigInt(args.l1BatchTimestamp)
50
40
  : null,
51
41
  transactions,
52
- }
42
+ } as ZkSyncBlock
53
43
  },
54
44
  }),
55
45
  transaction: /*#__PURE__*/ defineTransaction({
@@ -69,9 +59,7 @@ export const formatters = {
69
59
  },
70
60
  }),
71
61
  transactionReceipt: /*#__PURE__*/ defineTransactionReceipt({
72
- format(
73
- args: ZkSyncRpcTransactionReceiptOverrides,
74
- ): ZkSyncTransactionReceipt {
62
+ format(args: ZkSyncRpcTransactionReceipt): ZkSyncTransactionReceipt {
75
63
  return {
76
64
  l1BatchNumber: args.l1BatchNumber
77
65
  ? hexToBigInt(args.l1BatchNumber)
package/zksync/index.ts CHANGED
@@ -124,9 +124,7 @@ export { serializeTransaction } from './serializers.js'
124
124
 
125
125
  export type {
126
126
  ZkSyncBlock,
127
- ZkSyncBlockOverrides,
128
127
  ZkSyncRpcBlock,
129
- ZkSyncRpcBlockOverrides,
130
128
  } from './types/block.js'
131
129
  export type { ChainEIP712 } from './types/chain.js'
132
130
  export type {
@@ -2,6 +2,7 @@ import type { Address } from 'abitype'
2
2
  import type { Block, BlockTag } from '../../types/block.js'
3
3
  import type { Hash, Hex } from '../../types/misc.js'
4
4
  import type { RpcBlock } from '../../types/rpc.js'
5
+ import type { Assign } from '../../types/utils.js'
5
6
  import type { ZkSyncRpcTransaction, ZkSyncTransaction } from './transaction.js'
6
7
 
7
8
  export type ZkSyncBatchDetails = Omit<
@@ -12,21 +13,21 @@ export type ZkSyncBatchDetails = Omit<
12
13
  l2FairGasPrice: number
13
14
  }
14
15
 
15
- export type ZkSyncBlockOverrides = {
16
- l1BatchNumber: bigint | null
17
- l1BatchTimestamp: bigint | null
18
- }
19
-
20
16
  export type ZkSyncBlock<
21
17
  TIncludeTransactions extends boolean = boolean,
22
18
  TBlockTag extends BlockTag = BlockTag,
23
- > = Block<
24
- bigint,
25
- TIncludeTransactions,
26
- TBlockTag,
27
- ZkSyncTransaction<TBlockTag extends 'pending' ? true : false>
28
- > &
29
- ZkSyncBlockOverrides
19
+ > = Assign<
20
+ Block<
21
+ bigint,
22
+ TIncludeTransactions,
23
+ TBlockTag,
24
+ ZkSyncTransaction<TBlockTag extends 'pending' ? true : false>
25
+ >,
26
+ {
27
+ l1BatchNumber: bigint | null
28
+ l1BatchTimestamp: bigint | null
29
+ }
30
+ >
30
31
 
31
32
  export type ZkSyncBlockDetails = {
32
33
  number: number
@@ -50,20 +51,20 @@ export type ZkSyncBlockDetails = {
50
51
  protocolVersion?: string
51
52
  }
52
53
 
53
- export type ZkSyncRpcBlockOverrides = {
54
- l1BatchNumber: Hex | null
55
- l1BatchTimestamp: Hex | null
56
- }
57
-
58
54
  export type ZkSyncRpcBlock<
59
55
  TBlockTag extends BlockTag = BlockTag,
60
56
  TIncludeTransactions extends boolean = boolean,
61
- > = RpcBlock<
62
- TBlockTag,
63
- TIncludeTransactions,
64
- ZkSyncRpcTransaction<TBlockTag extends 'pending' ? true : false>
65
- > &
66
- ZkSyncRpcBlockOverrides
57
+ > = Assign<
58
+ RpcBlock<
59
+ TBlockTag,
60
+ TIncludeTransactions,
61
+ ZkSyncRpcTransaction<TBlockTag extends 'pending' ? true : false>
62
+ >,
63
+ {
64
+ l1BatchNumber: Hex | null
65
+ l1BatchTimestamp: Hex | null
66
+ }
67
+ >
67
68
 
68
69
  export type ZkSyncNumberParameter = {
69
70
  number: number
@@ -4,6 +4,7 @@ import type { Hash, Hex } from '../../types/misc.js'
4
4
  import type {
5
5
  Index,
6
6
  Quantity,
7
+ RpcTransactionReceipt,
7
8
  RpcTransactionRequest as RpcTransactionRequest_,
8
9
  } from '../../types/rpc.js'
9
10
  import type {
@@ -174,6 +175,9 @@ export type ZkSyncRpcTransactionReceiptOverrides = {
174
175
  root: Hex
175
176
  }
176
177
 
178
+ export type ZkSyncRpcTransactionReceipt = Omit<RpcTransactionReceipt, 'logs'> &
179
+ ZkSyncRpcTransactionReceiptOverrides
180
+
177
181
  export type ZkSyncTransactionReceiptOverrides = {
178
182
  l1BatchNumber: bigint | null
179
183
  l1BatchTxIndex: bigint | null