viem 1.2.9 → 1.2.11

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 (110) hide show
  1. package/dist/cjs/accounts/utils/signTransaction.js.map +1 -1
  2. package/dist/cjs/chains/formatters/celo.js +2 -2
  3. package/dist/cjs/chains/formatters/celo.js.map +1 -1
  4. package/dist/cjs/chains/formatters/optimism.js +2 -2
  5. package/dist/cjs/chains/formatters/optimism.js.map +1 -1
  6. package/dist/cjs/chains/index.js +8 -8
  7. package/dist/cjs/chains/serializers/celo.js +12 -13
  8. package/dist/cjs/chains/serializers/celo.js.map +1 -1
  9. package/dist/cjs/clients/createClient.js +19 -12
  10. package/dist/cjs/clients/createClient.js.map +1 -1
  11. package/dist/cjs/clients/createPublicClient.js +6 -7
  12. package/dist/cjs/clients/createPublicClient.js.map +1 -1
  13. package/dist/cjs/clients/createTestClient.js +9 -9
  14. package/dist/cjs/clients/createTestClient.js.map +1 -1
  15. package/dist/cjs/clients/createWalletClient.js +6 -6
  16. package/dist/cjs/clients/createWalletClient.js.map +1 -1
  17. package/dist/cjs/clients/decorators/public.js +44 -42
  18. package/dist/cjs/clients/decorators/public.js.map +1 -1
  19. package/dist/cjs/clients/decorators/wallet.js +17 -15
  20. package/dist/cjs/clients/decorators/wallet.js.map +1 -1
  21. package/dist/cjs/errors/version.js +1 -1
  22. package/dist/cjs/errors/version.js.map +1 -1
  23. package/dist/cjs/utils/abi/encodePacked.js.map +1 -1
  24. package/dist/cjs/utils/ens/avatar/utils.js +2 -1
  25. package/dist/cjs/utils/ens/avatar/utils.js.map +1 -1
  26. package/dist/cjs/utils/formatters/extract.js +0 -1
  27. package/dist/cjs/utils/formatters/extract.js.map +1 -1
  28. package/dist/cjs/utils/transaction/prepareRequest.js +1 -1
  29. package/dist/cjs/utils/transaction/prepareRequest.js.map +1 -1
  30. package/dist/esm/accounts/utils/signTransaction.js.map +1 -1
  31. package/dist/esm/chains/formatters/celo.js +1 -1
  32. package/dist/esm/chains/formatters/celo.js.map +1 -1
  33. package/dist/esm/chains/formatters/optimism.js +1 -1
  34. package/dist/esm/chains/formatters/optimism.js.map +1 -1
  35. package/dist/esm/chains/index.js +11 -11
  36. package/dist/esm/chains/serializers/celo.js +13 -14
  37. package/dist/esm/chains/serializers/celo.js.map +1 -1
  38. package/dist/esm/clients/createClient.js +19 -15
  39. package/dist/esm/clients/createClient.js.map +1 -1
  40. package/dist/esm/clients/createPublicClient.js +6 -26
  41. package/dist/esm/clients/createPublicClient.js.map +1 -1
  42. package/dist/esm/clients/createTestClient.js +9 -32
  43. package/dist/esm/clients/createTestClient.js.map +1 -1
  44. package/dist/esm/clients/createWalletClient.js +6 -42
  45. package/dist/esm/clients/createWalletClient.js.map +1 -1
  46. package/dist/esm/clients/decorators/public.js +44 -42
  47. package/dist/esm/clients/decorators/public.js.map +1 -1
  48. package/dist/esm/clients/decorators/wallet.js +17 -15
  49. package/dist/esm/clients/decorators/wallet.js.map +1 -1
  50. package/dist/esm/errors/version.js +1 -1
  51. package/dist/esm/errors/version.js.map +1 -1
  52. package/dist/esm/utils/abi/encodePacked.js.map +1 -1
  53. package/dist/esm/utils/ens/avatar/utils.js +3 -1
  54. package/dist/esm/utils/ens/avatar/utils.js.map +1 -1
  55. package/dist/esm/utils/formatters/extract.js +1 -1
  56. package/dist/esm/utils/formatters/extract.js.map +1 -1
  57. package/dist/esm/utils/transaction/prepareRequest.js +1 -1
  58. package/dist/esm/utils/transaction/prepareRequest.js.map +1 -1
  59. package/dist/types/accounts/utils/signTransaction.d.ts +1 -1
  60. package/dist/types/accounts/utils/signTransaction.d.ts.map +1 -1
  61. package/dist/types/chains/formatters/celo.d.ts +2 -2
  62. package/dist/types/chains/formatters/celo.d.ts.map +1 -1
  63. package/dist/types/chains/formatters/optimism.d.ts +9 -9
  64. package/dist/types/chains/formatters/optimism.d.ts.map +1 -1
  65. package/dist/types/chains/serializers/celo.d.ts +3 -4
  66. package/dist/types/chains/serializers/celo.d.ts.map +1 -1
  67. package/dist/types/clients/createClient.d.ts +29 -32
  68. package/dist/types/clients/createClient.d.ts.map +1 -1
  69. package/dist/types/clients/createPublicClient.d.ts +3 -3
  70. package/dist/types/clients/createPublicClient.d.ts.map +1 -1
  71. package/dist/types/clients/createTestClient.d.ts +9 -7
  72. package/dist/types/clients/createTestClient.d.ts.map +1 -1
  73. package/dist/types/clients/createWalletClient.d.ts +3 -3
  74. package/dist/types/clients/createWalletClient.d.ts.map +1 -1
  75. package/dist/types/clients/decorators/public.d.ts +1 -519
  76. package/dist/types/clients/decorators/public.d.ts.map +1 -1
  77. package/dist/types/clients/decorators/wallet.d.ts +1 -519
  78. package/dist/types/clients/decorators/wallet.d.ts.map +1 -1
  79. package/dist/types/errors/version.d.ts +1 -1
  80. package/dist/types/errors/version.d.ts.map +1 -1
  81. package/dist/types/types/chain.d.ts +3 -4
  82. package/dist/types/types/chain.d.ts.map +1 -1
  83. package/dist/types/types/transaction.d.ts +1 -1
  84. package/dist/types/types/transaction.d.ts.map +1 -1
  85. package/dist/types/types/typedData.d.ts +6 -6
  86. package/dist/types/types/typedData.d.ts.map +1 -1
  87. package/dist/types/utils/ens/avatar/utils.d.ts +1 -1
  88. package/dist/types/utils/ens/avatar/utils.d.ts.map +1 -1
  89. package/dist/types/utils/formatters/extract.d.ts +1 -1
  90. package/dist/types/utils/formatters/extract.d.ts.map +1 -1
  91. package/package.json +1 -1
  92. package/src/accounts/utils/signTransaction.ts +7 -2
  93. package/src/chains/formatters/celo.ts +8 -7
  94. package/src/chains/formatters/optimism.ts +14 -14
  95. package/src/chains/index.ts +11 -11
  96. package/src/chains/serializers/celo.ts +15 -19
  97. package/src/clients/createClient.ts +113 -89
  98. package/src/clients/createPublicClient.ts +26 -26
  99. package/src/clients/createTestClient.ts +41 -47
  100. package/src/clients/createWalletClient.ts +30 -33
  101. package/src/clients/decorators/public.ts +49 -44
  102. package/src/clients/decorators/wallet.ts +18 -16
  103. package/src/errors/version.ts +1 -1
  104. package/src/types/chain.ts +6 -7
  105. package/src/types/transaction.ts +1 -1
  106. package/src/types/typedData.ts +6 -6
  107. package/src/utils/abi/encodePacked.ts +1 -1
  108. package/src/utils/ens/avatar/utils.ts +3 -1
  109. package/src/utils/formatters/extract.ts +3 -2
  110. package/src/utils/transaction/prepareRequest.ts +1 -1
