viem 1.4.2 → 1.5.0

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 (216) hide show
  1. package/dist/cjs/accounts/index.js +1 -1
  2. package/dist/cjs/accounts/index.js.map +1 -1
  3. package/dist/cjs/accounts/utils/signMessage.js +1 -1
  4. package/dist/cjs/accounts/utils/signMessage.js.map +1 -1
  5. package/dist/cjs/accounts/utils/signTypedData.js +1 -1
  6. package/dist/cjs/accounts/utils/signTypedData.js.map +1 -1
  7. package/dist/cjs/actions/public/createContractEventFilter.js.map +1 -1
  8. package/dist/cjs/actions/public/createEventFilter.js +16 -8
  9. package/dist/cjs/actions/public/createEventFilter.js.map +1 -1
  10. package/dist/cjs/actions/public/getBlock.js +3 -1
  11. package/dist/cjs/actions/public/getBlock.js.map +1 -1
  12. package/dist/cjs/actions/public/getBlockNumber.js +2 -2
  13. package/dist/cjs/actions/public/getBlockNumber.js.map +1 -1
  14. package/dist/cjs/actions/public/getFilterChanges.js.map +1 -1
  15. package/dist/cjs/actions/public/getFilterLogs.js +1 -1
  16. package/dist/cjs/actions/public/getFilterLogs.js.map +1 -1
  17. package/dist/cjs/actions/public/getLogs.js +16 -10
  18. package/dist/cjs/actions/public/getLogs.js.map +1 -1
  19. package/dist/cjs/actions/public/getTransaction.js +2 -1
  20. package/dist/cjs/actions/public/getTransaction.js.map +1 -1
  21. package/dist/cjs/actions/public/watchBlockNumber.js +1 -1
  22. package/dist/cjs/actions/public/watchBlockNumber.js.map +1 -1
  23. package/dist/cjs/actions/public/watchBlocks.js +2 -1
  24. package/dist/cjs/actions/public/watchBlocks.js.map +1 -1
  25. package/dist/cjs/actions/public/watchContractEvent.js.map +1 -1
  26. package/dist/cjs/actions/public/watchEvent.js +4 -2
  27. package/dist/cjs/actions/public/watchEvent.js.map +1 -1
  28. package/dist/cjs/clients/createClient.js +2 -1
  29. package/dist/cjs/clients/createClient.js.map +1 -1
  30. package/dist/cjs/clients/createPublicClient.js.map +1 -1
  31. package/dist/cjs/clients/createTestClient.js.map +1 -1
  32. package/dist/cjs/clients/createWalletClient.js.map +1 -1
  33. package/dist/cjs/clients/decorators/public.js.map +1 -1
  34. package/dist/cjs/constants/number.js +101 -0
  35. package/dist/cjs/constants/number.js.map +1 -0
  36. package/dist/cjs/errors/version.js +1 -1
  37. package/dist/cjs/index.js +110 -7
  38. package/dist/cjs/index.js.map +1 -1
  39. package/dist/cjs/utils/formatters/block.js.map +1 -1
  40. package/dist/cjs/utils/formatters/formatter.js +1 -0
  41. package/dist/cjs/utils/formatters/formatter.js.map +1 -1
  42. package/dist/cjs/utils/formatters/transaction.js.map +1 -1
  43. package/dist/cjs/utils/promise/withCache.js +3 -3
  44. package/dist/cjs/utils/promise/withCache.js.map +1 -1
  45. package/dist/cjs/utils/signature/hexToSignature.js +12 -0
  46. package/dist/cjs/utils/signature/hexToSignature.js.map +1 -0
  47. package/dist/cjs/utils/signature/signatureToHex.js.map +1 -0
  48. package/dist/esm/accounts/index.js +1 -1
  49. package/dist/esm/accounts/index.js.map +1 -1
  50. package/dist/esm/accounts/utils/signMessage.js +1 -1
  51. package/dist/esm/accounts/utils/signMessage.js.map +1 -1
  52. package/dist/esm/accounts/utils/signTypedData.js +1 -1
  53. package/dist/esm/accounts/utils/signTypedData.js.map +1 -1
  54. package/dist/esm/actions/public/createContractEventFilter.js.map +1 -1
  55. package/dist/esm/actions/public/createEventFilter.js +16 -8
  56. package/dist/esm/actions/public/createEventFilter.js.map +1 -1
  57. package/dist/esm/actions/public/getBlock.js +3 -1
  58. package/dist/esm/actions/public/getBlock.js.map +1 -1
  59. package/dist/esm/actions/public/getBlockNumber.js +2 -2
  60. package/dist/esm/actions/public/getBlockNumber.js.map +1 -1
  61. package/dist/esm/actions/public/getFilterChanges.js.map +1 -1
  62. package/dist/esm/actions/public/getFilterLogs.js +1 -1
  63. package/dist/esm/actions/public/getFilterLogs.js.map +1 -1
  64. package/dist/esm/actions/public/getLogs.js +16 -10
  65. package/dist/esm/actions/public/getLogs.js.map +1 -1
  66. package/dist/esm/actions/public/getTransaction.js +2 -1
  67. package/dist/esm/actions/public/getTransaction.js.map +1 -1
  68. package/dist/esm/actions/public/watchBlockNumber.js +1 -1
  69. package/dist/esm/actions/public/watchBlockNumber.js.map +1 -1
  70. package/dist/esm/actions/public/watchBlocks.js +2 -1
  71. package/dist/esm/actions/public/watchBlocks.js.map +1 -1
  72. package/dist/esm/actions/public/watchContractEvent.js.map +1 -1
  73. package/dist/esm/actions/public/watchEvent.js +4 -2
  74. package/dist/esm/actions/public/watchEvent.js.map +1 -1
  75. package/dist/esm/clients/createClient.js +2 -1
  76. package/dist/esm/clients/createClient.js.map +1 -1
  77. package/dist/esm/clients/createPublicClient.js.map +1 -1
  78. package/dist/esm/clients/createTestClient.js.map +1 -1
  79. package/dist/esm/clients/createWalletClient.js.map +1 -1
  80. package/dist/esm/clients/decorators/public.js.map +1 -1
  81. package/dist/esm/constants/number.js +97 -0
  82. package/dist/esm/constants/number.js.map +1 -0
  83. package/dist/esm/errors/version.js +1 -1
  84. package/dist/esm/index.js +4 -1
  85. package/dist/esm/index.js.map +1 -1
  86. package/dist/esm/utils/formatters/block.js.map +1 -1
  87. package/dist/esm/utils/formatters/formatter.js +1 -0
  88. package/dist/esm/utils/formatters/formatter.js.map +1 -1
  89. package/dist/esm/utils/formatters/transaction.js.map +1 -1
  90. package/dist/esm/utils/promise/withCache.js +3 -3
  91. package/dist/esm/utils/promise/withCache.js.map +1 -1
  92. package/dist/esm/utils/signature/hexToSignature.js +18 -0
  93. package/dist/esm/utils/signature/hexToSignature.js.map +1 -0
  94. package/dist/esm/utils/signature/signatureToHex.js +21 -0
  95. package/dist/esm/utils/signature/signatureToHex.js.map +1 -0
  96. package/dist/types/accounts/index.d.ts +1 -1
  97. package/dist/types/accounts/index.d.ts.map +1 -1
  98. package/dist/types/actions/public/createContractEventFilter.d.ts +5 -5
  99. package/dist/types/actions/public/createContractEventFilter.d.ts.map +1 -1
  100. package/dist/types/actions/public/createEventFilter.d.ts +20 -7
  101. package/dist/types/actions/public/createEventFilter.d.ts.map +1 -1
  102. package/dist/types/actions/public/getBlock.d.ts +5 -5
  103. package/dist/types/actions/public/getBlock.d.ts.map +1 -1
  104. package/dist/types/actions/public/getBlockNumber.d.ts +4 -2
  105. package/dist/types/actions/public/getBlockNumber.d.ts.map +1 -1
  106. package/dist/types/actions/public/getFilterChanges.d.ts +5 -8
  107. package/dist/types/actions/public/getFilterChanges.d.ts.map +1 -1
  108. package/dist/types/actions/public/getFilterLogs.d.ts +5 -4
  109. package/dist/types/actions/public/getFilterLogs.d.ts.map +1 -1
  110. package/dist/types/actions/public/getLogs.d.ts +17 -6
  111. package/dist/types/actions/public/getLogs.d.ts.map +1 -1
  112. package/dist/types/actions/public/getTransaction.d.ts +4 -4
  113. package/dist/types/actions/public/getTransaction.d.ts.map +1 -1
  114. package/dist/types/actions/public/watchBlocks.d.ts +10 -10
  115. package/dist/types/actions/public/watchBlocks.d.ts.map +1 -1
  116. package/dist/types/actions/public/watchContractEvent.d.ts +1 -1
  117. package/dist/types/actions/public/watchContractEvent.d.ts.map +1 -1
  118. package/dist/types/actions/public/watchEvent.d.ts +19 -8
  119. package/dist/types/actions/public/watchEvent.d.ts.map +1 -1
  120. package/dist/types/chains/formatters/celo.d.ts +4 -0
  121. package/dist/types/chains/formatters/celo.d.ts.map +1 -1
  122. package/dist/types/chains/formatters/optimism.d.ts +5 -3
  123. package/dist/types/chains/formatters/optimism.d.ts.map +1 -1
  124. package/dist/types/chains/index.d.ts +44 -12
  125. package/dist/types/chains/index.d.ts.map +1 -1
  126. package/dist/types/clients/createClient.d.ts +7 -0
  127. package/dist/types/clients/createClient.d.ts.map +1 -1
  128. package/dist/types/clients/createPublicClient.d.ts +1 -1
  129. package/dist/types/clients/createPublicClient.d.ts.map +1 -1
  130. package/dist/types/clients/createTestClient.d.ts +1 -1
  131. package/dist/types/clients/createTestClient.d.ts.map +1 -1
  132. package/dist/types/clients/createWalletClient.d.ts +1 -1
  133. package/dist/types/clients/createWalletClient.d.ts.map +1 -1
  134. package/dist/types/clients/decorators/public.d.ts +10 -9
  135. package/dist/types/clients/decorators/public.d.ts.map +1 -1
  136. package/dist/types/constants/number.d.ts +97 -0
  137. package/dist/types/constants/number.d.ts.map +1 -0
  138. package/dist/types/errors/version.d.ts +1 -1
  139. package/dist/types/index.d.ts +4 -1
  140. package/dist/types/index.d.ts.map +1 -1
  141. package/dist/types/types/block.d.ts +7 -7
  142. package/dist/types/types/block.d.ts.map +1 -1
  143. package/dist/types/types/contract.d.ts +1 -1
  144. package/dist/types/types/contract.d.ts.map +1 -1
  145. package/dist/types/types/filter.d.ts +7 -3
  146. package/dist/types/types/filter.d.ts.map +1 -1
  147. package/dist/types/types/formatter.d.ts +3 -0
  148. package/dist/types/types/formatter.d.ts.map +1 -1
  149. package/dist/types/types/log.d.ts +8 -8
  150. package/dist/types/types/log.d.ts.map +1 -1
  151. package/dist/types/types/misc.d.ts.map +1 -1
  152. package/dist/types/types/rpc.d.ts +3 -3
  153. package/dist/types/types/rpc.d.ts.map +1 -1
  154. package/dist/types/types/transaction.d.ts +8 -8
  155. package/dist/types/types/transaction.d.ts.map +1 -1
  156. package/dist/types/utils/formatters/block.d.ts +13 -3
  157. package/dist/types/utils/formatters/block.d.ts.map +1 -1
  158. package/dist/types/utils/formatters/formatter.d.ts +1 -0
  159. package/dist/types/utils/formatters/formatter.d.ts.map +1 -1
  160. package/dist/types/utils/formatters/transaction.d.ts +10 -3
  161. package/dist/types/utils/formatters/transaction.d.ts.map +1 -1
  162. package/dist/types/utils/formatters/transactionReceipt.d.ts +1 -0
  163. package/dist/types/utils/formatters/transactionReceipt.d.ts.map +1 -1
  164. package/dist/types/utils/formatters/transactionRequest.d.ts +1 -0
  165. package/dist/types/utils/formatters/transactionRequest.d.ts.map +1 -1
  166. package/dist/types/utils/promise/withCache.d.ts +3 -3
  167. package/dist/types/utils/promise/withCache.d.ts.map +1 -1
  168. package/dist/types/utils/signature/hexToSignature.d.ts +13 -0
  169. package/dist/types/utils/signature/hexToSignature.d.ts.map +1 -0
  170. package/dist/types/utils/signature/signatureToHex.d.ts +17 -0
  171. package/dist/types/utils/signature/signatureToHex.d.ts.map +1 -0
  172. package/package.json +1 -1
  173. package/src/accounts/index.ts +1 -1
  174. package/src/accounts/utils/signMessage.ts +1 -1
  175. package/src/accounts/utils/signTypedData.ts +1 -1
  176. package/src/actions/public/createContractEventFilter.ts +30 -7
  177. package/src/actions/public/createEventFilter.ts +78 -24
  178. package/src/actions/public/getBlock.ts +18 -8
  179. package/src/actions/public/getBlockNumber.ts +5 -3
  180. package/src/actions/public/getFilterChanges.ts +46 -10
  181. package/src/actions/public/getFilterLogs.ts +26 -10
  182. package/src/actions/public/getLogs.ts +73 -18
  183. package/src/actions/public/getTransaction.ts +15 -8
  184. package/src/actions/public/watchBlockNumber.ts +1 -1
  185. package/src/actions/public/watchBlocks.ts +37 -18
  186. package/src/actions/public/watchContractEvent.ts +5 -5
  187. package/src/actions/public/watchEvent.ts +50 -17
  188. package/src/clients/createClient.ts +9 -0
  189. package/src/clients/createPublicClient.ts +7 -1
  190. package/src/clients/createTestClient.ts +7 -1
  191. package/src/clients/createWalletClient.ts +7 -1
  192. package/src/clients/decorators/public.ts +114 -25
  193. package/src/constants/number.ts +98 -0
  194. package/src/errors/version.ts +1 -1
  195. package/src/index.ts +101 -1
  196. package/src/types/block.ts +25 -10
  197. package/src/types/contract.ts +7 -3
  198. package/src/types/filter.ts +32 -26
  199. package/src/types/formatter.ts +9 -0
  200. package/src/types/log.ts +13 -8
  201. package/src/types/misc.ts +3 -0
  202. package/src/types/rpc.ts +20 -6
  203. package/src/types/transaction.ts +22 -11
  204. package/src/utils/formatters/block.ts +31 -4
  205. package/src/utils/formatters/formatter.ts +1 -0
  206. package/src/utils/formatters/transaction.ts +25 -2
  207. package/src/utils/promise/withCache.ts +5 -5
  208. package/src/utils/signature/hexToSignature.ts +20 -0
  209. package/src/utils/signature/signatureToHex.ts +26 -0
  210. package/dist/cjs/accounts/utils/signatureToHex.js.map +0 -1
  211. package/dist/esm/accounts/utils/signatureToHex.js +0 -7
  212. package/dist/esm/accounts/utils/signatureToHex.js.map +0 -1
  213. package/dist/types/accounts/utils/signatureToHex.d.ts +0 -3
  214. package/dist/types/accounts/utils/signatureToHex.d.ts.map +0 -1
  215. package/src/accounts/utils/signatureToHex.ts +0 -12
  216. /package/dist/cjs/{accounts/utils → utils/signature}/signatureToHex.js +0 -0
