@lifi/composer-sdk 0.0.1-alpha → 0.2.0-staging.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/README.md +37 -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 +307 -16
- package/dist/generated/config.generated.d.ts +307 -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 +8 -2
- 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 +6 -1
- package/dist/generated/materialisers.generated.js.map +1 -1
- package/dist/generated/operations.generated.cjs +84 -14
- package/dist/generated/operations.generated.cjs.map +1 -1
- package/dist/generated/operations.generated.d.cts +208 -13
- package/dist/generated/operations.generated.d.ts +208 -13
- package/dist/generated/operations.generated.js +84 -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-BfWJ-g7t.d.ts +29 -0
- package/dist/materialisers.generated-DaJRwiRe.d.cts +29 -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 +14 -6
- 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/run.ts +41 -4
- package/src/examples/staged/aaveBorrow.ts +104 -0
- package/src/examples/staged/aaveDebtRebalanceExactOut.ts +301 -0
- package/src/examples/staged/aaveHealthFactorExplode.ts +70 -0
- package/src/examples/staged/aaveToMorphoDebtMigration.ts +190 -0
- package/src/examples/staged/aaveToMorphoDebtMigrationWithSwap.ts +221 -0
- package/src/examples/staged/aaveToMorphoDebtMigrationWithSwapExactOut.ts +302 -0
- package/src/examples/staged/flashloanRepay.ts +138 -0
- package/src/examples/staged/morphoBlueBorrow.ts +89 -0
- package/src/examples/staged/morphoBlueRepay.ts +91 -0
- package/src/examples/staged/registry.ts +78 -0
- package/src/examples/swapToRecipient.ts +0 -19
- package/src/examples/swapWithFee.ts +59 -0
- package/src/generated/config.generated.ts +364 -18
- package/src/generated/guards.generated.ts +12 -1
- package/src/generated/materialisers.generated.ts +24 -12
- package/src/generated/operations.generated.ts +373 -13
- 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.js';
|
|
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,15 +42,10 @@ 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
|
}
|
|
46
51
|
interface CoreBpsDownConfig {
|
|
@@ -98,19 +103,298 @@ interface CoreAsResourceConfig {
|
|
|
98
103
|
chainId: Positive;
|
|
99
104
|
};
|
|
100
105
|
}
|
|
101
|
-
interface
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
106
|
+
interface AaveBorrowConfig {
|
|
107
|
+
pool: string;
|
|
108
|
+
asset: string;
|
|
109
|
+
variableDebtToken: string;
|
|
110
|
+
amount: IntegerStringInput;
|
|
111
|
+
referralId?: number;
|
|
112
|
+
}
|
|
113
|
+
type AaveRepayConfig = {
|
|
114
|
+
pool: string;
|
|
115
|
+
mode: 'exact';
|
|
116
|
+
} | {
|
|
117
|
+
pool: string;
|
|
118
|
+
mode: 'max';
|
|
119
|
+
};
|
|
120
|
+
interface AaveRepayWithATokensConfig {
|
|
121
|
+
pool: string;
|
|
122
|
+
asset: string;
|
|
123
|
+
}
|
|
124
|
+
interface AaveClaimRewardsConfig {
|
|
125
|
+
rewardsController: string;
|
|
126
|
+
assets: string[];
|
|
127
|
+
reward: string;
|
|
128
|
+
amount?: IntegerStringInput;
|
|
129
|
+
to?: string;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* a number between 0 and 255
|
|
133
|
+
*/
|
|
134
|
+
type Between0255 = number;
|
|
135
|
+
interface AaveSetEModeConfig {
|
|
136
|
+
pool: string;
|
|
137
|
+
category: Between0255;
|
|
138
|
+
}
|
|
139
|
+
interface AaveGetHealthFactorConfig {
|
|
140
|
+
pool: string;
|
|
141
|
+
user?: string;
|
|
142
|
+
}
|
|
143
|
+
type MorphoBlueSupplyCollateralConfig = ({
|
|
144
|
+
morpho?: string;
|
|
145
|
+
onBehalfOf?: string;
|
|
146
|
+
mode: 'exact';
|
|
147
|
+
/**
|
|
148
|
+
* a string matching the pattern ^0x[0-9a-fA-F]{64}$
|
|
149
|
+
*/
|
|
150
|
+
marketId: string;
|
|
151
|
+
} | {
|
|
152
|
+
morpho?: string;
|
|
153
|
+
onBehalfOf?: string;
|
|
154
|
+
mode: 'exact';
|
|
155
|
+
marketParams: {
|
|
156
|
+
loanToken: string;
|
|
157
|
+
collateralToken: string;
|
|
158
|
+
oracle: string;
|
|
159
|
+
irm: string;
|
|
160
|
+
lltv: string;
|
|
161
|
+
};
|
|
162
|
+
}) | ({
|
|
163
|
+
morpho?: string;
|
|
164
|
+
onBehalfOf?: string;
|
|
165
|
+
mode: 'all';
|
|
166
|
+
/**
|
|
167
|
+
* a string matching the pattern ^0x[0-9a-fA-F]{64}$
|
|
168
|
+
*/
|
|
169
|
+
marketId: string;
|
|
170
|
+
} | {
|
|
171
|
+
morpho?: string;
|
|
172
|
+
onBehalfOf?: string;
|
|
173
|
+
mode: 'all';
|
|
174
|
+
marketParams: {
|
|
175
|
+
loanToken: string;
|
|
176
|
+
collateralToken: string;
|
|
177
|
+
oracle: string;
|
|
178
|
+
irm: string;
|
|
179
|
+
lltv: string;
|
|
180
|
+
};
|
|
181
|
+
});
|
|
182
|
+
type MorphoBlueWithdrawCollateralConfig = {
|
|
183
|
+
morpho?: string;
|
|
184
|
+
amount: IntegerStringInput;
|
|
185
|
+
onBehalfOf?: string;
|
|
186
|
+
receiver?: string;
|
|
187
|
+
/**
|
|
188
|
+
* a string matching the pattern ^0x[0-9a-fA-F]{64}$
|
|
189
|
+
*/
|
|
190
|
+
marketId: string;
|
|
191
|
+
} | {
|
|
192
|
+
morpho?: string;
|
|
193
|
+
amount: IntegerStringInput;
|
|
194
|
+
onBehalfOf?: string;
|
|
195
|
+
receiver?: string;
|
|
196
|
+
marketParams: {
|
|
197
|
+
loanToken: string;
|
|
198
|
+
collateralToken: string;
|
|
199
|
+
oracle: string;
|
|
200
|
+
irm: string;
|
|
201
|
+
lltv: string;
|
|
202
|
+
};
|
|
203
|
+
};
|
|
204
|
+
type MorphoBlueBorrowConfig = {
|
|
205
|
+
morpho?: string;
|
|
206
|
+
amount: IntegerStringInput;
|
|
207
|
+
onBehalfOf?: string;
|
|
208
|
+
receiver?: string;
|
|
209
|
+
/**
|
|
210
|
+
* a string matching the pattern ^0x[0-9a-fA-F]{64}$
|
|
211
|
+
*/
|
|
212
|
+
marketId: string;
|
|
213
|
+
} | {
|
|
214
|
+
morpho?: string;
|
|
215
|
+
amount: IntegerStringInput;
|
|
216
|
+
onBehalfOf?: string;
|
|
217
|
+
receiver?: string;
|
|
218
|
+
marketParams: {
|
|
219
|
+
loanToken: string;
|
|
220
|
+
collateralToken: string;
|
|
221
|
+
oracle: string;
|
|
222
|
+
irm: string;
|
|
223
|
+
lltv: string;
|
|
224
|
+
};
|
|
225
|
+
};
|
|
226
|
+
type MorphoBlueRepayConfig = ({
|
|
227
|
+
morpho?: string;
|
|
228
|
+
mode: 'exact';
|
|
229
|
+
/**
|
|
230
|
+
* a string matching the pattern ^0x[0-9a-fA-F]{64}$
|
|
231
|
+
*/
|
|
232
|
+
marketId: string;
|
|
233
|
+
} | {
|
|
234
|
+
morpho?: string;
|
|
235
|
+
mode: 'exact';
|
|
236
|
+
marketParams: {
|
|
237
|
+
loanToken: string;
|
|
238
|
+
collateralToken: string;
|
|
239
|
+
oracle: string;
|
|
240
|
+
irm: string;
|
|
241
|
+
lltv: string;
|
|
242
|
+
};
|
|
243
|
+
}) | ({
|
|
244
|
+
morpho?: string;
|
|
245
|
+
mode: 'max';
|
|
246
|
+
/**
|
|
247
|
+
* a string matching the pattern ^0x[0-9a-fA-F]{64}$
|
|
248
|
+
*/
|
|
249
|
+
marketId: string;
|
|
250
|
+
} | {
|
|
251
|
+
morpho?: string;
|
|
252
|
+
mode: 'max';
|
|
253
|
+
marketParams: {
|
|
254
|
+
loanToken: string;
|
|
255
|
+
collateralToken: string;
|
|
256
|
+
oracle: string;
|
|
257
|
+
irm: string;
|
|
258
|
+
lltv: string;
|
|
259
|
+
};
|
|
260
|
+
});
|
|
261
|
+
type MorphoBlueSupplyConfig = {
|
|
262
|
+
morpho?: string;
|
|
263
|
+
onBehalfOf?: string;
|
|
264
|
+
/**
|
|
265
|
+
* a string matching the pattern ^0x[0-9a-fA-F]{64}$
|
|
266
|
+
*/
|
|
267
|
+
marketId: string;
|
|
268
|
+
} | {
|
|
269
|
+
morpho?: string;
|
|
270
|
+
onBehalfOf?: string;
|
|
271
|
+
marketParams: {
|
|
272
|
+
loanToken: string;
|
|
273
|
+
collateralToken: string;
|
|
274
|
+
oracle: string;
|
|
275
|
+
irm: string;
|
|
276
|
+
lltv: string;
|
|
277
|
+
};
|
|
278
|
+
};
|
|
279
|
+
type MorphoBlueWithdrawConfig = ({
|
|
280
|
+
morpho?: string;
|
|
281
|
+
mode: 'exact';
|
|
282
|
+
amount: IntegerStringInput;
|
|
283
|
+
onBehalfOf?: string;
|
|
284
|
+
receiver?: string;
|
|
285
|
+
/**
|
|
286
|
+
* a string matching the pattern ^0x[0-9a-fA-F]{64}$
|
|
287
|
+
*/
|
|
288
|
+
marketId: string;
|
|
289
|
+
} | {
|
|
290
|
+
morpho?: string;
|
|
291
|
+
mode: 'exact';
|
|
292
|
+
amount: IntegerStringInput;
|
|
293
|
+
onBehalfOf?: string;
|
|
294
|
+
receiver?: string;
|
|
295
|
+
marketParams: {
|
|
296
|
+
loanToken: string;
|
|
297
|
+
collateralToken: string;
|
|
298
|
+
oracle: string;
|
|
299
|
+
irm: string;
|
|
300
|
+
lltv: string;
|
|
301
|
+
};
|
|
302
|
+
}) | ({
|
|
303
|
+
morpho?: string;
|
|
304
|
+
mode: 'max';
|
|
305
|
+
onBehalfOf?: string;
|
|
306
|
+
receiver?: string;
|
|
307
|
+
/**
|
|
308
|
+
* a string matching the pattern ^0x[0-9a-fA-F]{64}$
|
|
309
|
+
*/
|
|
310
|
+
marketId: string;
|
|
311
|
+
} | {
|
|
312
|
+
morpho?: string;
|
|
313
|
+
mode: 'max';
|
|
314
|
+
onBehalfOf?: string;
|
|
315
|
+
receiver?: string;
|
|
316
|
+
marketParams: {
|
|
317
|
+
loanToken: string;
|
|
318
|
+
collateralToken: string;
|
|
319
|
+
oracle: string;
|
|
320
|
+
irm: string;
|
|
321
|
+
lltv: string;
|
|
322
|
+
};
|
|
323
|
+
});
|
|
324
|
+
type MorphoBlueGetPositionConfig = {
|
|
325
|
+
morpho?: string;
|
|
326
|
+
user?: string;
|
|
327
|
+
/**
|
|
328
|
+
* a string matching the pattern ^0x[0-9a-fA-F]{64}$
|
|
329
|
+
*/
|
|
330
|
+
marketId: string;
|
|
331
|
+
} | {
|
|
332
|
+
morpho?: string;
|
|
333
|
+
user?: string;
|
|
334
|
+
marketParams: {
|
|
335
|
+
loanToken: string;
|
|
336
|
+
collateralToken: string;
|
|
337
|
+
oracle: string;
|
|
338
|
+
irm: string;
|
|
339
|
+
lltv: string;
|
|
340
|
+
};
|
|
341
|
+
};
|
|
342
|
+
interface LifiFlashloanRepayConfig {
|
|
343
|
+
leg: string;
|
|
344
|
+
fee?: string;
|
|
105
345
|
}
|
|
346
|
+
interface LifiZapConfig {
|
|
347
|
+
resourceOut: {
|
|
348
|
+
kind: 'native';
|
|
349
|
+
chainId: Positive;
|
|
350
|
+
} | {
|
|
351
|
+
kind: 'erc20';
|
|
352
|
+
token: Address;
|
|
353
|
+
chainId: Positive;
|
|
354
|
+
};
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* a non-negative number
|
|
358
|
+
*/
|
|
359
|
+
type GreaterThanOrEqualTo0 = number;
|
|
106
360
|
/**
|
|
107
361
|
* a number between 0 and 10000
|
|
108
362
|
*/
|
|
109
363
|
type Between010000 = number;
|
|
364
|
+
interface ParaswapBuyConfig {
|
|
365
|
+
resourceOut: {
|
|
366
|
+
kind: 'native';
|
|
367
|
+
chainId: Positive;
|
|
368
|
+
} | {
|
|
369
|
+
kind: 'erc20';
|
|
370
|
+
token: Address;
|
|
371
|
+
chainId: Positive;
|
|
372
|
+
};
|
|
373
|
+
exactAmountOut: string;
|
|
374
|
+
srcDecimals: GreaterThanOrEqualTo0;
|
|
375
|
+
destDecimals: GreaterThanOrEqualTo0;
|
|
376
|
+
maxSlippageBps?: Between010000;
|
|
377
|
+
partner?: string;
|
|
378
|
+
partnerAddress?: string;
|
|
379
|
+
/**
|
|
380
|
+
* Integrator fee in basis points; non-negative integer string capped at 9000.
|
|
381
|
+
*/
|
|
382
|
+
partnerFeeBps?: string;
|
|
383
|
+
}
|
|
384
|
+
interface CorePeekConfig {
|
|
385
|
+
target: Address;
|
|
386
|
+
functionSignature: string;
|
|
387
|
+
args?: string[];
|
|
388
|
+
}
|
|
110
389
|
interface SlippageGuardConfig {
|
|
111
390
|
port: string;
|
|
112
391
|
bps: Between010000;
|
|
113
392
|
}
|
|
393
|
+
interface CoreNumericInvariantGuardConfig {
|
|
394
|
+
port: string;
|
|
395
|
+
op: 'gte' | 'gt' | 'lte' | 'lt' | 'eq' | 'neq';
|
|
396
|
+
threshold: IntegerStringInput;
|
|
397
|
+
}
|
|
114
398
|
interface BalanceOfMaterialiserConfig {
|
|
115
399
|
owner: Address;
|
|
116
400
|
}
|
|
@@ -118,13 +402,20 @@ type DirectDepositMaterialiserConfig = {
|
|
|
118
402
|
amount: IntegerStringInput;
|
|
119
403
|
allowNonExact?: false;
|
|
120
404
|
} | {
|
|
121
|
-
amount
|
|
405
|
+
amount: IntegerStringInput;
|
|
406
|
+
allowNonExact: true;
|
|
407
|
+
} | {
|
|
122
408
|
allowNonExact: true;
|
|
409
|
+
simAmount?: string;
|
|
123
410
|
};
|
|
124
411
|
interface CallMaterialiserConfig {
|
|
125
412
|
target: Address;
|
|
126
413
|
calldata: string;
|
|
127
414
|
}
|
|
415
|
+
interface FlashloanMaterialiserConfig {
|
|
416
|
+
providerKind: 'aave-v3' | 'erc3156' | 'balancer-v2' | 'morpho-blue';
|
|
417
|
+
amount: IntegerStringInput;
|
|
418
|
+
}
|
|
128
419
|
interface Erc20BalancePreconditionConfig {
|
|
129
420
|
wallet: Address;
|
|
130
421
|
token: Address;
|
|
@@ -141,4 +432,4 @@ interface Erc20AllowancePreconditionConfig {
|
|
|
141
432
|
allowance: IntegerStringInput;
|
|
142
433
|
}
|
|
143
434
|
|
|
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 };
|
|
435
|
+
export type { AaveBorrowConfig, AaveClaimRewardsConfig, AaveGetHealthFactorConfig, AaveRepayConfig, AaveRepayWithATokensConfig, AaveSetEModeConfig, BalanceOfMaterialiserConfig, Between010000, Between0255, CallMaterialiserConfig, CoreApproveConfig, CoreAsResourceConfig, CoreBalanceOfConfig, CoreBpsDownConfig, CoreBpsUpConfig, CoreCallConfig, CoreInvokeConfig, CoreNumericInvariantGuardConfig, CorePeekConfig, CoreRawCallConfig, CoreSplitConfig, CoreStaticCallConfig, CoreTransferConfig, DirectDepositMaterialiserConfig, Erc20AllowancePreconditionConfig, Erc20BalancePreconditionConfig, FlashloanMaterialiserConfig, GreaterThanOrEqualTo0, LifiFlashloanRepayConfig, LifiSwapConfig, LifiZapConfig, MaxItems50, MaxLength64, MorphoBlueBorrowConfig, MorphoBlueGetPositionConfig, MorphoBlueRepayConfig, MorphoBlueSupplyCollateralConfig, MorphoBlueSupplyConfig, MorphoBlueWithdrawCollateralConfig, MorphoBlueWithdrawConfig, NativeBalancePreconditionConfig, ParaswapBuyConfig, Positive, SlippageGuardConfig, Unknown };
|
|
@@ -18,6 +18,7 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var guards_generated_exports = {};
|
|
20
20
|
__export(guards_generated_exports, {
|
|
21
|
+
coreNumericInvariant: () => coreNumericInvariant,
|
|
21
22
|
slippage: () => slippage
|
|
22
23
|
});
|
|
23
24
|
module.exports = __toCommonJS(guards_generated_exports);
|
|
@@ -25,8 +26,13 @@ const slippage = (config) => ({
|
|
|
25
26
|
kind: "slippage",
|
|
26
27
|
...config
|
|
27
28
|
});
|
|
29
|
+
const coreNumericInvariant = (config) => ({
|
|
30
|
+
kind: "core.numericInvariant",
|
|
31
|
+
...config
|
|
32
|
+
});
|
|
28
33
|
// Annotate the CommonJS export names for ESM import in node:
|
|
29
34
|
0 && (module.exports = {
|
|
35
|
+
coreNumericInvariant,
|
|
30
36
|
slippage
|
|
31
37
|
});
|
|
32
38
|
//# sourceMappingURL=guards.generated.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/generated/guards.generated.ts"],"sourcesContent":["// AUTO-GENERATED from manifest.json — do not edit by hand.\n// Regenerate with: yarn workspace @lifi/composer-sdk generate\n\nimport type { TypedGuard } from '../types.js';\n\nimport type {
|
|
1
|
+
{"version":3,"sources":["../../src/generated/guards.generated.ts"],"sourcesContent":["// AUTO-GENERATED from manifest.json — do not edit by hand.\n// Regenerate with: yarn workspace @lifi/composer-sdk generate\n\nimport type { TypedGuard } from '../types.js';\n\nimport type {\n CoreNumericInvariantGuardConfig,\n SlippageGuardConfig,\n} from './config.generated.js';\n\n/** Assert that output amounts are within a slippage tolerance in basis points */\nexport const slippage = <P extends string>(\n config: Omit<SlippageGuardConfig, 'port'> & { port: P },\n): TypedGuard<P> => ({\n kind: 'slippage',\n ...config,\n});\n\n/** Assert a numeric (uint256) handle output of the target op satisfies a comparison against a constant threshold. Emits one IR1 binary invariant; reverts the run on violation. */\nexport const coreNumericInvariant = <P extends string>(\n config: Omit<CoreNumericInvariantGuardConfig, 'port'> & { port: P },\n): TypedGuard<P> => ({\n kind: 'core.numericInvariant',\n ...config,\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWO,MAAM,WAAW,CACtB,YACmB;AAAA,EACnB,MAAM;AAAA,EACN,GAAG;AACL;AAGO,MAAM,uBAAuB,CAClC,YACmB;AAAA,EACnB,MAAM;AAAA,EACN,GAAG;AACL;","names":[]}
|
|
@@ -2,7 +2,12 @@ const slippage = (config) => ({
|
|
|
2
2
|
kind: "slippage",
|
|
3
3
|
...config
|
|
4
4
|
});
|
|
5
|
+
const coreNumericInvariant = (config) => ({
|
|
6
|
+
kind: "core.numericInvariant",
|
|
7
|
+
...config
|
|
8
|
+
});
|
|
5
9
|
export {
|
|
10
|
+
coreNumericInvariant,
|
|
6
11
|
slippage
|
|
7
12
|
};
|
|
8
13
|
//# sourceMappingURL=guards.generated.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/generated/guards.generated.ts"],"sourcesContent":["// AUTO-GENERATED from manifest.json — do not edit by hand.\n// Regenerate with: yarn workspace @lifi/composer-sdk generate\n\nimport type { TypedGuard } from '../types.js';\n\nimport type {
|
|
1
|
+
{"version":3,"sources":["../../src/generated/guards.generated.ts"],"sourcesContent":["// AUTO-GENERATED from manifest.json — do not edit by hand.\n// Regenerate with: yarn workspace @lifi/composer-sdk generate\n\nimport type { TypedGuard } from '../types.js';\n\nimport type {\n CoreNumericInvariantGuardConfig,\n SlippageGuardConfig,\n} from './config.generated.js';\n\n/** Assert that output amounts are within a slippage tolerance in basis points */\nexport const slippage = <P extends string>(\n config: Omit<SlippageGuardConfig, 'port'> & { port: P },\n): TypedGuard<P> => ({\n kind: 'slippage',\n ...config,\n});\n\n/** Assert a numeric (uint256) handle output of the target op satisfies a comparison against a constant threshold. Emits one IR1 binary invariant; reverts the run on violation. */\nexport const coreNumericInvariant = <P extends string>(\n config: Omit<CoreNumericInvariantGuardConfig, 'port'> & { port: P },\n): TypedGuard<P> => ({\n kind: 'core.numericInvariant',\n ...config,\n});\n"],"mappings":"AAWO,MAAM,WAAW,CACtB,YACmB;AAAA,EACnB,MAAM;AAAA,EACN,GAAG;AACL;AAGO,MAAM,uBAAuB,CAClC,YACmB;AAAA,EACnB,MAAM;AAAA,EACN,GAAG;AACL;","names":[]}
|
|
@@ -20,7 +20,8 @@ var materialisers_generated_exports = {};
|
|
|
20
20
|
__export(materialisers_generated_exports, {
|
|
21
21
|
balanceOf: () => balanceOf,
|
|
22
22
|
call: () => call,
|
|
23
|
-
directDeposit: () => directDeposit
|
|
23
|
+
directDeposit: () => directDeposit,
|
|
24
|
+
flashloan: () => flashloan
|
|
24
25
|
});
|
|
25
26
|
module.exports = __toCommonJS(materialisers_generated_exports);
|
|
26
27
|
const balanceOf = (config) => ({
|
|
@@ -35,10 +36,15 @@ const call = (config) => ({
|
|
|
35
36
|
kind: "call",
|
|
36
37
|
...config
|
|
37
38
|
});
|
|
39
|
+
const flashloan = (config) => ({
|
|
40
|
+
kind: "flashloan",
|
|
41
|
+
...config
|
|
42
|
+
});
|
|
38
43
|
// Annotate the CommonJS export names for ESM import in node:
|
|
39
44
|
0 && (module.exports = {
|
|
40
45
|
balanceOf,
|
|
41
46
|
call,
|
|
42
|
-
directDeposit
|
|
47
|
+
directDeposit,
|
|
48
|
+
flashloan
|
|
43
49
|
});
|
|
44
50
|
//# sourceMappingURL=materialisers.generated.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/generated/materialisers.generated.ts"],"sourcesContent":["// AUTO-GENERATED from manifest.json — do not edit by hand.\n// Regenerate with: yarn workspace @lifi/composer-sdk generate\n\nimport type {\n MaterialiserConfigOf,\n MaterialiserInput,\n} from '@lifi/compose-spec';\n\nimport type {\n BalanceOfMaterialiserConfig,\n CallMaterialiserConfig,\n DirectDepositMaterialiserConfig,\n} from './config.generated.js';\n\nexport type
|
|
1
|
+
{"version":3,"sources":["../../src/generated/materialisers.generated.ts"],"sourcesContent":["// AUTO-GENERATED from manifest.json — do not edit by hand.\n// Regenerate with: yarn workspace @lifi/composer-sdk generate\n\nimport type {\n MaterialiserConfigOf,\n MaterialiserInput,\n} from '@lifi/compose-spec';\n\nimport type {\n BalanceOfMaterialiserConfig as BalanceOfMaterialiserConfigSchema,\n CallMaterialiserConfig as CallMaterialiserConfigSchema,\n DirectDepositMaterialiserConfig as DirectDepositMaterialiserConfigSchema,\n FlashloanMaterialiserConfig as FlashloanMaterialiserConfigSchema,\n} from './config.generated.js';\n\nexport type BalanceOfMaterialiserConfig =\n MaterialiserConfigOf<BalanceOfMaterialiserConfigSchema>;\n\n/** Read the on-chain token balance of an address as the input amount — accepts: resource */\nexport const balanceOf = (\n config: BalanceOfMaterialiserConfig,\n): MaterialiserInput => ({\n kind: 'balanceOf',\n ...config,\n});\n\nexport type DirectDepositMaterialiserConfig =\n MaterialiserConfigOf<DirectDepositMaterialiserConfigSchema>;\n\n/** Deposit tokens into the VM — native via msg.value, ERC-20 via transferFrom — accepts: resource */\nexport const directDeposit = (\n config: DirectDepositMaterialiserConfig,\n): MaterialiserInput => ({\n kind: 'directDeposit',\n ...config,\n});\n\nexport type CallMaterialiserConfig =\n MaterialiserConfigOf<CallMaterialiserConfigSchema>;\n\n/** Execute an arbitrary contract call and measure the resulting token balance diff — accepts: resource */\nexport const call = (config: CallMaterialiserConfig): MaterialiserInput => ({\n kind: 'call',\n ...config,\n});\n\nexport type FlashloanMaterialiserConfig =\n MaterialiserConfigOf<FlashloanMaterialiserConfigSchema>;\n\n/** Borrow tokens from a flashloan provider; amount becomes a register populated by the proxy at callback time — accepts: resource */\nexport const flashloan = (\n config: FlashloanMaterialiserConfig,\n): MaterialiserInput => ({\n kind: 'flashloan',\n ...config,\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmBO,MAAM,YAAY,CACvB,YACuB;AAAA,EACvB,MAAM;AAAA,EACN,GAAG;AACL;AAMO,MAAM,gBAAgB,CAC3B,YACuB;AAAA,EACvB,MAAM;AAAA,EACN,GAAG;AACL;AAMO,MAAM,OAAO,CAAC,YAAuD;AAAA,EAC1E,MAAM;AAAA,EACN,GAAG;AACL;AAMO,MAAM,YAAY,CACvB,YACuB;AAAA,EACvB,MAAM;AAAA,EACN,GAAG;AACL;","names":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import '@lifi/compose-spec';
|
|
2
2
|
import './config.generated.cjs';
|
|
3
|
-
export { B as
|
|
3
|
+
export { B as BalanceOfMaterialiserConfig, C as CallMaterialiserConfig, D as DirectDepositMaterialiserConfig, F as FlashloanMaterialiserConfig, b as balanceOf, c as call, d as directDeposit, f as flashloan } from '../materialisers.generated-DaJRwiRe.cjs';
|
|
4
4
|
import '../types.cjs';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import '@lifi/compose-spec';
|
|
2
2
|
import './config.generated.js';
|
|
3
|
-
export { B as
|
|
3
|
+
export { B as BalanceOfMaterialiserConfig, C as CallMaterialiserConfig, D as DirectDepositMaterialiserConfig, F as FlashloanMaterialiserConfig, b as balanceOf, c as call, d as directDeposit, f as flashloan } from '../materialisers.generated-BfWJ-g7t.js';
|
|
4
4
|
import '../types.js';
|
|
@@ -10,9 +10,14 @@ const call = (config) => ({
|
|
|
10
10
|
kind: "call",
|
|
11
11
|
...config
|
|
12
12
|
});
|
|
13
|
+
const flashloan = (config) => ({
|
|
14
|
+
kind: "flashloan",
|
|
15
|
+
...config
|
|
16
|
+
});
|
|
13
17
|
export {
|
|
14
18
|
balanceOf,
|
|
15
19
|
call,
|
|
16
|
-
directDeposit
|
|
20
|
+
directDeposit,
|
|
21
|
+
flashloan
|
|
17
22
|
};
|
|
18
23
|
//# sourceMappingURL=materialisers.generated.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/generated/materialisers.generated.ts"],"sourcesContent":["// AUTO-GENERATED from manifest.json — do not edit by hand.\n// Regenerate with: yarn workspace @lifi/composer-sdk generate\n\nimport type {\n MaterialiserConfigOf,\n MaterialiserInput,\n} from '@lifi/compose-spec';\n\nimport type {\n BalanceOfMaterialiserConfig,\n CallMaterialiserConfig,\n DirectDepositMaterialiserConfig,\n} from './config.generated.js';\n\nexport type
|
|
1
|
+
{"version":3,"sources":["../../src/generated/materialisers.generated.ts"],"sourcesContent":["// AUTO-GENERATED from manifest.json — do not edit by hand.\n// Regenerate with: yarn workspace @lifi/composer-sdk generate\n\nimport type {\n MaterialiserConfigOf,\n MaterialiserInput,\n} from '@lifi/compose-spec';\n\nimport type {\n BalanceOfMaterialiserConfig as BalanceOfMaterialiserConfigSchema,\n CallMaterialiserConfig as CallMaterialiserConfigSchema,\n DirectDepositMaterialiserConfig as DirectDepositMaterialiserConfigSchema,\n FlashloanMaterialiserConfig as FlashloanMaterialiserConfigSchema,\n} from './config.generated.js';\n\nexport type BalanceOfMaterialiserConfig =\n MaterialiserConfigOf<BalanceOfMaterialiserConfigSchema>;\n\n/** Read the on-chain token balance of an address as the input amount — accepts: resource */\nexport const balanceOf = (\n config: BalanceOfMaterialiserConfig,\n): MaterialiserInput => ({\n kind: 'balanceOf',\n ...config,\n});\n\nexport type DirectDepositMaterialiserConfig =\n MaterialiserConfigOf<DirectDepositMaterialiserConfigSchema>;\n\n/** Deposit tokens into the VM — native via msg.value, ERC-20 via transferFrom — accepts: resource */\nexport const directDeposit = (\n config: DirectDepositMaterialiserConfig,\n): MaterialiserInput => ({\n kind: 'directDeposit',\n ...config,\n});\n\nexport type CallMaterialiserConfig =\n MaterialiserConfigOf<CallMaterialiserConfigSchema>;\n\n/** Execute an arbitrary contract call and measure the resulting token balance diff — accepts: resource */\nexport const call = (config: CallMaterialiserConfig): MaterialiserInput => ({\n kind: 'call',\n ...config,\n});\n\nexport type FlashloanMaterialiserConfig =\n MaterialiserConfigOf<FlashloanMaterialiserConfigSchema>;\n\n/** Borrow tokens from a flashloan provider; amount becomes a register populated by the proxy at callback time — accepts: resource */\nexport const flashloan = (\n config: FlashloanMaterialiserConfig,\n): MaterialiserInput => ({\n kind: 'flashloan',\n ...config,\n});\n"],"mappings":"AAmBO,MAAM,YAAY,CACvB,YACuB;AAAA,EACvB,MAAM;AAAA,EACN,GAAG;AACL;AAMO,MAAM,gBAAgB,CAC3B,YACuB;AAAA,EACvB,MAAM;AAAA,EACN,GAAG;AACL;AAMO,MAAM,OAAO,CAAC,YAAuD;AAAA,EAC1E,MAAM;AAAA,EACN,GAAG;AACL;AAMO,MAAM,YAAY,CACvB,YACuB;AAAA,EACvB,MAAM;AAAA,EACN,GAAG;AACL;","names":[]}
|
|
@@ -28,31 +28,35 @@ const bindGeneratedOps = (builder) => ({
|
|
|
28
28
|
a: "resource",
|
|
29
29
|
b: "resource"
|
|
30
30
|
}),
|
|
31
|
-
merge: (nodeId, args) => builder.call(nodeId, "core.merge", args,
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
merge: (nodeId, args) => builder.call(nodeId, "core.merge", { ...args, config: {} }, {
|
|
32
|
+
merged: "resource"
|
|
33
|
+
}),
|
|
34
|
+
add: (nodeId, args) => builder.call(nodeId, "core.add", { ...args, config: {} }, {
|
|
35
|
+
result: "uint256"
|
|
36
|
+
}),
|
|
37
|
+
subtract: (nodeId, args) => builder.call(nodeId, "core.subtract", { ...args, config: {} }, {
|
|
34
38
|
result: "uint256"
|
|
35
39
|
}),
|
|
36
|
-
multiply: (nodeId, args) => builder.call(nodeId, "core.multiply", args, {
|
|
40
|
+
multiply: (nodeId, args) => builder.call(nodeId, "core.multiply", { ...args, config: {} }, {
|
|
37
41
|
result: "uint256"
|
|
38
42
|
}),
|
|
39
|
-
divideDown: (nodeId, args) => builder.call(nodeId, "core.divideDown", args, {
|
|
43
|
+
divideDown: (nodeId, args) => builder.call(nodeId, "core.divideDown", { ...args, config: {} }, {
|
|
40
44
|
result: "uint256"
|
|
41
45
|
}),
|
|
42
|
-
divideUp: (nodeId, args) => builder.call(nodeId, "core.divideUp", args, {
|
|
46
|
+
divideUp: (nodeId, args) => builder.call(nodeId, "core.divideUp", { ...args, config: {} }, {
|
|
43
47
|
result: "uint256"
|
|
44
48
|
}),
|
|
45
49
|
bpsDown: (nodeId, args) => builder.call(nodeId, "core.bpsDown", args, {
|
|
46
50
|
result: "uint256"
|
|
47
51
|
}),
|
|
48
52
|
bpsUp: (nodeId, args) => builder.call(nodeId, "core.bpsUp", args, { result: "uint256" }),
|
|
49
|
-
assertEqual: (nodeId, args) => builder.call(nodeId, "core.assertEqual", args, {}),
|
|
50
|
-
assertNotEqual: (nodeId, args) => builder.call(nodeId, "core.assertNotEqual", args, {}),
|
|
51
|
-
assertGt: (nodeId, args) => builder.call(nodeId, "core.assertGt", args, {}),
|
|
52
|
-
assertGte: (nodeId, args) => builder.call(nodeId, "core.assertGte", args, {}),
|
|
53
|
-
assertLt: (nodeId, args) => builder.call(nodeId, "core.assertLt", args, {}),
|
|
54
|
-
assertLte: (nodeId, args) => builder.call(nodeId, "core.assertLte", args, {}),
|
|
55
|
-
assertInRange: (nodeId, args) => builder.call(nodeId, "core.assertInRange", args, {}),
|
|
53
|
+
assertEqual: (nodeId, args) => builder.call(nodeId, "core.assertEqual", { ...args, config: {} }, {}),
|
|
54
|
+
assertNotEqual: (nodeId, args) => builder.call(nodeId, "core.assertNotEqual", { ...args, config: {} }, {}),
|
|
55
|
+
assertGt: (nodeId, args) => builder.call(nodeId, "core.assertGt", { ...args, config: {} }, {}),
|
|
56
|
+
assertGte: (nodeId, args) => builder.call(nodeId, "core.assertGte", { ...args, config: {} }, {}),
|
|
57
|
+
assertLt: (nodeId, args) => builder.call(nodeId, "core.assertLt", { ...args, config: {} }, {}),
|
|
58
|
+
assertLte: (nodeId, args) => builder.call(nodeId, "core.assertLte", { ...args, config: {} }, {}),
|
|
59
|
+
assertInRange: (nodeId, args) => builder.call(nodeId, "core.assertInRange", { ...args, config: {} }, {}),
|
|
56
60
|
approve: (nodeId, args) => builder.call(nodeId, "core.approve", args, {}),
|
|
57
61
|
balanceOf: (nodeId, args) => builder.call(nodeId, "core.balanceOf", args, {
|
|
58
62
|
balance: "resource"
|
|
@@ -95,12 +99,78 @@ const bindGeneratedOps = (builder) => ({
|
|
|
95
99
|
amountOut: "resource",
|
|
96
100
|
unspentIn: "resource"
|
|
97
101
|
}),
|
|
102
|
+
flashloanRepay: (nodeId, args) => builder.call(nodeId, "lifi.flashloanRepay", args, {}),
|
|
98
103
|
zap: (nodeId, args) => builder.call(nodeId, "lifi.zap", args, {
|
|
99
104
|
amountOut: "resource"
|
|
100
105
|
})
|
|
101
106
|
},
|
|
102
107
|
invariant: {
|
|
103
|
-
balanceAtLeast: (nodeId, args) => builder.call(
|
|
108
|
+
balanceAtLeast: (nodeId, args) => builder.call(
|
|
109
|
+
nodeId,
|
|
110
|
+
"invariant.balanceAtLeast",
|
|
111
|
+
{ ...args, config: {} },
|
|
112
|
+
{}
|
|
113
|
+
)
|
|
114
|
+
},
|
|
115
|
+
aave: {
|
|
116
|
+
borrow: (nodeId, args) => builder.call(nodeId, "aave.borrow", args, {
|
|
117
|
+
borrowed: "resource",
|
|
118
|
+
debtBalance: "uint256"
|
|
119
|
+
}),
|
|
120
|
+
repay: (nodeId, args) => builder.call(nodeId, "aave.repay", args, {
|
|
121
|
+
actualRepaid: "uint256",
|
|
122
|
+
residual: "resource"
|
|
123
|
+
}),
|
|
124
|
+
repayWithATokens: (nodeId, args) => builder.call(nodeId, "aave.repayWithATokens", args, {
|
|
125
|
+
actualRepaid: "uint256",
|
|
126
|
+
residual: "resource"
|
|
127
|
+
}),
|
|
128
|
+
claimRewards: (nodeId, args) => builder.call(nodeId, "aave.claimRewards", args, {
|
|
129
|
+
claimed: "resource",
|
|
130
|
+
claimedAmount: "uint256"
|
|
131
|
+
}),
|
|
132
|
+
setEMode: (nodeId, args) => builder.call(nodeId, "aave.setEMode", args, {}),
|
|
133
|
+
getHealthFactor: (nodeId, args) => builder.call(nodeId, "aave.getHealthFactor", args, {
|
|
134
|
+
healthFactor: "uint256"
|
|
135
|
+
})
|
|
136
|
+
},
|
|
137
|
+
morphoBlue: {
|
|
138
|
+
supplyCollateral: (nodeId, args) => builder.call(nodeId, "morphoBlue.supplyCollateral", args, {}),
|
|
139
|
+
withdrawCollateral: (nodeId, args) => builder.call(nodeId, "morphoBlue.withdrawCollateral", args, {
|
|
140
|
+
withdrawn: "resource",
|
|
141
|
+
collateralWithdrawn: "uint256"
|
|
142
|
+
}),
|
|
143
|
+
borrow: (nodeId, args) => builder.call(nodeId, "morphoBlue.borrow", args, {
|
|
144
|
+
borrowed: "resource",
|
|
145
|
+
assetsBorrowed: "uint256",
|
|
146
|
+
sharesBorrowed: "uint256"
|
|
147
|
+
}),
|
|
148
|
+
repay: (nodeId, args) => builder.call(nodeId, "morphoBlue.repay", args, {
|
|
149
|
+
actualRepaid: "uint256",
|
|
150
|
+
sharesRepaid: "uint256",
|
|
151
|
+
residual: "resource"
|
|
152
|
+
}),
|
|
153
|
+
supply: (nodeId, args) => builder.call(nodeId, "morphoBlue.supply", args, {
|
|
154
|
+
assetsSupplied: "uint256",
|
|
155
|
+
sharesSupplied: "uint256",
|
|
156
|
+
residual: "resource"
|
|
157
|
+
}),
|
|
158
|
+
withdraw: (nodeId, args) => builder.call(nodeId, "morphoBlue.withdraw", args, {
|
|
159
|
+
withdrawn: "resource",
|
|
160
|
+
assetsWithdrawn: "uint256",
|
|
161
|
+
sharesWithdrawn: "uint256"
|
|
162
|
+
}),
|
|
163
|
+
getPosition: (nodeId, args) => builder.call(nodeId, "morphoBlue.getPosition", args, {
|
|
164
|
+
supplyShares: "uint256",
|
|
165
|
+
borrowShares: "uint128",
|
|
166
|
+
collateral: "uint128"
|
|
167
|
+
})
|
|
168
|
+
},
|
|
169
|
+
paraswap: {
|
|
170
|
+
buy: (nodeId, args) => builder.call(nodeId, "paraswap.buy", args, {
|
|
171
|
+
amountOut: "resource",
|
|
172
|
+
unspentIn: "resource"
|
|
173
|
+
})
|
|
104
174
|
}
|
|
105
175
|
});
|
|
106
176
|
// Annotate the CommonJS export names for ESM import in node:
|