viem 0.0.0-main.20230727T144736 → 0.0.0-main.20230730T091111

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 (113) hide show
  1. package/dist/cjs/actions/public/createContractEventFilter.js.map +1 -1
  2. package/dist/cjs/actions/public/createEventFilter.js +2 -0
  3. package/dist/cjs/actions/public/createEventFilter.js.map +1 -1
  4. package/dist/cjs/actions/public/getBlock.js +3 -1
  5. package/dist/cjs/actions/public/getBlock.js.map +1 -1
  6. package/dist/cjs/actions/public/getFilterChanges.js.map +1 -1
  7. package/dist/cjs/actions/public/getFilterLogs.js +1 -1
  8. package/dist/cjs/actions/public/getFilterLogs.js.map +1 -1
  9. package/dist/cjs/actions/public/getLogs.js.map +1 -1
  10. package/dist/cjs/actions/public/getTransaction.js +2 -1
  11. package/dist/cjs/actions/public/getTransaction.js.map +1 -1
  12. package/dist/cjs/actions/public/watchBlocks.js +2 -1
  13. package/dist/cjs/actions/public/watchBlocks.js.map +1 -1
  14. package/dist/cjs/actions/public/watchContractEvent.js.map +1 -1
  15. package/dist/cjs/clients/decorators/public.js.map +1 -1
  16. package/dist/cjs/errors/version.js +1 -1
  17. package/dist/cjs/utils/formatters/block.js.map +1 -1
  18. package/dist/cjs/utils/formatters/formatter.js +1 -0
  19. package/dist/cjs/utils/formatters/formatter.js.map +1 -1
  20. package/dist/cjs/utils/formatters/transaction.js.map +1 -1
  21. package/dist/esm/actions/public/createContractEventFilter.js.map +1 -1
  22. package/dist/esm/actions/public/createEventFilter.js +2 -0
  23. package/dist/esm/actions/public/createEventFilter.js.map +1 -1
  24. package/dist/esm/actions/public/getBlock.js +3 -1
  25. package/dist/esm/actions/public/getBlock.js.map +1 -1
  26. package/dist/esm/actions/public/getFilterChanges.js.map +1 -1
  27. package/dist/esm/actions/public/getFilterLogs.js +1 -1
  28. package/dist/esm/actions/public/getFilterLogs.js.map +1 -1
  29. package/dist/esm/actions/public/getLogs.js.map +1 -1
  30. package/dist/esm/actions/public/getTransaction.js +2 -1
  31. package/dist/esm/actions/public/getTransaction.js.map +1 -1
  32. package/dist/esm/actions/public/watchBlocks.js +2 -1
  33. package/dist/esm/actions/public/watchBlocks.js.map +1 -1
  34. package/dist/esm/actions/public/watchContractEvent.js.map +1 -1
  35. package/dist/esm/clients/decorators/public.js.map +1 -1
  36. package/dist/esm/errors/version.js +1 -1
  37. package/dist/esm/utils/formatters/block.js.map +1 -1
  38. package/dist/esm/utils/formatters/formatter.js +1 -0
  39. package/dist/esm/utils/formatters/formatter.js.map +1 -1
  40. package/dist/esm/utils/formatters/transaction.js.map +1 -1
  41. package/dist/types/actions/public/createContractEventFilter.d.ts +5 -5
  42. package/dist/types/actions/public/createContractEventFilter.d.ts.map +1 -1
  43. package/dist/types/actions/public/createEventFilter.d.ts +5 -5
  44. package/dist/types/actions/public/createEventFilter.d.ts.map +1 -1
  45. package/dist/types/actions/public/getBlock.d.ts +5 -5
  46. package/dist/types/actions/public/getBlock.d.ts.map +1 -1
  47. package/dist/types/actions/public/getFilterChanges.d.ts +5 -8
  48. package/dist/types/actions/public/getFilterChanges.d.ts.map +1 -1
  49. package/dist/types/actions/public/getFilterLogs.d.ts +5 -4
  50. package/dist/types/actions/public/getFilterLogs.d.ts.map +1 -1
  51. package/dist/types/actions/public/getLogs.d.ts +5 -5
  52. package/dist/types/actions/public/getLogs.d.ts.map +1 -1
  53. package/dist/types/actions/public/getTransaction.d.ts +4 -4
  54. package/dist/types/actions/public/getTransaction.d.ts.map +1 -1
  55. package/dist/types/actions/public/watchBlocks.d.ts +10 -10
  56. package/dist/types/actions/public/watchBlocks.d.ts.map +1 -1
  57. package/dist/types/actions/public/watchContractEvent.d.ts +1 -1
  58. package/dist/types/actions/public/watchContractEvent.d.ts.map +1 -1
  59. package/dist/types/actions/public/watchEvent.d.ts +1 -1
  60. package/dist/types/actions/public/watchEvent.d.ts.map +1 -1
  61. package/dist/types/chains/formatters/celo.d.ts +4 -0
  62. package/dist/types/chains/formatters/celo.d.ts.map +1 -1
  63. package/dist/types/chains/formatters/optimism.d.ts +5 -3
  64. package/dist/types/chains/formatters/optimism.d.ts.map +1 -1
  65. package/dist/types/chains/index.d.ts +44 -12
  66. package/dist/types/chains/index.d.ts.map +1 -1
  67. package/dist/types/clients/decorators/public.d.ts +9 -8
  68. package/dist/types/clients/decorators/public.d.ts.map +1 -1
  69. package/dist/types/errors/version.d.ts +1 -1
  70. package/dist/types/types/block.d.ts +7 -7
  71. package/dist/types/types/block.d.ts.map +1 -1
  72. package/dist/types/types/filter.d.ts +7 -3
  73. package/dist/types/types/filter.d.ts.map +1 -1
  74. package/dist/types/types/formatter.d.ts +3 -0
  75. package/dist/types/types/formatter.d.ts.map +1 -1
  76. package/dist/types/types/log.d.ts +6 -6
  77. package/dist/types/types/log.d.ts.map +1 -1
  78. package/dist/types/types/rpc.d.ts +3 -3
  79. package/dist/types/types/rpc.d.ts.map +1 -1
  80. package/dist/types/types/transaction.d.ts +8 -8
  81. package/dist/types/types/transaction.d.ts.map +1 -1
  82. package/dist/types/utils/formatters/block.d.ts +13 -3
  83. package/dist/types/utils/formatters/block.d.ts.map +1 -1
  84. package/dist/types/utils/formatters/formatter.d.ts +1 -0
  85. package/dist/types/utils/formatters/formatter.d.ts.map +1 -1
  86. package/dist/types/utils/formatters/transaction.d.ts +10 -3
  87. package/dist/types/utils/formatters/transaction.d.ts.map +1 -1
  88. package/dist/types/utils/formatters/transactionReceipt.d.ts +1 -0
  89. package/dist/types/utils/formatters/transactionReceipt.d.ts.map +1 -1
  90. package/dist/types/utils/formatters/transactionRequest.d.ts +1 -0
  91. package/dist/types/utils/formatters/transactionRequest.d.ts.map +1 -1
  92. package/package.json +1 -1
  93. package/src/actions/public/createContractEventFilter.ts +30 -7
  94. package/src/actions/public/createEventFilter.ts +28 -6
  95. package/src/actions/public/getBlock.ts +18 -8
  96. package/src/actions/public/getFilterChanges.ts +41 -5
  97. package/src/actions/public/getFilterLogs.ts +21 -5
  98. package/src/actions/public/getLogs.ts +20 -6
  99. package/src/actions/public/getTransaction.ts +15 -8
  100. package/src/actions/public/watchBlocks.ts +37 -18
  101. package/src/actions/public/watchContractEvent.ts +5 -5
  102. package/src/actions/public/watchEvent.ts +1 -1
  103. package/src/clients/decorators/public.ts +86 -16
  104. package/src/errors/version.ts +1 -1
  105. package/src/types/block.ts +25 -10
  106. package/src/types/filter.ts +31 -25
  107. package/src/types/formatter.ts +9 -0
  108. package/src/types/log.ts +6 -5
  109. package/src/types/rpc.ts +20 -6
  110. package/src/types/transaction.ts +22 -11
  111. package/src/utils/formatters/block.ts +31 -4
  112. package/src/utils/formatters/formatter.ts +1 -0
  113. package/src/utils/formatters/transaction.ts +25 -2
