@avaprotocol/sdk-js 4.0.0-dev.0 → 4.0.0-dev.2
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/dist/index.js +874 -14
- package/dist/index.mjs +873 -14
- package/dist/v4/builders/nodes.d.ts +5 -2
- package/dist/v4/builders/nodes.d.ts.map +1 -1
- package/dist/v4/builders/nodes.js +1 -0
- package/dist/v4/index.d.ts +1 -0
- package/dist/v4/index.d.ts.map +1 -1
- package/dist/v4/index.js +1 -0
- package/dist/v4/protocols/aave-v3.d.ts +21 -0
- package/dist/v4/protocols/aave-v3.d.ts.map +1 -0
- package/dist/v4/protocols/aave-v3.js +238 -0
- package/dist/v4/protocols/aerodrome.d.ts +4 -0
- package/dist/v4/protocols/aerodrome.d.ts.map +1 -0
- package/dist/v4/protocols/aerodrome.js +9 -0
- package/dist/v4/protocols/chainlink.d.ts +7 -0
- package/dist/v4/protocols/chainlink.d.ts.map +1 -0
- package/dist/v4/protocols/chainlink.js +25 -0
- package/dist/v4/protocols/common.d.ts +16 -0
- package/dist/v4/protocols/common.d.ts.map +1 -0
- package/dist/v4/protocols/common.js +76 -0
- package/dist/v4/protocols/compound-v3.d.ts +4 -0
- package/dist/v4/protocols/compound-v3.d.ts.map +1 -0
- package/dist/v4/protocols/compound-v3.js +15 -0
- package/dist/v4/protocols/erc20.d.ts +5 -0
- package/dist/v4/protocols/erc20.d.ts.map +1 -0
- package/dist/v4/protocols/erc20.js +18 -0
- package/dist/v4/protocols/ethena.d.ts +7 -0
- package/dist/v4/protocols/ethena.d.ts.map +1 -0
- package/dist/v4/protocols/ethena.js +58 -0
- package/dist/v4/protocols/frax-ether.d.ts +7 -0
- package/dist/v4/protocols/frax-ether.d.ts.map +1 -0
- package/dist/v4/protocols/frax-ether.js +20 -0
- package/dist/v4/protocols/index.d.ts +132 -0
- package/dist/v4/protocols/index.d.ts.map +1 -0
- package/dist/v4/protocols/index.js +87 -0
- package/dist/v4/protocols/lido.d.ts +7 -0
- package/dist/v4/protocols/lido.d.ts.map +1 -0
- package/dist/v4/protocols/lido.js +44 -0
- package/dist/v4/protocols/morpho.d.ts +6 -0
- package/dist/v4/protocols/morpho.d.ts.map +1 -0
- package/dist/v4/protocols/morpho.js +89 -0
- package/dist/v4/protocols/rocket-pool.d.ts +6 -0
- package/dist/v4/protocols/rocket-pool.d.ts.map +1 -0
- package/dist/v4/protocols/rocket-pool.js +36 -0
- package/dist/v4/protocols/sky.d.ts +6 -0
- package/dist/v4/protocols/sky.d.ts.map +1 -0
- package/dist/v4/protocols/sky.js +13 -0
- package/dist/v4/protocols/spark.d.ts +4 -0
- package/dist/v4/protocols/spark.d.ts.map +1 -0
- package/dist/v4/protocols/spark.js +15 -0
- package/dist/v4/protocols/superfluid.d.ts +6 -0
- package/dist/v4/protocols/superfluid.d.ts.map +1 -0
- package/dist/v4/protocols/superfluid.js +39 -0
- package/dist/v4/protocols/types.d.ts +17 -0
- package/dist/v4/protocols/types.d.ts.map +1 -0
- package/dist/v4/protocols/types.js +1 -0
- package/dist/v4/protocols/uniswap-v3.d.ts +27 -0
- package/dist/v4/protocols/uniswap-v3.d.ts.map +1 -0
- package/dist/v4/protocols/uniswap-v3.js +197 -0
- package/dist/v4/protocols/wrapped.d.ts +6 -0
- package/dist/v4/protocols/wrapped.d.ts.map +1 -0
- package/dist/v4/protocols/wrapped.js +55 -0
- package/dist/v4/resources/executions.d.ts +6 -0
- package/dist/v4/resources/executions.d.ts.map +1 -1
- package/dist/v4/resources/executions.js +6 -0
- package/dist/v4/resources/health.d.ts +11 -1
- package/dist/v4/resources/health.d.ts.map +1 -1
- package/dist/v4/resources/health.js +11 -1
- package/dist/v4/resources/nodes.d.ts +21 -1
- package/dist/v4/resources/nodes.d.ts.map +1 -1
- package/dist/v4/resources/nodes.js +21 -1
- package/dist/v4/resources/operators.d.ts +15 -1
- package/dist/v4/resources/operators.d.ts.map +1 -1
- package/dist/v4/resources/operators.js +15 -1
- package/dist/v4/resources/secrets.d.ts +10 -0
- package/dist/v4/resources/secrets.d.ts.map +1 -1
- package/dist/v4/resources/secrets.js +10 -0
- package/dist/v4/resources/tokens.d.ts +16 -4
- package/dist/v4/resources/tokens.d.ts.map +1 -1
- package/dist/v4/resources/tokens.js +16 -4
- package/dist/v4/resources/triggers.d.ts +21 -1
- package/dist/v4/resources/triggers.d.ts.map +1 -1
- package/dist/v4/resources/triggers.js +21 -1
- package/dist/v4/resources/wallets.d.ts +53 -6
- package/dist/v4/resources/wallets.d.ts.map +1 -1
- package/dist/v4/resources/wallets.js +53 -6
- package/dist/v4/resources/workflows.d.ts +10 -0
- package/dist/v4/resources/workflows.d.ts.map +1 -1
- package/dist/v4/resources/workflows.js +10 -0
- package/package.json +7 -2
package/dist/index.js
CHANGED
|
@@ -32,6 +32,7 @@ __export(index_exports, {
|
|
|
32
32
|
Nodes: () => Nodes,
|
|
33
33
|
NodesResource: () => NodesResource,
|
|
34
34
|
OperatorsResource: () => OperatorsResource,
|
|
35
|
+
Protocols: () => Protocols,
|
|
35
36
|
SecretsResource: () => SecretsResource,
|
|
36
37
|
TokensResource: () => TokensResource,
|
|
37
38
|
Triggers: () => Triggers,
|
|
@@ -419,6 +420,11 @@ var HealthResource = class {
|
|
|
419
420
|
constructor(transport) {
|
|
420
421
|
this.transport = transport;
|
|
421
422
|
}
|
|
423
|
+
/**
|
|
424
|
+
* GET /health — returns `{ status, chainId, version }` when the
|
|
425
|
+
* gateway is up. Use for liveness checks; do not rely on it for
|
|
426
|
+
* deep readiness (it doesn't probe worker connectivity).
|
|
427
|
+
*/
|
|
422
428
|
check() {
|
|
423
429
|
return this.transport.request({ path: "/health" });
|
|
424
430
|
}
|
|
@@ -429,7 +435,21 @@ var NodesResource = class {
|
|
|
429
435
|
constructor(transport) {
|
|
430
436
|
this.transport = transport;
|
|
431
437
|
}
|
|
432
|
-
/**
|
|
438
|
+
/**
|
|
439
|
+
* POST /nodes:run — execute one node against inline `inputVariables`.
|
|
440
|
+
*
|
|
441
|
+
* The request shape mirrors a single entry from `workflows.simulate`:
|
|
442
|
+
* a complete node definition + the variables the node would have seen
|
|
443
|
+
* inside a workflow. The gateway runs the node in-process (no worker
|
|
444
|
+
* delegation, no persistence) and returns the raw output keyed by
|
|
445
|
+
* node type — `{ success, output: { <nodeType>: {...} } }`.
|
|
446
|
+
*
|
|
447
|
+
* Chain context: the gateway resolves the target chain in this order:
|
|
448
|
+
* `body.chainId` → `inputVariables.settings.chain_id` → the JWT's
|
|
449
|
+
* `aud` claim → the gateway's default chain. Specify `chainId`
|
|
450
|
+
* explicitly when calling a contract that lives on a non-default
|
|
451
|
+
* chain (e.g. a sepolia oracle when the gateway defaults to mainnet).
|
|
452
|
+
*/
|
|
433
453
|
run(req) {
|
|
434
454
|
return this.transport.request({
|
|
435
455
|
path: "/nodes:run",
|
|
@@ -444,7 +464,15 @@ var OperatorsResource = class {
|
|
|
444
464
|
constructor(transport) {
|
|
445
465
|
this.transport = transport;
|
|
446
466
|
}
|
|
447
|
-
/**
|
|
467
|
+
/**
|
|
468
|
+
* GET /operators — every operator currently connected to the
|
|
469
|
+
* gateway, plus their advertised capabilities (block / time /
|
|
470
|
+
* event monitoring) and the timestamp of their last heartbeat.
|
|
471
|
+
*
|
|
472
|
+
* An empty array means no operators are connected — workflows will
|
|
473
|
+
* still accept, but won't execute until at least one operator
|
|
474
|
+
* comes online.
|
|
475
|
+
*/
|
|
448
476
|
list() {
|
|
449
477
|
return this.transport.request({ path: "/operators" });
|
|
450
478
|
}
|
|
@@ -486,10 +514,16 @@ var TokensResource = class {
|
|
|
486
514
|
this.transport = transport;
|
|
487
515
|
}
|
|
488
516
|
/**
|
|
489
|
-
* GET /tokens/{address} —
|
|
490
|
-
*
|
|
491
|
-
*
|
|
492
|
-
*
|
|
517
|
+
* GET /tokens/{address} — resolve a token by contract address.
|
|
518
|
+
*
|
|
519
|
+
* Returns `{ found: false, address }` (not 404) when the token
|
|
520
|
+
* isn't on the whitelist and the on-chain probe also fails — the
|
|
521
|
+
* partial response keeps the caller's UI from breaking on
|
|
522
|
+
* unrecognized tokens.
|
|
523
|
+
*
|
|
524
|
+
* `opts.chainId` picks which chain's whitelist + RPC to consult.
|
|
525
|
+
* Omit it to fall back to the JWT's `aud` chain (the gateway's
|
|
526
|
+
* default chain context for the authenticated user).
|
|
493
527
|
*/
|
|
494
528
|
retrieve(address, opts) {
|
|
495
529
|
return this.transport.request({
|
|
@@ -504,7 +538,20 @@ var TriggersResource = class {
|
|
|
504
538
|
constructor(transport) {
|
|
505
539
|
this.transport = transport;
|
|
506
540
|
}
|
|
507
|
-
/**
|
|
541
|
+
/**
|
|
542
|
+
* POST /triggers:run — evaluate a trigger config against inline
|
|
543
|
+
* input and return the same shape an executor would see.
|
|
544
|
+
*
|
|
545
|
+
* For event triggers, the gateway uses Tenderly to simulate a
|
|
546
|
+
* matching event log against the request's `addresses` + `topics`
|
|
547
|
+
* filter, then returns the decoded log under `output.data` and
|
|
548
|
+
* the raw log under `output.metadata`.
|
|
549
|
+
*
|
|
550
|
+
* For time-based triggers (cron, fixedTime, block), the response
|
|
551
|
+
* carries the next scheduled fire time / block height.
|
|
552
|
+
*
|
|
553
|
+
* No workflow record is created and no execution is persisted.
|
|
554
|
+
*/
|
|
508
555
|
run(req) {
|
|
509
556
|
return this.transport.request({
|
|
510
557
|
path: "/triggers:run",
|
|
@@ -519,13 +566,29 @@ var WalletsResource = class {
|
|
|
519
566
|
constructor(transport) {
|
|
520
567
|
this.transport = transport;
|
|
521
568
|
}
|
|
522
|
-
/**
|
|
569
|
+
/**
|
|
570
|
+
* GET /wallets — every smart wallet owned by the authenticated
|
|
571
|
+
* EOA on the JWT's audience chain.
|
|
572
|
+
*
|
|
573
|
+
* Hidden wallets (`isHidden=true`) are excluded by default. The
|
|
574
|
+
* response is an envelope `{ data: Wallet[] }`, not a bare array.
|
|
575
|
+
*/
|
|
523
576
|
list() {
|
|
524
577
|
return this.transport.request({ path: "/wallets" });
|
|
525
578
|
}
|
|
526
579
|
/**
|
|
527
580
|
* POST /wallets — idempotent "ensure exists". Derives the CREATE2
|
|
528
|
-
* address from (owner, salt, factory) and persists the record
|
|
581
|
+
* address from `(owner, salt, factory)` and persists the record;
|
|
582
|
+
* calling twice with the same triple returns the same address.
|
|
583
|
+
*
|
|
584
|
+
* The on-chain account is **not** deployed by this call — deployment
|
|
585
|
+
* happens lazily as part of the first UserOp (workflow execution or
|
|
586
|
+
* `withdraw`) via the `initCode` field, so the smart wallet costs
|
|
587
|
+
* zero gas until it's first used.
|
|
588
|
+
*
|
|
589
|
+
* Per-owner cap is enforced by `max_wallets_per_owner` in the
|
|
590
|
+
* aggregator config; the call returns 429 `WALLETS_LIMIT_REACHED`
|
|
591
|
+
* when exceeded.
|
|
529
592
|
*/
|
|
530
593
|
create(req) {
|
|
531
594
|
return this.transport.request({
|
|
@@ -535,8 +598,11 @@ var WalletsResource = class {
|
|
|
535
598
|
});
|
|
536
599
|
}
|
|
537
600
|
/**
|
|
538
|
-
* PATCH /wallets/{address} — partial update.
|
|
539
|
-
*
|
|
601
|
+
* PATCH /wallets/{address} — partial update. The only mutable
|
|
602
|
+
* field today is `isHidden`, used by the Studio UI's hide/unhide
|
|
603
|
+
* wallet action. Keyed by **address**, not salt — callers that
|
|
604
|
+
* still think in salts must look up the address first via
|
|
605
|
+
* `create({ salt })`.
|
|
540
606
|
*/
|
|
541
607
|
update(address, body) {
|
|
542
608
|
return this.transport.request({
|
|
@@ -545,7 +611,18 @@ var WalletsResource = class {
|
|
|
545
611
|
body
|
|
546
612
|
});
|
|
547
613
|
}
|
|
548
|
-
/**
|
|
614
|
+
/**
|
|
615
|
+
* POST /wallets/{address}:withdraw — transfer ETH or an ERC-20 out
|
|
616
|
+
* of the smart wallet via a UserOp through the bundler + paymaster.
|
|
617
|
+
*
|
|
618
|
+
* Per-chain config (bundler URL, paymaster address, RPC) is resolved
|
|
619
|
+
* by the gateway from the JWT's `aud` claim or `body.chainId`.
|
|
620
|
+
* The response's `status` is one of `pending | confirmed | failed`:
|
|
621
|
+
* `confirmed` means the bundler returned a receipt synchronously,
|
|
622
|
+
* `pending` means it accepted the UserOp but the receipt hasn't
|
|
623
|
+
* landed yet, `failed` means the bundler rejected the op or it
|
|
624
|
+
* reverted before inclusion.
|
|
625
|
+
*/
|
|
549
626
|
withdraw(address, req) {
|
|
550
627
|
return this.transport.request({
|
|
551
628
|
path: `/wallets/${encodeURIComponent(address)}:withdraw`,
|
|
@@ -553,7 +630,14 @@ var WalletsResource = class {
|
|
|
553
630
|
body: req
|
|
554
631
|
});
|
|
555
632
|
}
|
|
556
|
-
/**
|
|
633
|
+
/**
|
|
634
|
+
* GET /wallets/{address}:getNonce — current AA nonce for the wallet.
|
|
635
|
+
*
|
|
636
|
+
* Used when an external signer needs to assemble a UserOp outside
|
|
637
|
+
* the SDK's bundler path. Most callers don't need this directly —
|
|
638
|
+
* `workflows.simulate` and `wallets.withdraw` handle nonce sourcing
|
|
639
|
+
* internally.
|
|
640
|
+
*/
|
|
557
641
|
getNonce(address) {
|
|
558
642
|
return this.transport.request({
|
|
559
643
|
path: `/wallets/${encodeURIComponent(address)}:getNonce`
|
|
@@ -801,7 +885,8 @@ var Nodes = Object.freeze({
|
|
|
801
885
|
url: opts.url,
|
|
802
886
|
method: opts.method,
|
|
803
887
|
...opts.body ? { body: opts.body } : {},
|
|
804
|
-
...opts.headers ? { headers: opts.headers } : {}
|
|
888
|
+
...opts.headers ? { headers: opts.headers } : {},
|
|
889
|
+
...opts.options ? { options: opts.options } : {}
|
|
805
890
|
}
|
|
806
891
|
};
|
|
807
892
|
},
|
|
@@ -859,6 +944,780 @@ var Nodes = Object.freeze({
|
|
|
859
944
|
};
|
|
860
945
|
}
|
|
861
946
|
});
|
|
947
|
+
|
|
948
|
+
// src/v4/protocols/aave-v3.ts
|
|
949
|
+
var pool = {
|
|
950
|
+
[Chains.EthereumMainnet]: "0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2",
|
|
951
|
+
[Chains.Sepolia]: "0x6Ae43d3271ff6888e7Fc43Fd7321a503ff738951",
|
|
952
|
+
[Chains.BaseMainnet]: "0xA238Dd80C259a72e81d7e4664a9801593F98d1c5",
|
|
953
|
+
[Chains.BaseSepolia]: "0x8bAB6d1b75f19e9eD9fCe8b9BD338844fF79aE27"
|
|
954
|
+
};
|
|
955
|
+
var oracle = {
|
|
956
|
+
[Chains.EthereumMainnet]: "0x54586bE62E3c3580375aE3723C145253060Ca0C2",
|
|
957
|
+
[Chains.Sepolia]: "0x2da88497588bf89281816106C7259e31AF45a663",
|
|
958
|
+
[Chains.BaseMainnet]: "0x2Cc0Fc26eD4563A5ce5e8bdcfe1A2878676Ae156",
|
|
959
|
+
[Chains.BaseSepolia]: "0x943b0dE18d4abf4eF02A85912F8fc07684C141dF"
|
|
960
|
+
};
|
|
961
|
+
var wethGateway = {
|
|
962
|
+
[Chains.EthereumMainnet]: "0xd01607c3C5eCABa394D8be377a08590149325722",
|
|
963
|
+
[Chains.Sepolia]: "0x387d311e47e80b498169e6fb51d3193167d89F7D",
|
|
964
|
+
[Chains.BaseMainnet]: "0xa0d9C1E9E48Ca30c8d8C3B5D69FF5dc1f6DFfC24",
|
|
965
|
+
[Chains.BaseSepolia]: "0x0568130e794429D2eEBC4dafE18f25Ff1a1ed8b6"
|
|
966
|
+
};
|
|
967
|
+
var eventTopics = Object.freeze({
|
|
968
|
+
Supply: "0x2b627736bca15cd5381dcf80b0bf11fd197d01a037c52b927a881a10fb73ba61",
|
|
969
|
+
Withdraw: "0x3115d1449a7b732c986cba18244e897a450f61e1bb8d589cd2e69e6c8924f9f7",
|
|
970
|
+
Borrow: "0xb3d084820fb1a9decffb176436bd02558d15fac9b0ddfed8c465bc7359d7dce0",
|
|
971
|
+
Repay: "0xa534c8dbe71f871f9f3530e97a74601fea17b426cae02e1c5aee42c96c784051",
|
|
972
|
+
LiquidationCall: "0xe413a321e8681d831f4dbccbca790d2952b56f977908e45be37335533e005286"
|
|
973
|
+
});
|
|
974
|
+
var poolEventsAbi = Object.freeze([
|
|
975
|
+
{
|
|
976
|
+
anonymous: false,
|
|
977
|
+
inputs: [
|
|
978
|
+
{ indexed: true, internalType: "address", name: "reserve", type: "address" },
|
|
979
|
+
{ indexed: false, internalType: "address", name: "user", type: "address" },
|
|
980
|
+
{ indexed: true, internalType: "address", name: "onBehalfOf", type: "address" },
|
|
981
|
+
{ indexed: false, internalType: "uint256", name: "amount", type: "uint256" },
|
|
982
|
+
{ indexed: true, internalType: "uint16", name: "referralCode", type: "uint16" }
|
|
983
|
+
],
|
|
984
|
+
name: "Supply",
|
|
985
|
+
type: "event"
|
|
986
|
+
},
|
|
987
|
+
{
|
|
988
|
+
anonymous: false,
|
|
989
|
+
inputs: [
|
|
990
|
+
{ indexed: true, internalType: "address", name: "reserve", type: "address" },
|
|
991
|
+
{ indexed: true, internalType: "address", name: "user", type: "address" },
|
|
992
|
+
{ indexed: true, internalType: "address", name: "to", type: "address" },
|
|
993
|
+
{ indexed: false, internalType: "uint256", name: "amount", type: "uint256" }
|
|
994
|
+
],
|
|
995
|
+
name: "Withdraw",
|
|
996
|
+
type: "event"
|
|
997
|
+
},
|
|
998
|
+
{
|
|
999
|
+
anonymous: false,
|
|
1000
|
+
inputs: [
|
|
1001
|
+
{ indexed: true, internalType: "address", name: "reserve", type: "address" },
|
|
1002
|
+
{ indexed: false, internalType: "address", name: "user", type: "address" },
|
|
1003
|
+
{ indexed: true, internalType: "address", name: "onBehalfOf", type: "address" },
|
|
1004
|
+
{ indexed: false, internalType: "uint256", name: "amount", type: "uint256" },
|
|
1005
|
+
{ indexed: false, internalType: "uint8", name: "interestRateMode", type: "uint8" },
|
|
1006
|
+
{ indexed: false, internalType: "uint256", name: "borrowRate", type: "uint256" },
|
|
1007
|
+
{ indexed: true, internalType: "uint16", name: "referralCode", type: "uint16" }
|
|
1008
|
+
],
|
|
1009
|
+
name: "Borrow",
|
|
1010
|
+
type: "event"
|
|
1011
|
+
},
|
|
1012
|
+
{
|
|
1013
|
+
anonymous: false,
|
|
1014
|
+
inputs: [
|
|
1015
|
+
{ indexed: true, internalType: "address", name: "reserve", type: "address" },
|
|
1016
|
+
{ indexed: true, internalType: "address", name: "user", type: "address" },
|
|
1017
|
+
{ indexed: true, internalType: "address", name: "repayer", type: "address" },
|
|
1018
|
+
{ indexed: false, internalType: "uint256", name: "amount", type: "uint256" },
|
|
1019
|
+
{ indexed: false, internalType: "bool", name: "useATokens", type: "bool" }
|
|
1020
|
+
],
|
|
1021
|
+
name: "Repay",
|
|
1022
|
+
type: "event"
|
|
1023
|
+
},
|
|
1024
|
+
{
|
|
1025
|
+
anonymous: false,
|
|
1026
|
+
inputs: [
|
|
1027
|
+
{ indexed: true, internalType: "address", name: "collateralAsset", type: "address" },
|
|
1028
|
+
{ indexed: true, internalType: "address", name: "debtAsset", type: "address" },
|
|
1029
|
+
{ indexed: true, internalType: "address", name: "user", type: "address" },
|
|
1030
|
+
{ indexed: false, internalType: "uint256", name: "debtToCover", type: "uint256" },
|
|
1031
|
+
{ indexed: false, internalType: "uint256", name: "liquidatedCollateralAmount", type: "uint256" },
|
|
1032
|
+
{ indexed: false, internalType: "address", name: "liquidator", type: "address" },
|
|
1033
|
+
{ indexed: false, internalType: "bool", name: "receiveAToken", type: "bool" }
|
|
1034
|
+
],
|
|
1035
|
+
name: "LiquidationCall",
|
|
1036
|
+
type: "event"
|
|
1037
|
+
}
|
|
1038
|
+
]);
|
|
1039
|
+
var poolMethodsAbi = Object.freeze([
|
|
1040
|
+
{
|
|
1041
|
+
inputs: [{ internalType: "address", name: "user", type: "address" }],
|
|
1042
|
+
name: "getUserAccountData",
|
|
1043
|
+
outputs: [
|
|
1044
|
+
{ internalType: "uint256", name: "totalCollateralBase", type: "uint256" },
|
|
1045
|
+
{ internalType: "uint256", name: "totalDebtBase", type: "uint256" },
|
|
1046
|
+
{ internalType: "uint256", name: "availableBorrowsBase", type: "uint256" },
|
|
1047
|
+
{ internalType: "uint256", name: "currentLiquidationThreshold", type: "uint256" },
|
|
1048
|
+
{ internalType: "uint256", name: "ltv", type: "uint256" },
|
|
1049
|
+
{ internalType: "uint256", name: "healthFactor", type: "uint256" }
|
|
1050
|
+
],
|
|
1051
|
+
stateMutability: "view",
|
|
1052
|
+
type: "function"
|
|
1053
|
+
},
|
|
1054
|
+
{
|
|
1055
|
+
inputs: [
|
|
1056
|
+
{ internalType: "address", name: "asset", type: "address" },
|
|
1057
|
+
{ internalType: "uint256", name: "amount", type: "uint256" },
|
|
1058
|
+
{ internalType: "address", name: "onBehalfOf", type: "address" },
|
|
1059
|
+
{ internalType: "uint16", name: "referralCode", type: "uint16" }
|
|
1060
|
+
],
|
|
1061
|
+
name: "supply",
|
|
1062
|
+
outputs: [],
|
|
1063
|
+
stateMutability: "nonpayable",
|
|
1064
|
+
type: "function"
|
|
1065
|
+
},
|
|
1066
|
+
{
|
|
1067
|
+
inputs: [
|
|
1068
|
+
{ internalType: "address", name: "asset", type: "address" },
|
|
1069
|
+
{ internalType: "uint256", name: "amount", type: "uint256" },
|
|
1070
|
+
{ internalType: "uint256", name: "interestRateMode", type: "uint256" },
|
|
1071
|
+
{ internalType: "uint16", name: "referralCode", type: "uint16" },
|
|
1072
|
+
{ internalType: "address", name: "onBehalfOf", type: "address" }
|
|
1073
|
+
],
|
|
1074
|
+
name: "borrow",
|
|
1075
|
+
outputs: [],
|
|
1076
|
+
stateMutability: "nonpayable",
|
|
1077
|
+
type: "function"
|
|
1078
|
+
},
|
|
1079
|
+
{
|
|
1080
|
+
inputs: [
|
|
1081
|
+
{ internalType: "address", name: "asset", type: "address" },
|
|
1082
|
+
{ internalType: "uint256", name: "amount", type: "uint256" },
|
|
1083
|
+
{ internalType: "uint256", name: "interestRateMode", type: "uint256" },
|
|
1084
|
+
{ internalType: "address", name: "onBehalfOf", type: "address" }
|
|
1085
|
+
],
|
|
1086
|
+
name: "repay",
|
|
1087
|
+
outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
|
|
1088
|
+
stateMutability: "nonpayable",
|
|
1089
|
+
type: "function"
|
|
1090
|
+
},
|
|
1091
|
+
{
|
|
1092
|
+
inputs: [
|
|
1093
|
+
{ internalType: "address", name: "asset", type: "address" },
|
|
1094
|
+
{ internalType: "uint256", name: "amount", type: "uint256" },
|
|
1095
|
+
{ internalType: "address", name: "to", type: "address" }
|
|
1096
|
+
],
|
|
1097
|
+
name: "withdraw",
|
|
1098
|
+
outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
|
|
1099
|
+
stateMutability: "nonpayable",
|
|
1100
|
+
type: "function"
|
|
1101
|
+
},
|
|
1102
|
+
{
|
|
1103
|
+
inputs: [
|
|
1104
|
+
{ internalType: "address", name: "asset", type: "address" },
|
|
1105
|
+
{ internalType: "bool", name: "useAsCollateral", type: "bool" }
|
|
1106
|
+
],
|
|
1107
|
+
name: "setUserUseReserveAsCollateral",
|
|
1108
|
+
outputs: [],
|
|
1109
|
+
stateMutability: "nonpayable",
|
|
1110
|
+
type: "function"
|
|
1111
|
+
}
|
|
1112
|
+
]);
|
|
1113
|
+
var tokens = Object.freeze({
|
|
1114
|
+
LINK: {
|
|
1115
|
+
[Chains.Sepolia]: "0xf8Fb3713D459D7C1018BD0A49D19b4C44290EBE5"
|
|
1116
|
+
}
|
|
1117
|
+
});
|
|
1118
|
+
var aaveV3 = Object.freeze({
|
|
1119
|
+
pool,
|
|
1120
|
+
oracle,
|
|
1121
|
+
wethGateway,
|
|
1122
|
+
eventTopics,
|
|
1123
|
+
poolEventsAbi,
|
|
1124
|
+
poolMethodsAbi,
|
|
1125
|
+
tokens
|
|
1126
|
+
});
|
|
1127
|
+
|
|
1128
|
+
// src/v4/protocols/aerodrome.ts
|
|
1129
|
+
var router = {
|
|
1130
|
+
[Chains.BaseMainnet]: "0xcF77a3Ba9A5CA399B7c97c74d54e5b1Beb874E43"
|
|
1131
|
+
};
|
|
1132
|
+
var aerodrome = Object.freeze({
|
|
1133
|
+
router
|
|
1134
|
+
});
|
|
1135
|
+
|
|
1136
|
+
// src/v4/protocols/common.ts
|
|
1137
|
+
var aggregatorV3Abi = Object.freeze([
|
|
1138
|
+
{
|
|
1139
|
+
inputs: [],
|
|
1140
|
+
name: "latestRoundData",
|
|
1141
|
+
outputs: [
|
|
1142
|
+
{ internalType: "uint80", name: "roundId", type: "uint80" },
|
|
1143
|
+
{ internalType: "int256", name: "answer", type: "int256" },
|
|
1144
|
+
{ internalType: "uint256", name: "startedAt", type: "uint256" },
|
|
1145
|
+
{ internalType: "uint256", name: "updatedAt", type: "uint256" },
|
|
1146
|
+
{ internalType: "uint80", name: "answeredInRound", type: "uint80" }
|
|
1147
|
+
],
|
|
1148
|
+
stateMutability: "view",
|
|
1149
|
+
type: "function"
|
|
1150
|
+
},
|
|
1151
|
+
{
|
|
1152
|
+
inputs: [],
|
|
1153
|
+
name: "decimals",
|
|
1154
|
+
outputs: [{ internalType: "uint8", name: "", type: "uint8" }],
|
|
1155
|
+
stateMutability: "view",
|
|
1156
|
+
type: "function"
|
|
1157
|
+
}
|
|
1158
|
+
]);
|
|
1159
|
+
var erc4626VaultAbi = Object.freeze([
|
|
1160
|
+
{
|
|
1161
|
+
inputs: [
|
|
1162
|
+
{ internalType: "uint256", name: "assets", type: "uint256" },
|
|
1163
|
+
{ internalType: "address", name: "receiver", type: "address" }
|
|
1164
|
+
],
|
|
1165
|
+
name: "deposit",
|
|
1166
|
+
outputs: [{ internalType: "uint256", name: "shares", type: "uint256" }],
|
|
1167
|
+
stateMutability: "nonpayable",
|
|
1168
|
+
type: "function"
|
|
1169
|
+
},
|
|
1170
|
+
{
|
|
1171
|
+
inputs: [
|
|
1172
|
+
{ internalType: "uint256", name: "shares", type: "uint256" },
|
|
1173
|
+
{ internalType: "address", name: "receiver", type: "address" },
|
|
1174
|
+
{ internalType: "address", name: "owner", type: "address" }
|
|
1175
|
+
],
|
|
1176
|
+
name: "redeem",
|
|
1177
|
+
outputs: [{ internalType: "uint256", name: "assets", type: "uint256" }],
|
|
1178
|
+
stateMutability: "nonpayable",
|
|
1179
|
+
type: "function"
|
|
1180
|
+
},
|
|
1181
|
+
{
|
|
1182
|
+
inputs: [{ internalType: "uint256", name: "shares", type: "uint256" }],
|
|
1183
|
+
name: "previewRedeem",
|
|
1184
|
+
outputs: [{ internalType: "uint256", name: "assets", type: "uint256" }],
|
|
1185
|
+
stateMutability: "view",
|
|
1186
|
+
type: "function"
|
|
1187
|
+
},
|
|
1188
|
+
{
|
|
1189
|
+
inputs: [{ internalType: "uint256", name: "shares", type: "uint256" }],
|
|
1190
|
+
name: "convertToAssets",
|
|
1191
|
+
outputs: [{ internalType: "uint256", name: "assets", type: "uint256" }],
|
|
1192
|
+
stateMutability: "view",
|
|
1193
|
+
type: "function"
|
|
1194
|
+
}
|
|
1195
|
+
]);
|
|
1196
|
+
|
|
1197
|
+
// src/v4/protocols/chainlink.ts
|
|
1198
|
+
var ethUsdFeed = {
|
|
1199
|
+
[Chains.EthereumMainnet]: "0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419",
|
|
1200
|
+
[Chains.Sepolia]: "0x694AA1769357215DE4FAC081bf1f309aDC325306"
|
|
1201
|
+
};
|
|
1202
|
+
var btcUsdFeed = {
|
|
1203
|
+
[Chains.EthereumMainnet]: "0xF4030086522a5bEEa4988F8cA5B36dbC97BeE88c"
|
|
1204
|
+
};
|
|
1205
|
+
var chainlink = Object.freeze({
|
|
1206
|
+
ethUsdFeed,
|
|
1207
|
+
btcUsdFeed,
|
|
1208
|
+
/** Shared AggregatorV3 ABI — works for any Chainlink feed. */
|
|
1209
|
+
aggregatorV3Abi
|
|
1210
|
+
});
|
|
1211
|
+
|
|
1212
|
+
// src/v4/protocols/compound-v3.ts
|
|
1213
|
+
var cometUsdc = {
|
|
1214
|
+
[Chains.EthereumMainnet]: "0xc3d688B66703497DAA19211EEdff47f25384cdc3",
|
|
1215
|
+
[Chains.BaseMainnet]: "0xb125E6687d4313864e53df431d5425969c15Eb2F"
|
|
1216
|
+
};
|
|
1217
|
+
var compoundV3 = Object.freeze({
|
|
1218
|
+
cometUsdc
|
|
1219
|
+
});
|
|
1220
|
+
|
|
1221
|
+
// src/v4/protocols/erc20.ts
|
|
1222
|
+
var erc20 = Object.freeze({
|
|
1223
|
+
approveAbi: Object.freeze([
|
|
1224
|
+
{
|
|
1225
|
+
inputs: [
|
|
1226
|
+
{ internalType: "address", name: "spender", type: "address" },
|
|
1227
|
+
{ internalType: "uint256", name: "amount", type: "uint256" }
|
|
1228
|
+
],
|
|
1229
|
+
name: "approve",
|
|
1230
|
+
outputs: [{ internalType: "bool", name: "", type: "bool" }],
|
|
1231
|
+
stateMutability: "nonpayable",
|
|
1232
|
+
type: "function"
|
|
1233
|
+
}
|
|
1234
|
+
])
|
|
1235
|
+
});
|
|
1236
|
+
|
|
1237
|
+
// src/v4/protocols/ethena.ts
|
|
1238
|
+
var susde = {
|
|
1239
|
+
[Chains.EthereumMainnet]: "0x9D39A5DE30e57443BfF2A8307A4256c8797A3497"
|
|
1240
|
+
};
|
|
1241
|
+
var usde = {
|
|
1242
|
+
[Chains.EthereumMainnet]: "0x4c9EDD5852cd905f086C759E8383e09bff1E68B3"
|
|
1243
|
+
};
|
|
1244
|
+
var susdeAbi = Object.freeze([
|
|
1245
|
+
{
|
|
1246
|
+
inputs: [
|
|
1247
|
+
{ internalType: "uint256", name: "assets", type: "uint256" },
|
|
1248
|
+
{ internalType: "address", name: "receiver", type: "address" }
|
|
1249
|
+
],
|
|
1250
|
+
name: "deposit",
|
|
1251
|
+
outputs: [{ internalType: "uint256", name: "shares", type: "uint256" }],
|
|
1252
|
+
stateMutability: "nonpayable",
|
|
1253
|
+
type: "function"
|
|
1254
|
+
},
|
|
1255
|
+
{
|
|
1256
|
+
inputs: [{ internalType: "uint256", name: "shares", type: "uint256" }],
|
|
1257
|
+
name: "cooldownShares",
|
|
1258
|
+
outputs: [{ internalType: "uint256", name: "assets", type: "uint256" }],
|
|
1259
|
+
stateMutability: "nonpayable",
|
|
1260
|
+
type: "function"
|
|
1261
|
+
},
|
|
1262
|
+
{
|
|
1263
|
+
inputs: [{ internalType: "address", name: "receiver", type: "address" }],
|
|
1264
|
+
name: "unstake",
|
|
1265
|
+
outputs: [],
|
|
1266
|
+
stateMutability: "nonpayable",
|
|
1267
|
+
type: "function"
|
|
1268
|
+
},
|
|
1269
|
+
{
|
|
1270
|
+
inputs: [{ internalType: "uint256", name: "shares", type: "uint256" }],
|
|
1271
|
+
name: "previewRedeem",
|
|
1272
|
+
outputs: [{ internalType: "uint256", name: "assets", type: "uint256" }],
|
|
1273
|
+
stateMutability: "view",
|
|
1274
|
+
type: "function"
|
|
1275
|
+
},
|
|
1276
|
+
{
|
|
1277
|
+
inputs: [{ internalType: "uint256", name: "shares", type: "uint256" }],
|
|
1278
|
+
name: "convertToAssets",
|
|
1279
|
+
outputs: [{ internalType: "uint256", name: "assets", type: "uint256" }],
|
|
1280
|
+
stateMutability: "view",
|
|
1281
|
+
type: "function"
|
|
1282
|
+
}
|
|
1283
|
+
]);
|
|
1284
|
+
var ethena = Object.freeze({
|
|
1285
|
+
susde,
|
|
1286
|
+
usde,
|
|
1287
|
+
susdeAbi
|
|
1288
|
+
});
|
|
1289
|
+
|
|
1290
|
+
// src/v4/protocols/frax-ether.ts
|
|
1291
|
+
var sfrxeth = {
|
|
1292
|
+
[Chains.EthereumMainnet]: "0xac3E018457B222d93114458476f3E3416Abbe38F"
|
|
1293
|
+
};
|
|
1294
|
+
var frxeth = {
|
|
1295
|
+
[Chains.EthereumMainnet]: "0x5E8422345238F34275888049021821E8E08CAa1f"
|
|
1296
|
+
};
|
|
1297
|
+
var fraxEther = Object.freeze({
|
|
1298
|
+
sfrxeth,
|
|
1299
|
+
frxeth,
|
|
1300
|
+
/** Standard ERC-4626 surface — sfrxETH conforms exactly. */
|
|
1301
|
+
vaultAbi: erc4626VaultAbi
|
|
1302
|
+
});
|
|
1303
|
+
|
|
1304
|
+
// src/v4/protocols/lido.ts
|
|
1305
|
+
var wsteth = {
|
|
1306
|
+
[Chains.EthereumMainnet]: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0",
|
|
1307
|
+
[Chains.BaseMainnet]: "0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452"
|
|
1308
|
+
};
|
|
1309
|
+
var steth = {
|
|
1310
|
+
[Chains.EthereumMainnet]: "0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84"
|
|
1311
|
+
};
|
|
1312
|
+
var wstethAbi = Object.freeze([
|
|
1313
|
+
{
|
|
1314
|
+
inputs: [{ internalType: "uint256", name: "_stETHAmount", type: "uint256" }],
|
|
1315
|
+
name: "wrap",
|
|
1316
|
+
outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
|
|
1317
|
+
stateMutability: "nonpayable",
|
|
1318
|
+
type: "function"
|
|
1319
|
+
},
|
|
1320
|
+
{
|
|
1321
|
+
inputs: [{ internalType: "uint256", name: "_wstETHAmount", type: "uint256" }],
|
|
1322
|
+
name: "unwrap",
|
|
1323
|
+
outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
|
|
1324
|
+
stateMutability: "nonpayable",
|
|
1325
|
+
type: "function"
|
|
1326
|
+
},
|
|
1327
|
+
{
|
|
1328
|
+
inputs: [{ internalType: "uint256", name: "_wstETHAmount", type: "uint256" }],
|
|
1329
|
+
name: "getStETHByWstETH",
|
|
1330
|
+
outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
|
|
1331
|
+
stateMutability: "view",
|
|
1332
|
+
type: "function"
|
|
1333
|
+
}
|
|
1334
|
+
]);
|
|
1335
|
+
var lido = Object.freeze({
|
|
1336
|
+
wsteth,
|
|
1337
|
+
steth,
|
|
1338
|
+
wstethAbi
|
|
1339
|
+
});
|
|
1340
|
+
|
|
1341
|
+
// src/v4/protocols/morpho.ts
|
|
1342
|
+
var morpho = {
|
|
1343
|
+
[Chains.EthereumMainnet]: "0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb",
|
|
1344
|
+
[Chains.BaseMainnet]: "0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb"
|
|
1345
|
+
};
|
|
1346
|
+
var morphoAbi = Object.freeze([
|
|
1347
|
+
{
|
|
1348
|
+
inputs: [
|
|
1349
|
+
{
|
|
1350
|
+
components: [
|
|
1351
|
+
{ internalType: "address", name: "loanToken", type: "address" },
|
|
1352
|
+
{ internalType: "address", name: "collateralToken", type: "address" },
|
|
1353
|
+
{ internalType: "address", name: "oracle", type: "address" },
|
|
1354
|
+
{ internalType: "address", name: "irm", type: "address" },
|
|
1355
|
+
{ internalType: "uint256", name: "lltv", type: "uint256" }
|
|
1356
|
+
],
|
|
1357
|
+
internalType: "struct MarketParams",
|
|
1358
|
+
name: "marketParams",
|
|
1359
|
+
type: "tuple"
|
|
1360
|
+
},
|
|
1361
|
+
{ internalType: "uint256", name: "assets", type: "uint256" },
|
|
1362
|
+
{ internalType: "uint256", name: "shares", type: "uint256" },
|
|
1363
|
+
{ internalType: "address", name: "onBehalf", type: "address" },
|
|
1364
|
+
{ internalType: "bytes", name: "data", type: "bytes" }
|
|
1365
|
+
],
|
|
1366
|
+
name: "supply",
|
|
1367
|
+
outputs: [
|
|
1368
|
+
{ internalType: "uint256", name: "assetsSupplied", type: "uint256" },
|
|
1369
|
+
{ internalType: "uint256", name: "sharesSupplied", type: "uint256" }
|
|
1370
|
+
],
|
|
1371
|
+
stateMutability: "nonpayable",
|
|
1372
|
+
type: "function"
|
|
1373
|
+
},
|
|
1374
|
+
{
|
|
1375
|
+
inputs: [
|
|
1376
|
+
{
|
|
1377
|
+
components: [
|
|
1378
|
+
{ internalType: "address", name: "loanToken", type: "address" },
|
|
1379
|
+
{ internalType: "address", name: "collateralToken", type: "address" },
|
|
1380
|
+
{ internalType: "address", name: "oracle", type: "address" },
|
|
1381
|
+
{ internalType: "address", name: "irm", type: "address" },
|
|
1382
|
+
{ internalType: "uint256", name: "lltv", type: "uint256" }
|
|
1383
|
+
],
|
|
1384
|
+
internalType: "struct MarketParams",
|
|
1385
|
+
name: "marketParams",
|
|
1386
|
+
type: "tuple"
|
|
1387
|
+
},
|
|
1388
|
+
{ internalType: "uint256", name: "assets", type: "uint256" },
|
|
1389
|
+
{ internalType: "uint256", name: "shares", type: "uint256" },
|
|
1390
|
+
{ internalType: "address", name: "onBehalf", type: "address" },
|
|
1391
|
+
{ internalType: "address", name: "receiver", type: "address" }
|
|
1392
|
+
],
|
|
1393
|
+
name: "borrow",
|
|
1394
|
+
outputs: [
|
|
1395
|
+
{ internalType: "uint256", name: "assetsBorrowed", type: "uint256" },
|
|
1396
|
+
{ internalType: "uint256", name: "sharesBorrowed", type: "uint256" }
|
|
1397
|
+
],
|
|
1398
|
+
stateMutability: "nonpayable",
|
|
1399
|
+
type: "function"
|
|
1400
|
+
},
|
|
1401
|
+
{
|
|
1402
|
+
inputs: [
|
|
1403
|
+
{ internalType: "bytes32", name: "id", type: "bytes32" },
|
|
1404
|
+
{ internalType: "address", name: "user", type: "address" }
|
|
1405
|
+
],
|
|
1406
|
+
name: "position",
|
|
1407
|
+
outputs: [
|
|
1408
|
+
{ internalType: "uint256", name: "supplyShares", type: "uint256" },
|
|
1409
|
+
{ internalType: "uint128", name: "borrowShares", type: "uint128" },
|
|
1410
|
+
{ internalType: "uint128", name: "collateral", type: "uint128" }
|
|
1411
|
+
],
|
|
1412
|
+
stateMutability: "view",
|
|
1413
|
+
type: "function"
|
|
1414
|
+
}
|
|
1415
|
+
]);
|
|
1416
|
+
var morphoBlue = Object.freeze({
|
|
1417
|
+
morpho,
|
|
1418
|
+
morphoAbi
|
|
1419
|
+
});
|
|
1420
|
+
|
|
1421
|
+
// src/v4/protocols/rocket-pool.ts
|
|
1422
|
+
var reth = {
|
|
1423
|
+
[Chains.EthereumMainnet]: "0xae78736Cd615f374D3085123A210448E74Fc6393",
|
|
1424
|
+
[Chains.BaseMainnet]: "0xB6fe221Fe9EeF5aBa221c348bA20A1Bf5e73624c"
|
|
1425
|
+
};
|
|
1426
|
+
var rethAbi = Object.freeze([
|
|
1427
|
+
{
|
|
1428
|
+
inputs: [{ internalType: "uint256", name: "_rethAmount", type: "uint256" }],
|
|
1429
|
+
name: "burn",
|
|
1430
|
+
outputs: [],
|
|
1431
|
+
stateMutability: "nonpayable",
|
|
1432
|
+
type: "function"
|
|
1433
|
+
},
|
|
1434
|
+
{
|
|
1435
|
+
inputs: [],
|
|
1436
|
+
name: "getExchangeRate",
|
|
1437
|
+
outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
|
|
1438
|
+
stateMutability: "view",
|
|
1439
|
+
type: "function"
|
|
1440
|
+
},
|
|
1441
|
+
{
|
|
1442
|
+
inputs: [{ internalType: "uint256", name: "_rethAmount", type: "uint256" }],
|
|
1443
|
+
name: "getEthValue",
|
|
1444
|
+
outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
|
|
1445
|
+
stateMutability: "view",
|
|
1446
|
+
type: "function"
|
|
1447
|
+
}
|
|
1448
|
+
]);
|
|
1449
|
+
var rocketPool = Object.freeze({
|
|
1450
|
+
reth,
|
|
1451
|
+
rethAbi
|
|
1452
|
+
});
|
|
1453
|
+
|
|
1454
|
+
// src/v4/protocols/sky.ts
|
|
1455
|
+
var sdai = {
|
|
1456
|
+
[Chains.EthereumMainnet]: "0x83F20F44975D03b1b09e64809B757c47f942BEeA"
|
|
1457
|
+
};
|
|
1458
|
+
var sky = Object.freeze({
|
|
1459
|
+
sdai,
|
|
1460
|
+
/** Standard ERC-4626 surface — sDAI conforms exactly. */
|
|
1461
|
+
vaultAbi: erc4626VaultAbi
|
|
1462
|
+
});
|
|
1463
|
+
|
|
1464
|
+
// src/v4/protocols/spark.ts
|
|
1465
|
+
var pool2 = {
|
|
1466
|
+
[Chains.EthereumMainnet]: "0xC13e21B648A5Ee794902342038FF3aDAB66BE987"
|
|
1467
|
+
};
|
|
1468
|
+
var spark = Object.freeze({
|
|
1469
|
+
pool: pool2
|
|
1470
|
+
});
|
|
1471
|
+
|
|
1472
|
+
// src/v4/protocols/superfluid.ts
|
|
1473
|
+
var cfaForwarder = {
|
|
1474
|
+
[Chains.EthereumMainnet]: "0xcfA132E353cB4E398080B9700609bb008eceB125",
|
|
1475
|
+
[Chains.BaseMainnet]: "0xcfA132E353cB4E398080B9700609bb008eceB125"
|
|
1476
|
+
};
|
|
1477
|
+
var cfaForwarderAbi = Object.freeze([
|
|
1478
|
+
{
|
|
1479
|
+
inputs: [
|
|
1480
|
+
{ internalType: "address", name: "token", type: "address" },
|
|
1481
|
+
{ internalType: "address", name: "receiver", type: "address" },
|
|
1482
|
+
{ internalType: "int96", name: "flowrate", type: "int96" }
|
|
1483
|
+
],
|
|
1484
|
+
name: "setFlowrate",
|
|
1485
|
+
outputs: [{ internalType: "bool", name: "", type: "bool" }],
|
|
1486
|
+
stateMutability: "nonpayable",
|
|
1487
|
+
type: "function"
|
|
1488
|
+
},
|
|
1489
|
+
{
|
|
1490
|
+
inputs: [
|
|
1491
|
+
{ internalType: "address", name: "token", type: "address" },
|
|
1492
|
+
{ internalType: "address", name: "sender", type: "address" },
|
|
1493
|
+
{ internalType: "address", name: "receiver", type: "address" },
|
|
1494
|
+
{ internalType: "int96", name: "flowrate", type: "int96" },
|
|
1495
|
+
{ internalType: "bytes", name: "userData", type: "bytes" }
|
|
1496
|
+
],
|
|
1497
|
+
name: "createFlow",
|
|
1498
|
+
outputs: [{ internalType: "bool", name: "", type: "bool" }],
|
|
1499
|
+
stateMutability: "nonpayable",
|
|
1500
|
+
type: "function"
|
|
1501
|
+
}
|
|
1502
|
+
]);
|
|
1503
|
+
var superfluid = Object.freeze({
|
|
1504
|
+
cfaForwarder,
|
|
1505
|
+
cfaForwarderAbi
|
|
1506
|
+
});
|
|
1507
|
+
|
|
1508
|
+
// src/v4/protocols/uniswap-v3.ts
|
|
1509
|
+
var swapRouter02 = {
|
|
1510
|
+
[Chains.EthereumMainnet]: "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45",
|
|
1511
|
+
[Chains.Sepolia]: "0x3bFA4769FB09eefC5a80d6E87c3B9C650f7Ae48E",
|
|
1512
|
+
[Chains.BaseMainnet]: "0x2626664c2603336E57B271c5C0b26F421741e481",
|
|
1513
|
+
[Chains.BaseSepolia]: "0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4"
|
|
1514
|
+
};
|
|
1515
|
+
var quoterV2 = {
|
|
1516
|
+
[Chains.EthereumMainnet]: "0x61fFE014bA17989E743c5F6cB21bF9697530B21e",
|
|
1517
|
+
[Chains.Sepolia]: "0xEd1f6473345F45b75F8179591dd5bA1888cf2FB3",
|
|
1518
|
+
[Chains.BaseMainnet]: "0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a",
|
|
1519
|
+
[Chains.BaseSepolia]: "0xC5290058841028F1614F3A6F0F5816cAd0df5E27"
|
|
1520
|
+
};
|
|
1521
|
+
var permit2 = {
|
|
1522
|
+
[Chains.EthereumMainnet]: "0x000000000022d473030F116dDEE9F6B43aC78BA3",
|
|
1523
|
+
[Chains.Sepolia]: "0x000000000022d473030F116dDEE9F6B43aC78BA3",
|
|
1524
|
+
[Chains.BaseMainnet]: "0x000000000022d473030F116dDEE9F6B43aC78BA3",
|
|
1525
|
+
[Chains.BaseSepolia]: "0x000000000022d473030F116dDEE9F6B43aC78BA3"
|
|
1526
|
+
};
|
|
1527
|
+
var factory = {
|
|
1528
|
+
[Chains.EthereumMainnet]: "0x1F98431c8aD98523631AE4a59f267346ea31F984",
|
|
1529
|
+
[Chains.Sepolia]: "0x0227628f3F023bb0B980b67D528571c95c6DaC1c",
|
|
1530
|
+
[Chains.BaseMainnet]: "0x33128a8fC17869897dcE68Ed026d694621f6FDfD",
|
|
1531
|
+
[Chains.BaseSepolia]: "0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24"
|
|
1532
|
+
};
|
|
1533
|
+
var nonfungiblePositionManager = {
|
|
1534
|
+
[Chains.EthereumMainnet]: "0xC36442b4a4522E871399CD717aBDD847Ab11FE88",
|
|
1535
|
+
[Chains.Sepolia]: "0x1238536071E1c677A632429e3655c799b22cDA52",
|
|
1536
|
+
[Chains.BaseMainnet]: "0x03a520b32C04BF3bEEf7BEb72E919cf822Ed34f1",
|
|
1537
|
+
[Chains.BaseSepolia]: "0x27F971cb582BF9E50F397e4d29a5C7A34f11faA2"
|
|
1538
|
+
};
|
|
1539
|
+
var universalRouter = {
|
|
1540
|
+
[Chains.EthereumMainnet]: "0x66a9893cc07d91d95644aedd05d03f95e1dba8af",
|
|
1541
|
+
[Chains.Sepolia]: "0x3A9D48AB9751398BbFa63ad67599Bb04e4BdF98b",
|
|
1542
|
+
[Chains.BaseMainnet]: "0x6ff5693b99212da76ad316178a184ab56d299b43",
|
|
1543
|
+
[Chains.BaseSepolia]: "0x492e6456d9528771018deb9e87ef7750ef184104"
|
|
1544
|
+
};
|
|
1545
|
+
var swapRouter02Abi = Object.freeze([
|
|
1546
|
+
{
|
|
1547
|
+
inputs: [
|
|
1548
|
+
{
|
|
1549
|
+
components: [
|
|
1550
|
+
{ internalType: "address", name: "tokenIn", type: "address" },
|
|
1551
|
+
{ internalType: "address", name: "tokenOut", type: "address" },
|
|
1552
|
+
{ internalType: "uint24", name: "fee", type: "uint24" },
|
|
1553
|
+
{ internalType: "address", name: "recipient", type: "address" },
|
|
1554
|
+
{ internalType: "uint256", name: "amountIn", type: "uint256" },
|
|
1555
|
+
{ internalType: "uint256", name: "amountOutMinimum", type: "uint256" },
|
|
1556
|
+
{ internalType: "uint160", name: "sqrtPriceLimitX96", type: "uint160" }
|
|
1557
|
+
],
|
|
1558
|
+
internalType: "struct IV3SwapRouter.ExactInputSingleParams",
|
|
1559
|
+
name: "params",
|
|
1560
|
+
type: "tuple"
|
|
1561
|
+
}
|
|
1562
|
+
],
|
|
1563
|
+
name: "exactInputSingle",
|
|
1564
|
+
outputs: [{ internalType: "uint256", name: "amountOut", type: "uint256" }],
|
|
1565
|
+
stateMutability: "payable",
|
|
1566
|
+
type: "function"
|
|
1567
|
+
},
|
|
1568
|
+
{
|
|
1569
|
+
inputs: [
|
|
1570
|
+
{
|
|
1571
|
+
components: [
|
|
1572
|
+
{ internalType: "address", name: "tokenIn", type: "address" },
|
|
1573
|
+
{ internalType: "address", name: "tokenOut", type: "address" },
|
|
1574
|
+
{ internalType: "uint24", name: "fee", type: "uint24" },
|
|
1575
|
+
{ internalType: "address", name: "recipient", type: "address" },
|
|
1576
|
+
{ internalType: "uint256", name: "amountOut", type: "uint256" },
|
|
1577
|
+
{ internalType: "uint256", name: "amountInMaximum", type: "uint256" },
|
|
1578
|
+
{ internalType: "uint160", name: "sqrtPriceLimitX96", type: "uint160" }
|
|
1579
|
+
],
|
|
1580
|
+
internalType: "struct IV3SwapRouter.ExactOutputSingleParams",
|
|
1581
|
+
name: "params",
|
|
1582
|
+
type: "tuple"
|
|
1583
|
+
}
|
|
1584
|
+
],
|
|
1585
|
+
name: "exactOutputSingle",
|
|
1586
|
+
outputs: [{ internalType: "uint256", name: "amountIn", type: "uint256" }],
|
|
1587
|
+
stateMutability: "payable",
|
|
1588
|
+
type: "function"
|
|
1589
|
+
}
|
|
1590
|
+
]);
|
|
1591
|
+
var quoterV2Abi = Object.freeze([
|
|
1592
|
+
{
|
|
1593
|
+
inputs: [
|
|
1594
|
+
{
|
|
1595
|
+
components: [
|
|
1596
|
+
{ internalType: "address", name: "tokenIn", type: "address" },
|
|
1597
|
+
{ internalType: "address", name: "tokenOut", type: "address" },
|
|
1598
|
+
{ internalType: "uint256", name: "amountIn", type: "uint256" },
|
|
1599
|
+
{ internalType: "uint24", name: "fee", type: "uint24" },
|
|
1600
|
+
{ internalType: "uint160", name: "sqrtPriceLimitX96", type: "uint160" }
|
|
1601
|
+
],
|
|
1602
|
+
internalType: "struct IQuoterV2.QuoteExactInputSingleParams",
|
|
1603
|
+
name: "params",
|
|
1604
|
+
type: "tuple"
|
|
1605
|
+
}
|
|
1606
|
+
],
|
|
1607
|
+
name: "quoteExactInputSingle",
|
|
1608
|
+
outputs: [
|
|
1609
|
+
{ internalType: "uint256", name: "amountOut", type: "uint256" },
|
|
1610
|
+
{ internalType: "uint160", name: "sqrtPriceX96After", type: "uint160" },
|
|
1611
|
+
{ internalType: "uint32", name: "initializedTicksCrossed", type: "uint32" },
|
|
1612
|
+
{ internalType: "uint256", name: "gasEstimate", type: "uint256" }
|
|
1613
|
+
],
|
|
1614
|
+
stateMutability: "nonpayable",
|
|
1615
|
+
type: "function"
|
|
1616
|
+
}
|
|
1617
|
+
]);
|
|
1618
|
+
var factoryAbi = Object.freeze([
|
|
1619
|
+
{
|
|
1620
|
+
inputs: [
|
|
1621
|
+
{ internalType: "address", name: "tokenA", type: "address" },
|
|
1622
|
+
{ internalType: "address", name: "tokenB", type: "address" },
|
|
1623
|
+
{ internalType: "uint24", name: "fee", type: "uint24" }
|
|
1624
|
+
],
|
|
1625
|
+
name: "getPool",
|
|
1626
|
+
outputs: [{ internalType: "address", name: "pool", type: "address" }],
|
|
1627
|
+
stateMutability: "view",
|
|
1628
|
+
type: "function"
|
|
1629
|
+
}
|
|
1630
|
+
]);
|
|
1631
|
+
var tokens2 = Object.freeze({
|
|
1632
|
+
WETH: {
|
|
1633
|
+
[Chains.Sepolia]: "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14",
|
|
1634
|
+
[Chains.EthereumMainnet]: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
|
|
1635
|
+
[Chains.BaseMainnet]: "0x4200000000000000000000000000000000000006",
|
|
1636
|
+
[Chains.BaseSepolia]: "0x4200000000000000000000000000000000000006"
|
|
1637
|
+
},
|
|
1638
|
+
USDC: {
|
|
1639
|
+
[Chains.Sepolia]: "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238",
|
|
1640
|
+
[Chains.EthereumMainnet]: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
|
|
1641
|
+
[Chains.BaseMainnet]: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
|
|
1642
|
+
[Chains.BaseSepolia]: "0x036CbD53842c5426634e7929541eC2318f3dCF7e"
|
|
1643
|
+
}
|
|
1644
|
+
});
|
|
1645
|
+
var uniswapV3 = Object.freeze({
|
|
1646
|
+
swapRouter02,
|
|
1647
|
+
quoterV2,
|
|
1648
|
+
permit2,
|
|
1649
|
+
factory,
|
|
1650
|
+
nonfungiblePositionManager,
|
|
1651
|
+
universalRouter,
|
|
1652
|
+
swapRouter02Abi,
|
|
1653
|
+
quoterV2Abi,
|
|
1654
|
+
factoryAbi,
|
|
1655
|
+
tokens: tokens2
|
|
1656
|
+
});
|
|
1657
|
+
|
|
1658
|
+
// src/v4/protocols/wrapped.ts
|
|
1659
|
+
var weth = {
|
|
1660
|
+
[Chains.EthereumMainnet]: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
|
|
1661
|
+
[Chains.Sepolia]: "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14",
|
|
1662
|
+
[Chains.BaseMainnet]: "0x4200000000000000000000000000000000000006",
|
|
1663
|
+
[Chains.BaseSepolia]: "0x4200000000000000000000000000000000000006"
|
|
1664
|
+
};
|
|
1665
|
+
var wethAbi = Object.freeze([
|
|
1666
|
+
{
|
|
1667
|
+
inputs: [],
|
|
1668
|
+
name: "deposit",
|
|
1669
|
+
outputs: [],
|
|
1670
|
+
stateMutability: "payable",
|
|
1671
|
+
type: "function"
|
|
1672
|
+
},
|
|
1673
|
+
{
|
|
1674
|
+
inputs: [{ internalType: "uint256", name: "wad", type: "uint256" }],
|
|
1675
|
+
name: "withdraw",
|
|
1676
|
+
outputs: [],
|
|
1677
|
+
stateMutability: "nonpayable",
|
|
1678
|
+
type: "function"
|
|
1679
|
+
},
|
|
1680
|
+
{
|
|
1681
|
+
inputs: [
|
|
1682
|
+
{ internalType: "address", name: "guy", type: "address" },
|
|
1683
|
+
{ internalType: "uint256", name: "wad", type: "uint256" }
|
|
1684
|
+
],
|
|
1685
|
+
name: "approve",
|
|
1686
|
+
outputs: [{ internalType: "bool", name: "", type: "bool" }],
|
|
1687
|
+
stateMutability: "nonpayable",
|
|
1688
|
+
type: "function"
|
|
1689
|
+
},
|
|
1690
|
+
{
|
|
1691
|
+
inputs: [{ internalType: "address", name: "", type: "address" }],
|
|
1692
|
+
name: "balanceOf",
|
|
1693
|
+
outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
|
|
1694
|
+
stateMutability: "view",
|
|
1695
|
+
type: "function"
|
|
1696
|
+
}
|
|
1697
|
+
]);
|
|
1698
|
+
var wrapped = Object.freeze({
|
|
1699
|
+
weth,
|
|
1700
|
+
wethAbi
|
|
1701
|
+
});
|
|
1702
|
+
|
|
1703
|
+
// src/v4/protocols/index.ts
|
|
1704
|
+
var Protocols = Object.freeze({
|
|
1705
|
+
aaveV3,
|
|
1706
|
+
aerodrome,
|
|
1707
|
+
chainlink,
|
|
1708
|
+
compoundV3,
|
|
1709
|
+
erc20,
|
|
1710
|
+
ethena,
|
|
1711
|
+
fraxEther,
|
|
1712
|
+
lido,
|
|
1713
|
+
morphoBlue,
|
|
1714
|
+
rocketPool,
|
|
1715
|
+
sky,
|
|
1716
|
+
spark,
|
|
1717
|
+
superfluid,
|
|
1718
|
+
uniswapV3,
|
|
1719
|
+
wrapped
|
|
1720
|
+
});
|
|
862
1721
|
// Annotate the CommonJS export names for ESM import in node:
|
|
863
1722
|
0 && (module.exports = {
|
|
864
1723
|
APIError,
|
|
@@ -873,6 +1732,7 @@ var Nodes = Object.freeze({
|
|
|
873
1732
|
Nodes,
|
|
874
1733
|
NodesResource,
|
|
875
1734
|
OperatorsResource,
|
|
1735
|
+
Protocols,
|
|
876
1736
|
SecretsResource,
|
|
877
1737
|
TokensResource,
|
|
878
1738
|
Triggers,
|