You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -32,7 +32,9 @@ We define one capability related to call execution atomicity.
32
32
33
33
### `wallet_getCapabilities`
34
34
35
-
RPC for an application to receive information about the capabilities that a connected wallet supports (e.g. batch transactions, paymaster communication).
35
+
RPC for an application to receive information about the capabilities that a provided wallet supports (e.g. batch transactions, paymaster communication).
36
+
37
+
This method SHOULD return an error if the user has not already approved a connection to the app with the provided address.
36
38
37
39
The key of each item per chain is the name of a capability and the value can be of any shape. Capabilities are returned per chain because wallets may support different capabilities across chains.
38
40
@@ -41,11 +43,17 @@ We expect the community to align on the definition of capabilities in separate E
typeGetCapabilitiesResult=Record<`0x${string}`, <Record<string, any>>; // Hex chain id
47
49
```
48
50
51
+
##### `wallet_getCapabilities` Example Parameters
52
+
53
+
```json
54
+
["0xd46e8dd67c5d32be8058bb8eb970870f07244567"]
55
+
```
56
+
49
57
##### `wallet_getCapabilities` Example Return Value
50
58
51
59
The capabilities below are for illustrative purposes.
@@ -125,6 +133,7 @@ type SendCallsResult = string;
125
133
}
126
134
],
127
135
"capabilities": {
136
+
// Illustrative
128
137
"paymasterService": {
129
138
"url":"https://..."
130
139
}
@@ -135,43 +144,43 @@ type SendCallsResult = string;
135
144
136
145
##### `wallet_sendCalls` Example Return Value
137
146
138
-
The identifier can be any string. The only requirement is that for a given session, users should be able to call `wallet_getCallsReceipt` with this value and get a call batch status.
147
+
The identifier can be any string. The only requirement is that for a given session, users should be able to call `wallet_getCallsStatus` with this value and get a call batch status.
Returns the status of a call batch that was sent via `wallet_sendCalls`. The identifier of the transaction is the value returned from the `wallet_sendCalls` RPC. Note this method only returns a subset of fields that `eth_getTransactionReceipt` returns, excluding any fields that may differ across wallet implementations.
147
156
148
157
* If a wallet does not execute multiple calls atomically (i.e. in multiple transactions), the receipts in the `receipts` field MUST be in order of the calls sent.
149
-
* If a wallet executes multiple calls atomically (i.e. in a single transaction), `wallet_getCallsReceipt` MUST return a single receipt, corresponding to the transaction in which the calls were included.
158
+
* If a wallet executes multiple calls atomically (i.e. in a single transaction), `wallet_getCallsStatus` MUST return a single receipt, corresponding to the transaction in which the calls were included.
150
159
* The `logs` in the receipt objects MUST only include logs relevant to the calls submitted using `wallet_sendCalls`. For example, in the case of a transaction submitted onchain by an [ERC-4337](./eip-4337.md) bundler, the logs must only include those relevant to the user operation constructed using the calls submitted via `wallet_sendCalls`. I.e. the logs should not include those from other unrelated user operations submitted in the same bundle.
151
160
152
-
#### `wallet_getCallsReceipt` RPC Specification
161
+
#### `wallet_getCallsStatus` RPC Specification
153
162
154
163
```typescript
155
-
typeGetCallsParams = string
164
+
typeGetCallsParams = string;
156
165
157
166
typeGetCallsResult = {
158
-
status:'PENDING'|'CONFIRMED'
167
+
status:'PENDING'|'CONFIRMED';
159
168
receipts?: {
160
169
logs: {
161
-
address:`0x${string}`
162
-
data:`0x${string}`
163
-
topics:`0x${string}`[]
164
-
}[]
165
-
status:`0x${string}`// Hex 1 or 0 for success or failure, respectively
166
-
blockHash:`0x${string}`
167
-
blockNumber:`0x${string}`
168
-
gasUsed:`0x${string}`
169
-
transactionHash:`0x${string}`
170
-
}[]
171
-
}
170
+
address:`0x${string}`;
171
+
data:`0x${string}`;
172
+
topics:`0x${string}`[];
173
+
}[];
174
+
status:`0x${string}`;// Hex 1 or 0 for success or failure, respectively
175
+
blockHash:`0x${string}`;
176
+
blockNumber:`0x${string}`;
177
+
gasUsed:`0x${string}`;
178
+
transactionHash:`0x${string}`;
179
+
}[];
180
+
};
172
181
```
173
182
174
-
##### `wallet_getCallsReceipt` Example Parameters
183
+
##### `wallet_getCallsStatus` Example Parameters
175
184
176
185
As with the return value of `wallet_sendCalls`, the batch identifier may be any string.
177
186
@@ -181,7 +190,7 @@ As with the return value of `wallet_sendCalls`, the batch identifier may be any
181
190
]
182
191
```
183
192
184
-
##### `wallet_getCallsReceipt` Example Return Value
193
+
##### `wallet_getCallsStatus` Example Return Value
185
194
186
195
```json
187
196
{
@@ -207,6 +216,26 @@ As with the return value of `wallet_sendCalls`, the batch identifier may be any
207
216
}
208
217
```
209
218
219
+
### `wallet_showCallsStatus`
220
+
221
+
Requests that a wallet shows information about a given call bundle that was sent with `wallet_sendCalls`. Note that this method does not return anything.
222
+
223
+
#### `wallet_showCallsStatus` RPC Specification
224
+
225
+
```typescript
226
+
typeShowCallsParams = string; // Call bundle identifier returned by wallet_sendCalls
227
+
```
228
+
229
+
##### `wallet_showCallsStatus` Example Parameters
230
+
231
+
This method accepts a call bundle identifier returned by a `wallet_sendCalls` call.
0 commit comments