@@ -1,21 +1,21 @@
1
1
  import type { Abi, AbiEvent, Address, ExtractAbiEvent, ExtractAbiEventNames } from 'abitype';
2
2
  import type { AbiEventParametersToPrimitiveTypes, GetEventArgs } from './contract.js';
3
3
  import type { Hash, Hex } from './misc.js';
4
- export type Log<TQuantity = bigint, TIndex = number, TAbiEvent extends AbiEvent | undefined = undefined, TStrict extends boolean | undefined = undefined, TAbi extends Abi | readonly unknown[] = [TAbiEvent], TEventName extends string | undefined = TAbiEvent extends AbiEvent ? TAbiEvent['name'] : undefined> = {
4
+ export type Log<TQuantity = bigint, TIndex = number, TPending extends boolean = boolean, TAbiEvent extends AbiEvent | undefined = undefined, TStrict extends boolean | undefined = undefined, TAbi extends Abi | readonly unknown[] = [TAbiEvent], TEventName extends string | undefined = TAbiEvent extends AbiEvent ? TAbiEvent['name'] : undefined> = {
5
5
  /** The address from which this log originated */
6
6
  address: Address;
7
7
  /** Hash of block containing this log or `null` if pending */
8
- blockHash: Hash | null;
8
+ blockHash: TPending extends true ? null : Hash;
9
9
  /** Number of block containing this log or `null` if pending */
10
- blockNumber: TQuantity | null;
10
+ blockNumber: TPending extends true ? null : TQuantity;
11
11
  /** Contains the non-indexed arguments of the log */
12
12
  data: Hex;
13
13
  /** Index of this log within its block or `null` if pending */
14
- logIndex: TIndex | null;
14
+ logIndex: TPending extends true ? null : TIndex;
15
15
  /** Hash of the transaction that created this log or `null` if pending */
16
- transactionHash: Hash | null;
16
+ transactionHash: TPending extends true ? null : Hash;
17
17
  /** Index of the transaction that created this log or `null` if pending */
18
- transactionIndex: TIndex | null;
18
+ transactionIndex: TPending extends true ? null : TIndex;
19
19
  /** `true` if this filter has been destroyed and is invalid */
20
20
  removed: boolean;
21
21
  } & GetInferredLogValues<TAbiEvent, TAbi, TEventName, TStrict>;
@@ -1 +1 @@
1
- {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../../src/types/log.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../../src/types/log.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Block, BlockIdentifier, BlockNumber, Uncle } from './block.js';
1
+ import type { Block, BlockIdentifier, BlockNumber, BlockTag, Uncle } from './block.js';
2
2
  import type { FeeHistory, FeeValues } from './fee.js';
3
3
  import type { Log } from './log.js';
4
4
  import type { TransactionEIP1559, TransactionEIP2930, TransactionLegacy, TransactionReceipt, TransactionRequestEIP1559, TransactionRequestEIP2930, TransactionRequestLegacy } from './transaction.js';
@@ -7,7 +7,7 @@ export type Index = `0x${string}`;
7
7
  export type Quantity = `0x${string}`;
8
8
  export type Status = '0x0' | '0x1';
9
9
  export type TransactionType = '0x0' | '0x1' | '0x2' | (string & {});
10
- export type RpcBlock = Block<Quantity, RpcTransaction>;
10
+ export type RpcBlock<TBlockTag extends BlockTag = BlockTag, TIncludeTransactions extends boolean = boolean> = Block<Quantity, TIncludeTransactions, TBlockTag, RpcTransaction<TBlockTag extends 'pending' ? true : false>>;
11
11
  export type RpcBlockNumber = BlockNumber<Quantity>;
12
12
  export type RpcBlockIdentifier = BlockIdentifier<Quantity>;
13
13
  export type RpcUncle = Uncle<Quantity>;
@@ -16,5 +16,5 @@ export type RpcFeeValues = FeeValues<Quantity>;
16
16
  export type RpcLog = Log<Quantity, Index>;
17
17
  export type RpcTransactionReceipt = TransactionReceipt<Quantity, Index, Status, TransactionType>;
18
18
  export type RpcTransactionRequest = TransactionRequestLegacy<Quantity, Index, '0x0'> | TransactionRequestEIP2930<Quantity, Index, '0x1'> | TransactionRequestEIP1559<Quantity, Index, '0x2'>;
19
- export type RpcTransaction = UnionOmit<TransactionLegacy<Quantity, Index, '0x0'> | TransactionEIP2930<Quantity, Index, '0x1'> | TransactionEIP1559<Quantity, Index, '0x2'>, 'typeHex'>;
19
+ export type RpcTransaction<TPending extends boolean = boolean> = UnionOmit<TransactionLegacy<Quantity, Index, TPending, '0x0'> | TransactionEIP2930<Quantity, Index, TPending, '0x1'> | TransactionEIP1559<Quantity, Index, TPending, '0x2'>, 'typeHex'>;
20
20
  //# sourceMappingURL=rpc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../../src/types/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAC5E,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACrD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACzB,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAE3C,MAAM,MAAM,KAAK,GAAG,KAAK,MAAM,EAAE,CAAA;AACjC,MAAM,MAAM,QAAQ,GAAG,KAAK,MAAM,EAAE,CAAA;AACpC,MAAM,MAAM,MAAM,GAAG,KAAK,GAAG,KAAK,CAAA;AAClC,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;AAEnE,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;AACtD,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAA;AAClD,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAA;AAC1D,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAA;AACtC,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;AAChD,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAA;AAC9C,MAAM,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;AACzC,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,CACpD,QAAQ,EACR,KAAK,EACL,MAAM,EACN,eAAe,CAChB,CAAA;AACD,MAAM,MAAM,qBAAqB,GAC7B,wBAAwB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,GAChD,yBAAyB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,GACjD,yBAAyB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;AACrD,MAAM,MAAM,cAAc,GAAG,SAAS,CAClC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,GACzC,kBAAkB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,GAC1C,kBAAkB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,EAC5C,SAAS,CACV,CAAA"}
1
+ {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../../src/types/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,eAAe,EACf,WAAW,EACX,QAAQ,EACR,KAAK,EACN,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACrD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACzB,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAE3C,MAAM,MAAM,KAAK,GAAG,KAAK,MAAM,EAAE,CAAA;AACjC,MAAM,MAAM,QAAQ,GAAG,KAAK,MAAM,EAAE,CAAA;AACpC,MAAM,MAAM,MAAM,GAAG,KAAK,GAAG,KAAK,CAAA;AAClC,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;AAEnE,MAAM,MAAM,QAAQ,CAClB,SAAS,SAAS,QAAQ,GAAG,QAAQ,EACrC,oBAAoB,SAAS,OAAO,GAAG,OAAO,IAC5C,KAAK,CACP,QAAQ,EACR,oBAAoB,EACpB,SAAS,EACT,cAAc,CAAC,SAAS,SAAS,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC,CAC3D,CAAA;AACD,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAA;AAClD,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAA;AAC1D,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAA;AACtC,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;AAChD,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAA;AAC9C,MAAM,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;AACzC,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,CACpD,QAAQ,EACR,KAAK,EACL,MAAM,EACN,eAAe,CAChB,CAAA;AACD,MAAM,MAAM,qBAAqB,GAC7B,wBAAwB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,GAChD,yBAAyB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,GACjD,yBAAyB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;AACrD,MAAM,MAAM,cAAc,CAAC,QAAQ,SAAS,OAAO,GAAG,OAAO,IAAI,SAAS,CACtE,iBAAiB,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,GACnD,kBAAkB,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,GACpD,kBAAkB,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,EACtD,SAAS,CACV,CAAA"}
@@ -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"}
package/package.json CHANGED
@@ -20,7 +20,7 @@
20
20
  "optional": true
21
21
  }
22
22
  },