@@ -6,23 +6,25 @@ import { type PublicActions, publicActions } from './decorators/public.js'
6
6
  import type { Transport } from './transports/createTransport.js'
7
7
 
8
8
  export type PublicClientConfig<
9
- TTransport extends Transport = Transport,
10
- TChain extends Chain | undefined = Chain | undefined,
11
- > = Pick<
12
- ClientConfig<TTransport, TChain>,
13
- 'batch' | 'chain' | 'key' | 'name' | 'pollingInterval' | 'transport'
9
+ transport extends Transport = Transport,
10
+ chain extends Chain | undefined = Chain | undefined,
11
+ > = Prettify<
12
+ Pick<
13
+ ClientConfig<transport, chain>,
14
+ 'batch' | 'chain' | 'key' | 'name' | 'pollingInterval' | 'transport'
15
+ >
14
16
  >
15
17
 
16
18
  export type PublicClient<
17
- TTransport extends Transport = Transport,
18
- TChain extends Chain | undefined = Chain | undefined,
19
+ transport extends Transport = Transport,
20
+ chain extends Chain | undefined = Chain | undefined,
19
21
  > = Prettify<
20
22
  Client<
21
- TTransport,
22
- TChain,
23
+ transport,
24
+ chain,
23
25
  undefined,
24
26
  PublicRpcSchema,
