viem 1.5.4 → 1.6.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 (204) hide show
  1. package/chains/utils/package.json +5 -0
  2. package/dist/cjs/accounts/index.js +5 -1
  3. package/dist/cjs/accounts/index.js.map +1 -1
  4. package/dist/cjs/accounts/utils/privateKeyToAddress.js +12 -0
  5. package/dist/cjs/accounts/utils/privateKeyToAddress.js.map +1 -0
  6. package/dist/cjs/accounts/utils/signTransaction.js.map +1 -1
  7. package/dist/cjs/actions/public/estimateGas.js +3 -1
  8. package/dist/cjs/actions/public/estimateGas.js.map +1 -1
  9. package/dist/cjs/actions/public/watchContractEvent.js +134 -67
  10. package/dist/cjs/actions/public/watchContractEvent.js.map +1 -1
  11. package/dist/cjs/actions/public/watchEvent.js +136 -62
  12. package/dist/cjs/actions/public/watchEvent.js.map +1 -1
  13. package/dist/cjs/actions/wallet/sendTransaction.js.map +1 -1
  14. package/dist/cjs/actions/wallet/writeContract.js.map +1 -1
  15. package/dist/cjs/chains/{formatters/celo.js → celo/formatters.js} +1 -1
  16. package/dist/cjs/chains/celo/formatters.js.map +1 -0
  17. package/dist/cjs/chains/{serializers/celo.js → celo/serializers.js} +1 -1
  18. package/dist/cjs/chains/celo/serializers.js.map +1 -0
  19. package/dist/cjs/{types/formatter.js → chains/celo/types.js} +1 -1
  20. package/dist/cjs/chains/celo/types.js.map +1 -0
  21. package/dist/cjs/chains/index.js +30 -15
  22. package/dist/cjs/chains/index.js.map +1 -1
  23. package/dist/cjs/chains/optimism/fees.js +7 -0
  24. package/dist/cjs/chains/optimism/fees.js.map +1 -0
  25. package/dist/cjs/chains/{formatters/optimism.js → optimism/formatters.js} +13 -1
  26. package/dist/cjs/chains/optimism/formatters.js.map +1 -0
  27. package/dist/cjs/{types/serializer.js → chains/optimism/types.js} +1 -1
  28. package/dist/cjs/chains/optimism/types.js.map +1 -0
  29. package/dist/cjs/chains/utils.js +11 -0
  30. package/dist/cjs/chains/utils.js.map +1 -0
  31. package/dist/cjs/errors/node.js +1 -1
  32. package/dist/cjs/errors/node.js.map +1 -1
  33. package/dist/cjs/index.js.map +1 -1
  34. package/dist/cjs/utils/chain.js +5 -3
  35. package/dist/cjs/utils/chain.js.map +1 -1
  36. package/dist/cjs/utils/formatters/block.js.map +1 -1
  37. package/dist/cjs/utils/formatters/extract.js.map +1 -1
  38. package/dist/cjs/utils/formatters/formatter.js.map +1 -1
  39. package/dist/cjs/utils/formatters/transaction.js.map +1 -1
  40. package/dist/cjs/utils/formatters/transactionReceipt.js.map +1 -1
  41. package/dist/cjs/utils/formatters/transactionRequest.js.map +1 -1
  42. package/dist/cjs/utils/transaction/prepareRequest.js +15 -6
  43. package/dist/cjs/utils/transaction/prepareRequest.js.map +1 -1
  44. package/dist/esm/accounts/index.js +2 -0
  45. package/dist/esm/accounts/index.js.map +1 -1
  46. package/dist/esm/accounts/utils/privateKeyToAddress.js +15 -0
  47. package/dist/esm/accounts/utils/privateKeyToAddress.js.map +1 -0
  48. package/dist/esm/accounts/utils/signTransaction.js.map +1 -1
  49. package/dist/esm/actions/public/estimateGas.js +4 -2
  50. package/dist/esm/actions/public/estimateGas.js.map +1 -1
  51. package/dist/esm/actions/public/watchContractEvent.js +145 -76
  52. package/dist/esm/actions/public/watchContractEvent.js.map +1 -1
  53. package/dist/esm/actions/public/watchEvent.js +146 -70
  54. package/dist/esm/actions/public/watchEvent.js.map +1 -1
  55. package/dist/esm/actions/wallet/sendTransaction.js +1 -1
  56. package/dist/esm/actions/wallet/sendTransaction.js.map +1 -1
  57. package/dist/esm/actions/wallet/writeContract.js.map +1 -1
  58. package/dist/esm/chains/{formatters/celo.js → celo/formatters.js} +2 -2
  59. package/dist/esm/chains/celo/formatters.js.map +1 -0
  60. package/dist/esm/chains/{serializers/celo.js → celo/serializers.js} +1 -1
  61. package/dist/esm/chains/celo/serializers.js.map +1 -0
  62. package/dist/esm/chains/celo/types.js +2 -0
  63. package/dist/esm/chains/celo/types.js.map +1 -0
  64. package/dist/esm/chains/index.js +22 -7
  65. package/dist/esm/chains/index.js.map +1 -1
  66. package/dist/esm/chains/optimism/fees.js +4 -0
  67. package/dist/esm/chains/optimism/fees.js.map +1 -0
  68. package/dist/esm/chains/{formatters/optimism.js → optimism/formatters.js} +15 -2
  69. package/dist/esm/chains/optimism/formatters.js.map +1 -0
  70. package/dist/esm/chains/optimism/types.js +2 -0
  71. package/dist/esm/chains/optimism/types.js.map +1 -0
  72. package/dist/esm/chains/utils.js +4 -0
  73. package/dist/esm/chains/utils.js.map +1 -0
  74. package/dist/esm/errors/node.js +1 -1
  75. package/dist/esm/errors/node.js.map +1 -1
  76. package/dist/esm/index.js.map +1 -1
  77. package/dist/esm/utils/chain.js +5 -3
  78. package/dist/esm/utils/chain.js.map +1 -1
  79. package/dist/esm/utils/formatters/block.js.map +1 -1
  80. package/dist/esm/utils/formatters/extract.js.map +1 -1
  81. package/dist/esm/utils/formatters/formatter.js.map +1 -1
  82. package/dist/esm/utils/formatters/transaction.js.map +1 -1
  83. package/dist/esm/utils/formatters/transactionReceipt.js.map +1 -1
  84. package/dist/esm/utils/formatters/transactionRequest.js.map +1 -1
  85. package/dist/esm/utils/transaction/prepareRequest.js +14 -5
  86. package/dist/esm/utils/transaction/prepareRequest.js.map +1 -1
  87. package/dist/types/accounts/index.d.ts +2 -0
  88. package/dist/types/accounts/index.d.ts.map +1 -1
  89. package/dist/types/accounts/utils/privateKeyToAddress.d.ts +11 -0
  90. package/dist/types/accounts/utils/privateKeyToAddress.d.ts.map +1 -0
  91. package/dist/types/accounts/utils/signTransaction.d.ts +2 -2
  92. package/dist/types/accounts/utils/signTransaction.d.ts.map +1 -1
  93. package/dist/types/actions/public/estimateGas.d.ts.map +1 -1
  94. package/dist/types/actions/public/getTransactionReceipt.d.ts +1 -1
  95. package/dist/types/actions/public/getTransactionReceipt.d.ts.map +1 -1
  96. package/dist/types/actions/public/simulateContract.d.ts +2 -2
  97. package/dist/types/actions/public/simulateContract.d.ts.map +1 -1
  98. package/dist/types/actions/public/watchContractEvent.d.ts +32 -6
  99. package/dist/types/actions/public/watchContractEvent.d.ts.map +1 -1
  100. package/dist/types/actions/public/watchEvent.d.ts +32 -9
  101. package/dist/types/actions/public/watchEvent.d.ts.map +1 -1
  102. package/dist/types/actions/wallet/deployContract.d.ts +1 -1
  103. package/dist/types/actions/wallet/deployContract.d.ts.map +1 -1
  104. package/dist/types/actions/wallet/sendTransaction.d.ts +2 -2
  105. package/dist/types/actions/wallet/sendTransaction.d.ts.map +1 -1
  106. package/dist/types/actions/wallet/writeContract.d.ts +4 -2
  107. package/dist/types/actions/wallet/writeContract.d.ts.map +1 -1
  108. package/dist/types/chains/{formatters/celo.d.ts → celo/formatters.d.ts} +26 -85
  109. package/dist/types/chains/celo/formatters.d.ts.map +1 -0
  110. package/dist/types/chains/{serializers/celo.d.ts → celo/serializers.d.ts} +4 -4
  111. package/dist/types/chains/celo/serializers.d.ts.map +1 -0
  112. package/dist/types/chains/celo/types.d.ts +60 -0
  113. package/dist/types/chains/celo/types.d.ts.map +1 -0
  114. package/dist/types/chains/index.d.ts +2527 -2754
  115. package/dist/types/chains/index.d.ts.map +1 -1
  116. package/dist/types/chains/optimism/fees.d.ts +4 -0
  117. package/dist/types/chains/optimism/fees.d.ts.map +1 -0
  118. package/dist/types/chains/{formatters/optimism.d.ts → optimism/formatters.d.ts} +77 -54
  119. package/dist/types/chains/optimism/formatters.d.ts.map +1 -0
  120. package/dist/types/chains/optimism/types.d.ts +53 -0
  121. package/dist/types/chains/optimism/types.d.ts.map +1 -0
  122. package/dist/types/chains/utils.d.ts +6 -0
  123. package/dist/types/chains/utils.d.ts.map +1 -0
  124. package/dist/types/clients/decorators/public.d.ts +1 -1
  125. package/dist/types/clients/decorators/public.d.ts.map +1 -1
  126. package/dist/types/errors/node.d.ts.map +1 -1
  127. package/dist/types/index.d.ts +13 -3
  128. package/dist/types/index.d.ts.map +1 -1
  129. package/dist/types/types/chain.d.ts +52 -8
  130. package/dist/types/types/chain.d.ts.map +1 -1
  131. package/dist/types/types/rpc.d.ts +1 -1
  132. package/dist/types/types/rpc.d.ts.map +1 -1
  133. package/dist/types/types/utils.d.ts +10 -0
  134. package/dist/types/types/utils.d.ts.map +1 -1
  135. package/dist/types/utils/chain.d.ts +3 -6
  136. package/dist/types/utils/chain.d.ts.map +1 -1
  137. package/dist/types/utils/formatters/block.d.ts +7 -3
  138. package/dist/types/utils/formatters/block.d.ts.map +1 -1
  139. package/dist/types/utils/formatters/extract.d.ts +2 -2
  140. package/dist/types/utils/formatters/extract.d.ts.map +1 -1
  141. package/dist/types/utils/formatters/formatter.d.ts +1 -1
  142. package/dist/types/utils/formatters/transaction.d.ts +8 -4
  143. package/dist/types/utils/formatters/transaction.d.ts.map +1 -1
  144. package/dist/types/utils/formatters/transactionReceipt.d.ts +3 -4
  145. package/dist/types/utils/formatters/transactionReceipt.d.ts.map +1 -1
  146. package/dist/types/utils/formatters/transactionRequest.d.ts +4 -5
  147. package/dist/types/utils/formatters/transactionRequest.d.ts.map +1 -1
  148. package/dist/types/utils/transaction/prepareRequest.d.ts +6 -11
  149. package/dist/types/utils/transaction/prepareRequest.d.ts.map +1 -1
  150. package/package.json +8 -2
  151. package/src/accounts/index.ts +6 -0
  152. package/src/accounts/utils/privateKeyToAddress.ts +20 -0
  153. package/src/accounts/utils/signTransaction.ts +2 -2
  154. package/src/actions/public/estimateGas.ts +11 -2
  155. package/src/actions/public/simulateContract.ts +2 -2
  156. package/src/actions/public/watchContractEvent.ts +201 -87
  157. package/src/actions/public/watchEvent.ts +230 -109
  158. package/src/actions/wallet/deployContract.ts +1 -1
  159. package/src/actions/wallet/sendTransaction.ts +9 -6
  160. package/src/actions/wallet/writeContract.ts +11 -7
  161. package/src/chains/{formatters/celo.ts → celo/formatters.ts} +29 -48
  162. package/src/chains/{serializers/celo.ts → celo/serializers.ts} +5 -5
  163. package/src/chains/celo/types.ts +111 -0
  164. package/src/chains/index.ts +22 -7
  165. package/src/chains/optimism/fees.ts +5 -0
  166. package/src/chains/optimism/formatters.ts +74 -0
  167. package/src/chains/optimism/types.ts +102 -0
  168. package/src/chains/utils.ts +41 -0
  169. package/src/clients/decorators/public.ts +3 -3
  170. package/src/errors/node.ts +2 -1
  171. package/src/index.ts +24 -8
  172. package/src/types/chain.ts +91 -14
  173. package/src/types/rpc.ts +2 -6
  174. package/src/types/utils.ts +11 -0
  175. package/src/utils/chain.ts +21 -10
  176. package/src/utils/formatters/block.ts +8 -6
  177. package/src/utils/formatters/extract.ts +2 -2
  178. package/src/utils/formatters/formatter.ts +2 -2
  179. package/src/utils/formatters/transaction.ts +8 -6
  180. package/src/utils/formatters/transactionReceipt.ts +9 -3
  181. package/src/utils/formatters/transactionRequest.ts +9 -3
  182. package/src/utils/transaction/prepareRequest.ts +48 -22
  183. package/dist/cjs/chains/formatters/celo.js.map +0 -1
  184. package/dist/cjs/chains/formatters/optimism.js.map +0 -1
  185. package/dist/cjs/chains/serializers/celo.js.map +0 -1
  186. package/dist/cjs/types/formatter.js.map +0 -1
  187. package/dist/cjs/types/serializer.js.map +0 -1
  188. package/dist/esm/chains/formatters/celo.js.map +0 -1
  189. package/dist/esm/chains/formatters/optimism.js.map +0 -1
  190. package/dist/esm/chains/serializers/celo.js.map +0 -1
  191. package/dist/esm/types/formatter.js +0 -2
  192. package/dist/esm/types/formatter.js.map +0 -1
  193. package/dist/esm/types/serializer.js +0 -2
  194. package/dist/esm/types/serializer.js.map +0 -1
  195. package/dist/types/chains/formatters/celo.d.ts.map +0 -1
  196. package/dist/types/chains/formatters/optimism.d.ts.map +0 -1
  197. package/dist/types/chains/serializers/celo.d.ts.map +0 -1
  198. package/dist/types/types/formatter.d.ts +0 -17
  199. package/dist/types/types/formatter.d.ts.map +0 -1
  200. package/dist/types/types/serializer.d.ts +0 -7
  201. package/dist/types/types/serializer.d.ts.map +0 -1
  202. package/src/chains/formatters/optimism.ts +0 -91
  203. package/src/types/formatter.ts +0 -42
  204. package/src/types/serializer.ts +0 -19
