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.
- package/CHANGELOG.md +28 -1
- package/_cjs/chains/definitions/dfk.js +6 -0
- package/_cjs/chains/definitions/dfk.js.map +1 -1
- package/_cjs/chains/definitions/mode.js +2 -0
- package/_cjs/chains/definitions/mode.js.map +1 -1
- package/_cjs/chains/definitions/modeTestnet.js +2 -0
- package/_cjs/chains/definitions/modeTestnet.js.map +1 -1
- package/_cjs/chains/definitions/polygonAmoy.js +6 -0
- package/_cjs/chains/definitions/polygonAmoy.js.map +1 -1
- package/_cjs/chains/definitions/polygonZkEvmCardona.js +29 -0
- package/_cjs/chains/definitions/polygonZkEvmCardona.js.map +1 -0
- package/_cjs/chains/index.js +6 -4
- package/_cjs/chains/index.js.map +1 -1
- package/_cjs/clients/transports/ipc.js +2 -2
- package/_cjs/clients/transports/ipc.js.map +1 -1
- package/_cjs/clients/transports/webSocket.js +2 -2
- package/_cjs/clients/transports/webSocket.js.map +1 -1
- package/_cjs/errors/version.js +1 -1
- package/_cjs/errors/version.js.map +1 -1
- package/_cjs/experimental/actions/{getCallsReceipt.js → getCallsStatus.js} +6 -6
- package/_cjs/experimental/actions/getCallsStatus.js.map +1 -0
- package/_cjs/experimental/actions/getCapabilities.js +9 -1
- package/_cjs/experimental/actions/getCapabilities.js.map +1 -1
- package/_cjs/experimental/actions/sendCalls.js +12 -10
- package/_cjs/experimental/actions/sendCalls.js.map +1 -1
- package/_cjs/experimental/actions/showCallsStatus.js +13 -0
- package/_cjs/experimental/actions/showCallsStatus.js.map +1 -0
- package/_cjs/experimental/decorators/eip5792.js +5 -3
- package/_cjs/experimental/decorators/eip5792.js.map +1 -1
- package/_cjs/experimental/index.js +5 -3
- package/_cjs/experimental/index.js.map +1 -1
- package/_cjs/utils/rpc/ipc.js +8 -2
- package/_cjs/utils/rpc/ipc.js.map +1 -1
- package/_cjs/utils/rpc/socket.js +46 -15
- package/_cjs/utils/rpc/socket.js.map +1 -1
- package/_cjs/utils/rpc/webSocket.js +8 -2
- package/_cjs/utils/rpc/webSocket.js.map +1 -1
- package/_esm/chains/definitions/dfk.js +6 -0
- package/_esm/chains/definitions/dfk.js.map +1 -1
- package/_esm/chains/definitions/mode.js +2 -0
- package/_esm/chains/definitions/mode.js.map +1 -1
- package/_esm/chains/definitions/modeTestnet.js +2 -0
- package/_esm/chains/definitions/modeTestnet.js.map +1 -1
- package/_esm/chains/definitions/polygonAmoy.js +6 -0
- package/_esm/chains/definitions/polygonAmoy.js.map +1 -1
- package/_esm/chains/definitions/polygonZkEvmCardona.js +26 -0
- package/_esm/chains/definitions/polygonZkEvmCardona.js.map +1 -0
- package/_esm/chains/index.js +3 -1
- package/_esm/chains/index.js.map +1 -1
- package/_esm/clients/transports/ipc.js +3 -3
- package/_esm/clients/transports/ipc.js.map +1 -1
- package/_esm/clients/transports/webSocket.js +3 -3
- package/_esm/clients/transports/webSocket.js.map +1 -1
- package/_esm/errors/version.js +1 -1
- package/_esm/errors/version.js.map +1 -1
- package/_esm/experimental/actions/{getCallsReceipt.js → getCallsStatus.js} +9 -9
- package/_esm/experimental/actions/getCallsStatus.js.map +1 -0
- package/_esm/experimental/actions/getCapabilities.js +9 -1
- package/_esm/experimental/actions/getCapabilities.js.map +1 -1
- package/_esm/experimental/actions/sendCalls.js +12 -10
- package/_esm/experimental/actions/sendCalls.js.map +1 -1
- package/_esm/experimental/actions/showCallsStatus.js +30 -0
- package/_esm/experimental/actions/showCallsStatus.js.map +1 -0
- package/_esm/experimental/decorators/eip5792.js +5 -3
- package/_esm/experimental/decorators/eip5792.js.map +1 -1
- package/_esm/experimental/index.js +2 -1
- package/_esm/experimental/index.js.map +1 -1
- package/_esm/utils/rpc/ipc.js +8 -2
- package/_esm/utils/rpc/ipc.js.map +1 -1
- package/_esm/utils/rpc/socket.js +49 -16
- package/_esm/utils/rpc/socket.js.map +1 -1
- package/_esm/utils/rpc/webSocket.js +8 -2
- package/_esm/utils/rpc/webSocket.js.map +1 -1
- package/_types/chains/definitions/dfk.d.ts +6 -8
- package/_types/chains/definitions/dfk.d.ts.map +1 -1
- package/_types/chains/definitions/mode.d.ts +1 -1
- package/_types/chains/definitions/mode.d.ts.map +1 -1
- package/_types/chains/definitions/modeTestnet.d.ts +1 -1
- package/_types/chains/definitions/modeTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/polygonAmoy.d.ts +6 -8
- package/_types/chains/definitions/polygonAmoy.d.ts.map +1 -1
- package/_types/chains/definitions/polygonZkEvmCardona.d.ts +34 -0
- package/_types/chains/definitions/polygonZkEvmCardona.d.ts.map +1 -0
- package/_types/chains/index.d.ts +3 -1
- package/_types/chains/index.d.ts.map +1 -1
- package/_types/clients/transports/ipc.d.ts +6 -1
- package/_types/clients/transports/ipc.d.ts.map +1 -1
- package/_types/clients/transports/webSocket.d.ts +6 -0
- package/_types/clients/transports/webSocket.d.ts.map +1 -1
- package/_types/errors/version.d.ts +1 -1
- package/_types/errors/version.d.ts.map +1 -1
- package/_types/experimental/actions/getCallsStatus.d.ts +35 -0
- package/_types/experimental/actions/getCallsStatus.d.ts.map +1 -0
- package/_types/experimental/actions/getCapabilities.d.ts +9 -2
- package/_types/experimental/actions/getCapabilities.d.ts.map +1 -1
- package/_types/experimental/actions/sendCalls.d.ts +2 -2
- package/_types/experimental/actions/sendCalls.d.ts.map +1 -1
- package/_types/experimental/actions/showCallsStatus.d.ts +34 -0
- package/_types/experimental/actions/showCallsStatus.d.ts.map +1 -0
- package/_types/experimental/decorators/eip5792.d.ts +36 -10
- package/_types/experimental/decorators/eip5792.d.ts.map +1 -1
- package/_types/experimental/index.d.ts +2 -1
- package/_types/experimental/index.d.ts.map +1 -1
- package/_types/index.d.ts +1 -1
- package/_types/index.d.ts.map +1 -1
- package/_types/types/eip1193.d.ts +31 -17
- package/_types/types/eip1193.d.ts.map +1 -1
- package/_types/utils/rpc/compat.d.ts +8 -2
- package/_types/utils/rpc/compat.d.ts.map +1 -1
- package/_types/utils/rpc/ipc.d.ts +3 -2
- package/_types/utils/rpc/ipc.d.ts.map +1 -1
- package/_types/utils/rpc/socket.d.ts +25 -4
- package/_types/utils/rpc/socket.d.ts.map +1 -1
- package/_types/utils/rpc/webSocket.d.ts +3 -2
- package/_types/utils/rpc/webSocket.d.ts.map +1 -1
- package/chains/definitions/dfk.ts +6 -0
- package/chains/definitions/mode.ts +3 -0
- package/chains/definitions/modeTestnet.ts +3 -0
- package/chains/definitions/polygonAmoy.ts +6 -0
- package/chains/definitions/polygonZkEvmCardona.ts +26 -0
- package/chains/index.ts +3 -1
- package/clients/transports/ipc.ts +12 -3
- package/clients/transports/webSocket.ts +16 -3
- package/errors/version.ts +1 -1
- package/experimental/actions/{getCallsReceipt.ts → getCallsStatus.ts} +15 -15
- package/experimental/actions/getCapabilities.ts +29 -3
- package/experimental/actions/sendCalls.ts +14 -12
- package/experimental/actions/showCallsStatus.ts +48 -0
- package/experimental/decorators/eip5792.ts +55 -16
- package/experimental/index.ts +11 -5
- package/index.ts +1 -1
- package/package.json +1 -1
- package/types/eip1193.ts +31 -17
- package/utils/rpc/ipc.ts +18 -2
- package/utils/rpc/socket.ts +78 -19
- package/utils/rpc/webSocket.ts +15 -1
- package/_cjs/experimental/actions/getCallsReceipt.js.map +0 -1
- package/_esm/experimental/actions/getCallsReceipt.js.map +0 -1
- package/_types/experimental/actions/getCallsReceipt.d.ts +0 -35
- 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(
|
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
|
}
|
package/utils/rpc/socket.ts
CHANGED
@@ -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 =
|
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
|
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
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
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,
|
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: {
|
package/utils/rpc/webSocket.ts
CHANGED
@@ -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"}
|