viem 1.1.0 → 1.1.2

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 (149) hide show
  1. package/dist/cjs/actions/getContract.js.map +1 -1
  2. package/dist/cjs/actions/public/call.js +3 -2
  3. package/dist/cjs/actions/public/call.js.map +1 -1
  4. package/dist/cjs/actions/public/estimateGas.js +3 -2
  5. package/dist/cjs/actions/public/estimateGas.js.map +1 -1
  6. package/dist/cjs/actions/public/getBlock.js +1 -1
  7. package/dist/cjs/actions/public/getBlock.js.map +1 -1
  8. package/dist/cjs/actions/public/getTransaction.js +1 -1
  9. package/dist/cjs/actions/public/getTransaction.js.map +1 -1
  10. package/dist/cjs/actions/public/getTransactionReceipt.js +2 -1
  11. package/dist/cjs/actions/public/getTransactionReceipt.js.map +1 -1
  12. package/dist/cjs/actions/public/watchBlocks.js +1 -1
  13. package/dist/cjs/actions/public/watchBlocks.js.map +1 -1
  14. package/dist/cjs/actions/test/sendUnsignedTransaction.js +3 -2
  15. package/dist/cjs/actions/test/sendUnsignedTransaction.js.map +1 -1
  16. package/dist/cjs/actions/wallet/sendTransaction.js +2 -2
  17. package/dist/cjs/actions/wallet/sendTransaction.js.map +1 -1
  18. package/dist/cjs/actions/wallet/writeContract.js.map +1 -1
  19. package/dist/cjs/chains/formatters/celo.js.map +1 -1
  20. package/dist/cjs/chains/formatters/optimism.js +3 -4
  21. package/dist/cjs/chains/formatters/optimism.js.map +1 -1
  22. package/dist/cjs/chains/index.js +2 -1
  23. package/dist/cjs/chains/index.js.map +1 -1
  24. package/dist/cjs/errors/version.js +1 -1
  25. package/dist/cjs/index.js +5 -3
  26. package/dist/cjs/index.js.map +1 -1
  27. package/dist/cjs/utils/formatters/block.js +1 -1
  28. package/dist/cjs/utils/formatters/block.js.map +1 -1
  29. package/dist/cjs/utils/formatters/extract.js +3 -3
  30. package/dist/cjs/utils/formatters/extract.js.map +1 -1
  31. package/dist/cjs/utils/formatters/formatter.js +14 -11
  32. package/dist/cjs/utils/formatters/formatter.js.map +1 -1
  33. package/dist/cjs/utils/formatters/transaction.js +1 -1
  34. package/dist/cjs/utils/formatters/transaction.js.map +1 -1
  35. package/dist/cjs/utils/formatters/transactionReceipt.js +1 -1
  36. package/dist/cjs/utils/formatters/transactionReceipt.js.map +1 -1
  37. package/dist/cjs/utils/formatters/transactionRequest.js +1 -1
  38. package/dist/cjs/utils/formatters/transactionRequest.js.map +1 -1
  39. package/dist/cjs/utils/index.js +4 -2
  40. package/dist/cjs/utils/index.js.map +1 -1
  41. package/dist/esm/actions/getContract.js.map +1 -1
  42. package/dist/esm/actions/public/call.js +3 -2
  43. package/dist/esm/actions/public/call.js.map +1 -1
  44. package/dist/esm/actions/public/estimateGas.js +3 -2
  45. package/dist/esm/actions/public/estimateGas.js.map +1 -1
  46. package/dist/esm/actions/public/getBlock.js +1 -1
  47. package/dist/esm/actions/public/getBlock.js.map +1 -1
  48. package/dist/esm/actions/public/getTransaction.js +1 -1
  49. package/dist/esm/actions/public/getTransaction.js.map +1 -1
  50. package/dist/esm/actions/public/getTransactionReceipt.js +2 -1
  51. package/dist/esm/actions/public/getTransactionReceipt.js.map +1 -1
  52. package/dist/esm/actions/public/watchBlocks.js +1 -1
  53. package/dist/esm/actions/public/watchBlocks.js.map +1 -1
  54. package/dist/esm/actions/test/sendUnsignedTransaction.js +3 -2
  55. package/dist/esm/actions/test/sendUnsignedTransaction.js.map +1 -1
  56. package/dist/esm/actions/wallet/sendTransaction.js +2 -2
  57. package/dist/esm/actions/wallet/sendTransaction.js.map +1 -1
  58. package/dist/esm/actions/wallet/writeContract.js.map +1 -1
  59. package/dist/esm/chains/formatters/celo.js +1 -0
  60. package/dist/esm/chains/formatters/celo.js.map +1 -1
  61. package/dist/esm/chains/formatters/optimism.js +3 -3
  62. package/dist/esm/chains/formatters/optimism.js.map +1 -1
  63. package/dist/esm/chains/index.js +1 -0
  64. package/dist/esm/chains/index.js.map +1 -1
  65. package/dist/esm/errors/version.js +1 -1
  66. package/dist/esm/index.js +1 -0
  67. package/dist/esm/index.js.map +1 -1
  68. package/dist/esm/utils/formatters/block.js +1 -1
  69. package/dist/esm/utils/formatters/block.js.map +1 -1
  70. package/dist/esm/utils/formatters/extract.js +3 -3
  71. package/dist/esm/utils/formatters/extract.js.map +1 -1
  72. package/dist/esm/utils/formatters/formatter.js +14 -11
  73. package/dist/esm/utils/formatters/formatter.js.map +1 -1
  74. package/dist/esm/utils/formatters/transaction.js +1 -2
  75. package/dist/esm/utils/formatters/transaction.js.map +1 -1
  76. package/dist/esm/utils/formatters/transactionReceipt.js +1 -1
  77. package/dist/esm/utils/formatters/transactionReceipt.js.map +1 -1
  78. package/dist/esm/utils/formatters/transactionRequest.js +1 -1
  79. package/dist/esm/utils/formatters/transactionRequest.js.map +1 -1
  80. package/dist/esm/utils/index.js +1 -0
  81. package/dist/esm/utils/index.js.map +1 -1
  82. package/dist/types/actions/public/call.d.ts.map +1 -1
  83. package/dist/types/actions/public/estimateContractGas.d.ts +1 -1
  84. package/dist/types/actions/public/estimateContractGas.d.ts.map +1 -1
  85. package/dist/types/actions/public/estimateGas.d.ts.map +1 -1
  86. package/dist/types/actions/public/getTransaction.d.ts.map +1 -1
  87. package/dist/types/actions/public/getTransactionReceipt.d.ts.map +1 -1
  88. package/dist/types/actions/public/simulateContract.d.ts +1 -1
  89. package/dist/types/actions/public/simulateContract.d.ts.map +1 -1
  90. package/dist/types/actions/public/watchBlocks.d.ts.map +1 -1
  91. package/dist/types/actions/test/sendUnsignedTransaction.d.ts.map +1 -1
  92. package/dist/types/actions/wallet/sendTransaction.d.ts +2 -1
  93. package/dist/types/actions/wallet/sendTransaction.d.ts.map +1 -1
  94. package/dist/types/actions/wallet/writeContract.d.ts +1 -1
  95. package/dist/types/actions/wallet/writeContract.d.ts.map +1 -1
  96. package/dist/types/chains/formatters/celo.d.ts +200 -188
  97. package/dist/types/chains/formatters/celo.d.ts.map +1 -1
  98. package/dist/types/chains/formatters/optimism.d.ts +250 -250
  99. package/dist/types/chains/formatters/optimism.d.ts.map +1 -1
  100. package/dist/types/chains/index.d.ts +2220 -2153
  101. package/dist/types/chains/index.d.ts.map +1 -1
  102. package/dist/types/errors/version.d.ts +1 -1
  103. package/dist/types/index.d.ts +1 -0
  104. package/dist/types/index.d.ts.map +1 -1
  105. package/dist/types/types/formatter.d.ts +10 -7
  106. package/dist/types/types/formatter.d.ts.map +1 -1
  107. package/dist/types/types/serializer.d.ts +1 -1
  108. package/dist/types/types/serializer.d.ts.map +1 -1
  109. package/dist/types/utils/formatters/block.d.ts +4 -1
  110. package/dist/types/utils/formatters/block.d.ts.map +1 -1
  111. package/dist/types/utils/formatters/extract.d.ts +2 -2
  112. package/dist/types/utils/formatters/extract.d.ts.map +1 -1
  113. package/dist/types/utils/formatters/formatter.d.ts +5 -2
  114. package/dist/types/utils/formatters/formatter.d.ts.map +1 -1
  115. package/dist/types/utils/formatters/transaction.d.ts +5 -2
  116. package/dist/types/utils/formatters/transaction.d.ts.map +1 -1
  117. package/dist/types/utils/formatters/transactionReceipt.d.ts +4 -1
  118. package/dist/types/utils/formatters/transactionReceipt.d.ts.map +1 -1
  119. package/dist/types/utils/formatters/transactionRequest.d.ts +4 -1
  120. package/dist/types/utils/formatters/transactionRequest.d.ts.map +1 -1
  121. package/dist/types/utils/index.d.ts +1 -0
  122. package/dist/types/utils/index.d.ts.map +1 -1
  123. package/package.json +2 -2
  124. package/src/actions/getContract.ts +1 -1
  125. package/src/actions/public/call.ts +3 -2
  126. package/src/actions/public/estimateContractGas.ts +1 -1
  127. package/src/actions/public/estimateGas.ts +4 -3
  128. package/src/actions/public/getBlock.ts +1 -1
  129. package/src/actions/public/getTransaction.ts +2 -1
  130. package/src/actions/public/getTransactionReceipt.ts +2 -1
  131. package/src/actions/public/simulateContract.ts +1 -1
  132. package/src/actions/public/watchBlocks.ts +2 -1
  133. package/src/actions/test/sendUnsignedTransaction.ts +3 -2
  134. package/src/actions/wallet/sendTransaction.ts +9 -3
  135. package/src/actions/wallet/writeContract.ts +11 -1
  136. package/src/chains/formatters/celo.ts +2 -1
  137. package/src/chains/formatters/optimism.ts +9 -6
  138. package/src/chains/index.ts +1 -0
  139. package/src/errors/version.ts +1 -1
  140. package/src/index.ts +1 -0
  141. package/src/types/formatter.ts +10 -9
  142. package/src/types/serializer.ts +1 -1
  143. package/src/utils/formatters/block.ts +1 -1
  144. package/src/utils/formatters/extract.ts +3 -3
  145. package/src/utils/formatters/formatter.ts +17 -13
  146. package/src/utils/formatters/transaction.ts +4 -2
  147. package/src/utils/formatters/transactionReceipt.ts +1 -0
  148. package/src/utils/formatters/transactionRequest.ts +1 -0
  149. package/src/utils/index.ts +1 -0