@@ -1,9 +1,9 @@
1
1
  import type { Block, BlockTag } from '../../types/block.js'
2
2
  import type { Chain } from '../../types/chain.js'
3
3
  import type {
4
- ExtractFormatterExclude,
5
- ExtractFormatterReturnType,
6
- } from '../../types/formatter.js'
4
+ ExtractChainFormatterExclude,
5
+ ExtractChainFormatterReturnType,
6
+ } from '../../types/chain.js'
7
7
  import type { Hash } from '../../types/misc.js'
8
8
  import type { RpcBlock } from '../../types/rpc.js'
9
9
  import type { Prettify } from '../../types/utils.js'
@@ -14,16 +14,18 @@ import { type FormattedTransaction, formatTransaction } from './transaction.js'
14
14
  type BlockPendingDependencies = 'hash' | 'logsBloom' | 'nonce' | 'number'
15
15
 
16
16
  export type FormattedBlock<
17
- TChain extends Chain | undefined = Chain | undefined,
17
+ TChain extends { formatters?: Chain['formatters'] } | undefined =
18
+ | { formatters?: Chain['formatters'] }
19
+ | undefined,
18
20
  TIncludeTransactions extends boolean = boolean,
19
21
  TBlockTag extends BlockTag = BlockTag,
20
- _FormatterReturnType = ExtractFormatterReturnType<
22
+ _FormatterReturnType = ExtractChainFormatterReturnType<
21
23
  TChain,