25
- PublicActions<TTransport, TChain>
27
+ PublicActions<transport, chain>
26
28
  >
27
29
  >
28
30
 
@@ -46,23 +48,21 @@ export type PublicClient<
46
48
  * })
47
49
  */
48
50
  export function createPublicClient<
49
- TTransport extends Transport,
50
- TChain extends Chain | undefined = undefined,
51
- >({
52
- batch,
53
- chain,
54
- key = 'public',
55
- name = 'Public Client',
56
- transport,
57
- pollingInterval,
58
- }: PublicClientConfig<TTransport, TChain>): PublicClient<TTransport, TChain> {
59
- return createClient({
60
- batch,
61
- chain,
51
+ transport extends Transport,
52
+ chain extends Chain | undefined = undefined,
53
+ >(
54
+ parameters: PublicClientConfig<transport, chain>,
55
+ ): PublicClient<transport, chain>
56
+
57
+ export function createPublicClient(
58
+ parameters: PublicClientConfig,
59
+ ): PublicClient {
60
+ const { key = 'public', name = 'Public Client' } = parameters
61
+ const client = createClient({
62
+ ...parameters,
62
63
  key,
63
64
  name,
64
- pollingInterval,
65
- transport,
66
65
  type: 'publicClient',
67
- }).extend(publicActions)
66
+ })
67
+ return client.extend(publicActions)
68
68
  }
@@ -2,6 +2,7 @@ import type { Account } from '../accounts/types.js'
2
2
  import type { ParseAccount } from '../types/account.js'
3
3
  import type { Chain } from '../types/chain.js'
4
4
  import type { TestRpcSchema } from '../types/eip1193.js'
5
+ import type { Prettify } from '../types/utils.js'
5
6
  import { type Client, type ClientConfig, createClient } from './createClient.js'
6
7
  import { type TestActions, testActions } from './decorators/test.js'
7
8
  import type { Transport } from './transports/createTransport.js'
@@ -10,36 +11,38 @@ import type { Address } from 'abitype'
10
11
  export type TestClientMode = 'anvil' | 'hardhat' | 'ganache'
11
12
 
12
13
  export type TestClientConfig<
13
- TMode extends TestClientMode = TestClientMode,
14
- TTransport extends Transport = Transport,
15
- TChain extends Chain | undefined = Chain | undefined,
16
- TAccountOrAddress extends Account | Address | undefined =
14
+ mode extends TestClientMode = TestClientMode,
15
+ transport extends Transport = Transport,
16
+ chain extends Chain | undefined = Chain | undefined,
17
+ accountOrAddress extends Account | Address | undefined =
17
18
  | Account
18
19
  | Address
19
20
  | undefined,
20
- > = Pick<
21
- ClientConfig<TTransport, TChain, TAccountOrAddress>,
22
- 'account' | 'chain' | 'key' | 'name' | 'pollingInterval' | 'transport'
23
- > & {
24
- /** Mode of the test client. Available: "anvil" | "hardhat" | "ganache" */
25
- mode: TMode
26
- }
21
+ > = Prettify<
22
+ Pick<
23
+ ClientConfig<transport, chain, accountOrAddress>,
24
+ 'account' | 'chain' | 'key' | 'name' | 'pollingInterval' | 'transport'
25
+ > & {
26
+ /** Mode of the test client. */
27
+ mode: mode | ('anvil' | 'hardhat' | 'ganache') // TODO: Type utility that expands `TestClientMode`
28
+ }
29
+ >
27
30
 
28
31
  export type TestClient<
29
32
  TMode extends TestClientMode = TestClientMode,
30
- TTransport extends Transport = Transport,
31
- TChain extends Chain | undefined = Chain | undefined,
33
+ transport extends Transport = Transport,
34
+ chain extends Chain | undefined = Chain | undefined,
32
35
  TAccount extends Account | undefined = Account | undefined,
33
36
  TIncludeActions extends boolean = true,
34
- > = Client<
35
- TTransport,
36
- TChain,
37
- TAccount,
38
- TestRpcSchema<TMode>,
39
- TIncludeActions extends true ? TestActions : Record<string, unknown>
40
- > & {
41
- mode: TMode
42
- }
37
+ > = Prettify<
38
+ { mode: TMode } & Client<
39
+ transport,
40
+ chain,
41
+ TAccount,
42
+ TestRpcSchema<TMode>,
43
+ TIncludeActions extends true ? TestActions : Record<string, unknown>
44
+ >
45
+ >
43
46
 
44
47
  /**
45
48
  * @description Creates a test client with a given transport.
@@ -65,33 +68,24 @@ export type TestClient<
65
68
  * })
66
69
  */
67
70
  export function createTestClient<
68
- TMode extends TestClientMode,
69
- TTransport extends Transport,
70
- TChain extends Chain | undefined = undefined,
71
- TAccountOrAddress extends Account | Address | undefined = undefined,
72
- >({
73
- account,
74
- chain,
75
- key = 'test',
76
- name = 'Test Client',
77
- mode,
78
- pollingInterval,
79
- transport,
80
- }: TestClientConfig<TMode, TTransport, TChain, TAccountOrAddress>): TestClient<
81
- TMode,
82
- TTransport,
83
- TChain,
84
- ParseAccount<TAccountOrAddress>
85
- > {
86
- return createClient({
87
- account,
88
- chain,
71
+ mode extends 'anvil' | 'hardhat' | 'ganache', // TODO: Type utility that expands `TestClientMode`
72
+ transport extends Transport,
73
+ chain extends Chain | undefined = undefined,
74
+ accountOrAddress extends Account | Address | undefined = undefined,
75
+ >(
76
+ parameters: TestClientConfig<mode, transport, chain, accountOrAddress>,
77
+ ): TestClient<mode, transport, chain, ParseAccount<accountOrAddress>>
78
+
79
+ export function createTestClient(parameters: TestClientConfig): TestClient {
80
+ const { key = 'test', name = 'Test Client', mode } = parameters
81
+ const client = createClient({
82
+ ...parameters,
89
83
  key,
90
84
  name,
91
- pollingInterval,
92
- transport,
93
85
  type: 'testClient',
94
86
  })
95
- .extend(() => ({ mode }))
96
- .extend(testActions({ mode }))
87
+ return client.extend((config) => ({
88
+ mode,
89
+ ...testActions({ mode })(config),
90
+ }))
97
91
  }
@@ -10,28 +10,30 @@ import { type WalletActions, walletActions } from './decorators/wallet.js'
10
10
  import type { Transport } from './transports/createTransport.js'
11
11
 
12
12
  export type WalletClientConfig<
13
- TTransport extends Transport = Transport,
14
- TChain extends Chain | undefined = Chain | undefined,
15
- TAccountOrAddress extends Account | Address | undefined =
13
+ transport extends Transport = Transport,
14
+ chain extends Chain | undefined = Chain | undefined,
15
+ accountOrAddress extends Account | Address | undefined =
16
16
  | Account
17
17
  | Address
18
18
  | undefined,
19
- > = Pick<
20
- ClientConfig<TTransport, TChain, TAccountOrAddress>,
21
- 'account' | 'chain' | 'key' | 'name' | 'pollingInterval' | 'transport'
19
+ > = Prettify<
20
+ Pick<
21
+ ClientConfig<transport, chain, accountOrAddress>,
22
+ 'account' | 'chain' | 'key' | 'name' | 'pollingInterval' | 'transport'
23
+ >
22
24
  >
23
25
 
24
26
  export type WalletClient<
25
- TTransport extends Transport = Transport,
26
- TChain extends Chain | undefined = Chain | undefined,
27
- TAccount extends Account | undefined = Account | undefined,
27
+ transport extends Transport = Transport,
28
+ chain extends Chain | undefined = Chain | undefined,
29
+ account extends Account | undefined = Account | undefined,
28
30
  > = Prettify<
29
31
  Client<
30
- TTransport,
31
- TChain,
32
- TAccount,
32
+ transport,
33
+ chain,
34
+ account,
33
35
  WalletRpcSchema,
34
- WalletActions<TChain, TAccount>
36
+ WalletActions<chain, account>
35
37
  >
36
38
  >
37
39
 
@@ -72,28 +74,23 @@ export type WalletClient<
72
74
  * })
73
75
  */
74
76
  export function createWalletClient<
75
- TTransport extends Transport,
76
- TChain extends Chain | undefined = undefined,
77
- TAccountOrAddress extends Account | Address | undefined = undefined,
78
- >({
79
- account,
80
- chain,
81
- transport,
82
- key = 'wallet',
83
- name = 'Wallet Client',
84
- pollingInterval,
85
- }: WalletClientConfig<TTransport, TChain, TAccountOrAddress>): WalletClient<
86
- TTransport,
87
- TChain,
88
- ParseAccount<TAccountOrAddress>
89
- > {
90
- return createClient({
91
- account,
92
- chain,
77
+ transport extends Transport,
78
+ chain extends Chain | undefined = undefined,
79
+ accountOrAddress extends Account | Address | undefined = undefined,
80
+ >(
81
+ parameters: WalletClientConfig<transport, chain, accountOrAddress>,
82
+ ): WalletClient<transport, chain, ParseAccount<accountOrAddress>>
83
+
84
+ export function createWalletClient(
85
+ parameters: WalletClientConfig,
86
+ ): WalletClient {
87
+ const { key = 'wallet', name = 'Wallet Client', transport } = parameters
88
+ const client = createClient({
89
+ ...parameters,
93
90
  key,
94
91
  name,
95
- pollingInterval,
96
92
  transport: (opts) => transport({ ...opts, retryCount: 0 }),
97
93
  type: 'walletClient',
98
- }).extend(walletActions)
94
+ })
95
+ return client.extend(walletActions)
99
96
  }
@@ -1374,52 +1374,57 @@ export type PublicActions<
1374
1374
  ) => WatchPendingTransactionsReturnType
1375
1375
  }
1376
1376
 
1377
- export const publicActions = <
1377
+ export function publicActions<
1378
1378
  TTransport extends Transport = Transport,
1379
1379
  TChain extends Chain | undefined = Chain | undefined,
1380
1380
  TAccount extends Account | undefined = Account | undefined,
1381
1381
  >(
1382
1382
  client: Client<TTransport, TChain, TAccount>,
1383
- ): PublicActions<TTransport, TChain, TAccount> => ({
1384
- call: (args) => call(client, args),
1385
- createBlockFilter: () => createBlockFilter(client),
1386
- createContractEventFilter: (args) => createContractEventFilter(client, args),
1387
- createEventFilter: (args) => createEventFilter(client, args),
1388
- createPendingTransactionFilter: () => createPendingTransactionFilter(client),
1389
- estimateContractGas: (args) => estimateContractGas(client, args as any),
1390
- estimateGas: (args) => estimateGas(client, args),
1391
- getBalance: (args) => getBalance(client, args),
1392
- getBlock: (args) => getBlock(client, args),
1393
- getBlockNumber: (args) => getBlockNumber(client, args),
1394
- getBlockTransactionCount: (args) => getBlockTransactionCount(client, args),
1395
- getBytecode: (args) => getBytecode(client, args),
1396
- getChainId: () => getChainId(client),
1397
- getEnsAddress: (args) => getEnsAddress(client, args),
1398
- getEnsAvatar: (args) => getEnsAvatar(client, args),
1399
- getEnsName: (args) => getEnsName(client, args),
1400
- getEnsResolver: (args) => getEnsResolver(client, args),
1401
- getEnsText: (args) => getEnsText(client, args),
1402
- getFeeHistory: (args) => getFeeHistory(client, args),
1403
- getFilterChanges: (args) => getFilterChanges(client, args),
1404
- getFilterLogs: (args) => getFilterLogs(client, args),
1405
- getGasPrice: () => getGasPrice(client),
1406
- getLogs: (args) => getLogs(client, args),
1407
- getStorageAt: (args) => getStorageAt(client, args),
1408
- getTransaction: (args) => getTransaction(client, args),
1409
- getTransactionConfirmations: (args) =>
1410
- getTransactionConfirmations(client, args),
1411
- getTransactionCount: (args) => getTransactionCount(client, args),
1412
- getTransactionReceipt: (args) => getTransactionReceipt(client, args),
1413
- multicall: (args) => multicall(client, args),
1414
- readContract: (args) => readContract(client, args),
1415
- simulateContract: (args) => simulateContract(client, args),
1416
- verifyMessage: (args) => verifyMessage(client, args),
1417
- verifyTypedData: (args) => verifyTypedData(client, args),
1418
- uninstallFilter: (args) => uninstallFilter(client, args),
1419
- waitForTransactionReceipt: (args) => waitForTransactionReceipt(client, args),
1420
- watchBlocks: (args) => watchBlocks(client, args),
1421
- watchBlockNumber: (args) => watchBlockNumber(client, args),
1422
- watchContractEvent: (args) => watchContractEvent(client, args),
1423
- watchEvent: (args) => watchEvent(client, args),
1424
- watchPendingTransactions: (args) => watchPendingTransactions(client, args),
1425
- })
1383
+ ): PublicActions<TTransport, TChain, TAccount> {
1384
+ return {
1385
+ call: (args) => call(client, args),
1386
+ createBlockFilter: () => createBlockFilter(client),
1387
+ createContractEventFilter: (args) =>
1388
+ createContractEventFilter(client, args),
1389
+ createEventFilter: (args) => createEventFilter(client, args),
1390
+ createPendingTransactionFilter: () =>
1391
+ createPendingTransactionFilter(client),
1392
+ estimateContractGas: (args) => estimateContractGas(client, args as any),
1393
+ estimateGas: (args) => estimateGas(client, args),
1394
+ getBalance: (args) => getBalance(client, args),
1395
+ getBlock: (args) => getBlock(client, args),
1396
+ getBlockNumber: (args) => getBlockNumber(client, args),
1397
+ getBlockTransactionCount: (args) => getBlockTransactionCount(client, args),
1398
+ getBytecode: (args) => getBytecode(client, args),
1399
+ getChainId: () => getChainId(client),
1400
+ getEnsAddress: (args) => getEnsAddress(client, args),
1401
+ getEnsAvatar: (args) => getEnsAvatar(client, args),
1402
+ getEnsName: (args) => getEnsName(client, args),
1403
+ getEnsResolver: (args) => getEnsResolver(client, args),
1404
+ getEnsText: (args) => getEnsText(client, args),
1405
+ getFeeHistory: (args) => getFeeHistory(client, args),
1406
+ getFilterChanges: (args) => getFilterChanges(client, args),
1407
+ getFilterLogs: (args) => getFilterLogs(client, args),
1408
+ getGasPrice: () => getGasPrice(client),
1409
+ getLogs: (args) => getLogs(client, args),
1410
+ getStorageAt: (args) => getStorageAt(client, args),
1411
+ getTransaction: (args) => getTransaction(client, args),
1412
+ getTransactionConfirmations: (args) =>
1413
+ getTransactionConfirmations(client, args),
1414
+ getTransactionCount: (args) => getTransactionCount(client, args),
1415
+ getTransactionReceipt: (args) => getTransactionReceipt(client, args),
1416
+ multicall: (args) => multicall(client, args),
1417
+ readContract: (args) => readContract(client, args),
1418
+ simulateContract: (args) => simulateContract(client, args),
1419
+ verifyMessage: (args) => verifyMessage(client, args),
1420
+ verifyTypedData: (args) => verifyTypedData(client, args),
1421
+ uninstallFilter: (args) => uninstallFilter(client, args),
1422
+ waitForTransactionReceipt: (args) =>
1423
+ waitForTransactionReceipt(client, args),
1424
+ watchBlocks: (args) => watchBlocks(client, args),
1425
+ watchBlockNumber: (args) => watchBlockNumber(client, args),
1426
+ watchContractEvent: (args) => watchContractEvent(client, args),
1427
+ watchEvent: (args) => watchEvent(client, args),
1428
+ watchPendingTransactions: (args) => watchPendingTransactions(client, args),
1429
+ }
1430
+ }
@@ -523,24 +523,26 @@ export type WalletActions<
523
523
  ) => Promise<WriteContractReturnType>