@@ -1,5 +1,5 @@
1
- import { defineBlock, formatTransaction } from '../../index.js'
2
1
  import type { FeeValuesEIP1559 } from '../../types/fee.js'
2
+ import { type Formatters } from '../../types/formatter.js'
3
3
  import type { Hash, Hex } from '../../types/misc.js'
4
4
  import type {
5
5
  Index,
@@ -11,7 +11,11 @@ import type {
11
11
  TransactionBase,
12
12
  } from '../../types/transaction.js'
13
13
  import { hexToBigInt } from '../../utils/encoding/fromHex.js'
14
- import { defineTransaction } from '../../utils/formatters/transaction.js'
14
+ import { defineBlock } from '../../utils/formatters/block.js'
15
+ import {
16
+ defineTransaction,
17
+ formatTransaction,
18
+ } from '../../utils/formatters/transaction.js'
15
19
 
16
20
  type RpcTransaction = RpcTransaction_ & {
17
21
  isSystemTx?: undefined
@@ -19,7 +23,7 @@ type RpcTransaction = RpcTransaction_ & {
19
23
  sourceHash?: undefined
20
24
  }
21
25
 
22
- type RpcDepositTransaction = TransactionBase<Quantity, Index> &
26
+ export type RpcDepositTransaction = TransactionBase<Quantity, Index> &
23
27
  FeeValuesEIP1559<Quantity> & {
24
28
  isSystemTx?: boolean
25
29
  mint?: Hex
@@ -33,7 +37,7 @@ type Transaction = Transaction_ & {
33
37
  sourceHash?: undefined
34
38
  }
35
39
 
36
- type DepositTransaction = TransactionBase &
40
+ export type DepositTransaction = TransactionBase &
37
41
  FeeValuesEIP1559 & {
38
42
  isSystemTx?: boolean
39
43
  mint?: bigint
@@ -51,7 +55,6 @@ type OptimismOverrides = {
51
55
 
52
56
  export const optimismFormatters = {
53
57
  block: /*#__PURE__*/ defineBlock({
54
- exclude: ['difficulty', 'gasLimit', 'mixHash', 'nonce', 'uncles'],
55
58
  format(args: OptimismOverrides['RpcBlock']) {
56
59
  const transactions = args.transactions?.map((transaction) => {
57
60
  if (typeof transaction === 'string') return transaction
@@ -85,4 +88,4 @@ export const optimismFormatters = {
85
88
  return transaction
86
89
  },
87
90
  }),
88
- } as const
91
+ } as const satisfies Formatters
@@ -129,6 +129,7 @@ export const xdcTestnet = /*#__PURE__*/ defineChain(chains.xdcTestnet)
129
129
  export const zhejiang = /*#__PURE__*/ defineChain(chains.zhejiang)
130
130
  export const zkSync = /*#__PURE__*/ defineChain(chains.zkSync)
131
131
  export const zkSyncTestnet = /*#__PURE__*/ defineChain(chains.zkSyncTestnet)
132
+ export const zora = /*#__PURE__*/ defineChain(chains.zora)
132
133
  export const zoraTestnet = /*#__PURE__*/ defineChain(chains.zoraTestnet)
133
134
 
134
135
  export type { Chain } from '../types/chain.js'
@@ -1 +1 @@
1
- export const version = '1.1.0'
1
+ export const version = '1.1.2'
package/src/index.ts CHANGED
@@ -512,6 +512,7 @@ export {
512
512
  defineBlock,
513
513
  formatBlock,
514
514
  } from './utils/formatters/block.js'
515
+ export { formatLog } from './utils/formatters/log.js'
515
516
  export {
516
517
  type DecodeAbiParametersReturnType,
517
518
  decodeAbiParameters,
@@ -1,14 +1,15 @@
1
1
  import type { Chain } from './chain.js'
2
2
 
3
- export type Formatter<TSource = any, TTarget = any> = (
4
- value: TSource,
5
- ) => TTarget
3
+ export type Formatter<TType extends string = string> = {
4
+ format: (args: any) => any
5
+ type: TType
6
+ }
6
7
 
7
8
  export type Formatters = {
8
- block?: Formatter
9
- transaction?: Formatter
10
- transactionReceipt?: Formatter
11
- transactionRequest?: Formatter
9
+ block?: Formatter<'block'>
10
+ transaction?: Formatter<'transaction'>
11
+ transactionReceipt?: Formatter<'transactionReceipt'>
12
+ transactionRequest?: Formatter<'transactionRequest'>
12
13
  }
13
14
 
14
15
  export type ExtractFormatterParameters<
@@ -17,7 +18,7 @@ export type ExtractFormatterParameters<
17
18
  TFallback,
18
19
  > = TChain extends Chain<infer _Formatters extends Formatters>
19
20
  ? _Formatters[TType] extends Formatter
20
- ? Parameters<_Formatters[TType]>[0]
21
+ ? Parameters<_Formatters[TType]['format']>[0]
21
22
  : TFallback
22
23
  : TFallback
23
24
 
@@ -27,6 +28,6 @@ export type ExtractFormatterReturnType<
27
28
  TFallback,
28
29
  > = TChain extends Chain<infer _Formatters extends Formatters>
29
30
  ? _Formatters[TType] extends Formatter
30
- ? ReturnType<_Formatters[TType]>
31
+ ? ReturnType<_Formatters[TType]['format']>
31
32
  : TFallback
32
33
  : TFallback
@@ -12,7 +12,7 @@ export type Serializers<
12
12
  TFormatters extends Formatters
13
13
  ? TFormatters['transactionRequest'] extends Formatter
14
14
  ? TransactionSerializableGeneric &
15
- Parameters<TFormatters['transactionRequest']>[0]
15
+ Parameters<TFormatters['transactionRequest']['format']>[0]
16
16
  : TransactionSerializable
17
17
  : TransactionSerializable
18
18
  >
@@ -34,4 +34,4 @@ export function formatBlock(block: Partial<RpcBlock>) {
34
34
  } as Block
35
35
  }
36
36
 
37
- export const defineBlock = /*#__PURE__*/ defineFormatter(formatBlock)
37
+ export const defineBlock = /*#__PURE__*/ defineFormatter('block', formatBlock)
@@ -5,10 +5,10 @@ import type { Formatter } from '../../types/formatter.js'
5
5
  */
6
6
  export function extract(
7
7
  value: Record<string, unknown>,
8
- { formatter }: { formatter?: Formatter },
8
+ { format }: { format?: Formatter['format'] },
9
9
  ) {
10
- if (!formatter) return {}
11
- const keys = Object.keys(formatter({}))
10
+ if (!format) return {}
11
+ const keys = Object.keys(format({}))
12
12
  return keys.reduce((data, key) => {
13
13
  if (value?.hasOwnProperty(key)) {
14
14
  ;(data as any)[key] = value[key]
@@ -1,6 +1,7 @@
1
1
  import type { Assign, Prettify } from '../../types/utils.js'
2
2
 
3
- export function defineFormatter<TParameters, TReturnType>(
3
+ export function defineFormatter<TType extends string, TParameters, TReturnType>(
4
+ type: TType,
4
5
  format: (_: TParameters) => TReturnType,
5
6
  ) {
6
7
  return <
@@ -14,19 +15,22 @@ export function defineFormatter<TParameters, TReturnType>(
14
15
  exclude?: TExclude
15
16
  format: (_: TOverrideParameters) => TOverrideReturnType
16
17
  }) => {
17
- return (args: TParameters & TOverrideParameters) => {
18
- const formatted = format(args)
19
- if (exclude) {
20
- for (const key of exclude) {
21
- delete (formatted as any)[key]
18
+ return {
19
+ format: (args: TParameters & TOverrideParameters) => {
20
+ const formatted = format(args)
21
+ if (exclude) {
22
+ for (const key of exclude) {
23
+ delete (formatted as any)[key]
24
+ }
22
25
  }
23
- }
24
- return {
25
- ...formatted,
26
- ...overrides(args),
27
- } as Prettify<Assign<TReturnType, TOverrideReturnType>> & {
28
- [K in TExclude[number]]: never
29
- }
26
+ return {
27
+ ...formatted,
28
+ ...overrides(args),
29
+ } as Prettify<Assign<TReturnType, TOverrideReturnType>> & {
30
+ [K in TExclude[number]]: never
31
+ }
32
+ },
33
+ type,
30
34
  }
31
35
  }
32
36
  }
@@ -54,5 +54,7 @@ export function formatTransaction(transaction: Partial<RpcTransaction>) {
54
54
  return transaction_ as Transaction
55
55
  }
56
56
 
57
- export const defineTransaction =
58
- /*#__PURE__*/ defineFormatter(formatTransaction)
57
+ export const defineTransaction = /*#__PURE__*/ defineFormatter(
58
+ 'transaction',
59
+ formatTransaction,
60
+ )
@@ -56,5 +56,6 @@ export function formatTransactionReceipt(
56
56
  }
57
57
 
58
58
  export const defineTransactionReceipt = /*#__PURE__*/ defineFormatter(
59
+ 'transactionReceipt',
59
60
  formatTransactionReceipt,
60
61
  )
@@ -42,5 +42,6 @@ export function formatTransactionRequest(
42
42
  }
43
43
 
44
44
  export const defineTransactionRequest = /*#__PURE__*/ defineFormatter(
45
+ 'transactionRequest',
45
46
  formatTransactionRequest,
46
47
  )
@@ -128,6 +128,7 @@ export {
128
128
  formatTransaction,
129
129
  transactionType,
130
130
  } from './formatters/transaction.js'
131
+ export { formatLog } from './formatters/log.js'
131
132
  export {
132
133
  type FormattedTransactionReceipt,
133
134
  defineTransactionReceipt,