22
24
  'block',
23
25
  Block<bigint, TIncludeTransactions>
24
26
  >,
25
27
  _ExcludedPendingDependencies extends string = BlockPendingDependencies &
26
- ExtractFormatterExclude<TChain, 'block'>,
28
+ ExtractChainFormatterExclude<TChain, 'block'>,
27
29
  _Formatted = Omit<_FormatterReturnType, BlockPendingDependencies> & {
28
30
  [K in _ExcludedPendingDependencies]: never
29
31
  } & Pick<
@@ -1,11 +1,11 @@
1
- import type { Formatter } from '../../types/formatter.js'
1
+ import type { ChainFormatter } from '../../types/chain.js'
2
2
 
3
3
  /**
4
4
  * @description Picks out the keys from `value` that exist in the formatter.
5
5
  */
6
6
  export function extract(
7
7
  value: Record<string, unknown>,
8
- { format }: { format?: Formatter['format'] },
8
+ { format }: { format?: ChainFormatter['format'] },
9
9
  ) {
10
10
  if (!format) return {}
11
11
  const keys = Object.keys(format({}))
@@ -17,8 +17,8 @@ export function defineFormatter<TType extends string, TParameters, TReturnType>(
17
17
  }) => {
18
18
  return {
19
19
  exclude,
20
- format: (args: TParameters & TOverrideParameters) => {
21
- const formatted = format(args)
20
+ format: (args: Assign<TParameters, TOverrideParameters>) => {
21
+ const formatted = format(args as any)
22
22
  if (exclude) {
23
23
  for (const key of exclude) {
24
24
  delete (formatted as any)[key]
@@ -1,9 +1,9 @@
1
1
  import type { BlockTag } from '../../types/block.js'
2
2
  import type { Chain } from '../../types/chain.js'
3
3
  import type {
4
- ExtractFormatterExclude,
5
- ExtractFormatterReturnType,
6
- } from '../../types/formatter.js'
4
+ ExtractChainFormatterExclude,
5
+ ExtractChainFormatterReturnType,
6
+ } from '../../types/chain.js'
7
7
  import type { RpcTransaction } from '../../types/rpc.js'
8
8
  import type { Transaction } from '../../types/transaction.js'
9
9
  import type { UnionOmit } from '../../types/utils.js'
@@ -16,15 +16,17 @@ type TransactionPendingDependencies =
16
16
  | 'transactionIndex'
17
17
 
18
18
  export type FormattedTransaction<
19
- TChain extends Chain | undefined = Chain | undefined,
19
+ TChain extends { formatters?: Chain['formatters'] } | undefined =
20
+ | { formatters?: Chain['formatters'] }
21
+ | undefined,
20
22
  TBlockTag extends BlockTag = BlockTag,
21
- _FormatterReturnType = ExtractFormatterReturnType<
23
+ _FormatterReturnType = ExtractChainFormatterReturnType<
22
24
  TChain,
23
25
  'transaction',
24
26
  Transaction
25
27
  >,
26
28
  _ExcludedPendingDependencies extends string = TransactionPendingDependencies &
27
- ExtractFormatterExclude<TChain, 'transaction'>,
29
+ ExtractChainFormatterExclude<TChain, 'transaction'>,
28
30
  > = UnionOmit<_FormatterReturnType, TransactionPendingDependencies> & {
29
31
  [K in _ExcludedPendingDependencies]: never
30
32
  } & Pick<
@@ -1,5 +1,7 @@
1
- import type { Chain } from '../../types/chain.js'
2
- import type { ExtractFormatterReturnType } from '../../types/formatter.js'
1
+ import type {
2
+ Chain,
3
+ ExtractChainFormatterReturnType,
4
+ } from '../../types/chain.js'
3
5
  import type { RpcTransactionReceipt } from '../../types/rpc.js'
4
6
  import type { TransactionReceipt } from '../../types/transaction.js'
5
7
  import { hexToNumber } from '../encoding/fromHex.js'
@@ -10,7 +12,11 @@ import { transactionType } from './transaction.js'
10
12
 
11
13
  export type FormattedTransactionReceipt<
12
14
  TChain extends Chain | undefined = Chain | undefined,
13
- > = ExtractFormatterReturnType<TChain, 'transactionReceipt', TransactionReceipt>
15
+ > = ExtractChainFormatterReturnType<
16
+ TChain,
17
+ 'transactionReceipt',
18
+ TransactionReceipt
19
+ >
14
20
 
15
21
  const statuses = {
16
22
  '0x0': 'reverted',
@@ -1,5 +1,7 @@
1
- import type { Chain } from '../../types/chain.js'
2
- import type { ExtractFormatterParameters } from '../../types/formatter.js'
1
+ import type {
2
+ Chain,
3
+ ExtractChainFormatterParameters,
4
+ } from '../../types/chain.js'
3
5
  import type { RpcTransactionRequest } from '../../types/rpc.js'
4
6
  import type { TransactionRequest } from '../../types/transaction.js'
5
7
  import { numberToHex } from '../encoding/toHex.js'
@@ -7,7 +9,11 @@ import { defineFormatter } from './formatter.js'
7
9
 
8
10
  export type FormattedTransactionRequest<
9
11
  TChain extends Chain | undefined = Chain | undefined,
10
- > = ExtractFormatterParameters<TChain, 'transactionRequest', TransactionRequest>
12
+ > = ExtractChainFormatterParameters<
13
+ TChain,
14
+ 'transactionRequest',
15
+ TransactionRequest
16
+ >
11
17
 
12
18
  export function formatTransactionRequest(
13
19
  transactionRequest: Partial<TransactionRequest>,
@@ -15,24 +15,34 @@ import type { Transport } from '../../clients/transports/createTransport.js'
15
15
  import { AccountNotFoundError } from '../../errors/account.js'
16
16
  import { BaseError } from '../../errors/base.js'
17
17
  import type { GetAccountParameter } from '../../types/account.js'
18
- import type { Chain } from '../../types/chain.js'
19
-
18
+ import type { Chain, GetChain } from '../../types/chain.js'
19
+ import type { UnionOmit } from '../../types/utils.js'
20
+ import type { FormattedTransactionRequest } from '../index.js'
20
21
  import { type AssertRequestParameters, assertRequest } from './assertRequest.js'
21
22
 
22
23
  export type PrepareRequestParameters<
23
- TAccount extends Account | undefined = undefined,
24
- > = GetAccountParameter<TAccount> & {
25
- gas?: SendTransactionParameters['gas']
26
- gasPrice?: SendTransactionParameters['gasPrice']
27
- maxFeePerGas?: SendTransactionParameters['maxFeePerGas']
28
- maxPriorityFeePerGas?: SendTransactionParameters['maxPriorityFeePerGas']
29
- nonce?: SendTransactionParameters['nonce']
30
- }
24
+ TChain extends Chain | undefined = Chain | undefined,
25
+ TAccount extends Account | undefined = Account | undefined,
26
+ TChainOverride extends Chain | undefined = Chain | undefined,
27
+ > = UnionOmit<
28
+ FormattedTransactionRequest<
29
+ TChainOverride extends Chain ? TChainOverride : TChain
30
+ >,
31
+ 'from'
32
+ > &
33
+ GetAccountParameter<TAccount> &
34
+ GetChain<TChain, TChainOverride>
31
35
 
32
36
  export type PrepareRequestReturnType<
33
- TAccount extends Account | undefined = undefined,
34
- TParameters extends PrepareRequestParameters<TAccount> = PrepareRequestParameters<TAccount>,
35
- > = TParameters & {
37
+ TChain extends Chain | undefined = Chain | undefined,
38
+ TAccount extends Account | undefined = Account | undefined,
39
+ TChainOverride extends Chain | undefined = Chain | undefined,
40
+ TArgs extends PrepareRequestParameters<
41
+ TChain,
42
+ TAccount,
43
+ TChainOverride
44
+ > = PrepareRequestParameters<TChain, TAccount, TChainOverride>,
45
+ > = TArgs & {
36
46
  from: Address
37
47
  gas: SendTransactionParameters['gas']
38
48
  gasPrice?: SendTransactionParameters['gasPrice']
@@ -41,18 +51,18 @@ export type PrepareRequestReturnType<
41
51
  nonce: SendTransactionParameters['nonce']
42
52
  }
43
53
 
44
- export const defaultTip = 1_500_000_000n // 1.5 gwei
45
-
46
54
  export async function prepareRequest<
47
55
  TChain extends Chain | undefined,
48
56
  TAccount extends Account | undefined,
49
- TParameters extends PrepareRequestParameters<TAccount>,
57
+ TChainOverride extends Chain | undefined,
58
+ TArgs extends PrepareRequestParameters<TChain, TAccount, TChainOverride>,
50
59
  >(
51
60
  client: Client<Transport, TChain, TAccount>,
52
- args: TParameters,
53
- ): Promise<PrepareRequestReturnType<TAccount, TParameters>> {
61
+ args: TArgs,
62
+ ): Promise<PrepareRequestReturnType<TChain, TAccount, TChainOverride, TArgs>> {
54
63
  const {
55
64
  account: account_,
65
+ chain = client.chain,
56
66
  gas,
57
67
  gasPrice,
58
68
  maxFeePerGas,
@@ -76,22 +86,33 @@ export async function prepareRequest<
76
86
  typeof block.baseFeePerGas === 'bigint' &&
77
87
  typeof gasPrice === 'undefined'
78
88
  ) {
89
+ let defaultPriorityFee = 1_500_000_000n // 1.5 gwei
90
+ if (typeof chain?.fees?.defaultPriorityFee !== 'undefined') {
91
+ defaultPriorityFee =
92
+ typeof chain.fees.defaultPriorityFee === 'bigint'
93
+ ? chain.fees.defaultPriorityFee
94
+ : await chain.fees.defaultPriorityFee({
95
+ block,
96
+ request: request as PrepareRequestParameters,
97
+ })
98
+ }
99
+
79
100
  // EIP-1559 fees
80
101
  if (typeof maxFeePerGas === 'undefined') {
81
102
  // Set a buffer of 1.2x on top of the base fee to account for fluctuations.
82
- request.maxPriorityFeePerGas = maxPriorityFeePerGas ?? defaultTip
103
+ request.maxPriorityFeePerGas = maxPriorityFeePerGas ?? defaultPriorityFee
83
104
  request.maxFeePerGas =
84
105
  (block.baseFeePerGas * 120n) / 100n + request.maxPriorityFeePerGas
85
106
  } else {
86
107
  if (
87
108
  typeof maxPriorityFeePerGas === 'undefined' &&
88
- maxFeePerGas < defaultTip
109
+ maxFeePerGas < defaultPriorityFee
89
110
  )
90
111
  throw new BaseError(
91
112
  '`maxFeePerGas` cannot be less than the default `maxPriorityFeePerGas` (1.5 gwei).',
92
113
  )
93
114
  request.maxFeePerGas = maxFeePerGas
94
- request.maxPriorityFeePerGas = maxPriorityFeePerGas ?? defaultTip
115
+ request.maxPriorityFeePerGas = maxPriorityFeePerGas ?? defaultPriorityFee
95
116
  }
96
117
  } else if (typeof gasPrice === 'undefined') {
97
118
  // Legacy fees
@@ -113,5 +134,10 @@ export async function prepareRequest<
113
134
 
114
135
  assertRequest(request as AssertRequestParameters)
115
136
 
116
- return request as PrepareRequestReturnType<TAccount, TParameters>
137
+ return request as PrepareRequestReturnType<
138
+ TChain,
139
+ TAccount,
140
+ TChainOverride,
141
+ TArgs
142
+ >
117
143
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"celo.js","sourceRoot":"","sources":["../../../../src/chains/formatters/celo.ts"],"names":[],"mappings":";;;AAMA,gEAA6D;AAC7D,4DAA2D;AAC3D,8DAA6D;AAC7D,0EAG8C;AAC9C,wFAAuF;AACvF,wFAAuF;AAsC1E,QAAA,cAAc,GAAG;IAC5B,KAAK,EAAgB,IAAA,sBAAW,EAAC;QAC/B,OAAO,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC;QACjE,MAAM,CAAC,IAAqC;YAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;gBAC1D,IAAI,OAAO,WAAW,KAAK,QAAQ;oBAAE,OAAO,WAAW,CAAA;gBACvD,OAAO;oBACL,GAAG,IAAA,kCAAiB,EAAC,WAAW,CAAC;oBACjC,WAAW,EAAE,WAAW,CAAC,WAAW;oBACpC,UAAU,EAAE,WAAW,CAAC,UAAU;wBAChC,CAAC,CAAC,IAAA,wBAAW,EAAC,WAAW,CAAC,UAAU,CAAC;wBACrC,CAAC,CAAC,IAAI;oBACR,mBAAmB,EAAE,WAAW,CAAC,mBAAmB;iBACrD,CAAA;YACH,CAAC,CAAkE,CAAA;YACnE,OAAO;gBACL,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,YAAY;aACb,CAAA;QACH,CAAC;KACF,CAAC;IACF,WAAW,EAAgB,IAAA,kCAAiB,EAAC;QAC3C,MAAM,CAAC,IAA2C;YAChD,OAAO;gBACL,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAA,wBAAW,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI;gBACjE,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;aAC9C,CAAA;QACH,CAAC;KACF,CAAC;IACF,kBAAkB,EAAgB,IAAA,gDAAwB,EAAC;QACzD,MAAM,CAAC,IAAkD;YACvD,OAAO;gBACL,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAA,wBAAW,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI;gBACjE,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;aAC9C,CAAA;QACH,CAAC;KACF,CAAC;IACF,kBAAkB,EAAgB,IAAA,gDAAwB,EAAC;QACzD,MAAM,CAAC,IAA+C;YACpD,OAAO;gBACL,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EACR,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW;oBACpC,CAAC,CAAC,IAAA,sBAAW,EAAC,IAAI,CAAC,UAAU,CAAC;oBAC9B,CAAC,CAAC,SAAS;gBACf,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;aAC9C,CAAA;QACH,CAAC;KACF,CAAC;CAC2B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"optimism.js","sourceRoot":"","sources":["../../../../src/chains/formatters/optimism.ts"],"names":[],"mappings":";;;AAYA,gEAA6D;AAC7D,8DAA6D;AAC7D,0EAG8C;AAsCjC,QAAA,kBAAkB,GAAG;IAChC,KAAK,EAAgB,IAAA,sBAAW,EAAC;QAC/B,MAAM,CAAC,IAAyC;YAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;gBAC1D,IAAI,OAAO,WAAW,KAAK,QAAQ;oBAAE,OAAO,WAAW,CAAA;gBACvD,MAAM,SAAS,GAAG,IAAA,kCAAiB,EACjC,WAA6B,CACY,CAAA;gBAC3C,IAAI,SAAS,CAAC,OAAO,KAAK,MAAM,EAAE;oBAChC,SAAS,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAA;oBAC7C,SAAS,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI;wBAC/B,CAAC,CAAC,IAAA,wBAAW,EAAC,WAAW,CAAC,IAAI,CAAC;wBAC/B,CAAC,CAAC,SAAS,CAAA;oBACb,SAAS,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAA;oBAC7C,SAAS,CAAC,IAAI,GAAG,SAAS,CAAA;iBAC3B;gBACD,OAAO,SAAS,CAAA;YAClB,CAAC,CAAsD,CAAA;YACvD,OAAO;gBACL,YAAY;aACb,CAAA;QACH,CAAC;KACF,CAAC;IACF,WAAW,EAAgB,IAAA,kCAAiB,EAAC;QAC3C,MAAM,CAAC,IAA+C;YACpD,MAAM,WAAW,GAAG,EAA4C,CAAA;YAChE,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;gBACxB,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;gBACxC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,wBAAW,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;gBACjE,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;gBACxC,WAAW,CAAC,IAAI,GAAG,SAAS,CAAA;aAC7B;YACD,OAAO,WAAW,CAAA;QACpB,CAAC;KACF,CAAC;CAC2B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"celo.js","sourceRoot":"","sources":["../../../../src/chains/serializers/celo.ts"],"names":[],"mappings":";;;AAEA,wDAA6D;AAC7D,kDAAgD;AAChD,oDAA2D;AAC3D,kDAA8E;AAS9E,mEAA4D;AAC5D,0DAAsD;AACtD,sDAA+C;AAC/C,4DAAqD;AACrD,4DAAqD;AACrD,2FAAoF;AACpF,6FAGwD;AAEjD,MAAM,wBAAwB,GAEjC,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE;IAEpB,IAAI,OAAO,CAAC,EAAE,CAAC;QACb,OAAO,yBAAyB,CAC9B,EAAkC,EAClC,SAAS,CACV,CAAA;IAGH,OAAO,IAAA,8CAAoB,EAAC,EAA6B,EAAE,SAAS,CAAC,CAAA;AACvE,CAAC,CAAA;AAZY,QAAA,wBAAwB,4BAYpC;AAEY,QAAA,eAAe,GAAG;IAC7B,WAAW,EAAE,gCAAwB;CACP,CAAA;AA+BhC,SAAS,yBAAyB,CAChC,WAAyC,EACzC,SAAqB;IAErB,sBAAsB,CAAC,WAAW,CAAC,CAAA;IACnC,MAAM,EACJ,OAAO,EACP,GAAG,EACH,KAAK,EACL,EAAE,EACF,KAAK,EACL,YAAY,EACZ,oBAAoB,EACpB,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,UAAU,EACV,IAAI,GACL,GAAG,WAAW,CAAA;IAEf,MAAM,qBAAqB,GAAG;QAC5B,IAAA,gBAAK,EAAC,OAAO,CAAC;QACd,KAAK,CAAC,CAAC,CAAC,IAAA,gBAAK,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;QAC3B,oBAAoB,CAAC,CAAC,CAAC,IAAA,gBAAK,EAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI;QACzD,YAAY,CAAC,CAAC,CAAC,IAAA,gBAAK,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI;QACzC,GAAG,CAAC,CAAC,CAAC,IAAA,gBAAK,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;QACvB,WAAW,IAAI,IAAI;QACnB,mBAAmB,IAAI,IAAI;QAC3B,UAAU,CAAC,CAAC,CAAC,IAAA,gBAAK,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI;QACrC,EAAE,IAAI,IAAI;QACV,KAAK,CAAC,CAAC,CAAC,IAAA,gBAAK,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;QAC3B,IAAI,IAAI,IAAI;QACZ,IAAA,4CAAmB,EAAC,UAAU,CAAC;KAChC,CAAA;IAED,IAAI,SAAS,EAAE;QACb,qBAAqB,CAAC,IAAI,CACxB,SAAS,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,gBAAK,EAAC,CAAC,CAAC,EACrC,IAAA,cAAI,EAAC,SAAS,CAAC,CAAC,CAAC,EACjB,IAAA,cAAI,EAAC,SAAS,CAAC,CAAC,CAAC,CAClB,CAAA;KACF;IAED,OAAO,IAAA,qBAAS,EAAC;QACf,MAAM;QACN,IAAA,gBAAK,EAAC,qBAAqB,CAAC;KAC7B,CAAyC,CAAA;AAC5C,CAAC;AAMD,SAAS,OAAO,CAAC,WAAwC;IACvD,IACE,cAAc,IAAI,WAAW;QAC7B,sBAAsB,IAAI,WAAW;QACrC,CAAC,aAAa,IAAI,WAAW;YAC3B,YAAY,IAAI,WAAW;YAC3B,qBAAqB,IAAI,WAAW,CAAC;QAEvC,OAAO,IAAI,CAAA;IACb,OAAO,KAAK,CAAA;AACd,CAAC;AAGD,MAAM,mBAAmB,GACvB,+EAA+E,CAAA;AAEjF,SAAS,sBAAsB,CAAC,WAAyC;IACvE,MAAM,EACJ,OAAO,EACP,oBAAoB,EACpB,QAAQ,EACR,YAAY,EACZ,EAAE,EACF,WAAW,EACX,UAAU,EACV,mBAAmB,GACpB,GAAG,WAAW,CAAA;IACf,IAAI,OAAO,IAAI,CAAC;QAAE,MAAM,IAAI,8BAAmB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IAC5D,IAAI,EAAE,IAAI,CAAC,IAAA,wBAAS,EAAC,EAAE,CAAC;QAAE,MAAM,IAAI,gCAAmB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAA;IACxE,IAAI,QAAQ;QACV,MAAM,IAAI,mBAAS,CACjB,yDAAyD,CAC1D,CAAA;IAEH,IAAI,YAAY,IAAI,YAAY,GAAG,mBAAmB;QACpD,MAAM,IAAI,4BAAkB,CAAC,EAAE,YAAY,EAAE,CAAC,CAAA;IAEhD,IACE,oBAAoB;QACpB,YAAY;QACZ,oBAAoB,GAAG,YAAY;QAEnC,MAAM,IAAI,6BAAmB,CAAC,EAAE,YAAY,EAAE,oBAAoB,EAAE,CAAC,CAAA;IAEvE,IACE,CAAC,UAAU,IAAI,CAAC,mBAAmB,CAAC;QACpC,CAAC,mBAAmB,IAAI,CAAC,UAAU,CAAC,EACpC;QACA,MAAM,IAAI,mBAAS,CACjB,mEAAmE,CACpE,CAAA;KACF;IAED,IAAI,WAAW,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE;QACjD,MAAM,IAAI,mBAAS,CACjB,gEAAgE,CACjE,CAAA;KACF;IAED,IAAI,CAAC,WAAW,IAAI,CAAC,mBAAmB,EAAE;QACxC,MAAM,IAAI,mBAAS,CACjB,yFAAyF,CAC1F,CAAA;KACF;AACH,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../../src/types/formatter.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../../src/types/serializer.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"celo.js","sourceRoot":"","sources":["../../../../src/chains/formatters/celo.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,MAAM,0BAA0B,CAAA;AAI1D,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAC7D,OAAO,EACL,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAA;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAA;AAsCvF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC;QAC/B,OAAO,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC;QACjE,MAAM,CAAC,IAAqC;YAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;gBAC1D,IAAI,OAAO,WAAW,KAAK,QAAQ;oBAAE,OAAO,WAAW,CAAA;gBACvD,OAAO;oBACL,GAAG,iBAAiB,CAAC,WAAW,CAAC;oBACjC,WAAW,EAAE,WAAW,CAAC,WAAW;oBACpC,UAAU,EAAE,WAAW,CAAC,UAAU;wBAChC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC;wBACrC,CAAC,CAAC,IAAI;oBACR,mBAAmB,EAAE,WAAW,CAAC,mBAAmB;iBACrD,CAAA;YACH,CAAC,CAAkE,CAAA;YACnE,OAAO;gBACL,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,YAAY;aACb,CAAA;QACH,CAAC;KACF,CAAC;IACF,WAAW,EAAE,aAAa,CAAC,iBAAiB,CAAC;QAC3C,MAAM,CAAC,IAA2C;YAChD,OAAO;gBACL,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI;gBACjE,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;aAC9C,CAAA;QACH,CAAC;KACF,CAAC;IACF,kBAAkB,EAAE,aAAa,CAAC,wBAAwB,CAAC;QACzD,MAAM,CAAC,IAAkD;YACvD,OAAO;gBACL,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI;gBACjE,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;aAC9C,CAAA;QACH,CAAC;KACF,CAAC;IACF,kBAAkB,EAAE,aAAa,CAAC,wBAAwB,CAAC;QACzD,MAAM,CAAC,IAA+C;YACpD,OAAO;gBACL,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EACR,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW;oBACpC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;oBAC9B,CAAC,CAAC,SAAS;gBACf,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;aAC9C,CAAA;QACH,CAAC;KACF,CAAC;CAC2B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"optimism.js","sourceRoot":"","sources":["../../../../src/chains/formatters/optimism.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,MAAM,0BAA0B,CAAA;AAW1D,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAC7D,OAAO,EACL,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,uCAAuC,CAAA;AAsC9C,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC;QAC/B,MAAM,CAAC,IAAyC;YAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;gBAC1D,IAAI,OAAO,WAAW,KAAK,QAAQ;oBAAE,OAAO,WAAW,CAAA;gBACvD,MAAM,SAAS,GAAG,iBAAiB,CACjC,WAA6B,CACY,CAAA;gBAC3C,IAAI,SAAS,CAAC,OAAO,KAAK,MAAM,EAAE;oBAChC,SAAS,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAA;oBAC7C,SAAS,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI;wBAC/B,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC;wBAC/B,CAAC,CAAC,SAAS,CAAA;oBACb,SAAS,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAA;oBAC7C,SAAS,CAAC,IAAI,GAAG,SAAS,CAAA;iBAC3B;gBACD,OAAO,SAAS,CAAA;YAClB,CAAC,CAAsD,CAAA;YACvD,OAAO;gBACL,YAAY;aACb,CAAA;QACH,CAAC;KACF,CAAC;IACF,WAAW,EAAE,aAAa,CAAC,iBAAiB,CAAC;QAC3C,MAAM,CAAC,IAA+C;YACpD,MAAM,WAAW,GAAG,EAA4C,CAAA;YAChE,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;gBACxB,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;gBACxC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;gBACjE,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;gBACxC,WAAW,CAAC,IAAI,GAAG,SAAS,CAAA;aAC7B;YACD,OAAO,WAAW,CAAA;QACpB,CAAC;KACF,CAAC;CAC2B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"celo.js","sourceRoot":"","sources":["../../../../src/chains/serializers/celo.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=formatter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../../src/types/formatter.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=serializer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../../src/types/serializer.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"celo.d.ts","sourceRoot":"","sources":["../../../../src/chains/formatters/celo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAGtC,OAAO,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAW7D,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE;QACR,UAAU,EAAE;YACV,SAAS,EAAE,GAAG,CAAA;YACd,QAAQ,EAAE,GAAG,CAAA;SACd,CAAA;QACD,YAAY,EACR,IAAI,EAAE,GACN,CAAC,cAAc,GAAG;YAChB,WAAW,EAAE,OAAO,GAAG,IAAI,CAAA;YAC3B,UAAU,EAAE,GAAG,GAAG,IAAI,CAAA;YACtB,mBAAmB,EAAE,OAAO,GAAG,IAAI,CAAA;SACpC,CAAC,EAAE,CAAA;KACT,CAAA;IACD,cAAc,EAAE;QACd,WAAW,EAAE,OAAO,GAAG,IAAI,CAAA;QAC3B,UAAU,EAAE,GAAG,GAAG,IAAI,CAAA;QACtB,mBAAmB,EAAE,OAAO,GAAG,IAAI,CAAA;KACpC,CAAA;IACD,qBAAqB,EAAE;QACrB,WAAW,EAAE,OAAO,GAAG,IAAI,CAAA;QAC3B,UAAU,EAAE,GAAG,GAAG,IAAI,CAAA;QACtB,mBAAmB,EAAE,OAAO,GAAG,IAAI,CAAA;KACpC,CAAA;IACD,kBAAkB,EAAE;QAClB,WAAW,CAAC,EAAE,OAAO,CAAA;QACrB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAC9B,CAAA;IACD,WAAW,EAAE;QACX,WAAW,EAAE,OAAO,GAAG,IAAI,CAAA;QAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;QACzB,mBAAmB,EAAE,OAAO,GAAG,IAAI,CAAA;KACpC,CAAA;CACF,CAAA;AAED,eAAO,MAAM,cAAc;;;;wBAlCX;gBACV,SAAS,EAAE,GAAG,CAAA;gBACd,QAAQ,EAAE,GAAG,CAAA;aACd;0BAEG,IAAI,EAAE,GACN,CAAC,cAAc,GAAG;gBAChB,WAAW,EAAE,OAAO,GAAG,IAAI,CAAA;gBAC3B,UAAU,EAAE,GAAG,GAAG,IAAI,CAAA;gBACtB,mBAAmB,EAAE,OAAO,GAAG,IAAI,CAAA;aACpC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;6BAkBK,OAAO,GAAG,IAAI;4BACf,MAAM,GAAG,IAAI;qCACJ,OAAO,GAAG,IAAI;;;;;2BA7BtB,GAAG;0BACJ,GAAG;;;;;;;;;;;;;;yBAWF,OAAO,GAAG,IAAI;wBACf,GAAG,GAAG,IAAI;iCACD,OAAO,GAAG,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAGtB,OAAO,GAAG,IAAI;wBACf,GAAG,GAAG,IAAI;iCACD,OAAO,GAAG,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiER,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"optimism.d.ts","sourceRoot":"","sources":["../../../../src/chains/formatters/optimism.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAE1D,OAAO,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EACV,KAAK,EACL,QAAQ,EACR,cAAc,IAAI,eAAe,EAClC,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EACV,WAAW,IAAI,YAAY,EAC3B,eAAe,EAChB,MAAM,4BAA4B,CAAA;AAQnC,KAAK,cAAc,GAAG,eAAe,GAAG;IACtC,UAAU,CAAC,EAAE,SAAS,CAAA;IACtB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,UAAU,CAAC,EAAE,SAAS,CAAA;CACvB,CAAA;AAED,KAAK,WAAW,GAAG,YAAY,GAAG;IAChC,UAAU,CAAC,EAAE,SAAS,CAAA;IACtB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,UAAU,CAAC,EAAE,SAAS,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,GAClE,gBAAgB,CAAC,QAAQ,CAAC,GAAG;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,IAAI,CAAC,EAAE,GAAG,CAAA;IACV,UAAU,EAAE,GAAG,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAEH,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAC9C,gBAAgB,GAAG;IACjB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,GAAG,CAAA;IACf,IAAI,EAAE,SAAS,CAAA;CAChB,CAAA;AAEH,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,EAAE;QACR,YAAY,EAAE,IAAI,EAAE,GAAG,uBAAuB,CAAC,gBAAgB,CAAC,EAAE,CAAA;KACnE,CAAA;IACD,cAAc,EAAE,cAAc,GAAG,qBAAqB,CAAA;IACtD,WAAW,EAAE,WAAW,GAAG,kBAAkB,CAAA;CAC9C,CAAA;AAED,eAAO,MAAM,kBAAkB;;;;0BANb,IAAI,EAAE,GAAG,uBAAuB,CAAC,gBAAgB,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBA7BvD,SAAS;mBACf,SAAS;yBACH,SAAS;;yBAFT,SAAS;mBACf,SAAS;yBACH,SAAS;;yBAFT,SAAS;mBACf,SAAS;yBACH,SAAS;;;;;;;;;;;;;;;;;;;;;;yBAIT,SAAS;mBACf,SAAS;yBACH,SAAS;;;;;;;;;;;;;;;;;;;;;kBAgBd,SAAS;;;wBADH,GAAG;;;;;;;;;;;;;;;;;;;;;;yBAjBJ,SAAS;mBACf,SAAS;yBACH,SAAS;;;;;;;;;;;;;;;;;;;;;;yBAFT,SAAS;mBACf,SAAS;yBACH,SAAS;;;;;;;;;;;;;;;;;;;;;kBAgBd,SAAS;;;wBADH,GAAG;;;;;;;;;;;;;;;;;;;;;;yBAjBJ,SAAS;mBACf,SAAS;yBACH,SAAS;;;;;;;;;;;;;;;;;;;;;;yBAFT,SAAS;mBACf,SAAS;yBACH,SAAS;;;;;;;;;;;;;;;;;;;;;kBAgBd,SAAS;;;wBADH,GAAG;;;;CA+CY,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"celo.d.ts","sourceRoot":"","sources":["../../../../src/chains/serializers/celo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAMtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAG1D,OAAO,KAAK,EACV,UAAU,EACV,uBAAuB,EACvB,2BAA2B,EAC5B,MAAM,4BAA4B,CAAA;AAOnC,OAAO,EACL,KAAK,sBAAsB,EAE5B,MAAM,iDAAiD,CAAA;AAExD,eAAO,MAAM,wBAAwB,EAAE,sBAAsB,CAC3D,2BAA2B,CAW5B,CAAA;AAED,eAAO,MAAM,eAAe;;CAEI,CAAA;AAKhC,MAAM,MAAM,4BAA4B,CACtC,SAAS,GAAG,MAAM,EAClB,MAAM,GAAG,MAAM,IACb,2BAA2B,CAAC,SAAS,EAAE,MAAM,CAAC,GAChD,gBAAgB,CAAC,SAAS,CAAC,GAAG;IAC5B,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,UAAU,CAAC,EAAE,SAAS,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,CAAA;AAEH,MAAM,MAAM,2BAA2B,GACnC,4BAA4B,GAC5B,uBAAuB,CAAA;AAE3B,MAAM,MAAM,oCAAoC,GAAG,OAAO,MAAM,EAAE,CAAA"}
@@ -1,17 +0,0 @@
1
- import type { Chain } from './chain.js';
2
- export type Formatter<TType extends string = string> = {
3
- format: (args: any) => any;
4
- type: TType;
5
- };
6
- export type Formatters = {
7
- block?: Formatter<'block'>;
8
- transaction?: Formatter<'transaction'>;
9
- transactionReceipt?: Formatter<'transactionReceipt'>;
10
- transactionRequest?: Formatter<'transactionRequest'>;
11
- };
12
- export type ExtractFormatterExclude<TChain extends Chain | undefined, TType extends keyof Formatters> = TChain extends Chain<infer _Formatters extends Formatters> ? _Formatters[TType] extends {
13
- exclude: infer Exclude;
14
- } ? Extract<Exclude, string[]>[number] : '' : '';
15
- export type ExtractFormatterParameters<TChain extends Chain | undefined, TType extends keyof Formatters, TFallback> = TChain extends Chain<infer _Formatters extends Formatters> ? _Formatters[TType] extends Formatter ? Parameters<_Formatters[TType]['format']>[0] : TFallback : TFallback;
16
- export type ExtractFormatterReturnType<TChain extends Chain | undefined, TType extends keyof Formatters, TFallback> = TChain extends Chain<infer _Formatters extends Formatters> ? _Formatters[TType] extends Formatter ? ReturnType<_Formatters[TType]['format']> : TFallback : TFallback;
17
- //# sourceMappingURL=formatter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../../src/types/formatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC,MAAM,MAAM,SAAS,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,IAAI;IACrD,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,CAAA;IAC1B,IAAI,EAAE,KAAK,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1B,WAAW,CAAC,EAAE,SAAS,CAAC,aAAa,CAAC,CAAA;IACtC,kBAAkB,CAAC,EAAE,SAAS,CAAC,oBAAoB,CAAC,CAAA;IACpD,kBAAkB,CAAC,EAAE,SAAS,CAAC,oBAAoB,CAAC,CAAA;CACrD,CAAA;AAED,MAAM,MAAM,uBAAuB,CACjC,MAAM,SAAS,KAAK,GAAG,SAAS,EAChC,KAAK,SAAS,MAAM,UAAU,IAC5B,MAAM,SAAS,KAAK,CAAC,MAAM,WAAW,SAAS,UAAU,CAAC,GAC1D,WAAW,CAAC,KAAK,CAAC,SAAS;IAAE,OAAO,EAAE,MAAM,OAAO,CAAA;CAAE,GACnD,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAClC,EAAE,GACJ,EAAE,CAAA;AAEN,MAAM,MAAM,0BAA0B,CACpC,MAAM,SAAS,KAAK,GAAG,SAAS,EAChC,KAAK,SAAS,MAAM,UAAU,EAC9B,SAAS,IACP,MAAM,SAAS,KAAK,CAAC,MAAM,WAAW,SAAS,UAAU,CAAC,GAC1D,WAAW,CAAC,KAAK,CAAC,SAAS,SAAS,GAClC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAC3C,SAAS,GACX,SAAS,CAAA;AAEb,MAAM,MAAM,0BAA0B,CACpC,MAAM,SAAS,KAAK,GAAG,SAAS,EAChC,KAAK,SAAS,MAAM,UAAU,EAC9B,SAAS,IACP,MAAM,SAAS,KAAK,CAAC,MAAM,WAAW,SAAS,UAAU,CAAC,GAC1D,WAAW,CAAC,KAAK,CAAC,SAAS,SAAS,GAClC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,GACxC,SAAS,GACX,SAAS,CAAA"}
@@ -1,7 +0,0 @@
1
- import type { TransactionSerializable, TransactionSerializableGeneric } from '../types/transaction.js';
2
- import type { SerializeTransactionFn } from '../utils/transaction/serializeTransaction.js';
3
- import type { Formatter, Formatters } from './formatter.js';
4
- export type Serializers<TFormatters extends Formatters | undefined = undefined> = {
5
- transaction?: SerializeTransactionFn<TFormatters extends Formatters ? TFormatters['transactionRequest'] extends Formatter ? TransactionSerializableGeneric & Parameters<TFormatters['transactionRequest']['format']>[0] : TransactionSerializable : TransactionSerializable>;
6
- };
7
- //# sourceMappingURL=serializer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../../../src/types/serializer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,8BAA8B,EAC/B,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAA;AAC1F,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3D,MAAM,MAAM,WAAW,CACrB,WAAW,SAAS,UAAU,GAAG,SAAS,GAAG,SAAS,IACpD;IACF,WAAW,CAAC,EAAE,sBAAsB,CAClC,WAAW,SAAS,UAAU,GAC1B,WAAW,CAAC,oBAAoB,CAAC,SAAS,SAAS,GACjD,8BAA8B,GAC5B,UAAU,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAC5D,uBAAuB,GACzB,uBAAuB,CAC5B,CAAA;CACF,CAAA"}
@@ -1,91 +0,0 @@
1
- import type { FeeValuesEIP1559 } from '../../types/fee.js'
2
- import { type Formatters } from '../../types/formatter.js'
3
- import type { Hash, Hex } from '../../types/misc.js'
4
- import type {
5
- Index,
6
- Quantity,
7
- RpcTransaction as RpcTransaction_,
8
- } from '../../types/rpc.js'
9
- import type {
10
- Transaction as Transaction_,
11
- TransactionBase,
12
- } from '../../types/transaction.js'
13
- import { hexToBigInt } from '../../utils/encoding/fromHex.js'
14
- import { defineBlock } from '../../utils/formatters/block.js'
15
- import {
16
- defineTransaction,
17
- formatTransaction,
18
- } from '../../utils/formatters/transaction.js'
19
-
20
- type RpcTransaction = RpcTransaction_ & {
21
- isSystemTx?: undefined
22
- mint?: undefined
23
- sourceHash?: undefined
24
- }
25
-
26
- type Transaction = Transaction_ & {
27
- isSystemTx?: undefined
28
- mint?: undefined
29
- sourceHash?: undefined
30
- }
31
-
32
- export type RpcDepositTransaction = TransactionBase<Quantity, Index> &
33
- FeeValuesEIP1559<Quantity> & {
34
- isSystemTx?: boolean
35
- mint?: Hex
36
- sourceHash: Hex
37
- type: '0x7e'
38
- }
39
-
40
- export type DepositTransaction = TransactionBase &
41
- FeeValuesEIP1559 & {
42
- isSystemTx?: boolean
43
- mint?: bigint
44
- sourceHash: Hex
45
- type: 'deposit'
46
- }
47
-
48
- export type OptimismFormatOverrides = {
49
- RpcBlock: {
50
- transactions: Hash[] | OptimismFormatOverrides['RpcTransaction'][]
51
- }
52
- RpcTransaction: RpcTransaction | RpcDepositTransaction
53
- Transaction: Transaction | DepositTransaction
54
- }
55
-
56
- export const formattersOptimism = {
57
- block: /*#__PURE__*/ defineBlock({
58
- format(args: OptimismFormatOverrides['RpcBlock']) {
59
- const transactions = args.transactions?.map((transaction) => {
60
- if (typeof transaction === 'string') return transaction
61
- const formatted = formatTransaction(
62
- transaction as RpcTransaction,
63
- ) as OptimismFormatOverrides['Transaction']
64
- if (formatted.typeHex === '0x7e') {
65
- formatted.isSystemTx = transaction.isSystemTx
66
- formatted.mint = transaction.mint
67
- ? hexToBigInt(transaction.mint)
68
- : undefined
69
- formatted.sourceHash = transaction.sourceHash
70
- formatted.type = 'deposit'
71
- }
72
- return formatted
73
- }) as Hash[] | OptimismFormatOverrides['Transaction'][]
74
- return {
75
- transactions,
76
- }
77
- },
78
- }),
79
- transaction: /*#__PURE__*/ defineTransaction({
80
- format(args: OptimismFormatOverrides['RpcTransaction']) {
81
- const transaction = {} as OptimismFormatOverrides['Transaction']
82
- if (args.type === '0x7e') {
83
- transaction.isSystemTx = args.isSystemTx
84
- transaction.mint = args.mint ? hexToBigInt(args.mint) : undefined
85
- transaction.sourceHash = args.sourceHash
86
- transaction.type = 'deposit'
87
- }
88
- return transaction
89
- },
90
- }),
91
- } as const satisfies Formatters
@@ -1,42 +0,0 @@
1
- import type { Chain } from './chain.js'
2
-
3
- export type Formatter<TType extends string = string> = {
4
- format: (args: any) => any
5
- type: TType
6
- }
7
-
8
- export type Formatters = {
9
- block?: Formatter<'block'>
10
- transaction?: Formatter<'transaction'>
11
- transactionReceipt?: Formatter<'transactionReceipt'>
12
- transactionRequest?: Formatter<'transactionRequest'>
13
- }
14
-
15
- export type ExtractFormatterExclude<
16
- TChain extends Chain | undefined,
17
- TType extends keyof Formatters,
18
- > = TChain extends Chain<infer _Formatters extends Formatters>
19
- ? _Formatters[TType] extends { exclude: infer Exclude }
20
- ? Extract<Exclude, string[]>[number]
21
- : ''
22
- : ''
23
-
24
- export type ExtractFormatterParameters<
25
- TChain extends Chain | undefined,
26
- TType extends keyof Formatters,
27
- TFallback,
28
- > = TChain extends Chain<infer _Formatters extends Formatters>
29
- ? _Formatters[TType] extends Formatter
30
- ? Parameters<_Formatters[TType]['format']>[0]
31
- : TFallback
32
- : TFallback
33
-
34
- export type ExtractFormatterReturnType<
35
- TChain extends Chain | undefined,
36
- TType extends keyof Formatters,
37
- TFallback,
38
- > = TChain extends Chain<infer _Formatters extends Formatters>
39
- ? _Formatters[TType] extends Formatter
40
- ? ReturnType<_Formatters[TType]['format']>
41
- : TFallback
42
- : TFallback
@@ -1,19 +0,0 @@
1
- import type {
2
- TransactionSerializable,
3
- TransactionSerializableGeneric,
4
- } from '../types/transaction.js'
5
- import type { SerializeTransactionFn } from '../utils/transaction/serializeTransaction.js'
6
- import type { Formatter, Formatters } from './formatter.js'
7
-
8
- export type Serializers<
9
- TFormatters extends Formatters | undefined = undefined,
10
- > = {
11
- transaction?: SerializeTransactionFn<
12
- TFormatters extends Formatters
13
- ? TFormatters['transactionRequest'] extends Formatter
14
- ? TransactionSerializableGeneric &
15
- Parameters<TFormatters['transactionRequest']['format']>[0]
16
- : TransactionSerializable
17
- : TransactionSerializable
18
- >
19
- }