524
524
  }
525
525
 
526
- export const walletActions = <
526
+ export function walletActions<
527
527
  TTransport extends Transport,
528
528
  TChain extends Chain | undefined = Chain | undefined,
529
529
  TAccount extends Account | undefined = Account | undefined,
530
530
  >(
531
531
  client: Client<TTransport, TChain, TAccount>,
532
- ): WalletActions<TChain, TAccount> => ({
533
- addChain: (args) => addChain(client, args),
534
- deployContract: (args) => deployContract(client, args),
535
- getAddresses: () => getAddresses(client),
536
- getChainId: () => getChainId(client),
537
- getPermissions: () => getPermissions(client),
538
- requestAddresses: () => requestAddresses(client),
539
- requestPermissions: (args) => requestPermissions(client, args),
540
- sendTransaction: (args) => sendTransaction(client, args),
541
- signMessage: (args) => signMessage(client, args),
542
- signTypedData: (args) => signTypedData(client, args),
543
- switchChain: (args) => switchChain(client, args),
544
- watchAsset: (args) => watchAsset(client, args),
545
- writeContract: (args) => writeContract(client, args),
546
- })
532
+ ): WalletActions<TChain, TAccount> {
533
+ return {
534
+ addChain: (args) => addChain(client, args),
535
+ deployContract: (args) => deployContract(client, args),
536
+ getAddresses: () => getAddresses(client),
537
+ getChainId: () => getChainId(client),
538
+ getPermissions: () => getPermissions(client),
539
+ requestAddresses: () => requestAddresses(client),
540
+ requestPermissions: (args) => requestPermissions(client, args),
541
+ sendTransaction: (args) => sendTransaction(client, args),
542
+ signMessage: (args) => signMessage(client, args),
543
+ signTypedData: (args) => signTypedData(client, args),
544
+ switchChain: (args) => switchChain(client, args),
545
+ watchAsset: (args) => watchAsset(client, args),
546
+ writeContract: (args) => writeContract(client, args),
547
+ }
548
+ }
@@ -1 +1 @@
1
- export const version = '1.2.9'
1
+ export const version = '1.2.10'
@@ -1,4 +1,3 @@
1
- import type { Chain as Chain_ } from '@wagmi/chains'
2
1
  import type { Address } from 'abitype'
