@gelatocloud/gasless 0.0.1 → 0.0.4
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/LICENSE +21 -0
- package/README.md +417 -0
- package/_dist/account/actions/sendTransactionSync.d.ts +2 -2
- package/_dist/account/actions/sendTransactionSync.d.ts.map +1 -1
- package/_dist/account/actions/sendTransactionSync.js.map +1 -1
- package/_dist/account/index.d.ts +3 -3
- package/_dist/account/index.d.ts.map +1 -1
- package/_dist/account/index.js +1 -0
- package/_dist/account/index.js.map +1 -1
- package/_dist/relayer/evm/actions/getGelatoStatus.d.ts +22 -0
- package/_dist/relayer/evm/actions/getGelatoStatus.d.ts.map +1 -1
- package/_dist/relayer/evm/actions/getGelatoStatus.js +1 -0
- package/_dist/relayer/evm/actions/getGelatoStatus.js.map +1 -1
- package/_dist/relayer/evm/actions/getStatus.d.ts +77 -0
- package/_dist/relayer/evm/actions/getStatus.d.ts.map +1 -1
- package/_dist/relayer/evm/actions/getStatus.js +7 -1
- package/_dist/relayer/evm/actions/getStatus.js.map +1 -1
- package/_dist/relayer/evm/actions/handleTerminalStatus.d.ts +3 -0
- package/_dist/relayer/evm/actions/handleTerminalStatus.d.ts.map +1 -0
- package/_dist/relayer/evm/actions/handleTerminalStatus.js +29 -0
- package/_dist/relayer/evm/actions/handleTerminalStatus.js.map +1 -0
- package/_dist/relayer/evm/actions/index.d.ts +1 -0
- package/_dist/relayer/evm/actions/index.d.ts.map +1 -1
- package/_dist/relayer/evm/actions/index.js +1 -0
- package/_dist/relayer/evm/actions/index.js.map +1 -1
- package/_dist/relayer/evm/actions/sendTransactionSync.d.ts +2 -2
- package/_dist/relayer/evm/actions/sendTransactionSync.d.ts.map +1 -1
- package/_dist/relayer/evm/actions/sendTransactionSync.js +3 -1
- package/_dist/relayer/evm/actions/sendTransactionSync.js.map +1 -1
- package/_dist/relayer/evm/actions/waitForInclusion.d.ts +4 -0
- package/_dist/relayer/evm/actions/waitForInclusion.d.ts.map +1 -0
- package/_dist/relayer/evm/actions/waitForInclusion.js +11 -0
- package/_dist/relayer/evm/actions/waitForInclusion.js.map +1 -0
- package/_dist/relayer/evm/errors/index.d.ts +36 -0
- package/_dist/relayer/evm/errors/index.d.ts.map +1 -0
- package/_dist/relayer/evm/errors/index.js +62 -0
- package/_dist/relayer/evm/errors/index.js.map +1 -0
- package/_dist/relayer/evm/index.d.ts +3 -2
- package/_dist/relayer/evm/index.d.ts.map +1 -1
- package/_dist/relayer/evm/index.js +1 -0
- package/_dist/relayer/evm/index.js.map +1 -1
- package/_dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +6 -1
- package/CHANGELOG.md +0 -9
- package/account/actions/getFeeQuote.ts +0 -34
- package/account/actions/index.ts +0 -3
- package/account/actions/sendTransaction.ts +0 -61
- package/account/actions/sendTransactionSync.ts +0 -51
- package/account/adapters/gelato/abi.ts +0 -13
- package/account/adapters/gelato/constants.ts +0 -13
- package/account/adapters/gelato/index.ts +0 -216
- package/account/adapters/index.ts +0 -1
- package/account/adapters/types/index.ts +0 -36
- package/account/index.ts +0 -60
- package/account/utils/delegation.ts +0 -9
- package/account/utils/estimation.ts +0 -29
- package/account/utils/index.ts +0 -2
- package/bundler/actions/estimateUserOperationGas.ts +0 -63
- package/bundler/actions/getUserOperationGasPrice.ts +0 -25
- package/bundler/actions/getUserOperationQuote.ts +0 -83
- package/bundler/actions/index.ts +0 -6
- package/bundler/actions/prepareUserOperation.ts +0 -437
- package/bundler/actions/sendUserOperation.ts +0 -64
- package/bundler/actions/sendUserOperationSync.ts +0 -71
- package/bundler/index.ts +0 -98
- package/constants/index.ts +0 -2
- package/index.ts +0 -4
- package/relayer/evm/actions/getCapabilities.ts +0 -22
- package/relayer/evm/actions/getFeeData.ts +0 -36
- package/relayer/evm/actions/getFeeQuote.ts +0 -39
- package/relayer/evm/actions/getGelatoStatus.ts +0 -99
- package/relayer/evm/actions/getStatus.ts +0 -92
- package/relayer/evm/actions/index.ts +0 -9
- package/relayer/evm/actions/sendTransaction.ts +0 -33
- package/relayer/evm/actions/sendTransactionSync.ts +0 -30
- package/relayer/evm/actions/waitForGelatoStatus.ts +0 -28
- package/relayer/evm/actions/waitForStatus.ts +0 -24
- package/relayer/evm/index.ts +0 -77
- package/relayer/index.ts +0 -1
- package/tsconfig.build.json +0 -19
- package/tsconfig.json +0 -8
- package/types/error.ts +0 -38
- package/types/index.ts +0 -3
- package/types/payment.ts +0 -23
- package/types/schema.ts +0 -28
- package/utils/index.ts +0 -2
- package/utils/payment.ts +0 -20
- package/utils/serialize.ts +0 -91
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Gelato
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,417 @@
|
|
|
1
|
+
# @gelatocloud/gasless
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@gelatocloud/gasless)
|
|
4
|
+
|
|
5
|
+
### All-in-one solution for gasless transactions.
|
|
6
|
+
|
|
7
|
+
## Features
|
|
8
|
+
|
|
9
|
+
- **Three abstraction levels** - Choose the optimal integration model for your application::
|
|
10
|
+
- **Turbo Relayer**: The fastest, most efficient way to submit transactions on-chain with zero gas overhead, ideal for latency-sensitive workflows.
|
|
11
|
+
- **Turbo Relayer with Smart Account** - Leverage Smart Accounts for streamlined transaction encoding and signing while retaining Turbo-level performance.
|
|
12
|
+
- **ERC-4337 Bundler** - A fully compliant ERC-4337 bundler for native Account Abstraction flows.
|
|
13
|
+
- **Flexible payment models** - Support for sponsored transactions, ERC-20 token payments, or native currency.
|
|
14
|
+
- **2D nonce support** - Advanced nonce management using both `nonce` and `nonceKey` for parallelized execution.
|
|
15
|
+
- **Type-safe** - Implemented on top of [viem](https://viem.sh), offering complete TypeScript type safety and developer ergonomics.
|
|
16
|
+
- **Synchronous methods**: Send transaction and get the receipt in a single call
|
|
17
|
+
|
|
18
|
+
### Learn more in our [docs](https://docs.gelato.cloud)
|
|
19
|
+
|
|
20
|
+
## Installation
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
pnpm install viem @gelatocloud/gasless
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
**Peer dependencies:** `viem`
|
|
27
|
+
|
|
28
|
+
## Quick Start
|
|
29
|
+
|
|
30
|
+
1. Get your API key at [https://app.gelato.cloud/](https://app.gelato.cloud/)
|
|
31
|
+
2. Set your environment variable:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
export GELATO_API_KEY="your-api-key"
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Usage
|
|
38
|
+
|
|
39
|
+
### Turbo Relayer
|
|
40
|
+
|
|
41
|
+
Direct gasless transaction relay without smart accounts. Best for simple sponsored transactions.
|
|
42
|
+
|
|
43
|
+
**Synchronous:**
|
|
44
|
+
```typescript
|
|
45
|
+
import { createGelatoEvmRelayerClient, sponsored } from '@gelatocloud/gasless';
|
|
46
|
+
import { baseSepolia } from 'viem/chains';
|
|
47
|
+
|
|
48
|
+
const relayer = createGelatoEvmRelayerClient({
|
|
49
|
+
apiKey: process.env.GELATO_API_KEY,
|
|
50
|
+
testnet: true
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
// Send and wait for inclusion in one call
|
|
54
|
+
const receipt = await relayer.sendTransactionSync({
|
|
55
|
+
chainId: baseSepolia.id,
|
|
56
|
+
to: '0xTargetContract...',
|
|
57
|
+
data: '0xCalldata...',
|
|
58
|
+
payment: sponsored()
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
console.log(`Transaction hash: ${receipt.transactionHash}`);
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**Asynchronous:**
|
|
65
|
+
```typescript
|
|
66
|
+
import { createGelatoEvmRelayerClient, StatusCode, sponsored } from '@gelatocloud/gasless';
|
|
67
|
+
import { baseSepolia } from 'viem/chains';
|
|
68
|
+
|
|
69
|
+
const relayer = createGelatoEvmRelayerClient({
|
|
70
|
+
apiKey: process.env.GELATO_API_KEY,
|
|
71
|
+
testnet: true
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
// Send transaction (returns immediately with task ID)
|
|
75
|
+
const taskId = await relayer.sendTransaction({
|
|
76
|
+
chainId: baseSepolia.id,
|
|
77
|
+
to: '0xTargetContract...',
|
|
78
|
+
data: '0xCalldata...',
|
|
79
|
+
payment: sponsored()
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
// Poll for status separately
|
|
83
|
+
const status = await relayer.waitForStatus({ id: taskId });
|
|
84
|
+
|
|
85
|
+
if (status.status === StatusCode.Included) {
|
|
86
|
+
console.log(`Transaction hash: ${status.receipt.transactionHash}`);
|
|
87
|
+
}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Account (Gelato Smart Account)
|
|
91
|
+
|
|
92
|
+
Gelato's smart account implementation with ERC-7821 delegation pattern.
|
|
93
|
+
|
|
94
|
+
**Synchronous:**
|
|
95
|
+
```typescript
|
|
96
|
+
import {
|
|
97
|
+
createGelatoSmartAccountClient,
|
|
98
|
+
toGelatoSmartAccount,
|
|
99
|
+
sponsored
|
|
100
|
+
} from '@gelatocloud/gasless';
|
|
101
|
+
import { createPublicClient, http } from 'viem';
|
|
102
|
+
import { privateKeyToAccount } from 'viem/accounts';
|
|
103
|
+
import { baseSepolia } from 'viem/chains';
|
|
104
|
+
|
|
105
|
+
const owner = privateKeyToAccount('0xYourPrivateKey...');
|
|
106
|
+
|
|
107
|
+
const publicClient = createPublicClient({
|
|
108
|
+
chain: baseSepolia,
|
|
109
|
+
transport: http()
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
// Create a Gelato smart account
|
|
113
|
+
const account = toGelatoSmartAccount({ client: publicClient, owner });
|
|
114
|
+
|
|
115
|
+
// Create the smart account client
|
|
116
|
+
const client = await createGelatoSmartAccountClient({
|
|
117
|
+
account,
|
|
118
|
+
apiKey: process.env.GELATO_API_KEY
|
|
119
|
+
});
|
|
120
|
+
|
|
121
|
+
// Send and wait for inclusion in one call
|
|
122
|
+
const receipt = await client.sendTransactionSync({
|
|
123
|
+
calls: [
|
|
124
|
+
{ to: '0xContract1...', data: '0xCalldata1...' },
|
|
125
|
+
{ to: '0xContract2...', data: '0xCalldata2...' }
|
|
126
|
+
],
|
|
127
|
+
payment: sponsored()
|
|
128
|
+
// Optional: nonce or nonceKey for 2D nonce management
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
console.log(`Transaction hash: ${receipt.transactionHash}`);
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
**Asynchronous:**
|
|
135
|
+
```typescript
|
|
136
|
+
import {
|
|
137
|
+
createGelatoSmartAccountClient,
|
|
138
|
+
toGelatoSmartAccount,
|
|
139
|
+
StatusCode,
|
|
140
|
+
sponsored
|
|
141
|
+
} from '@gelatocloud/gasless';
|
|
142
|
+
|
|
143
|
+
// ... same setup as above ...
|
|
144
|
+
|
|
145
|
+
// Send transaction (returns immediately with task ID)
|
|
146
|
+
const taskId = await client.sendTransaction({
|
|
147
|
+
calls: [{ to: '0xContract...', data: '0xCalldata...' }],
|
|
148
|
+
payment: sponsored()
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
// Poll for status separately
|
|
152
|
+
const status = await client.waitForStatus({ id: taskId });
|
|
153
|
+
|
|
154
|
+
if (status.status === StatusCode.Included) {
|
|
155
|
+
console.log(`Transaction hash: ${status.receipt.transactionHash}`);
|
|
156
|
+
}
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
**Fee Quote (Optional):** Pre-fetch a quote to avoid duplicate requests:
|
|
160
|
+
|
|
161
|
+
```typescript
|
|
162
|
+
const quote = await client.getFeeQuote({
|
|
163
|
+
calls: [{ to: '0x...', data: '0x...' }],
|
|
164
|
+
payment: token('0xTokenAddress...')
|
|
165
|
+
});
|
|
166
|
+
|
|
167
|
+
const hash = await client.sendTransaction({
|
|
168
|
+
calls: [{ to: '0x...', data: '0x...' }],
|
|
169
|
+
payment: token('0xTokenAddress...'),
|
|
170
|
+
quote // Pass the pre-fetched quote
|
|
171
|
+
});
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### Bundler (ERC-4337)
|
|
175
|
+
|
|
176
|
+
Compatible with any ERC-4337 smart account.
|
|
177
|
+
|
|
178
|
+
```typescript
|
|
179
|
+
import { createGelatoBundlerClient, sponsored } from '@gelatocloud/gasless';
|
|
180
|
+
import { to7702SimpleSmartAccount } from 'permissionless/accounts';
|
|
181
|
+
import { createPublicClient, http } from 'viem';
|
|
182
|
+
import { privateKeyToAccount } from 'viem/accounts';
|
|
183
|
+
import { baseSepolia } from 'viem/chains';
|
|
184
|
+
|
|
185
|
+
const owner = privateKeyToAccount('0xYourPrivateKey...');
|
|
186
|
+
|
|
187
|
+
const client = createPublicClient({
|
|
188
|
+
chain: baseSepolia,
|
|
189
|
+
transport: http()
|
|
190
|
+
});
|
|
191
|
+
|
|
192
|
+
// Create a smart account
|
|
193
|
+
const account = await to7702SimpleSmartAccount({
|
|
194
|
+
client,
|
|
195
|
+
owner
|
|
196
|
+
});
|
|
197
|
+
|
|
198
|
+
// Create the Gelato bundler client
|
|
199
|
+
const bundler = await createGelatoBundlerClient({
|
|
200
|
+
account,
|
|
201
|
+
client,
|
|
202
|
+
apiKey: process.env.GELATO_API_KEY,
|
|
203
|
+
payment: sponsored()
|
|
204
|
+
});
|
|
205
|
+
|
|
206
|
+
// Send a user operation
|
|
207
|
+
const hash = await bundler.sendUserOperation({
|
|
208
|
+
calls: [{ to: '0x...', data: '0x...' }]
|
|
209
|
+
});
|
|
210
|
+
|
|
211
|
+
// Wait for the receipt
|
|
212
|
+
const { receipt } = await bundler.waitForUserOperationReceipt({ hash });
|
|
213
|
+
|
|
214
|
+
console.log(`Transaction hash: ${receipt.transactionHash}`);
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
## Payment Options
|
|
218
|
+
|
|
219
|
+
```typescript
|
|
220
|
+
import { sponsored, token, native } from '@gelatocloud/gasless';
|
|
221
|
+
|
|
222
|
+
// Gelato pays gas (gasless for user)
|
|
223
|
+
payment: sponsored()
|
|
224
|
+
|
|
225
|
+
// Pay with an ERC-20 token
|
|
226
|
+
payment: token('0xTokenAddress...')
|
|
227
|
+
|
|
228
|
+
// Pay with native currency (ETH, MATIC, etc.)
|
|
229
|
+
payment: native()
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
## API Reference
|
|
233
|
+
|
|
234
|
+
### Relayer API
|
|
235
|
+
|
|
236
|
+
#### `createGelatoEvmRelayerClient(config)`
|
|
237
|
+
|
|
238
|
+
Creates a low-level relayer client for direct transaction submission.
|
|
239
|
+
|
|
240
|
+
```typescript
|
|
241
|
+
const client = createGelatoEvmRelayerClient({
|
|
242
|
+
apiKey: string, // Your Gelato API key
|
|
243
|
+
testnet: boolean // true for testnets, false for mainnet
|
|
244
|
+
});
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
**Methods:**
|
|
248
|
+
|
|
249
|
+
| Method | Parameters | Returns | Description |
|
|
250
|
+
|--------|------------|---------|-------------|
|
|
251
|
+
| `sendTransaction` | `{ chainId, to, data, payment, authorizationList?, context? }` | `Promise<Hex>` | Submit a transaction |
|
|
252
|
+
| `sendTransactionSync` | `{ chainId, to, data, payment, ... }` | `Promise<TransactionReceipt>` | Send and wait for receipt |
|
|
253
|
+
| `getStatus` | `{ id: string }` | `Promise<Status>` | Get transaction status |
|
|
254
|
+
| `waitForStatus` | `{ id: string }` | `Promise<TerminalStatus>` | Wait for final status |
|
|
255
|
+
| `waitForInclusion` | `{ id: string }` | `Promise<TransactionReceipt>` | Wait for receipt, throws on failure |
|
|
256
|
+
| `getCapabilities` | - | `Promise<Capabilities>` | Get supported chains |
|
|
257
|
+
| `getFeeData` | `{ chainId, gas, l1Fee? }` | `Promise<FeeData>` | Get network fee data |
|
|
258
|
+
| `getFeeQuote` | `{ chainId, gas, token, l1Fee? }` | `Promise<FeeQuote>` | Get fee quote for token payment |
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
### Account API
|
|
263
|
+
|
|
264
|
+
#### `toGelatoSmartAccount(params)`
|
|
265
|
+
|
|
266
|
+
Creates a Gelato smart account using ERC-7821 delegation.
|
|
267
|
+
|
|
268
|
+
```typescript
|
|
269
|
+
const account = toGelatoSmartAccount({
|
|
270
|
+
client: Client, // viem public client
|
|
271
|
+
owner: Account // EOA that owns the smart account
|
|
272
|
+
});
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
#### `createGelatoSmartAccountClient(config)`
|
|
276
|
+
|
|
277
|
+
Creates a client for interacting with a Gelato smart account.
|
|
278
|
+
|
|
279
|
+
```typescript
|
|
280
|
+
const client = await createGelatoSmartAccountClient({
|
|
281
|
+
apiKey: string, // Your Gelato API key
|
|
282
|
+
account: SmartAccount // From toGelatoSmartAccount()
|
|
283
|
+
});
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
**Methods:**
|
|
287
|
+
|
|
288
|
+
| Method | Parameters | Returns | Description |
|
|
289
|
+
|--------|------------|---------|-------------|
|
|
290
|
+
| `sendTransaction` | `{ calls, payment, nonce?, nonceKey?, quote? }` | `Promise<Hex>` | Send transaction(s) |
|
|
291
|
+
| `sendTransactionSync` | `{ calls, payment, nonce?, nonceKey?, ... }` | `Promise<TransactionReceipt>` | Send and wait for receipt |
|
|
292
|
+
| `getFeeQuote` | `{ calls, payment }` | `Promise<FeeQuote>` | Get fee quote |
|
|
293
|
+
| `getStatus` | `{ id: string }` | `Promise<Status>` | Get transaction status |
|
|
294
|
+
| `waitForStatus` | `{ id: string }` | `Promise<TerminalStatus>` | Wait for final status |
|
|
295
|
+
| `waitForInclusion` | `{ id: string }` | `Promise<TransactionReceipt>` | Wait for receipt, throws on failure |
|
|
296
|
+
| `getCapabilities` | - | `Promise<Capabilities>` | Get supported chains |
|
|
297
|
+
|
|
298
|
+
**Nonce Options:**
|
|
299
|
+
- `nonce`: Explicit nonce value
|
|
300
|
+
- `nonceKey`: Key for 2D nonce (allows parallel transactions)
|
|
301
|
+
|
|
302
|
+
---
|
|
303
|
+
|
|
304
|
+
### Bundler API
|
|
305
|
+
|
|
306
|
+
#### `createGelatoBundlerClient(config)`
|
|
307
|
+
|
|
308
|
+
Creates an ERC-4337 bundler client. Extends viem's `BundlerClient`.
|
|
309
|
+
|
|
310
|
+
```typescript
|
|
311
|
+
const bundler = await createGelatoBundlerClient({
|
|
312
|
+
account: SmartAccount, // Any ERC-4337 smart account
|
|
313
|
+
client: Client, // viem public client
|
|
314
|
+
apiKey: string, // Your Gelato API key
|
|
315
|
+
payment?: Payment, // Default payment method
|
|
316
|
+
pollingInterval?: number // Polling interval in ms
|
|
317
|
+
});
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
**Methods:**
|
|
321
|
+
|
|
322
|
+
| Method | Parameters | Returns | Description |
|
|
323
|
+
|--------|------------|---------|-------------|
|
|
324
|
+
| `sendUserOperation` | `{ calls }` | `Promise<Hex>` | Send a user operation |
|
|
325
|
+
| `sendUserOperationSync` | `{ calls, timeout }` | `Promise<UserOperationReceipt>` | Send and wait for receipt |
|
|
326
|
+
| `waitForUserOperationReceipt` | `{ hash }` | `Promise<{ receipt }>` | Wait for receipt |
|
|
327
|
+
| `estimateUserOperationGas` | `UserOperationParams` | `Promise<GasEstimate>` | Estimate gas |
|
|
328
|
+
| `prepareUserOperation` | `UserOperationParams` | `Promise<UserOperation>` | Prepare operation |
|
|
329
|
+
| `getUserOperationGasPrice` | - | `Promise<GasPrice>` | Get current gas prices |
|
|
330
|
+
| `getUserOperationQuote` | `UserOperationParams` | `Promise<Quote>` | Get fee quote |
|
|
331
|
+
|
|
332
|
+
---
|
|
333
|
+
|
|
334
|
+
### Types
|
|
335
|
+
|
|
336
|
+
#### StatusCode
|
|
337
|
+
|
|
338
|
+
```typescript
|
|
339
|
+
enum StatusCode {
|
|
340
|
+
Pending = 100, // Transaction pending
|
|
341
|
+
Submitted = 110, // Submitted to network
|
|
342
|
+
Included = 200, // Successfully included
|
|
343
|
+
Rejected = 400, // Rejected by relayer
|
|
344
|
+
Reverted = 500 // Reverted on-chain
|
|
345
|
+
}
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
#### PaymentType
|
|
349
|
+
|
|
350
|
+
```typescript
|
|
351
|
+
enum PaymentType {
|
|
352
|
+
Token = 'token', // Pay with ERC-20 or native
|
|
353
|
+
Sponsored = 'sponsored' // Gelato pays (gasless)
|
|
354
|
+
}
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
#### Call
|
|
358
|
+
|
|
359
|
+
```typescript
|
|
360
|
+
type Call = {
|
|
361
|
+
to: Address; // Target contract address
|
|
362
|
+
data?: Hex; // Calldata (optional)
|
|
363
|
+
value?: bigint; // ETH value (optional)
|
|
364
|
+
};
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
## Status Handling
|
|
368
|
+
|
|
369
|
+
```typescript
|
|
370
|
+
import { StatusCode } from '@gelatocloud/gasless';
|
|
371
|
+
|
|
372
|
+
const status = await client.waitForStatus({ id: hash });
|
|
373
|
+
|
|
374
|
+
switch (status.status) {
|
|
375
|
+
case StatusCode.Included:
|
|
376
|
+
console.log('Success:', status.receipt.transactionHash);
|
|
377
|
+
break;
|
|
378
|
+
case StatusCode.Rejected:
|
|
379
|
+
console.log('Rejected:', status.message);
|
|
380
|
+
break;
|
|
381
|
+
case StatusCode.Reverted:
|
|
382
|
+
console.log('Reverted:', status.data);
|
|
383
|
+
break;
|
|
384
|
+
}
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
## Requirements
|
|
388
|
+
|
|
389
|
+
- Node.js >= 23
|
|
390
|
+
- Peer dependencies: `viem`, `zod`
|
|
391
|
+
- Optional: `typescript`
|
|
392
|
+
|
|
393
|
+
## Examples
|
|
394
|
+
|
|
395
|
+
See the [`/examples`](./examples) directory for complete working examples:
|
|
396
|
+
|
|
397
|
+
- [`examples/relayer/sponsored`](./examples/relayer/sponsored) - Direct relayer usage
|
|
398
|
+
- [`examples/account/sponsored`](./examples/account/sponsored) - Gelato smart account
|
|
399
|
+
- [`examples/bundler/sponsored`](./examples/bundler/sponsored) - ERC-4337 bundler
|
|
400
|
+
|
|
401
|
+
Run an example:
|
|
402
|
+
|
|
403
|
+
```bash
|
|
404
|
+
cd examples/account/sponsored
|
|
405
|
+
npm install
|
|
406
|
+
GELATO_API_KEY=your-key npm run dev
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
## Links
|
|
410
|
+
|
|
411
|
+
- [GitHub Repository](https://github.com/gelatodigital/gasless)
|
|
412
|
+
- [Gelato Cloud](https://app.gelato.cloud/)
|
|
413
|
+
- [Gelato Documentation](https://docs.gelato.network/)
|
|
414
|
+
|
|
415
|
+
## License
|
|
416
|
+
|
|
417
|
+
MIT
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { SmartAccount } from 'viem/account-abstraction';
|
|
2
|
-
import type { CapabilitiesByChain, GelatoEvmRelayerClient,
|
|
2
|
+
import type { CapabilitiesByChain, GelatoEvmRelayerClient, TransactionReceipt } from '../../relayer/index.js';
|
|
3
3
|
import type { GelatoSmartAccountImplementation } from '../adapters/types/index.js';
|
|
4
4
|
import type { SendTransactionParameters } from './sendTransaction.js';
|
|
5
5
|
export type SendTransactionSyncParameters = SendTransactionParameters & {
|
|
6
6
|
timeout?: number;
|
|
7
7
|
};
|
|
8
|
-
export declare const sendTransactionSync: (client: GelatoEvmRelayerClient, account: SmartAccount<GelatoSmartAccountImplementation>, capabilities: CapabilitiesByChain, parameters: SendTransactionSyncParameters) => Promise<
|
|
8
|
+
export declare const sendTransactionSync: (client: GelatoEvmRelayerClient, account: SmartAccount<GelatoSmartAccountImplementation>, capabilities: CapabilitiesByChain, parameters: SendTransactionSyncParameters) => Promise<TransactionReceipt>;
|
|
9
9
|
//# sourceMappingURL=sendTransactionSync.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sendTransactionSync.d.ts","sourceRoot":"","sources":["../../../account/actions/sendTransactionSync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EACV,mBAAmB,EACnB,sBAAsB,EACtB,
|
|
1
|
+
{"version":3,"file":"sendTransactionSync.d.ts","sourceRoot":"","sources":["../../../account/actions/sendTransactionSync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EACV,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAC;AAEnF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,MAAM,MAAM,6BAA6B,GAAG,yBAAyB,GAAG;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,sBAAsB,EAC9B,SAAS,YAAY,CAAC,gCAAgC,CAAC,EACvD,cAAc,mBAAmB,EACjC,YAAY,6BAA6B,KACxC,OAAO,CAAC,kBAAkB,CA6B5B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sendTransactionSync.js","sourceRoot":"","sources":["../../../account/actions/sendTransactionSync.ts"],"names":[],"mappings":";;;AAMA,mDAAmD;AACnD,mDAAqD;AAErD,qDAA+C;AAOxC,MAAM,mBAAmB,GAAG,KAAK,EACtC,MAA8B,EAC9B,OAAuD,EACvD,YAAiC,EACjC,UAAyC,
|
|
1
|
+
{"version":3,"file":"sendTransactionSync.js","sourceRoot":"","sources":["../../../account/actions/sendTransactionSync.ts"],"names":[],"mappings":";;;AAMA,mDAAmD;AACnD,mDAAqD;AAErD,qDAA+C;AAOxC,MAAM,mBAAmB,GAAG,KAAK,EACtC,MAA8B,EAC9B,OAAuD,EACvD,YAAiC,EACjC,UAAyC,EACZ,EAAE;IAC/B,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;IAExC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACjD,OAAO,CAAC,IAAI,KAAK,sBAAW,CAAC,KAAK;YAChC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,MAAM,IAAA,4BAAW,EAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;YACtF,CAAC,CAAC,SAAS;QACb,UAAU,CAAC,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;QAClE,OAAO,CAAC,UAAU,EAAE;KACrB,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,KAAK;QACjB,CAAC,CAAC,IAAA,wBAAa,EAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC;QAC5F,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;IAErB,MAAM,CAAC,IAAI,EAAE,iBAAiB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAClD,OAAO,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QACxC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;KACpE,CAAC,CAAC;IAEH,OAAO,MAAM,MAAM,CAAC,mBAAmB,CAAC;QACtC,iBAAiB;QACjB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE;QACzB,OAAO,EAAE,KAAK,EAAE,OAAO;QACvB,IAAI;QACJ,OAAO;QACP,OAAO;QACP,EAAE,EAAE,OAAO,CAAC,OAAO;KACpB,CAAC,CAAC;AACL,CAAC,CAAC;AAlCW,QAAA,mBAAmB,uBAkC9B"}
|
package/_dist/account/index.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { Hex } from 'viem';
|
|
2
2
|
import type { SmartAccount } from 'viem/account-abstraction';
|
|
3
|
-
import { type FeeQuote, type GelatoEvmRelayerClient, type
|
|
3
|
+
import { type FeeQuote, type GelatoEvmRelayerClient, type TransactionReceipt } from '../relayer/index.js';
|
|
4
4
|
import { type GetFeeQuoteParameters, type SendTransactionParameters, type SendTransactionSyncParameters } from './actions/index.js';
|
|
5
5
|
import type { GelatoSmartAccountImplementation } from './adapters/types/index.js';
|
|
6
6
|
export * from './adapters/index.js';
|
|
7
|
-
export type GelatoSmartAccountClient = Pick<GelatoEvmRelayerClient, 'getCapabilities' | 'getStatus' | 'waitForStatus'> & {
|
|
7
|
+
export type GelatoSmartAccountClient = Pick<GelatoEvmRelayerClient, 'getCapabilities' | 'getStatus' | 'waitForInclusion' | 'waitForStatus'> & {
|
|
8
8
|
sendTransaction: (parameters: SendTransactionParameters) => Promise<Hex>;
|
|
9
|
-
sendTransactionSync: (parameters: SendTransactionSyncParameters) => Promise<
|
|
9
|
+
sendTransactionSync: (parameters: SendTransactionSyncParameters) => Promise<TransactionReceipt>;
|
|
10
10
|
getFeeQuote: (parameters: GetFeeQuoteParameters) => Promise<FeeQuote>;
|
|
11
11
|
};
|
|
12
12
|
export type GelatoSmartAccountClientConfig = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../account/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,sBAAsB,EAC3B,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../account/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,qBAAqB,EAE1B,KAAK,yBAAyB,EAC9B,KAAK,6BAA6B,EAGnC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAC;AAElF,cAAc,qBAAqB,CAAC;AAEpC,MAAM,MAAM,wBAAwB,GAAG,IAAI,CACzC,sBAAsB,EACtB,iBAAiB,GAAG,WAAW,GAAG,kBAAkB,GAAG,eAAe,CACvE,GAAG;IACF,eAAe,EAAE,CAAC,UAAU,EAAE,yBAAyB,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACzE,mBAAmB,EAAE,CAAC,UAAU,EAAE,6BAA6B,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAChG,WAAW,EAAE,CAAC,UAAU,EAAE,qBAAqB,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;CACvE,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,YAAY,CAAC,gCAAgC,CAAC,CAAC;CACzD,CAAC;AAEF,eAAO,MAAM,8BAA8B,GACzC,YAAY,8BAA8B,KACzC,OAAO,CAAC,wBAAwB,CAwBlC,CAAC"}
|
package/_dist/account/index.js
CHANGED
|
@@ -34,6 +34,7 @@ const createGelatoSmartAccountClient = async (parameters) => {
|
|
|
34
34
|
getStatus: (parameters) => client.getStatus(parameters),
|
|
35
35
|
sendTransaction: (parameters) => (0, index_js_2.sendTransaction)(client, account, capabilities, parameters),
|
|
36
36
|
sendTransactionSync: (parameters) => (0, index_js_2.sendTransactionSync)(client, account, capabilities, parameters),
|
|
37
|
+
waitForInclusion: (parameters) => client.waitForInclusion(parameters),
|
|
37
38
|
waitForStatus: (parameters) => client.waitForStatus(parameters)
|
|
38
39
|
};
|
|
39
40
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../account/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA,kDAK6B;AAC7B,iDAO4B;AAG5B,sDAAoC;AAgB7B,MAAM,8BAA8B,GAAG,KAAK,EACjD,UAA0C,EACP,EAAE;IACrC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IAEvC,MAAM,MAAM,GAAG,IAAA,uCAA4B,EAAC;QAC1C,MAAM;QACN,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK;KACxC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,CAAC,MAAM,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAExE,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO;QACL,eAAe,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,EAAE;QAC/C,WAAW,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAA,sBAAW,EAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC;QACnF,SAAS,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC;QACvD,eAAe,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAA,0BAAe,EAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC;QAC3F,mBAAmB,EAAE,CAAC,UAAU,EAAE,EAAE,CAClC,IAAA,8BAAmB,EAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC;QAChE,aAAa,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC;KAChE,CAAC;AACJ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../account/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA,kDAK6B;AAC7B,iDAO4B;AAG5B,sDAAoC;AAgB7B,MAAM,8BAA8B,GAAG,KAAK,EACjD,UAA0C,EACP,EAAE;IACrC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IAEvC,MAAM,MAAM,GAAG,IAAA,uCAA4B,EAAC;QAC1C,MAAM;QACN,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK;KACxC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,CAAC,MAAM,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAExE,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO;QACL,eAAe,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,EAAE;QAC/C,WAAW,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAA,sBAAW,EAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC;QACnF,SAAS,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC;QACvD,eAAe,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAA,0BAAe,EAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC;QAC3F,mBAAmB,EAAE,CAAC,UAAU,EAAE,EAAE,CAClC,IAAA,8BAAmB,EAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC;QAChE,gBAAgB,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC;QACrE,aAAa,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC;KAChE,CAAC;AACJ,CAAC,CAAC;AA1BW,QAAA,8BAA8B,kCA0BzC"}
|
|
@@ -34,6 +34,17 @@ export declare const gelatoTerminalStatusSchema: z.ZodDiscriminatedUnion<[z.ZodO
|
|
|
34
34
|
createdAt: z.ZodNumber;
|
|
35
35
|
data: z.ZodString;
|
|
36
36
|
message: z.ZodOptional<z.ZodString>;
|
|
37
|
+
receipt: z.ZodObject<{
|
|
38
|
+
blockHash: z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>;
|
|
39
|
+
blockNumber: z.ZodCoercedBigInt<unknown>;
|
|
40
|
+
gasUsed: z.ZodCoercedBigInt<unknown>;
|
|
41
|
+
logs: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
42
|
+
address: z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>;
|
|
43
|
+
data: z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>;
|
|
44
|
+
topics: z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>>;
|
|
45
|
+
}, z.core.$strip>>>;
|
|
46
|
+
transactionHash: z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>;
|
|
47
|
+
}, z.core.$strip>;
|
|
37
48
|
status: z.ZodLiteral<GelatoStatusCode.Reverted>;
|
|
38
49
|
}, z.core.$strip>], "status">;
|
|
39
50
|
export declare const gelatoStatusSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
@@ -86,6 +97,17 @@ export declare const gelatoStatusSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
86
97
|
createdAt: z.ZodNumber;
|
|
87
98
|
data: z.ZodString;
|
|
88
99
|
message: z.ZodOptional<z.ZodString>;
|
|
100
|
+
receipt: z.ZodObject<{
|
|
101
|
+
blockHash: z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>;
|
|
102
|
+
blockNumber: z.ZodCoercedBigInt<unknown>;
|
|
103
|
+
gasUsed: z.ZodCoercedBigInt<unknown>;
|
|
104
|
+
logs: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
105
|
+
address: z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>;
|
|
106
|
+
data: z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>;
|
|
107
|
+
topics: z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>>;
|
|
108
|
+
}, z.core.$strip>>>;
|
|
109
|
+
transactionHash: z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>;
|
|
110
|
+
}, z.core.$strip>;
|
|
89
111
|
status: z.ZodLiteral<GelatoStatusCode.Reverted>;
|
|
90
112
|
}, z.core.$strip>], "status">;
|
|
91
113
|
export type GelatoTerminalStatus = z.infer<typeof gelatoTerminalStatusSchema>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getGelatoStatus.d.ts","sourceRoot":"","sources":["../../../../relayer/evm/actions/getGelatoStatus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,oBAAY,gBAAgB;IAC1B,OAAO,MAAM;IACb,SAAS,MAAM;IACf,QAAQ,MAAM;IACd,SAAS,MAAM;IACf,QAAQ,MAAM;IACd,QAAQ,MAAM;CACf;
|
|
1
|
+
{"version":3,"file":"getGelatoStatus.d.ts","sourceRoot":"","sources":["../../../../relayer/evm/actions/getGelatoStatus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,oBAAY,gBAAgB;IAC1B,OAAO,MAAM;IACb,SAAS,MAAM;IACf,QAAQ,MAAM;IACd,SAAS,MAAM;IACf,QAAQ,MAAM;IACd,QAAQ,MAAM;CACf;AAqDD,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAIrC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAO7B,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,MAAM,MAAM,yBAAyB,GAAG;IACtC,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,QAAQ,UAAU,CAAC,SAAS,CAAC,EAC7B,YAAY,yBAAyB,KACpC,OAAO,CAAC,YAAY,CAStB,CAAC"}
|
|
@@ -51,6 +51,7 @@ const rejectedStatusSchema = baseStatusSchema.extend({
|
|
|
51
51
|
const revertedStatusSchema = baseStatusSchema.extend({
|
|
52
52
|
data: zod_1.z.string(),
|
|
53
53
|
message: zod_1.z.string().optional(),
|
|
54
|
+
receipt: receiptSchema,
|
|
54
55
|
status: zod_1.z.literal(GelatoStatusCode.Reverted)
|
|
55
56
|
});
|
|
56
57
|
exports.gelatoTerminalStatusSchema = zod_1.z.discriminatedUnion('status', [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getGelatoStatus.js","sourceRoot":"","sources":["../../../../relayer/evm/actions/getGelatoStatus.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getGelatoStatus.js","sourceRoot":"","sources":["../../../../relayer/evm/actions/getGelatoStatus.ts"],"names":[],"mappings":"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"}
|