viem 2.9.9 → 2.9.12

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 (140) hide show
  1. package/CHANGELOG.md +28 -1
  2. package/_cjs/chains/definitions/dfk.js +6 -0
  3. package/_cjs/chains/definitions/dfk.js.map +1 -1
  4. package/_cjs/chains/definitions/mode.js +2 -0
  5. package/_cjs/chains/definitions/mode.js.map +1 -1
  6. package/_cjs/chains/definitions/modeTestnet.js +2 -0
  7. package/_cjs/chains/definitions/modeTestnet.js.map +1 -1
  8. package/_cjs/chains/definitions/polygonAmoy.js +6 -0
  9. package/_cjs/chains/definitions/polygonAmoy.js.map +1 -1
  10. package/_cjs/chains/definitions/polygonZkEvmCardona.js +29 -0
  11. package/_cjs/chains/definitions/polygonZkEvmCardona.js.map +1 -0
  12. package/_cjs/chains/index.js +6 -4
  13. package/_cjs/chains/index.js.map +1 -1
  14. package/_cjs/clients/transports/ipc.js +2 -2
  15. package/_cjs/clients/transports/ipc.js.map +1 -1
  16. package/_cjs/clients/transports/webSocket.js +2 -2
  17. package/_cjs/clients/transports/webSocket.js.map +1 -1
  18. package/_cjs/errors/version.js +1 -1
  19. package/_cjs/errors/version.js.map +1 -1
  20. package/_cjs/experimental/actions/{getCallsReceipt.js → getCallsStatus.js} +6 -6
  21. package/_cjs/experimental/actions/getCallsStatus.js.map +1 -0
  22. package/_cjs/experimental/actions/getCapabilities.js +9 -1
  23. package/_cjs/experimental/actions/getCapabilities.js.map +1 -1
  24. package/_cjs/experimental/actions/sendCalls.js +12 -10
  25. package/_cjs/experimental/actions/sendCalls.js.map +1 -1
  26. package/_cjs/experimental/actions/showCallsStatus.js +13 -0
  27. package/_cjs/experimental/actions/showCallsStatus.js.map +1 -0
  28. package/_cjs/experimental/decorators/eip5792.js +5 -3
  29. package/_cjs/experimental/decorators/eip5792.js.map +1 -1
  30. package/_cjs/experimental/index.js +5 -3
  31. package/_cjs/experimental/index.js.map +1 -1
  32. package/_cjs/utils/rpc/ipc.js +8 -2
  33. package/_cjs/utils/rpc/ipc.js.map +1 -1
  34. package/_cjs/utils/rpc/socket.js +46 -15
  35. package/_cjs/utils/rpc/socket.js.map +1 -1
  36. package/_cjs/utils/rpc/webSocket.js +8 -2
  37. package/_cjs/utils/rpc/webSocket.js.map +1 -1
  38. package/_esm/chains/definitions/dfk.js +6 -0
  39. package/_esm/chains/definitions/dfk.js.map +1 -1
  40. package/_esm/chains/definitions/mode.js +2 -0
  41. package/_esm/chains/definitions/mode.js.map +1 -1
  42. package/_esm/chains/definitions/modeTestnet.js +2 -0
  43. package/_esm/chains/definitions/modeTestnet.js.map +1 -1
  44. package/_esm/chains/definitions/polygonAmoy.js +6 -0
  45. package/_esm/chains/definitions/polygonAmoy.js.map +1 -1
  46. package/_esm/chains/definitions/polygonZkEvmCardona.js +26 -0
  47. package/_esm/chains/definitions/polygonZkEvmCardona.js.map +1 -0
  48. package/_esm/chains/index.js +3 -1
  49. package/_esm/chains/index.js.map +1 -1
  50. package/_esm/clients/transports/ipc.js +3 -3
  51. package/_esm/clients/transports/ipc.js.map +1 -1
  52. package/_esm/clients/transports/webSocket.js +3 -3
  53. package/_esm/clients/transports/webSocket.js.map +1 -1
  54. package/_esm/errors/version.js +1 -1
  55. package/_esm/errors/version.js.map +1 -1
  56. package/_esm/experimental/actions/{getCallsReceipt.js → getCallsStatus.js} +9 -9
  57. package/_esm/experimental/actions/getCallsStatus.js.map +1 -0
  58. package/_esm/experimental/actions/getCapabilities.js +9 -1
  59. package/_esm/experimental/actions/getCapabilities.js.map +1 -1
  60. package/_esm/experimental/actions/sendCalls.js +12 -10
  61. package/_esm/experimental/actions/sendCalls.js.map +1 -1
  62. package/_esm/experimental/actions/showCallsStatus.js +30 -0
  63. package/_esm/experimental/actions/showCallsStatus.js.map +1 -0
  64. package/_esm/experimental/decorators/eip5792.js +5 -3
  65. package/_esm/experimental/decorators/eip5792.js.map +1 -1
  66. package/_esm/experimental/index.js +2 -1
  67. package/_esm/experimental/index.js.map +1 -1
  68. package/_esm/utils/rpc/ipc.js +8 -2
  69. package/_esm/utils/rpc/ipc.js.map +1 -1
  70. package/_esm/utils/rpc/socket.js +49 -16
  71. package/_esm/utils/rpc/socket.js.map +1 -1
  72. package/_esm/utils/rpc/webSocket.js +8 -2
  73. package/_esm/utils/rpc/webSocket.js.map +1 -1
  74. package/_types/chains/definitions/dfk.d.ts +6 -8
  75. package/_types/chains/definitions/dfk.d.ts.map +1 -1
  76. package/_types/chains/definitions/mode.d.ts +1 -1
  77. package/_types/chains/definitions/mode.d.ts.map +1 -1
  78. package/_types/chains/definitions/modeTestnet.d.ts +1 -1
  79. package/_types/chains/definitions/modeTestnet.d.ts.map +1 -1
  80. package/_types/chains/definitions/polygonAmoy.d.ts +6 -8
  81. package/_types/chains/definitions/polygonAmoy.d.ts.map +1 -1
  82. package/_types/chains/definitions/polygonZkEvmCardona.d.ts +34 -0
  83. package/_types/chains/definitions/polygonZkEvmCardona.d.ts.map +1 -0
  84. package/_types/chains/index.d.ts +3 -1
  85. package/_types/chains/index.d.ts.map +1 -1
  86. package/_types/clients/transports/ipc.d.ts +6 -1
  87. package/_types/clients/transports/ipc.d.ts.map +1 -1
  88. package/_types/clients/transports/webSocket.d.ts +6 -0
  89. package/_types/clients/transports/webSocket.d.ts.map +1 -1
  90. package/_types/errors/version.d.ts +1 -1
  91. package/_types/errors/version.d.ts.map +1 -1
  92. package/_types/experimental/actions/getCallsStatus.d.ts +35 -0
  93. package/_types/experimental/actions/getCallsStatus.d.ts.map +1 -0
  94. package/_types/experimental/actions/getCapabilities.d.ts +9 -2
  95. package/_types/experimental/actions/getCapabilities.d.ts.map +1 -1
  96. package/_types/experimental/actions/sendCalls.d.ts +2 -2
  97. package/_types/experimental/actions/sendCalls.d.ts.map +1 -1
  98. package/_types/experimental/actions/showCallsStatus.d.ts +34 -0
  99. package/_types/experimental/actions/showCallsStatus.d.ts.map +1 -0
  100. package/_types/experimental/decorators/eip5792.d.ts +36 -10
  101. package/_types/experimental/decorators/eip5792.d.ts.map +1 -1
  102. package/_types/experimental/index.d.ts +2 -1
  103. package/_types/experimental/index.d.ts.map +1 -1
  104. package/_types/index.d.ts +1 -1
  105. package/_types/index.d.ts.map +1 -1
  106. package/_types/types/eip1193.d.ts +31 -17
  107. package/_types/types/eip1193.d.ts.map +1 -1
  108. package/_types/utils/rpc/compat.d.ts +8 -2
  109. package/_types/utils/rpc/compat.d.ts.map +1 -1
  110. package/_types/utils/rpc/ipc.d.ts +3 -2
  111. package/_types/utils/rpc/ipc.d.ts.map +1 -1
  112. package/_types/utils/rpc/socket.d.ts +25 -4
  113. package/_types/utils/rpc/socket.d.ts.map +1 -1
  114. package/_types/utils/rpc/webSocket.d.ts +3 -2
  115. package/_types/utils/rpc/webSocket.d.ts.map +1 -1
  116. package/chains/definitions/dfk.ts +6 -0
  117. package/chains/definitions/mode.ts +3 -0
  118. package/chains/definitions/modeTestnet.ts +3 -0
  119. package/chains/definitions/polygonAmoy.ts +6 -0
  120. package/chains/definitions/polygonZkEvmCardona.ts +26 -0
  121. package/chains/index.ts +3 -1
  122. package/clients/transports/ipc.ts +12 -3
  123. package/clients/transports/webSocket.ts +16 -3
  124. package/errors/version.ts +1 -1
  125. package/experimental/actions/{getCallsReceipt.ts → getCallsStatus.ts} +15 -15
  126. package/experimental/actions/getCapabilities.ts +29 -3
  127. package/experimental/actions/sendCalls.ts +14 -12
  128. package/experimental/actions/showCallsStatus.ts +48 -0
  129. package/experimental/decorators/eip5792.ts +55 -16
  130. package/experimental/index.ts +11 -5
  131. package/index.ts +1 -1
  132. package/package.json +1 -1
  133. package/types/eip1193.ts +31 -17
  134. package/utils/rpc/ipc.ts +18 -2
  135. package/utils/rpc/socket.ts +78 -19
  136. package/utils/rpc/webSocket.ts +15 -1
  137. package/_cjs/experimental/actions/getCallsReceipt.js.map +0 -1
  138. package/_esm/experimental/actions/getCallsReceipt.js.map +0 -1
  139. package/_types/experimental/actions/getCallsReceipt.d.ts +0 -35
  140. package/_types/experimental/actions/getCallsReceipt.d.ts.map +0 -1