3
2
 
4
3
  import type { Formatters } from './formatter.js'
@@ -6,13 +5,13 @@ import type { Serializers } from './serializer.js'
6
5
  import type { IsUndefined } from './utils.js'
7
6
 
8
7
  export type Chain<
9
- TFormatters extends Formatters | undefined = Formatters | undefined,
10
- TSerializers extends Serializers<TFormatters> | undefined =
11
- | Serializers<TFormatters>
8
+ formatters extends Formatters | undefined = Formatters | undefined,
9
+ serializers extends Serializers<formatters> | undefined =
10
+ | Serializers<formatters>
12
11
  | undefined,
13
- > = Chain_ & {
14
- formatters?: TFormatters
15
- serializers?: TSerializers
12
+ > = import('@wagmi/chains').Chain & {
13
+ formatters?: formatters | undefined
14
+ serializers?: serializers | undefined
16
15
  }
17
16
 
18
17
  export type ChainContract = {
@@ -35,7 +35,7 @@ export type TransactionReceipt<
35
35
  logs: Log<TQuantity, TIndex>[]
36
36
  /** Logs bloom filter */
37
37
  logsBloom: Hex
38
- /** `1` if this transaction was successful or `0` if it failed */
38
+ /** `success` if this transaction was successful or `reverted` if it failed */
39
39
  status: TStatus
40
40
  /** Transaction recipient or `null` if deploying a contract */
41
41
  to: Address | null
@@ -15,11 +15,11 @@ export type TypedDataDefinition<
15
15
  GetTypedDataDomain<TTypedData, TPrimaryType>
16
16
 
17
17
  export type GetTypedDataDomain<
18
- TTypedData extends TypedData | { [key: string]: unknown } = TypedData,
18
+ TTypedData extends TypedData | { [key_1: string]: unknown } = TypedData,
19
19
  TPrimaryType extends string = string,
20
20
  TSchema = TTypedData extends TypedData
21
21
  ? TypedDataToPrimitiveTypes<TTypedData>
22
- : { [key: string]: any },
22
+ : { [key_2: string]: any },
23
23
  TDomain = TSchema extends { EIP712Domain: infer Domain }
24
24
  ? Domain
25
25
  : TypedDataDomain,
@@ -32,24 +32,24 @@ export type GetTypedDataDomain<
32
32
  }
33
33
 
34
34
  export type GetTypedDataMessage<
35
- TTypedData extends TypedData | { [key: string]: unknown } = TypedData,
35
+ TTypedData extends TypedData | { [key_1: string]: unknown } = TypedData,
36
36
  TPrimaryType extends string = string,
37
37
  TSchema = TTypedData extends TypedData
38
38
  ? TypedDataToPrimitiveTypes<TTypedData>
39
- : { [key: string]: any },
39
+ : { [key_2: string]: any },
40
40
  TMessage = TSchema[TPrimaryType extends keyof TSchema
41
41
  ? TPrimaryType
42
42
  : keyof TSchema],
43
43
  > = TPrimaryType extends 'EIP712Domain'
44
44
  ? {}
45
- : { [key: string]: any } extends TMessage // Check if we were able to infer the shape of typed data
45
+ : { [key_3: string]: any } extends TMessage // Check if we were able to infer the shape of typed data
46
46
  ? {
47
47
  /**
48
48
  * Data to sign
49
49
  *
50
50
  * Use a [const assertion](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#const-assertions) on {@link types} for type inference.
51
51
  */
52
- message: { [key: string]: unknown }
52
+ message: { [key_4: string]: unknown }
53
53
  }
54
54
  : {
55
55
  /** Data to sign */
@@ -62,7 +62,7 @@ export function encodePacked<
62
62
  function encode<TPackedAbiType extends PackedAbiType | unknown>(
63
63
  type: TPackedAbiType,
64
64
  value: EncodePackedValues<[TPackedAbiType]>[0],
65
- isArray: boolean = false,
65
+ isArray = false,
66
66
  ): Hex {
67
67
  if (type === 'address') {
68
68
  const address = value as Address
@@ -40,6 +40,7 @@ export async function isImageUri(uri: string) {
40
40
  return false
41
41
  }
42
42
  // fail in NodeJS, since the error is not cors but any other network issue
43
+ // rome-ignore lint/suspicious/noPrototypeBuiltins:
43
44
  if (!globalThis.hasOwnProperty('Image')) return false
44
45
  // in case of cors, use image api to validate if given url is an actual image
45
46
  return new Promise((resolve) => {
@@ -179,7 +180,8 @@ type ParsedNft = {
179
180
  tokenID: string
180
181
  }
181
182
 
182
- export function parseNftUri(uri: string): ParsedNft {
183
+ export function parseNftUri(uri_: string): ParsedNft {
184
+ let uri = uri_
183
185
  // parse valid nft spec (CAIP-22/CAIP-29)
184
186
  // @see: https://github.com/ChainAgnostic/CAIPs/tree/master/CAIPs
185
187
  if (uri.startsWith('did:nft:')) {
@@ -9,9 +9,10 @@ export function extract(
9
9
  ) {
10
10
  if (!format) return {}
11
11
  const keys = Object.keys(format({}))
12
- return keys.reduce((data, key) => {
12
+ return keys.reduce((data: Record<string, unknown>, key) => {
13
+ // rome-ignore lint/suspicious/noPrototypeBuiltins:
13
14
  if (value?.hasOwnProperty(key)) {
14
- ;(data as any)[key] = value[key]
15
+ data[key] = value[key]
15
16
  }
16
17
  return data
17
18
  }, {})
@@ -72,7 +72,7 @@ export async function prepareRequest<
72
72
  blockTag: 'pending',
73
73
  })
74
74
 
75
- if (block.baseFeePerGas) {
75
+ if (typeof block.baseFeePerGas === 'bigint') {
76
76
  if (typeof gasPrice !== 'undefined')
77
77
  throw new BaseError('Chain does not support legacy `gasPrice`.')
78
78