23
- "version": "0.0.0-main.20230727T144736",
23
+ "version": "0.0.0-main.20230730T091111",
24
24
  "files": [
25
25
  "dist",
26
26
  "!dist/**/*.tsbuildinfo",
@@ -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
  }
@@ -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,
@@ -21,6 +21,8 @@ import { createFilterRequestScope } from '../../utils/filters/createFilterReques
21
21
  export type CreateEventFilterParameters<
22
22
  TAbiEvent extends AbiEvent | undefined = undefined,
23
23
  TStrict extends boolean | undefined = undefined,
24
+ TFromBlock extends BlockNumber | BlockTag | undefined = undefined,
25
+ TToBlock extends BlockNumber | BlockTag | undefined = undefined,
24
26
  _Abi extends Abi | readonly unknown[] = [TAbiEvent],
25
27
  _EventName extends string | undefined = MaybeAbiEventName<TAbiEvent>,
26
28
  _Args extends
@@ -28,8 +30,8 @@ export type CreateEventFilterParameters<
28
30
  | undefined = undefined,
29
31
  > = {
30
32
  address?: Address | Address[]
31
- fromBlock?: BlockNumber | BlockTag
32
- toBlock?: BlockNumber | BlockTag
33
+ fromBlock?: TFromBlock | BlockNumber | BlockTag
34
+ toBlock?: TToBlock | BlockNumber | BlockTag
33
35
  } & (MaybeExtractEventArgsFromAbi<
34
36
  _Abi,
35
37
  _EventName
@@ -69,12 +71,16 @@ export type CreateEventFilterParameters<
69
71
  export type CreateEventFilterReturnType<
70
72
  TAbiEvent extends AbiEvent | undefined = undefined,
71
73
  TStrict extends boolean | undefined = undefined,
74
+ TFromBlock extends BlockNumber | BlockTag | undefined = undefined,
75
+ TToBlock extends BlockNumber | BlockTag | undefined = undefined,
72
76
  _Abi extends Abi | readonly unknown[] = [TAbiEvent],
73
77
  _EventName extends string | undefined = MaybeAbiEventName<TAbiEvent>,
74
78
  _Args extends
75
79
  | MaybeExtractEventArgsFromAbi<_Abi, _EventName>
76
80
  | undefined = undefined,
77
- > = Prettify<Filter<'event', _Abi, _EventName, _Args, TStrict>>
81
+ > = Prettify<
82
+ Filter<'event', _Abi, _EventName, _Args, TStrict, TFromBlock, TToBlock>
83
+ >
78
84
 
79
85
  /**
80
86
  * 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).
@@ -103,6 +109,8 @@ export async function createEventFilter<
103
109
  TChain extends Chain | undefined,
104
110
  TAbiEvent extends AbiEvent | undefined,
105
111
  TStrict extends boolean | undefined = undefined,
112
+ TFromBlock extends BlockNumber<bigint> | BlockTag | undefined = undefined,
113
+ TToBlock extends BlockNumber<bigint> | BlockTag | undefined = undefined,
106
114
  _Abi extends Abi | readonly unknown[] = [TAbiEvent],
107
115
  _EventName extends string | undefined = MaybeAbiEventName<TAbiEvent>,
108
116
  _Args extends
@@ -120,12 +128,22 @@ export async function createEventFilter<
120
128
  }: CreateEventFilterParameters<
121
129
  TAbiEvent,
122
130
  TStrict,
131
+ TFromBlock,
132
+ TToBlock,
123
133
  _Abi,
124
134
  _EventName,
125
135
  _Args
126
136
  > = {} as any,
127
137
  ): Promise<
128
- CreateEventFilterReturnType<TAbiEvent, TStrict, _Abi, _EventName, _Args>
138
+ CreateEventFilterReturnType<
139
+ TAbiEvent,
140
+ TStrict,
141
+ TFromBlock,
142
+ TToBlock,
143
+ _Abi,
144
+ _EventName,
145
+ _Args
146
+ >
129
147
  > {
130
148
  const getRequest = createFilterRequestScope(client, {
131
149
  method: 'eth_newFilter',
@@ -139,7 +157,7 @@ export async function createEventFilter<
139
157
  args,
140
158
  } as EncodeEventTopicsParameters)
141
159
 
142
- const id = await client.request({
160
+ const id: Hex = await client.request({
143
161
  method: 'eth_newFilter',
144
162
  params: [
145
163
  {
@@ -156,13 +174,17 @@ export async function createEventFilter<
156
174
  abi: event ? [event] : undefined,
157
175
  args,
158
176
  eventName: event ? (event as AbiEvent).name : undefined,
177
+ fromBlock,
159
178
  id,
160
179
  request: getRequest(id),
161
180
  strict,
181
+ toBlock,
162
182
  type: 'event',
163
183
  } as unknown as CreateEventFilterReturnType<
164
184
  TAbiEvent,
165
185
  TStrict,
186
+ TFromBlock,
187
+ TToBlock,
166
188
  _Abi,
167
189
  _EventName,
168
190
  _Args
@@ -12,9 +12,12 @@ import {
12
12
  formatBlock,
13
13
  } from '../../utils/formatters/block.js'
14
14
 
15
- export type GetBlockParameters = {
15
+ export type GetBlockParameters<
16
+ TIncludeTransactions extends boolean = false,
17
+ TBlockTag extends BlockTag = 'latest',
18
+ > = {
16
19
  /** Whether or not to include transaction data in the response. */
17
- includeTransactions?: boolean
20
+ includeTransactions?: TIncludeTransactions
18
21
  } & (
19
22
  | {
20
23
  /** Hash of the block. */
@@ -35,13 +38,15 @@ export type GetBlockParameters = {
35
38
  * The block tag.
36
39
  * @default 'latest'
37
40
  */
38
- blockTag?: BlockTag
41
+ blockTag?: TBlockTag | BlockTag
39
42
  }
40
43
  )
41
44
 
42
45
  export type GetBlockReturnType<
43
46
  TChain extends Chain | undefined = Chain | undefined,
44
- > = FormattedBlock<TChain>
47
+ TIncludeTransactions extends boolean = false,
48
+ TBlockTag extends BlockTag = 'latest',
49
+ > = FormattedBlock<TChain, TIncludeTransactions, TBlockTag>
45
50
 
46
51
  /**
47
52
  * Returns information about a block at a block number, hash, or tag.
@@ -70,15 +75,20 @@ export type GetBlockReturnType<
70
75
  export async function getBlock<
71
76
  TChain extends Chain | undefined,
72
77
  TAccount extends Account | undefined,
78
+ TIncludeTransactions extends boolean = false,
79
+ TBlockTag extends BlockTag = 'latest',
73
80
  >(
74
81
  client: Client<Transport, TChain, TAccount>,
75
82
  {
76
83
  blockHash,
77
84
  blockNumber,
78
- blockTag = 'latest',
79
- includeTransactions = false,
80
- }: GetBlockParameters = {},
81
- ): Promise<GetBlockReturnType<TChain>> {
85
+ blockTag: blockTag_,
86
+ includeTransactions: includeTransactions_,
87
+ }: GetBlockParameters<TIncludeTransactions, TBlockTag> = {},
88
+ ): Promise<GetBlockReturnType<TChain, TIncludeTransactions, TBlockTag>> {
89
+ const blockTag = blockTag_ ?? 'latest'
90
+ const includeTransactions = includeTransactions_ ?? false
91
+
82
92
  const blockNumberHex =
83
93
  blockNumber !== undefined ? numberToHex(blockNumber) : undefined
84
94