@@ -39,11 +39,11 @@ export type TransactionReceipt<TQuantity = bigint, TIndex = number, TStatus = 's
39
39
  /** Transaction type */
40
40
  type: TType;
41
41
  };
42
- export type TransactionBase<TQuantity = bigint, TIndex = number> = {
42
+ export type TransactionBase<TQuantity = bigint, TIndex = number, TPending extends boolean = boolean> = {
43
43
  /** Hash of block containing this transaction or `null` if pending */
44
- blockHash: Hash | null;
44
+ blockHash: TPending extends true ? null : Hash;
45
45
  /** Number of block containing this transaction or `null` if pending */
46
- blockNumber: TQuantity | null;
46
+ blockNumber: TPending extends true ? null : TQuantity;
47
47
  /** Transaction sender */
48
48
  from: Address;
49
49
  /** Gas provided for transaction execution */
@@ -61,7 +61,7 @@ export type TransactionBase<TQuantity = bigint, TIndex = number> = {
61
61
  /** Transaction recipient or `null` if deploying a contract */
62
62
  to: Address | null;
63
63
  /** Index of this transaction in the block or `null` if pending */
64
- transactionIndex: TIndex | null;
64
+ transactionIndex: TPending extends true ? null : TIndex;
65
65
  /** The type represented as hex. */
66
66
  typeHex: Hex | null;
67
67
  /** ECDSA recovery ID */
@@ -69,22 +69,22 @@ export type TransactionBase<TQuantity = bigint, TIndex = number> = {
69
69
  /** Value in wei sent with this transaction */
70
70
  value: TQuantity;
71
71
  };
72
- export type TransactionLegacy<TQuantity = bigint, TIndex = number, TType = 'legacy'> = TransactionBase<TQuantity, TIndex> & FeeValuesLegacy<TQuantity> & {
72
+ export type TransactionLegacy<TQuantity = bigint, TIndex = number, TPending extends boolean = boolean, TType = 'legacy'> = TransactionBase<TQuantity, TIndex, TPending> & FeeValuesLegacy<TQuantity> & {
73
73
  accessList?: never;
74
74
  chainId?: TIndex;
75
75
  type: TType;
76
76
  };
77
- export type TransactionEIP2930<TQuantity = bigint, TIndex = number, TType = 'eip2930'> = TransactionBase<TQuantity, TIndex> & FeeValuesLegacy<TQuantity> & {
77
+ export type TransactionEIP2930<TQuantity = bigint, TIndex = number, TPending extends boolean = boolean, TType = 'eip2930'> = TransactionBase<TQuantity, TIndex, TPending> & FeeValuesLegacy<TQuantity> & {
78
78
  accessList: AccessList;
79
79
  chainId: TIndex;
80
80
  type: TType;
81
81
  };
82
- export type TransactionEIP1559<TQuantity = bigint, TIndex = number, TType = 'eip1559'> = TransactionBase<TQuantity, TIndex> & FeeValuesEIP1559<TQuantity> & {
82
+ export type TransactionEIP1559<TQuantity = bigint, TIndex = number, TPending extends boolean = boolean, TType = 'eip1559'> = TransactionBase<TQuantity, TIndex, TPending> & FeeValuesEIP1559<TQuantity> & {
83
83
  accessList: AccessList;
84
84
  chainId: TIndex;
85
85
  type: TType;
86
86
  };
87
- export type Transaction<TQuantity = bigint, TIndex = number> = TransactionLegacy<TQuantity, TIndex> | TransactionEIP2930<TQuantity, TIndex> | TransactionEIP1559<TQuantity, TIndex>;
87
+ export type Transaction<TQuantity = bigint, TIndex = number, TPending extends boolean = boolean> = TransactionLegacy<TQuantity, TIndex, TPending> | TransactionEIP2930<TQuantity, TIndex, TPending> | TransactionEIP1559<TQuantity, TIndex, TPending>;
88
88
  export type TransactionRequestBase<TQuantity = bigint, TIndex = number> = {
89
89
  /** Contract code or a hashed method call with encoded args */
90
90
  data?: Hex;
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/types/transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/types/transaction.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,24 @@
1
- import type { Block } from '../../types/block.js';
1
+ import type { Block, BlockTag } from '../../types/block.js';
2
2
  import type { Chain } from '../../types/chain.js';
3
- import type { ExtractFormatterReturnType } from '../../types/formatter.js';
3
+ import type { ExtractFormatterExclude, ExtractFormatterReturnType } from '../../types/formatter.js';
4
+ import type { Hash } from '../../types/misc.js';
4
5
  import type { RpcBlock } from '../../types/rpc.js';
5
- export type FormattedBlock<TChain extends Chain | undefined = Chain | undefined> = ExtractFormatterReturnType<TChain, 'block', Block>;
6
+ import type { Prettify } from '../../types/utils.js';
7
+ import { type FormattedTransaction } from './transaction.js';
8
+ type BlockPendingDependencies = 'hash' | 'logsBloom' | 'nonce' | 'number';
9
+ export type FormattedBlock<TChain extends Chain | undefined = Chain | undefined, TIncludeTransactions extends boolean = boolean, TBlockTag extends BlockTag = BlockTag, _FormatterReturnType = ExtractFormatterReturnType<TChain, 'block', Block<bigint, TIncludeTransactions>>, _ExcludedPendingDependencies extends string = BlockPendingDependencies & ExtractFormatterExclude<TChain, 'block'>, _Formatted = Omit<_FormatterReturnType, BlockPendingDependencies> & {
10
+ [K in _ExcludedPendingDependencies]: never;
11
+ } & Pick<Block<bigint, TIncludeTransactions, TBlockTag>, BlockPendingDependencies>, _Transactions = TIncludeTransactions extends true ? Prettify<FormattedTransaction<TChain, TBlockTag>>[] : Hash[]> = Omit<_Formatted, 'transactions'> & {
12
+ transactions: _Transactions;
13
+ };
6
14
  export declare function formatBlock(block: Partial<RpcBlock>): Block;
7
15
  export declare const defineBlock: <TOverrideParameters, TOverrideReturnType, TExclude extends (keyof RpcBlock)[] = []>({ exclude, format: overrides, }: {
8
16
  exclude?: TExclude | undefined;
9
17
  format: (_: TOverrideParameters) => TOverrideReturnType;
10
18
  }) => {
19
+ exclude: TExclude | undefined;
11
20
  format: (args: Partial<RpcBlock> & TOverrideParameters) => (import("../../types/utils.js").Assign<Block, TOverrideReturnType> extends infer T ? { [K in keyof T]: import("../../types/utils.js").Assign<Block, TOverrideReturnType>[K]; } : never) & { [K_1 in TExclude[number]]: never; };
12
21
  type: "block";
13
22
  };
23
+ export {};
14
24
  //# sourceMappingURL=block.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../../../src/utils/formatters/block.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAA;AAC1E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAKlD,MAAM,MAAM,cAAc,CACxB,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,IAClD,0BAA0B,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;AAEtD,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,SAsBnD;AAED,eAAO,MAAM,WAAW;;;;;;CAAsD,CAAA"}
1
+ {"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../../../src/utils/formatters/block.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,EACV,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAGpD,OAAO,EAAE,KAAK,oBAAoB,EAAqB,MAAM,kBAAkB,CAAA;AAE/E,KAAK,wBAAwB,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAA;AAEzE,MAAM,MAAM,cAAc,CACxB,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,oBAAoB,SAAS,OAAO,GAAG,OAAO,EAC9C,SAAS,SAAS,QAAQ,GAAG,QAAQ,EACrC,oBAAoB,GAAG,0BAA0B,CAC/C,MAAM,EACN,OAAO,EACP,KAAK,CAAC,MAAM,EAAE,oBAAoB,CAAC,CACpC,EACD,4BAA4B,SAAS,MAAM,GAAG,wBAAwB,GACpE,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1C,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,wBAAwB,CAAC,GAAG;KACjE,CAAC,IAAI,4BAA4B,GAAG,KAAK;CAC3C,GAAG,IAAI,CACJ,KAAK,CAAC,MAAM,EAAE,oBAAoB,EAAE,SAAS,CAAC,EAC9C,wBAAwB,CACzB,EACH,aAAa,GAAG,oBAAoB,SAAS,IAAI,GAC7C,QAAQ,CAAC,oBAAoB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,EAAE,GACnD,IAAI,EAAE,IACR,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,GAAG;IACrC,YAAY,EAAE,aAAa,CAAA;CAC5B,CAAA;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,SAsBnD;AAED,eAAO,MAAM,WAAW;;;;;;;CAAsD,CAAA"}
@@ -3,6 +3,7 @@ export declare function defineFormatter<TType extends string, TParameters, TRetu
3
3
  exclude?: TExclude | undefined;
4
4
  format: (_: TOverrideParameters) => TOverrideReturnType;
5
5
  }) => {
6
+ exclude: TExclude | undefined;
6
7
  format: (args: TParameters & TOverrideParameters) => (Assign<TReturnType, TOverrideReturnType> extends infer T ? { [K in keyof T]: Assign<TReturnType, TOverrideReturnType>[K]; } : never) & { [K_1 in TExclude[number]]: never; };
7
8
  type: TType;
8
9
  };
@@ -1 +1 @@
1
- {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../../../src/utils/formatters/formatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAY,MAAM,sBAAsB,CAAA;AAE5D,wBAAgB,eAAe,CAAC,KAAK,SAAS,MAAM,EAAE,WAAW,EAAE,WAAW,EAC5E,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,CAAC,CAAC,EAAE,WAAW,KAAK,WAAW;;;;;;EA+BxC"}
1
+ {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../../../src/utils/formatters/formatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAY,MAAM,sBAAsB,CAAA;AAE5D,wBAAgB,eAAe,CAAC,KAAK,SAAS,MAAM,EAAE,WAAW,EAAE,WAAW,EAC5E,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,CAAC,CAAC,EAAE,WAAW,KAAK,WAAW;;;;;;;EAgCxC"}
@@ -1,8 +1,13 @@
1
+ import type { BlockTag } from '../../types/block.js';
1
2
  import type { Chain } from '../../types/chain.js';
2
- import type { ExtractFormatterReturnType } from '../../types/formatter.js';
3
+ import type { ExtractFormatterExclude, ExtractFormatterReturnType } from '../../types/formatter.js';
3
4
  import type { RpcTransaction } from '../../types/rpc.js';
4
5
  import type { Transaction } from '../../types/transaction.js';
5
- export type FormattedTransaction<TChain extends Chain | undefined = Chain | undefined> = ExtractFormatterReturnType<TChain, 'transaction', Transaction>;
6
+ import type { UnionOmit } from '../../types/utils.js';
7
+ type TransactionPendingDependencies = 'blockHash' | 'blockNumber' | 'transactionIndex';
8
+ export type FormattedTransaction<TChain extends Chain | undefined = Chain | undefined, TBlockTag extends BlockTag = BlockTag, _FormatterReturnType = ExtractFormatterReturnType<TChain, 'transaction', Transaction>, _ExcludedPendingDependencies extends string = TransactionPendingDependencies & ExtractFormatterExclude<TChain, 'transaction'>> = UnionOmit<_FormatterReturnType, TransactionPendingDependencies> & {
9
+ [K in _ExcludedPendingDependencies]: never;
10
+ } & Pick<Transaction<bigint, number, TBlockTag extends 'pending' ? true : false>, TransactionPendingDependencies>;
6
11
  export declare const transactionType: {
7
12
  readonly '0x0': "legacy";
8
13
  readonly '0x1': "eip2930";
@@ -13,7 +18,9 @@ export declare const defineTransaction: <TOverrideParameters, TOverrideReturnTyp
13
18
  exclude?: TExclude | undefined;
14
19
  format: (_: TOverrideParameters) => TOverrideReturnType;
15
20
  }) => {
16
- format: (args: Partial<RpcTransaction> & TOverrideParameters) => ((import("../../types/utils.js").Assign_<import("../../types/transaction.js").TransactionLegacy<bigint, number, "legacy">, TOverrideReturnType> & TOverrideReturnType extends infer T ? { [K in keyof T]: (import("../../types/utils.js").Assign_<import("../../types/transaction.js").TransactionLegacy<bigint, number, "legacy">, TOverrideReturnType> & TOverrideReturnType)[K]; } : never) | (import("../../types/utils.js").Assign_<import("../../types/transaction.js").TransactionEIP2930<bigint, number, "eip2930">, TOverrideReturnType> & TOverrideReturnType extends infer T_1 ? { [K_1 in keyof T_1]: (import("../../types/utils.js").Assign_<import("../../types/transaction.js").TransactionEIP2930<bigint, number, "eip2930">, TOverrideReturnType> & TOverrideReturnType)[K_1]; } : never) | (import("../../types/utils.js").Assign_<import("../../types/transaction.js").TransactionEIP1559<bigint, number, "eip1559">, TOverrideReturnType> & TOverrideReturnType extends infer T_2 ? { [K_2 in keyof T_2]: (import("../../types/utils.js").Assign_<import("../../types/transaction.js").TransactionEIP1559<bigint, number, "eip1559">, TOverrideReturnType> & TOverrideReturnType)[K_2]; } : never)) & { [K_3 in TExclude[number]]: never; };
21
+ exclude: TExclude | undefined;
22
+ format: (args: Partial<RpcTransaction> & TOverrideParameters) => ((import("../../types/utils.js").Assign_<import("../../types/transaction.js").TransactionLegacy<bigint, number, boolean, "legacy">, TOverrideReturnType> & TOverrideReturnType extends infer T ? { [K in keyof T]: (import("../../types/utils.js").Assign_<import("../../types/transaction.js").TransactionLegacy<bigint, number, boolean, "legacy">, TOverrideReturnType> & TOverrideReturnType)[K]; } : never) | (import("../../types/utils.js").Assign_<import("../../types/transaction.js").TransactionEIP2930<bigint, number, boolean, "eip2930">, TOverrideReturnType> & TOverrideReturnType extends infer T_1 ? { [K_1 in keyof T_1]: (import("../../types/utils.js").Assign_<import("../../types/transaction.js").TransactionEIP2930<bigint, number, boolean, "eip2930">, TOverrideReturnType> & TOverrideReturnType)[K_1]; } : never) | (import("../../types/utils.js").Assign_<import("../../types/transaction.js").TransactionEIP1559<bigint, number, boolean, "eip1559">, TOverrideReturnType> & TOverrideReturnType extends infer T_2 ? { [K_2 in keyof T_2]: (import("../../types/utils.js").Assign_<import("../../types/transaction.js").TransactionEIP1559<bigint, number, boolean, "eip1559">, TOverrideReturnType> & TOverrideReturnType)[K_2]; } : never)) & { [K_3 in TExclude[number]]: never; };
17
23
  type: "transaction";
18
24
  };
25
+ export {};
19
26
  //# sourceMappingURL=transaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../src/utils/formatters/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAA;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAI7D,MAAM,MAAM,oBAAoB,CAC9B,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,IAClD,0BAA0B,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,CAAC,CAAA;AAElE,eAAO,MAAM,eAAe;;;;CAIlB,CAAA;AAEV,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,cAAc,CAAC,eAqCrE;AAED,eAAO,MAAM,iBAAiB;;;;;;CAG7B,CAAA"}
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../src/utils/formatters/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,EACV,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAIrD,KAAK,8BAA8B,GAC/B,WAAW,GACX,aAAa,GACb,kBAAkB,CAAA;AAEtB,MAAM,MAAM,oBAAoB,CAC9B,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,SAAS,SAAS,QAAQ,GAAG,QAAQ,EACrC,oBAAoB,GAAG,0BAA0B,CAC/C,MAAM,EACN,aAAa,EACb,WAAW,CACZ,EACD,4BAA4B,SAAS,MAAM,GAAG,8BAA8B,GAC1E,uBAAuB,CAAC,MAAM,EAAE,aAAa,CAAC,IAC9C,SAAS,CAAC,oBAAoB,EAAE,8BAA8B,CAAC,GAAG;KACnE,CAAC,IAAI,4BAA4B,GAAG,KAAK;CAC3C,GAAG,IAAI,CACJ,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,SAAS,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC,EACvE,8BAA8B,CAC/B,CAAA;AAEH,eAAO,MAAM,eAAe;;;;CAIlB,CAAA;AAEV,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,cAAc,CAAC,eAqCrE;AAED,eAAO,MAAM,iBAAiB;;;;;;;CAG7B,CAAA"}
@@ -8,6 +8,7 @@ export declare const defineTransactionReceipt: <TOverrideParameters, TOverrideRe
8
8
  exclude?: TExclude | undefined;
9
9
  format: (_: TOverrideParameters) => TOverrideReturnType;
10
10
  }) => {
11
+ exclude: TExclude | undefined;
11
12
  format: (args: Partial<RpcTransactionReceipt> & TOverrideParameters) => (import("../../types/utils.js").Assign<TransactionReceipt, TOverrideReturnType> extends infer T ? { [K in keyof T]: import("../../types/utils.js").Assign<TransactionReceipt, TOverrideReturnType>[K]; } : never) & { [K_1 in TExclude[number]]: never; };
12
13
  type: "transactionReceipt";
13
14
  };
@@ -1 +1 @@
1
- {"version":3,"file":"transactionReceipt.d.ts","sourceRoot":"","sources":["../../../../src/utils/formatters/transactionReceipt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAA;AAC1E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAOpE,MAAM,MAAM,2BAA2B,CACrC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,IAClD,0BAA0B,CAAC,MAAM,EAAE,oBAAoB,EAAE,kBAAkB,CAAC,CAAA;AAOhF,wBAAgB,wBAAwB,CACtC,kBAAkB,EAAE,OAAO,CAAC,qBAAqB,CAAC,sBAmCnD;AAED,eAAO,MAAM,wBAAwB;;;;;;CAGpC,CAAA"}
1
+ {"version":3,"file":"transactionReceipt.d.ts","sourceRoot":"","sources":["../../../../src/utils/formatters/transactionReceipt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAA;AAC1E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAOpE,MAAM,MAAM,2BAA2B,CACrC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,IAClD,0BAA0B,CAAC,MAAM,EAAE,oBAAoB,EAAE,kBAAkB,CAAC,CAAA;AAOhF,wBAAgB,wBAAwB,CACtC,kBAAkB,EAAE,OAAO,CAAC,qBAAqB,CAAC,sBAmCnD;AAED,eAAO,MAAM,wBAAwB;;;;;;;CAGpC,CAAA"}
@@ -8,6 +8,7 @@ export declare const defineTransactionRequest: <TOverrideParameters, TOverrideRe
8
8
  exclude?: TExclude | undefined;
9
9
  format: (_: TOverrideParameters) => TOverrideReturnType;
10
10
  }) => {
11
+ exclude: TExclude | undefined;
11
12
  format: (args: Partial<TransactionRequest> & TOverrideParameters) => ((import("../../types/utils.js").Assign_<import("../../types/transaction.js").TransactionRequestLegacy<`0x${string}`, `0x${string}`, "0x0">, TOverrideReturnType> & TOverrideReturnType extends infer T ? { [K in keyof T]: (import("../../types/utils.js").Assign_<import("../../types/transaction.js").TransactionRequestLegacy<`0x${string}`, `0x${string}`, "0x0">, TOverrideReturnType> & TOverrideReturnType)[K]; } : never) | (import("../../types/utils.js").Assign_<import("../../types/transaction.js").TransactionRequestEIP2930<`0x${string}`, `0x${string}`, "0x1">, TOverrideReturnType> & TOverrideReturnType extends infer T_1 ? { [K_1 in keyof T_1]: (import("../../types/utils.js").Assign_<import("../../types/transaction.js").TransactionRequestEIP2930<`0x${string}`, `0x${string}`, "0x1">, TOverrideReturnType> & TOverrideReturnType)[K_1]; } : never) | (import("../../types/utils.js").Assign_<import("../../types/transaction.js").TransactionRequestEIP1559<`0x${string}`, `0x${string}`, "0x2">, TOverrideReturnType> & TOverrideReturnType extends infer T_2 ? { [K_2 in keyof T_2]: (import("../../types/utils.js").Assign_<import("../../types/transaction.js").TransactionRequestEIP1559<`0x${string}`, `0x${string}`, "0x2">, TOverrideReturnType> & TOverrideReturnType)[K_2]; } : never)) & { [K_3 in TExclude[number]]: never; };
12
13
  type: "transactionRequest";
13
14
  };
@@ -1 +1 @@
1
- {"version":3,"file":"transactionRequest.d.ts","sourceRoot":"","sources":["../../../../src/utils/formatters/transactionRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAA;AAC1E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAIpE,MAAM,MAAM,2BAA2B,CACrC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,IAClD,0BAA0B,CAAC,MAAM,EAAE,oBAAoB,EAAE,kBAAkB,CAAC,CAAA;AAEhF,wBAAgB,wBAAwB,CACtC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,CAAC,yBA6BhD;AAED,eAAO,MAAM,wBAAwB;;;;;;CAGpC,CAAA"}
1
+ {"version":3,"file":"transactionRequest.d.ts","sourceRoot":"","sources":["../../../../src/utils/formatters/transactionRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAA;AAC1E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAIpE,MAAM,MAAM,2BAA2B,CACrC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,IAClD,0BAA0B,CAAC,MAAM,EAAE,oBAAoB,EAAE,kBAAkB,CAAC,CAAA;AAEhF,wBAAgB,wBAAwB,CACtC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,CAAC,yBA6BhD;AAED,eAAO,MAAM,wBAAwB;;;;;;;CAGpC,CAAA"}
@@ -25,12 +25,12 @@ export declare function getCache<TData>(cacheKey: string): {
25
25
  export type WithCacheParameters = {
26
26
  /** The key to cache the data against. */
27
27
  cacheKey: string;
28
- /** The maximum age (in ms) of the cached value. Default: Infinity (no expiry) */
29
- maxAge?: number;
28
+ /** The time that cached data will remain in memory. Default: Infinity (no expiry) */
29
+ cacheTime?: number;
30
30
  };
31
31
  /**
32
32
  * @description Returns the result of a given promise, and caches the result for
33
33
  * subsequent invocations against a provided cache key.
34
34
  */
35
- export declare function withCache<TData>(fn: () => Promise<TData>, { cacheKey, maxAge }: WithCacheParameters): Promise<TData>;
35
+ export declare function withCache<TData>(fn: () => Promise<TData>, { cacheKey, cacheTime }: WithCacheParameters): Promise<TData>;
36
36
  //# sourceMappingURL=withCache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"withCache.d.ts","sourceRoot":"","sources":["../../../../src/utils/promise/withCache.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,eAA0B,CAAA;AACnD,eAAO,MAAM,aAAa,eAA0B,CAAA;AAEpD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM;;;;;;;;;;qBAQP,IAAI;kBAAQ,KAAK;;;qBAAjB,IAAI;kBAAQ,KAAK;;qBAAjB,IAAI;kBAAQ,KAAK;;;EAazD;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAA;IAChB,iFAAiF;IACjF,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,KAAK,EACnC,EAAE,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,EACxB,EAAE,QAAQ,EAAE,MAAiB,EAAE,EAAE,mBAAmB,kBAmCrD"}
1
+ {"version":3,"file":"withCache.d.ts","sourceRoot":"","sources":["../../../../src/utils/promise/withCache.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,eAA0B,CAAA;AACnD,eAAO,MAAM,aAAa,eAA0B,CAAA;AAEpD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM;;;;;;;;;;qBAQP,IAAI;kBAAQ,KAAK;;;qBAAjB,IAAI;kBAAQ,KAAK;;qBAAjB,IAAI;kBAAQ,KAAK;;;EAazD;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAA;IAChB,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,KAAK,EACnC,EAAE,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,EACxB,EAAE,QAAQ,EAAE,SAAoB,EAAE,EAAE,mBAAmB,kBAmCxD"}
@@ -0,0 +1,13 @@
1
+ import type { Hex, Signature } from '../../types/misc.js';
2
+ /**
3
+ * @description Parses a hex formatted signature into a structured signature.
4
+ *
5
+ * @param signatureHex Signature in hex format.
6
+ * @returns The structured signature.
7
+ *
8
+ * @example
9
+ * hexToSignature('0x6e100a352ec6ad1b70802290e18aeed190704973570f3b8ed42cb9808e2ea6bf4a90a229a244495b41890987806fcbd2d5d23fc0dbe5f5256c2613c039d76db81c')
10
+ * // { r: '0x...', s: '0x...', v: 28n }
11
+ */
12
+ export declare function hexToSignature(signatureHex: Hex): Signature;
13
+ //# sourceMappingURL=hexToSignature.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hexToSignature.d.ts","sourceRoot":"","sources":["../../../../src/utils/signature/hexToSignature.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAGzD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,GAAG,GAAG,SAAS,CAI3D"}
@@ -0,0 +1,17 @@
1
+ import type { Hex, Signature } from '../../types/misc.js';
2
+ /**
3
+ * @description Converts a signature into hex format.
4
+ *
5
+ * @param signature The signature to convert.
6
+ * @returns The signature in hex format.
7
+ *
8
+ * @example
9
+ * signatureToHex({
10
+ * r: '0x6e100a352ec6ad1b70802290e18aeed190704973570f3b8ed42cb9808e2ea6bf',
11
+ * s: '0x4a90a229a244495b41890987806fcbd2d5d23fc0dbe5f5256c2613c039d76db8',
12
+ * v: 28n
13
+ * })
14
+ * // "0x6e100a352ec6ad1b70802290e18aeed190704973570f3b8ed42cb9808e2ea6bf4a90a229a244495b41890987806fcbd2d5d23fc0dbe5f5256c2613c039d76db81c"
15
+ */
16
+ export declare function signatureToHex({ r, s, v }: Signature): Hex;
17
+ //# sourceMappingURL=signatureToHex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signatureToHex.d.ts","sourceRoot":"","sources":["../../../../src/utils/signature/signatureToHex.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAIzD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,GAAG,GAAG,CAK1D"}
package/package.json CHANGED
@@ -20,7 +20,7 @@
20
20
  "optional": true
21
21
  }
22
22
  },
23
- "version": "1.4.2",
23
+ "version": "1.5.0",
24
24
  "files": [
25
25
  "dist",
26
26
  "!dist/**/*.tsbuildinfo",
@@ -17,7 +17,7 @@ export type {
17
17
  PrivateKeyAccount,
18
18
  } from './types.js'
19
19
  export { type SignParameters, type SignReturnType, sign } from './utils/sign.js'
20
- export { signatureToHex } from './utils/signatureToHex.js'
20
+ export { signatureToHex } from '../utils/signature/signatureToHex.js'
21
21
  export {
22
22
  type SignMessageParameters,
23
23
  type SignMessageReturnType,
@@ -1,8 +1,8 @@
1
1
  import type { Hex, SignableMessage } from '../../types/misc.js'
2
2
  import { hashMessage } from '../../utils/signature/hashMessage.js'
3
+ import { signatureToHex } from '../../utils/signature/signatureToHex.js'
3
4
 
4
5
  import { sign } from './sign.js'
5
- import { signatureToHex } from './signatureToHex.js'
6
6
 
7
7
  export type SignMessageParameters = {
8
8
  /** The message to sign. */
@@ -6,9 +6,9 @@ import {
6
6
  type HashTypedDataParameters,
7
7
  hashTypedData,
8
8
  } from '../../utils/signature/hashTypedData.js'
9
+ import { signatureToHex } from '../../utils/signature/signatureToHex.js'
9
10
 
10
11
  import { sign } from './sign.js'
11
- import { signatureToHex } from './signatureToHex.js'
12
12
 
13
13
  export type SignTypedDataParameters<
14
14
  TTypedData extends TypedData | { [key: string]: unknown } = TypedData,
@@ -9,6 +9,7 @@ import type {
9
9
  MaybeExtractEventArgsFromAbi,
10
10
  } from '../../types/contract.js'
11
11
  import type { Filter } from '../../types/filter.js'
12
+ import type { Hex } from '../../types/misc.js'
12
13
  import {
13
14
  type EncodeEventTopicsParameters,
14
15
  encodeEventTopics,
@@ -23,17 +24,19 @@ export type CreateContractEventFilterParameters<
23
24
  | MaybeExtractEventArgsFromAbi<TAbi, TEventName>
24
25
  | undefined = undefined,
25
26
  TStrict extends boolean | undefined = undefined,
27
+ TFromBlock extends BlockNumber | BlockTag | undefined = undefined,
28
+ TToBlock extends BlockNumber | BlockTag | undefined = undefined,
26
29
  > = {
27
30
  address?: Address | Address[]
28
31
  abi: Narrow<TAbi>
29
32
  eventName?: InferEventName<TAbi, TEventName>
30
- fromBlock?: BlockNumber | BlockTag
33
+ fromBlock?: TFromBlock | BlockNumber | BlockTag
31
34
  /**
32
35
  * Whether or not the logs must match the indexed/non-indexed arguments in the event ABI item.
33
36
  * @default false
34
37
  */
35
38
  strict?: TStrict
36
- toBlock?: BlockNumber | BlockTag
39
+ toBlock?: TToBlock | BlockNumber | BlockTag
37
40
  } & (undefined extends TEventName
38
41
  ? {
39
42
  args?: never
@@ -56,7 +59,9 @@ export type CreateContractEventFilterReturnType<
56
59
  | MaybeExtractEventArgsFromAbi<TAbi, TEventName>
57
60
  | undefined = undefined,
58
61
  TStrict extends boolean | undefined = undefined,
59
- > = Filter<'event', TAbi, TEventName, TArgs, TStrict>
62
+ TFromBlock extends BlockNumber | BlockTag | undefined = undefined,
63
+ TToBlock extends BlockNumber | BlockTag | undefined = undefined,
64
+ > = Filter<'event', TAbi, TEventName, TArgs, TStrict, TFromBlock, TToBlock>
60
65
 
61
66
  /**
62
67
  * Creates a Filter to retrieve event logs that can be used with [`getFilterChanges`](https://viem.sh/docs/actions/public/getFilterChanges.html) or [`getFilterLogs`](https://viem.sh/docs/actions/public/getFilterLogs.html).
@@ -86,6 +91,8 @@ export async function createContractEventFilter<
86
91
  TEventName extends string | undefined,
87
92
  TArgs extends MaybeExtractEventArgsFromAbi<TAbi, TEventName> | undefined,
88
93
  TStrict extends boolean | undefined = undefined,
94
+ TFromBlock extends BlockNumber | BlockTag | undefined = undefined,
95
+ TToBlock extends BlockNumber | BlockTag | undefined = undefined,
89
96
  >(
90
97
  client: Client<Transport, TChain>,
91
98
  {
@@ -96,9 +103,23 @@ export async function createContractEventFilter<
96
103
  fromBlock,
97
104
  strict,
98
105
  toBlock,
99
- }: CreateContractEventFilterParameters<TAbi, TEventName, TArgs, TStrict>,
106
+ }: CreateContractEventFilterParameters<
107
+ TAbi,
108
+ TEventName,
109
+ TArgs,
110
+ TStrict,
111
+ TFromBlock,
112
+ TToBlock
113
+ >,
100
114
  ): Promise<
101
- CreateContractEventFilterReturnType<TAbi, TEventName, TArgs, TStrict>
115
+ CreateContractEventFilterReturnType<
116
+ TAbi,
117
+ TEventName,
118
+ TArgs,
119
+ TStrict,
120
+ TFromBlock,
121
+ TToBlock
122
+ >
102
123
  > {
103
124
  const getRequest = createFilterRequestScope(client, {
104
125
  method: 'eth_newFilter',
@@ -111,7 +132,7 @@ export async function createContractEventFilter<
111
132
  eventName,
112
133
  } as unknown as EncodeEventTopicsParameters)
113
134
  : undefined
114
- const id = await client.request({
135
+ const id: Hex = await client.request({
115
136
  method: 'eth_newFilter',
116
137
  params: [
117
138
  {
@@ -136,6 +157,8 @@ export async function createContractEventFilter<
136
157
  TAbi,
137
158
  TEventName,
138
159
  TArgs,
139
- TStrict
160
+ TStrict,
161
+ TFromBlock,
162
+ TToBlock
140
163
  >
141
164
  }
@@ -1,4 +1,4 @@
1
- import type { Abi, AbiEvent, Address, Narrow } from 'abitype'
1
+ import type { AbiEvent, Address, Narrow } from 'abitype'
2
2
 
3
3
  import type { Client } from '../../clients/createClient.js'
4
4
  import type { Transport } from '../../clients/transports/createTransport.js'
@@ -9,7 +9,7 @@ import type {
9
9
  MaybeExtractEventArgsFromAbi,
10
10
  } from '../../types/contract.js'
11
11
  import type { Filter } from '../../types/filter.js'
12
- import type { LogTopic } from '../../types/misc.js'
12
+ import type { Hex, LogTopic } from '../../types/misc.js'
13
13
  import type { Prettify } from '../../types/utils.js'
14
14
  import {
15
15
  type EncodeEventTopicsParameters,
@@ -20,18 +20,23 @@ import { createFilterRequestScope } from '../../utils/filters/createFilterReques
20
20
 
21
21
  export type CreateEventFilterParameters<
22
22
  TAbiEvent extends AbiEvent | undefined = undefined,
23
+ TAbiEvents extends
24
+ | readonly AbiEvent[]
25
+ | readonly unknown[]
26
+ | undefined = TAbiEvent extends AbiEvent ? [TAbiEvent] : undefined,
23
27
  TStrict extends boolean | undefined = undefined,
24
- _Abi extends Abi | readonly unknown[] = [TAbiEvent],
28
+ TFromBlock extends BlockNumber | BlockTag | undefined = undefined,
29
+ TToBlock extends BlockNumber | BlockTag | undefined = undefined,
25
30
  _EventName extends string | undefined = MaybeAbiEventName<TAbiEvent>,
26
31
  _Args extends
27
- | MaybeExtractEventArgsFromAbi<_Abi, _EventName>
32
+ | MaybeExtractEventArgsFromAbi<TAbiEvents, _EventName>
28
33
  | undefined = undefined,
29
34
  > = {
30
35
  address?: Address | Address[]
31
- fromBlock?: BlockNumber | BlockTag
32
- toBlock?: BlockNumber | BlockTag
36
+ fromBlock?: TFromBlock | BlockNumber | BlockTag
37
+ toBlock?: TToBlock | BlockNumber | BlockTag
33
38
  } & (MaybeExtractEventArgsFromAbi<
34
- _Abi,
39
+ TAbiEvents,
35
40
  _EventName
36
41
  > extends infer TEventFilterArgs
37
42
  ?
@@ -40,6 +45,7 @@ export type CreateEventFilterParameters<
40
45
  | TEventFilterArgs
41
46
  | (_Args extends TEventFilterArgs ? _Args : never)
42
47
  event: Narrow<TAbiEvent>
48
+ events?: never
43
49
  /**
44
50
  * Whether or not the logs must match the indexed/non-indexed arguments on `event`.
45
51
  * @default false
@@ -49,6 +55,7 @@ export type CreateEventFilterParameters<
49
55
  | {
50
56
  args?: never
51
57
  event?: Narrow<TAbiEvent>
58
+ events?: never
52
59
  /**
53
60
  * Whether or not the logs must match the indexed/non-indexed arguments on `event`.
54
61
  * @default false
@@ -58,23 +65,42 @@ export type CreateEventFilterParameters<
58
65
  | {
59
66
  args?: never
60
67
  event?: never
68
+ events: Narrow<TAbiEvents>
69
+ /**
70
+ * Whether or not the logs must match the indexed/non-indexed arguments on `event`.
71
+ * @default false
72
+ */
73
+ strict?: TStrict
74
+ }
75
+ | {
76
+ args?: never
77
+ event?: never
78
+ events?: never
61
79
  strict?: never
62
80
  }
63
81
  : {
64
82
  args?: never
65
83
  event?: never
84
+ events?: never
66
85
  strict?: never
67
86
  })
68
87
 
69
88
  export type CreateEventFilterReturnType<
70
89
  TAbiEvent extends AbiEvent | undefined = undefined,
90
+ TAbiEvents extends
91
+ | readonly AbiEvent[]
92
+ | readonly unknown[]
93
+ | undefined = TAbiEvent extends AbiEvent ? [TAbiEvent] : undefined,
71
94
  TStrict extends boolean | undefined = undefined,
72
- _Abi extends Abi | readonly unknown[] = [TAbiEvent],
95
+ TFromBlock extends BlockNumber | BlockTag | undefined = undefined,
96
+ TToBlock extends BlockNumber | BlockTag | undefined = undefined,
73
97
  _EventName extends string | undefined = MaybeAbiEventName<TAbiEvent>,
74
98
  _Args extends
75
- | MaybeExtractEventArgsFromAbi<_Abi, _EventName>
99
+ | MaybeExtractEventArgsFromAbi<TAbiEvents, _EventName>
76
100
  | undefined = undefined,
77
- > = Prettify<Filter<'event', _Abi, _EventName, _Args, TStrict>>
101
+ > = Prettify<
102
+ Filter<'event', TAbiEvents, _EventName, _Args, TStrict, TFromBlock, TToBlock>
103
+ >
78
104
 
79
105
  /**
80
106
  * Creates a [`Filter`](https://viem.sh/docs/glossary/types.html#filter) to listen for new events that can be used with [`getFilterChanges`](https://viem.sh/docs/actions/public/getFilterChanges.html).
@@ -101,12 +127,17 @@ export type CreateEventFilterReturnType<
101
127
  */
102
128
  export async function createEventFilter<
103
129
  TChain extends Chain | undefined,
104
- TAbiEvent extends AbiEvent | undefined,
130
+ TAbiEvent extends AbiEvent | undefined = undefined,
131
+ TAbiEvents extends
132
+ | readonly AbiEvent[]
133
+ | readonly unknown[]
134
+ | undefined = TAbiEvent extends AbiEvent ? [TAbiEvent] : undefined,
105
135
  TStrict extends boolean | undefined = undefined,
106
- _Abi extends Abi | readonly unknown[] = [TAbiEvent],
136
+ TFromBlock extends BlockNumber<bigint> | BlockTag | undefined = undefined,
137
+ TToBlock extends BlockNumber<bigint> | BlockTag | undefined = undefined,
107
138
  _EventName extends string | undefined = MaybeAbiEventName<TAbiEvent>,
108
139
  _Args extends
109
- | MaybeExtractEventArgsFromAbi<_Abi, _EventName>
140
+ | MaybeExtractEventArgsFromAbi<TAbiEvents, _EventName>
110
141
  | undefined = undefined,
111
142
  >(
112
143
  client: Client<Transport, TChain>,
@@ -114,32 +145,51 @@ export async function createEventFilter<
114
145
  address,
115
146
  args,
116
147
  event,
148
+ events: events_,
117
149
  fromBlock,
118
150
  strict,
119
151
  toBlock,
120
152
  }: CreateEventFilterParameters<
121
153
  TAbiEvent,
154
+ TAbiEvents,
122
155
  TStrict,
123
- _Abi,
156
+ TFromBlock,
157
+ TToBlock,
124
158
  _EventName,
125
159
  _Args
126
160
  > = {} as any,
127
161
  ): Promise<
128
- CreateEventFilterReturnType<TAbiEvent, TStrict, _Abi, _EventName, _Args>
162
+ CreateEventFilterReturnType<
163
+ TAbiEvent,
164
+ TAbiEvents,
165
+ TStrict,
166
+ TFromBlock,
167
+ TToBlock,
168
+ _EventName,
169
+ _Args
170
+ >
129
171
  > {
172
+ const events = events_ ?? (event ? [event] : undefined)
173
+
130
174
  const getRequest = createFilterRequestScope(client, {
131
175
  method: 'eth_newFilter',
132
176
  })
133
177
 
134
178
  let topics: LogTopic[] = []
135
- if (event)
136
- topics = encodeEventTopics({
137
- abi: [event],
138
- eventName: (event as AbiEvent).name,
139
- args,
140
- } as EncodeEventTopicsParameters)
179
+ if (events) {
180
+ topics = [
181
+ (events as AbiEvent[]).flatMap((event) =>
182
+ encodeEventTopics({
183
+ abi: [event],
184
+ eventName: (event as AbiEvent).name,
185
+ args,
186
+ } as EncodeEventTopicsParameters),
187
+ ),
188
+ ]
189
+ if (event) topics = topics[0] as LogTopic[]
190
+ }
141
191
 
142
- const id = await client.request({
192
+ const id: Hex = await client.request({
143
193
  method: 'eth_newFilter',
144
194
  params: [
145
195
  {
@@ -153,17 +203,21 @@ export async function createEventFilter<
153
203
  })
154
204
 
155
205
  return {
156
- abi: event ? [event] : undefined,
206
+ abi: events,
157
207
  args,
158
208
  eventName: event ? (event as AbiEvent).name : undefined,
209
+ fromBlock,
159
210
  id,
160
211
  request: getRequest(id),
161
212
  strict,
213
+ toBlock,
162
214
  type: 'event',
163
215
  } as unknown as CreateEventFilterReturnType<
164
216
  TAbiEvent,
217
+ TAbiEvents,
165
218
  TStrict,
166
- _Abi,
219
+ TFromBlock,
220
+ TToBlock,
167
221
  _EventName,
168
222
  _Args
169
223
  >