package/utils/rpc/ipc.ts CHANGED
@@ -1,11 +1,17 @@
1
1
  import { type Socket as NetSocket, connect } from 'node:net'
2
2
  import { WebSocketRequestError } from '../../index.js'
3
3
  import {
4
+ type GetSocketRpcClientParameters,
4
5
  type Socket,
5
6
  type SocketRpcClient,
6
7
  getSocketRpcClient,
7
8
  } from './socket.js'
8
9
 
10
+ export type GetIpcRpcClientOptions = Pick<
11
+ GetSocketRpcClientParameters,
12
+ 'reconnect'
13
+ >
14
+
9
15
  const openingBrace = '{'.charCodeAt(0)
10
16
  const closingBrace = '}'.charCodeAt(0)
11
17
 
@@ -33,14 +39,21 @@ export function extractMessages(buffer: Buffer): [Buffer[], Buffer] {
33
39
 
34
40
  export type IpcRpcClient = SocketRpcClient<NetSocket>
35
41
 
36
- export async function getIpcRpcClient(path: string): Promise<IpcRpcClient> {
42
+ export async function getIpcRpcClient(
43
+ path: string,
44
+ options: GetIpcRpcClientOptions = {},
45
+ ): Promise<IpcRpcClient> {
46
+ const { reconnect } = options
47
+
37
48
  return getSocketRpcClient({
38
- async getSocket({ onResponse }) {
49
+ async getSocket({ onError, onOpen, onResponse }) {
39
50
  const socket = connect(path)
40
51
 
41
52
  function onClose() {
42
53
  socket.off('close', onClose)
43
54
  socket.off('message', onData)
55
+ socket.off('error', onError)
56
+ socket.off('connect', onOpen)
44
57
  }
45
58
 
46
59
  let lastRemaining = Buffer.alloc(0)
@@ -57,6 +70,8 @@ export async function getIpcRpcClient(path: string): Promise<IpcRpcClient> {
57
70
 
58
71
  socket.on('close', onClose)
59
72
  socket.on('data', onData)
73
+ socket.on('error', onError)
74
+ socket.on('connect', onOpen)
60
75
 
61
76
  // Wait for the socket to open.
62
77
  await new Promise<void>((resolve, reject) => {
@@ -84,6 +99,7 @@ export async function getIpcRpcClient(path: string): Promise<IpcRpcClient> {
84
99
  },
85
100
  } as Socket<{}>)
86
101
  },
102
+ reconnect,
87
103
  url: path,
88
104
  })
89
105
  }
@@ -9,10 +9,15 @@ import { withTimeout } from '../promise/withTimeout.js'
9
9
  import { idCache } from './id.js'
10
10
 
11
11
  type Id = string | number
12
- type CallbackFn = (message: any) => void
12
+ type CallbackFn = {
13
+ onResponse: (message: any) => void
14
+ onError?: ((error?: Error | Event | undefined) => void) | undefined
15
+ }
13
16
  type CallbackMap = Map<Id, CallbackFn>
14
17
 
15
18
  export type GetSocketParameters = {
19
+ onError: (error?: Error | Event | undefined) => void
20
+ onOpen: () => void
16
21
  onResponse: (data: RpcResponse) => void
17
22
  }
18
23
 
@@ -28,7 +33,7 @@ export type SocketRpcClient<socket extends {}> = {
28
33
  socket: Socket<socket>
29
34
  request(params: {
30
35
  body: RpcRequest
31
- onError?: ((error: Error) => void) | undefined
36
+ onError?: ((error?: Error | Event | undefined) => void) | undefined
32
37
  onResponse: (message: RpcResponse) => void
33
38
  }): void
34
39
  requestAsync(params: {
@@ -40,9 +45,28 @@ export type SocketRpcClient<socket extends {}> = {
40
45
  url: string
41
46
  }
42
47
 
43
- export type GetSocketRpcClientParameters<socket extends {}> = {
44
- url: string
48
+ export type GetSocketRpcClientParameters<socket extends {} = {}> = {
45
49
  getSocket(params: GetSocketParameters): Promise<Socket<socket>>
50
+ /**
51
+ * Whether or not to attempt to reconnect on socket failure.
52
+ * @default true
53
+ */
54
+ reconnect?:
55
+ | boolean
56
+ | {
57
+ /**
58
+ * The maximum number of reconnection attempts.
59
+ * @default 5
60
+ */
61
+ attempts?: number | undefined
62
+ /**
63
+ * The delay (in ms) between reconnection attempts.
64
+ * @default 2_000
65
+ */
66
+ delay?: number | undefined
67
+ }
68
+ | undefined
69
+ url: string
46
70
  }
47
71
 
48
72
  export type GetSocketRpcClientErrorType =
@@ -57,13 +81,16 @@ export const socketClientCache = /*#__PURE__*/ new Map<
57
81
  export async function getSocketRpcClient<socket extends {}>(
58
82
  params: GetSocketRpcClientParameters<socket>,
59
83
  ): Promise<SocketRpcClient<socket>> {
60
- const { getSocket, url } = params
84
+ const { getSocket, reconnect = true, url } = params
85
+ const { attempts = 5, delay = 2_000 } =
86
+ typeof reconnect === 'object' ? reconnect : {}
61
87
 
62
88
  let socketClient = socketClientCache.get(url)
63
89
 
64
90
  // If the socket already exists, return it.
65
91
  if (socketClient) return socketClient as {} as SocketRpcClient<socket>
66
92
 
93
+ let reconnectCount = 0
67
94
  const { schedule } = createBatchScheduler<
68
95
  undefined,
69
96
  [SocketRpcClient<socket>]
@@ -76,17 +103,46 @@ export async function getSocketRpcClient<socket extends {}>(
76
103
  // Set up a cache for subscriptions (eth_subscribe).
77
104
  const subscriptions = new Map<Id, CallbackFn>()
78
105
 
106
+ let error: Error | Event | undefined
107
+ let socket: Socket<any>
79
108
  // Set up socket implementation.
80
- const socket = await getSocket({
81
- onResponse(data) {
82
- const isSubscription = data.method === 'eth_subscription'
83
- const id = isSubscription ? data.params.subscription : data.id
84
- const cache = isSubscription ? subscriptions : requests
85
- const callback = cache.get(id)
86
- if (callback) callback(data)
87
- if (!isSubscription) cache.delete(id)
88
- },
89
- })
109
+ async function setup() {
110
+ return getSocket({
111
+ onError(error_) {
112
+ error = error_
113
+
114
+ // Notify all requests and subscriptions of the error.
115
+ for (const request of requests.values()) request.onError?.(error)
116
+ for (const subscription of subscriptions.values())
117
+ subscription.onError?.(error)
118
+
119
+ // Clear all requests and subscriptions.
120
+ requests.clear()
121
+ subscriptions.clear()
122
+
123
+ // Attempt to reconnect.
124
+ if (reconnect && reconnectCount < attempts)
125
+ setTimeout(async () => {
126
+ reconnectCount++
127
+ socket = await setup().catch(console.error)
128
+ }, delay)
129
+ },
130
+ onOpen() {
131
+ error = undefined
132
+ reconnectCount = 0
133
+ },
134
+ onResponse(data) {
135
+ const isSubscription = data.method === 'eth_subscription'
136
+ const id = isSubscription ? data.params.subscription : data.id
137
+ const cache = isSubscription ? subscriptions : requests
138
+ const callback = cache.get(id)
139
+ if (callback) callback.onResponse(data)
140
+ if (!isSubscription) cache.delete(id)
141
+ },
142
+ })
143
+ }
144
+ socket = await setup()
145
+ error = undefined
90
146
 
91
147
  // Create a new socket instance.
92
148
  socketClient = {
@@ -96,6 +152,8 @@ export async function getSocketRpcClient<socket extends {}>(
96
152
  },
97
153
  socket,
98
154
  request({ body, onError, onResponse }) {
155
+ if (error && onError) onError(error)
156
+
99
157
  const id = body.id ?? idCache.take()
100
158
 
101
159
  const callback = (response: RpcResponse) => {
@@ -107,18 +165,19 @@ export async function getSocketRpcClient<socket extends {}>(
107
165
  body.method === 'eth_subscribe' &&
108
166
  typeof response.result === 'string'
109
167
  )
110
- subscriptions.set(response.result, callback)
168
+ subscriptions.set(response.result, {
169
+ onResponse: callback,
170
+ onError,
171
+ })
111
172
 
112
173
  // If we are unsubscribing from a topic, we want to remove the listener.
113
174
  if (body.method === 'eth_unsubscribe')
114
175
  subscriptions.delete(body.params?.[0])
115
176
 
116
177
  onResponse(response)
117
-
118
- // TODO: delete request?
119
178
  }
120
179
 
121
- requests.set(id, callback)
180
+ requests.set(id, { onResponse: callback, onError })
122
181
  try {
123
182
  socket.request({
124
183
  body: {
@@ -2,22 +2,33 @@ import type { MessageEvent } from 'isows'
2
2
 
3
3
  import { WebSocketRequestError } from '../../errors/request.js'
4
4
  import {
5
+ type GetSocketRpcClientParameters,
5
6
  type Socket,
6
7
  type SocketRpcClient,
7
8
  getSocketRpcClient,
8
9
  } from './socket.js'
9
10
 
11
+ export type GetWebSocketRpcClientOptions = Pick<
12
+ GetSocketRpcClientParameters,
13
+ 'reconnect'
14
+ >
15
+
10
16
  export async function getWebSocketRpcClient(
11
17
  url: string,
18
+ options: GetWebSocketRpcClientOptions | undefined = {},
12
19
  ): Promise<SocketRpcClient<WebSocket>> {
20
+ const { reconnect } = options
21
+
13
22
  return getSocketRpcClient({
14
- async getSocket({ onResponse }) {
23
+ async getSocket({ onError, onOpen, onResponse }) {
15
24
  const WebSocket = await import('isows').then((module) => module.WebSocket)
16
25
  const socket = new WebSocket(url)
17
26
 
18
27
  function onClose() {
19
28
  socket.removeEventListener('close', onClose)
20
29
  socket.removeEventListener('message', onMessage)
30
+ socket.removeEventListener('error', onError)
31
+ socket.removeEventListener('open', onOpen)
21
32
  }
22
33
  function onMessage({ data }: MessageEvent) {
23
34
  onResponse(JSON.parse(data))
@@ -26,6 +37,8 @@ export async function getWebSocketRpcClient(
26
37
  // Setup event listeners for RPC & subscription responses.
27
38
  socket.addEventListener('close', onClose)
28
39
  socket.addEventListener('message', onMessage)
40
+ socket.addEventListener('error', onError)
41
+ socket.addEventListener('open', onOpen)
29
42
 
30
43
  // Wait for the socket to open.
31
44
  if (socket.readyState === WebSocket.CONNECTING) {
@@ -58,6 +71,7 @@ export async function getWebSocketRpcClient(
58
71
  },
59
72
  } as Socket<WebSocket>)
60
73
  },
74
+ reconnect,
61
75
  url,
62
76
  })
63
77
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"getCallsReceipt.js","sourceRoot":"","sources":["../../../experimental/actions/getCallsReceipt.ts"],"names":[],"mappings":";;;AAQA,gEAA6D;AAC7D,wFAA8E;AA8BvE,KAAK,UAAU,eAAe,CAInC,MAAyC,EACzC,UAAqC;IAErC,MAAM,EAAE,EAAE,EAAE,GAAG,UAAU,CAAA;IACzB,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAChD,MAAM,EAAE,wBAAwB;QAChC,MAAM,EAAE,EAAE;KACX,CAAC,CAAA;IACF,OAAO;QACL,MAAM;QACN,QAAQ,EACN,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC1B,GAAG,OAAO;YACV,WAAW,EAAE,IAAA,wBAAW,EAAC,OAAO,CAAC,WAAW,CAAC;YAC7C,OAAO,EAAE,IAAA,wBAAW,EAAC,OAAO,CAAC,OAAO,CAAC;YACrC,MAAM,EAAE,uCAAe,CAAC,OAAO,CAAC,MAAuB,CAAC;SACzD,CAAC,CAAC,IAAI,EAAE;KACZ,CAAA;AACH,CAAC;AAtBD,0CAsBC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"getCallsReceipt.js","sourceRoot":"","sources":["../../../experimental/actions/getCallsReceipt.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAA;AAU9E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAInC,MAAyC,EACzC,UAAqC;IAErC,MAAM,EAAE,EAAE,EAAE,GAAG,UAAU,CAAA;IACzB,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAChD,MAAM,EAAE,wBAAwB;QAChC,MAAM,EAAE,EAAE;KACX,CAAC,CAAA;IACF,OAAO;QACL,MAAM;QACN,QAAQ,EACN,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC1B,GAAG,OAAO;YACV,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC;YAC7C,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC;YACrC,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,MAAuB,CAAC;SACzD,CAAC,CAAC,IAAI,EAAE;KACZ,CAAA;AACH,CAAC"}
@@ -1,35 +0,0 @@
1
- import type { Client } from '../../clients/createClient.js';
2
- import type { Transport } from '../../clients/transports/createTransport.js';
3
- import type { ErrorType } from '../../errors/utils.js';
4
- import type { Account } from '../../types/account.js';
5
- import type { Chain } from '../../types/chain.js';
6
- import type { WalletGetCallsReceiptReturnType } from '../../types/eip1193.js';
7
- import type { Prettify } from '../../types/utils.js';
8
- import type { RequestErrorType } from '../../utils/buildRequest.js';
9
- export type GetCallsReceiptParameters = {
10
- id: string;
11
- };
12
- export type GetCallsReceiptReturnType = Prettify<WalletGetCallsReceiptReturnType<bigint, 'success' | 'reverted'>>;
13
- export type GetCallsReceiptErrorType = RequestErrorType | ErrorType;
14
- /**
15
- * Returns the status of a call batch that was sent via `sendCalls`.
16
- *
17
- * - Docs: https://viem.sh/experimental/actions/getCallsReceipt
18
- * - JSON-RPC Methods: [`wallet_getCallsReceipt`](https://eips.ethereum.org/EIPS/eip-5792)
19
- *
20
- * @param client - Client to use
21
- * @returns Status of the calls. {@link GetCallsReceiptReturnType}
22
- *
23
- * @example
24
- * import { createWalletClient, custom } from 'viem'
25
- * import { mainnet } from 'viem/chains'
26
- * import { getCallsReceipt } from 'viem/wallet'
27
- *
28
- * const client = createWalletClient({
29
- * chain: mainnet,
30
- * transport: custom(window.ethereum),
31
- * })
32
- * const { receipts, status } = await getCallsReceipt(client, { id: '0xdeadbeef' })
33
- */
34
- export declare function getCallsReceipt<chain extends Chain | undefined, account extends Account | undefined = undefined>(client: Client<Transport, chain, account>, parameters: GetCallsReceiptParameters): Promise<GetCallsReceiptReturnType>;
35
- //# sourceMappingURL=getCallsReceipt.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getCallsReceipt.d.ts","sourceRoot":"","sources":["../../../experimental/actions/getCallsReceipt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAA;AAC5E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAA;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAInE,MAAM,MAAM,yBAAyB,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAA;AAEtD,MAAM,MAAM,yBAAyB,GAAG,QAAQ,CAC9C,+BAA+B,CAAC,MAAM,EAAE,SAAS,GAAG,UAAU,CAAC,CAChE,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG,gBAAgB,GAAG,SAAS,CAAA;AAEnE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,eAAe,CACnC,KAAK,SAAS,KAAK,GAAG,SAAS,EAC/B,OAAO,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAE/C,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,EACzC,UAAU,EAAE,yBAAyB,GACpC,OAAO,CAAC,yBAAyB,CAAC,CAgBpC"}