@lifi/composer-sdk 0.0.1-alpha → 0.1.0
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/README.md +37 -1
- package/dist/authoring/handles.cjs.map +1 -1
- package/dist/authoring/handles.d.cts +13 -6
- package/dist/authoring/handles.d.ts +13 -6
- package/dist/authoring/handles.js.map +1 -1
- package/dist/authoring/signatureArgs.cjs +2 -2
- package/dist/authoring/signatureArgs.cjs.map +1 -1
- package/dist/authoring/signatureArgs.js +2 -2
- package/dist/authoring/signatureArgs.js.map +1 -1
- package/dist/client.cjs +2 -2
- package/dist/client.cjs.map +1 -1
- package/dist/client.js +2 -2
- package/dist/client.js.map +1 -1
- package/dist/generated/config.generated.cjs.map +1 -1
- package/dist/generated/config.generated.d.cts +327 -16
- package/dist/generated/config.generated.d.ts +327 -16
- package/dist/generated/guards.generated.cjs +6 -0
- package/dist/generated/guards.generated.cjs.map +1 -1
- package/dist/generated/guards.generated.d.cts +1 -1
- package/dist/generated/guards.generated.d.ts +1 -1
- package/dist/generated/guards.generated.js +5 -0
- package/dist/generated/guards.generated.js.map +1 -1
- package/dist/generated/materialisers.generated.cjs.map +1 -1
- package/dist/generated/materialisers.generated.d.cts +1 -1
- package/dist/generated/materialisers.generated.d.ts +1 -1
- package/dist/generated/materialisers.generated.js.map +1 -1
- package/dist/generated/operations.generated.cjs +103 -14
- package/dist/generated/operations.generated.cjs.map +1 -1
- package/dist/generated/operations.generated.d.cts +255 -10
- package/dist/generated/operations.generated.d.ts +255 -10
- package/dist/generated/operations.generated.js +103 -14
- package/dist/generated/operations.generated.js.map +1 -1
- package/dist/guards.generated-BPLFwe7y.d.ts +19 -0
- package/dist/guards.generated-M3VAIevI.d.cts +19 -0
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/materialisers.generated-BMkBQgWZ.d.ts +24 -0
- package/dist/materialisers.generated-BWq5oePO.d.cts +24 -0
- package/dist/run/inputs.cjs +8 -5
- package/dist/run/inputs.cjs.map +1 -1
- package/dist/run/inputs.d.cts +8 -0
- package/dist/run/inputs.d.ts +8 -0
- package/dist/run/inputs.js +8 -5
- package/dist/run/inputs.js.map +1 -1
- package/dist/sdk.cjs +1 -0
- package/dist/sdk.cjs.map +1 -1
- package/dist/sdk.js +1 -0
- package/dist/sdk.js.map +1 -1
- package/package.json +16 -7
- package/src/authoring/handles.ts +19 -10
- package/src/authoring/signatureArgs.ts +2 -2
- package/src/client.ts +1 -1
- package/src/examples/aaveClaimRewards.ts +80 -0
- package/src/examples/aaveRepay.ts +69 -0
- package/src/examples/aaveRepayWithATokens.ts +81 -0
- package/src/examples/aaveSetEMode.ts +68 -0
- package/src/examples/emitCustomEvent.ts +75 -0
- package/src/examples/invariantChecks.ts +95 -0
- package/src/examples/run.ts +41 -4
- package/src/examples/swapToRecipient.ts +0 -19
- package/src/examples/swapWithFee.ts +59 -0
- package/src/generated/config.generated.ts +388 -16
- package/src/generated/guards.generated.ts +12 -1
- package/src/generated/materialisers.generated.ts +12 -12
- package/src/generated/operations.generated.ts +438 -9
- package/src/run/inputs.ts +16 -5
- package/src/sdk.ts +1 -0
- package/dist/guards.generated-DKKDKREA.d.ts +0 -14
- package/dist/guards.generated-hrQ1KPNv.d.cts +0 -14
- package/dist/materialisers.generated-BsA1uDW8.d.ts +0 -24
- package/dist/materialisers.generated-nMxTAaVi.d.cts +0 -24
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IntegerStringInput, Address } from '../types.cjs';
|
|
2
2
|
import '@lifi/compose-spec';
|
|
3
3
|
|
|
4
4
|
interface CoreSplitConfig {
|
|
@@ -8,6 +8,16 @@ interface CoreSplitConfig {
|
|
|
8
8
|
* a positive number
|
|
9
9
|
*/
|
|
10
10
|
type Positive = number;
|
|
11
|
+
/**
|
|
12
|
+
* a string at most 64 character(s) long
|
|
13
|
+
*/
|
|
14
|
+
type MaxLength64 = string;
|
|
15
|
+
/**
|
|
16
|
+
* an array of at most 50 item(s)
|
|
17
|
+
*
|
|
18
|
+
* @maxItems 50
|
|
19
|
+
*/
|
|
20
|
+
type MaxItems50 = MaxLength64[];
|
|
11
21
|
interface LifiSwapConfig {
|
|
12
22
|
resourceOut: {
|
|
13
23
|
kind: 'native';
|
|
@@ -32,17 +42,20 @@ interface LifiSwapConfig {
|
|
|
32
42
|
reduceEveryMs: number;
|
|
33
43
|
}[];
|
|
34
44
|
};
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
chainId: Positive;
|
|
40
|
-
} | {
|
|
41
|
-
kind: 'erc20';
|
|
42
|
-
token: Address;
|
|
43
|
-
chainId: Positive;
|
|
45
|
+
exchanges?: {
|
|
46
|
+
allow?: MaxItems50;
|
|
47
|
+
deny?: MaxItems50;
|
|
48
|
+
prefer?: MaxItems50;
|
|
44
49
|
};
|
|
45
50
|
}
|
|
51
|
+
interface InvariantNumericConfig {
|
|
52
|
+
op: 'gte' | 'gt' | 'lte' | 'lt' | 'eq' | 'neq';
|
|
53
|
+
threshold: IntegerStringInput;
|
|
54
|
+
}
|
|
55
|
+
interface InvariantNumericInRangeConfig {
|
|
56
|
+
min: IntegerStringInput;
|
|
57
|
+
max: IntegerStringInput;
|
|
58
|
+
}
|
|
46
59
|
interface CoreBpsDownConfig {
|
|
47
60
|
bps: number;
|
|
48
61
|
}
|
|
@@ -59,6 +72,18 @@ interface CoreBalanceOfConfig {
|
|
|
59
72
|
interface CoreTransferConfig {
|
|
60
73
|
amount?: IntegerStringInput;
|
|
61
74
|
}
|
|
75
|
+
interface CoreEmitEvent1Config {
|
|
76
|
+
signature: string;
|
|
77
|
+
}
|
|
78
|
+
interface CoreEmitEvent2Config {
|
|
79
|
+
signature: string;
|
|
80
|
+
}
|
|
81
|
+
interface CoreEmitEvent3Config {
|
|
82
|
+
signature: string;
|
|
83
|
+
}
|
|
84
|
+
interface CoreEmitEvent4Config {
|
|
85
|
+
signature: string;
|
|
86
|
+
}
|
|
62
87
|
interface CoreCallConfig {
|
|
63
88
|
target: Address;
|
|
64
89
|
functionSignature: string;
|
|
@@ -98,19 +123,298 @@ interface CoreAsResourceConfig {
|
|
|
98
123
|
chainId: Positive;
|
|
99
124
|
};
|
|
100
125
|
}
|
|
101
|
-
interface
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
126
|
+
interface AaveBorrowConfig {
|
|
127
|
+
pool: string;
|
|
128
|
+
asset: string;
|
|
129
|
+
variableDebtToken: string;
|
|
130
|
+
amount: IntegerStringInput;
|
|
131
|
+
referralId?: number;
|
|
132
|
+
}
|
|
133
|
+
type AaveRepayConfig = {
|
|
134
|
+
pool: string;
|
|
135
|
+
mode: 'exact';
|
|
136
|
+
} | {
|
|
137
|
+
pool: string;
|
|
138
|
+
mode: 'max';
|
|
139
|
+
};
|
|
140
|
+
interface AaveRepayWithATokensConfig {
|
|
141
|
+
pool: string;
|
|
142
|
+
asset: string;
|
|
143
|
+
}
|
|
144
|
+
interface AaveClaimRewardsConfig {
|
|
145
|
+
rewardsController: string;
|
|
146
|
+
assets: string[];
|
|
147
|
+
reward: string;
|
|
148
|
+
amount?: IntegerStringInput;
|
|
149
|
+
to?: string;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* a number between 0 and 255
|
|
153
|
+
*/
|
|
154
|
+
type Between0255 = number;
|
|
155
|
+
interface AaveSetEModeConfig {
|
|
156
|
+
pool: string;
|
|
157
|
+
category: Between0255;
|
|
158
|
+
}
|
|
159
|
+
interface AaveGetHealthFactorConfig {
|
|
160
|
+
pool: string;
|
|
161
|
+
user?: string;
|
|
162
|
+
}
|
|
163
|
+
type MorphoBlueSupplyCollateralConfig = ({
|
|
164
|
+
morpho?: string;
|
|
165
|
+
onBehalfOf?: string;
|
|
166
|
+
mode: 'exact';
|
|
167
|
+
/**
|
|
168
|
+
* a string matching the pattern ^0x[0-9a-fA-F]{64}$
|
|
169
|
+
*/
|
|
170
|
+
marketId: string;
|
|
171
|
+
} | {
|
|
172
|
+
morpho?: string;
|
|
173
|
+
onBehalfOf?: string;
|
|
174
|
+
mode: 'exact';
|
|
175
|
+
marketParams: {
|
|
176
|
+
loanToken: string;
|
|
177
|
+
collateralToken: string;
|
|
178
|
+
oracle: string;
|
|
179
|
+
irm: string;
|
|
180
|
+
lltv: string;
|
|
181
|
+
};
|
|
182
|
+
}) | ({
|
|
183
|
+
morpho?: string;
|
|
184
|
+
onBehalfOf?: string;
|
|
185
|
+
mode: 'all';
|
|
186
|
+
/**
|
|
187
|
+
* a string matching the pattern ^0x[0-9a-fA-F]{64}$
|
|
188
|
+
*/
|
|
189
|
+
marketId: string;
|
|
190
|
+
} | {
|
|
191
|
+
morpho?: string;
|
|
192
|
+
onBehalfOf?: string;
|
|
193
|
+
mode: 'all';
|
|
194
|
+
marketParams: {
|
|
195
|
+
loanToken: string;
|
|
196
|
+
collateralToken: string;
|
|
197
|
+
oracle: string;
|
|
198
|
+
irm: string;
|
|
199
|
+
lltv: string;
|
|
200
|
+
};
|
|
201
|
+
});
|
|
202
|
+
type MorphoBlueWithdrawCollateralConfig = {
|
|
203
|
+
morpho?: string;
|
|
204
|
+
amount: IntegerStringInput;
|
|
205
|
+
onBehalfOf?: string;
|
|
206
|
+
receiver?: string;
|
|
207
|
+
/**
|
|
208
|
+
* a string matching the pattern ^0x[0-9a-fA-F]{64}$
|
|
209
|
+
*/
|
|
210
|
+
marketId: string;
|
|
211
|
+
} | {
|
|
212
|
+
morpho?: string;
|
|
213
|
+
amount: IntegerStringInput;
|
|
214
|
+
onBehalfOf?: string;
|
|
215
|
+
receiver?: string;
|
|
216
|
+
marketParams: {
|
|
217
|
+
loanToken: string;
|
|
218
|
+
collateralToken: string;
|
|
219
|
+
oracle: string;
|
|
220
|
+
irm: string;
|
|
221
|
+
lltv: string;
|
|
222
|
+
};
|
|
223
|
+
};
|
|
224
|
+
type MorphoBlueBorrowConfig = {
|
|
225
|
+
morpho?: string;
|
|
226
|
+
amount: IntegerStringInput;
|
|
227
|
+
onBehalfOf?: string;
|
|
228
|
+
receiver?: string;
|
|
229
|
+
/**
|
|
230
|
+
* a string matching the pattern ^0x[0-9a-fA-F]{64}$
|
|
231
|
+
*/
|
|
232
|
+
marketId: string;
|
|
233
|
+
} | {
|
|
234
|
+
morpho?: string;
|
|
235
|
+
amount: IntegerStringInput;
|
|
236
|
+
onBehalfOf?: string;
|
|
237
|
+
receiver?: string;
|
|
238
|
+
marketParams: {
|
|
239
|
+
loanToken: string;
|
|
240
|
+
collateralToken: string;
|
|
241
|
+
oracle: string;
|
|
242
|
+
irm: string;
|
|
243
|
+
lltv: string;
|
|
244
|
+
};
|
|
245
|
+
};
|
|
246
|
+
type MorphoBlueRepayConfig = ({
|
|
247
|
+
morpho?: string;
|
|
248
|
+
mode: 'exact';
|
|
249
|
+
/**
|
|
250
|
+
* a string matching the pattern ^0x[0-9a-fA-F]{64}$
|
|
251
|
+
*/
|
|
252
|
+
marketId: string;
|
|
253
|
+
} | {
|
|
254
|
+
morpho?: string;
|
|
255
|
+
mode: 'exact';
|
|
256
|
+
marketParams: {
|
|
257
|
+
loanToken: string;
|
|
258
|
+
collateralToken: string;
|
|
259
|
+
oracle: string;
|
|
260
|
+
irm: string;
|
|
261
|
+
lltv: string;
|
|
262
|
+
};
|
|
263
|
+
}) | ({
|
|
264
|
+
morpho?: string;
|
|
265
|
+
mode: 'max';
|
|
266
|
+
/**
|
|
267
|
+
* a string matching the pattern ^0x[0-9a-fA-F]{64}$
|
|
268
|
+
*/
|
|
269
|
+
marketId: string;
|
|
270
|
+
} | {
|
|
271
|
+
morpho?: string;
|
|
272
|
+
mode: 'max';
|
|
273
|
+
marketParams: {
|
|
274
|
+
loanToken: string;
|
|
275
|
+
collateralToken: string;
|
|
276
|
+
oracle: string;
|
|
277
|
+
irm: string;
|
|
278
|
+
lltv: string;
|
|
279
|
+
};
|
|
280
|
+
});
|
|
281
|
+
type MorphoBlueSupplyConfig = {
|
|
282
|
+
morpho?: string;
|
|
283
|
+
onBehalfOf?: string;
|
|
284
|
+
/**
|
|
285
|
+
* a string matching the pattern ^0x[0-9a-fA-F]{64}$
|
|
286
|
+
*/
|
|
287
|
+
marketId: string;
|
|
288
|
+
} | {
|
|
289
|
+
morpho?: string;
|
|
290
|
+
onBehalfOf?: string;
|
|
291
|
+
marketParams: {
|
|
292
|
+
loanToken: string;
|
|
293
|
+
collateralToken: string;
|
|
294
|
+
oracle: string;
|
|
295
|
+
irm: string;
|
|
296
|
+
lltv: string;
|
|
297
|
+
};
|
|
298
|
+
};
|
|
299
|
+
type MorphoBlueWithdrawConfig = ({
|
|
300
|
+
morpho?: string;
|
|
301
|
+
mode: 'exact';
|
|
302
|
+
amount: IntegerStringInput;
|
|
303
|
+
onBehalfOf?: string;
|
|
304
|
+
receiver?: string;
|
|
305
|
+
/**
|
|
306
|
+
* a string matching the pattern ^0x[0-9a-fA-F]{64}$
|
|
307
|
+
*/
|
|
308
|
+
marketId: string;
|
|
309
|
+
} | {
|
|
310
|
+
morpho?: string;
|
|
311
|
+
mode: 'exact';
|
|
312
|
+
amount: IntegerStringInput;
|
|
313
|
+
onBehalfOf?: string;
|
|
314
|
+
receiver?: string;
|
|
315
|
+
marketParams: {
|
|
316
|
+
loanToken: string;
|
|
317
|
+
collateralToken: string;
|
|
318
|
+
oracle: string;
|
|
319
|
+
irm: string;
|
|
320
|
+
lltv: string;
|
|
321
|
+
};
|
|
322
|
+
}) | ({
|
|
323
|
+
morpho?: string;
|
|
324
|
+
mode: 'max';
|
|
325
|
+
onBehalfOf?: string;
|
|
326
|
+
receiver?: string;
|
|
327
|
+
/**
|
|
328
|
+
* a string matching the pattern ^0x[0-9a-fA-F]{64}$
|
|
329
|
+
*/
|
|
330
|
+
marketId: string;
|
|
331
|
+
} | {
|
|
332
|
+
morpho?: string;
|
|
333
|
+
mode: 'max';
|
|
334
|
+
onBehalfOf?: string;
|
|
335
|
+
receiver?: string;
|
|
336
|
+
marketParams: {
|
|
337
|
+
loanToken: string;
|
|
338
|
+
collateralToken: string;
|
|
339
|
+
oracle: string;
|
|
340
|
+
irm: string;
|
|
341
|
+
lltv: string;
|
|
342
|
+
};
|
|
343
|
+
});
|
|
344
|
+
type MorphoBlueGetPositionConfig = {
|
|
345
|
+
morpho?: string;
|
|
346
|
+
user?: string;
|
|
347
|
+
/**
|
|
348
|
+
* a string matching the pattern ^0x[0-9a-fA-F]{64}$
|
|
349
|
+
*/
|
|
350
|
+
marketId: string;
|
|
351
|
+
} | {
|
|
352
|
+
morpho?: string;
|
|
353
|
+
user?: string;
|
|
354
|
+
marketParams: {
|
|
355
|
+
loanToken: string;
|
|
356
|
+
collateralToken: string;
|
|
357
|
+
oracle: string;
|
|
358
|
+
irm: string;
|
|
359
|
+
lltv: string;
|
|
360
|
+
};
|
|
361
|
+
};
|
|
362
|
+
interface LifiFlashloanRepayConfig {
|
|
363
|
+
leg: string;
|
|
364
|
+
fee?: string;
|
|
365
|
+
}
|
|
366
|
+
interface LifiZapConfig {
|
|
367
|
+
resourceOut: {
|
|
368
|
+
kind: 'native';
|
|
369
|
+
chainId: Positive;
|
|
370
|
+
} | {
|
|
371
|
+
kind: 'erc20';
|
|
372
|
+
token: Address;
|
|
373
|
+
chainId: Positive;
|
|
374
|
+
};
|
|
105
375
|
}
|
|
376
|
+
/**
|
|
377
|
+
* a non-negative number
|
|
378
|
+
*/
|
|
379
|
+
type GreaterThanOrEqualTo0 = number;
|
|
106
380
|
/**
|
|
107
381
|
* a number between 0 and 10000
|
|
108
382
|
*/
|
|
109
383
|
type Between010000 = number;
|
|
384
|
+
interface ParaswapBuyConfig {
|
|
385
|
+
resourceOut: {
|
|
386
|
+
kind: 'native';
|
|
387
|
+
chainId: Positive;
|
|
388
|
+
} | {
|
|
389
|
+
kind: 'erc20';
|
|
390
|
+
token: Address;
|
|
391
|
+
chainId: Positive;
|
|
392
|
+
};
|
|
393
|
+
exactAmountOut: string;
|
|
394
|
+
srcDecimals: GreaterThanOrEqualTo0;
|
|
395
|
+
destDecimals: GreaterThanOrEqualTo0;
|
|
396
|
+
maxSlippageBps?: Between010000;
|
|
397
|
+
partner?: string;
|
|
398
|
+
partnerAddress?: string;
|
|
399
|
+
/**
|
|
400
|
+
* Integrator fee in basis points; non-negative integer string capped at 9000.
|
|
401
|
+
*/
|
|
402
|
+
partnerFeeBps?: string;
|
|
403
|
+
}
|
|
404
|
+
interface CorePeekConfig {
|
|
405
|
+
target: Address;
|
|
406
|
+
functionSignature: string;
|
|
407
|
+
args?: string[];
|
|
408
|
+
}
|
|
110
409
|
interface SlippageGuardConfig {
|
|
111
410
|
port: string;
|
|
112
411
|
bps: Between010000;
|
|
113
412
|
}
|
|
413
|
+
interface CoreNumericInvariantGuardConfig {
|
|
414
|
+
port: string;
|
|
415
|
+
op: 'gte' | 'gt' | 'lte' | 'lt' | 'eq' | 'neq';
|
|
416
|
+
threshold: IntegerStringInput;
|
|
417
|
+
}
|
|
114
418
|
interface BalanceOfMaterialiserConfig {
|
|
115
419
|
owner: Address;
|
|
116
420
|
}
|
|
@@ -118,13 +422,20 @@ type DirectDepositMaterialiserConfig = {
|
|
|
118
422
|
amount: IntegerStringInput;
|
|
119
423
|
allowNonExact?: false;
|
|
120
424
|
} | {
|
|
121
|
-
amount
|
|
425
|
+
amount: IntegerStringInput;
|
|
426
|
+
allowNonExact: true;
|
|
427
|
+
} | {
|
|
122
428
|
allowNonExact: true;
|
|
429
|
+
simAmount?: string;
|
|
123
430
|
};
|
|
124
431
|
interface CallMaterialiserConfig {
|
|
125
432
|
target: Address;
|
|
126
433
|
calldata: string;
|
|
127
434
|
}
|
|
435
|
+
interface FlashloanMaterialiserConfig {
|
|
436
|
+
providerKind: 'aave-v3' | 'erc3156' | 'balancer-v2' | 'morpho-blue';
|
|
437
|
+
amount: IntegerStringInput;
|
|
438
|
+
}
|
|
128
439
|
interface Erc20BalancePreconditionConfig {
|
|
129
440
|
wallet: Address;
|
|
130
441
|
token: Address;
|
|
@@ -141,4 +452,4 @@ interface Erc20AllowancePreconditionConfig {
|
|
|
141
452
|
allowance: IntegerStringInput;
|
|
142
453
|
}
|
|
143
454
|
|
|
144
|
-
export type { BalanceOfMaterialiserConfig, Between010000, CallMaterialiserConfig, CoreApproveConfig, CoreAsResourceConfig, CoreBalanceOfConfig, CoreBpsDownConfig, CoreBpsUpConfig, CoreCallConfig, CoreInvokeConfig, CorePeekConfig, CoreRawCallConfig, CoreSplitConfig, CoreStaticCallConfig, CoreTransferConfig, DirectDepositMaterialiserConfig, Erc20AllowancePreconditionConfig, Erc20BalancePreconditionConfig, LifiSwapConfig, LifiZapConfig, NativeBalancePreconditionConfig, Positive, SlippageGuardConfig, Unknown };
|
|
455
|
+
export type { AaveBorrowConfig, AaveClaimRewardsConfig, AaveGetHealthFactorConfig, AaveRepayConfig, AaveRepayWithATokensConfig, AaveSetEModeConfig, BalanceOfMaterialiserConfig, Between010000, Between0255, CallMaterialiserConfig, CoreApproveConfig, CoreAsResourceConfig, CoreBalanceOfConfig, CoreBpsDownConfig, CoreBpsUpConfig, CoreCallConfig, CoreEmitEvent1Config, CoreEmitEvent2Config, CoreEmitEvent3Config, CoreEmitEvent4Config, CoreInvokeConfig, CoreNumericInvariantGuardConfig, CorePeekConfig, CoreRawCallConfig, CoreSplitConfig, CoreStaticCallConfig, CoreTransferConfig, DirectDepositMaterialiserConfig, Erc20AllowancePreconditionConfig, Erc20BalancePreconditionConfig, FlashloanMaterialiserConfig, GreaterThanOrEqualTo0, InvariantNumericConfig, InvariantNumericInRangeConfig, LifiFlashloanRepayConfig, LifiSwapConfig, LifiZapConfig, MaxItems50, MaxLength64, MorphoBlueBorrowConfig, MorphoBlueGetPositionConfig, MorphoBlueRepayConfig, MorphoBlueSupplyCollateralConfig, MorphoBlueSupplyConfig, MorphoBlueWithdrawCollateralConfig, MorphoBlueWithdrawConfig, NativeBalancePreconditionConfig, ParaswapBuyConfig, Positive, SlippageGuardConfig, Unknown };
|