@defisaver/positions-sdk 2.1.33 → 2.1.35
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/cjs/config/contracts.d.ts +91 -0
- package/cjs/config/contracts.js +9 -1
- package/cjs/contracts.d.ts +629 -0
- package/cjs/contracts.js +2 -1
- package/cjs/markets/aave/marketAssets.js +1 -1
- package/cjs/savings/index.d.ts +4 -3
- package/cjs/savings/index.js +43 -12
- package/cjs/savings/skyOptions/index.d.ts +7 -0
- package/cjs/savings/skyOptions/index.js +122 -0
- package/cjs/savings/skyOptions/options.d.ts +2 -0
- package/cjs/savings/skyOptions/options.js +11 -0
- package/cjs/types/savings/index.d.ts +3 -1
- package/cjs/types/savings/index.js +1 -0
- package/cjs/types/savings/sky.d.ts +11 -0
- package/cjs/types/savings/sky.js +7 -0
- package/esm/config/contracts.d.ts +91 -0
- package/esm/config/contracts.js +8 -0
- package/esm/contracts.d.ts +629 -0
- package/esm/contracts.js +1 -0
- package/esm/markets/aave/marketAssets.js +1 -1
- package/esm/savings/index.d.ts +4 -3
- package/esm/savings/index.js +43 -13
- package/esm/savings/skyOptions/index.d.ts +7 -0
- package/esm/savings/skyOptions/index.js +81 -0
- package/esm/savings/skyOptions/options.d.ts +2 -0
- package/esm/savings/skyOptions/options.js +8 -0
- package/esm/types/savings/index.d.ts +3 -1
- package/esm/types/savings/index.js +1 -0
- package/esm/types/savings/sky.d.ts +11 -0
- package/esm/types/savings/sky.js +4 -0
- package/package.json +1 -1
- package/src/aaveV3/index.ts +14 -3
- package/src/config/contracts.ts +8 -0
- package/src/contracts.ts +3 -1
- package/src/markets/aave/marketAssets.ts +1 -1
- package/src/savings/index.ts +38 -11
- package/src/savings/skyOptions/index.ts +95 -0
- package/src/savings/skyOptions/options.ts +9 -0
- package/src/types/savings/index.ts +3 -1
- package/src/types/savings/sky.ts +13 -0
package/cjs/savings/index.js
CHANGED
|
@@ -42,7 +42,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
42
42
|
});
|
|
43
43
|
};
|
|
44
44
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
-
exports.getSavingsData = exports.sparkSavingsVaults = exports.makerDsr = exports.yearnVaults = exports.morphoVaults = void 0;
|
|
45
|
+
exports.getSavingsData = exports.sparkSavingsVaults = exports.skyOptions = exports.makerDsr = exports.yearnVaults = exports.morphoVaults = void 0;
|
|
46
46
|
const types_1 = require("../types");
|
|
47
47
|
const morphoVaults = __importStar(require("./morphoVaults"));
|
|
48
48
|
exports.morphoVaults = morphoVaults;
|
|
@@ -50,6 +50,8 @@ const yearnVaults = __importStar(require("./yearnVaults"));
|
|
|
50
50
|
exports.yearnVaults = yearnVaults;
|
|
51
51
|
const makerDsr = __importStar(require("./makerDsr"));
|
|
52
52
|
exports.makerDsr = makerDsr;
|
|
53
|
+
const skyOptions = __importStar(require("./skyOptions"));
|
|
54
|
+
exports.skyOptions = skyOptions;
|
|
53
55
|
const sparkSavingsVaults = __importStar(require("./sparkSavingsVaults"));
|
|
54
56
|
exports.sparkSavingsVaults = sparkSavingsVaults;
|
|
55
57
|
const getSavingsData = (provider, network, accounts) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -59,23 +61,52 @@ const getSavingsData = (provider, network, accounts) => __awaiter(void 0, void 0
|
|
|
59
61
|
const savingsData = {};
|
|
60
62
|
yield Promise.all([
|
|
61
63
|
...morphoVaultsList.map((vaultKey) => __awaiter(void 0, void 0, void 0, function* () {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
64
|
+
try {
|
|
65
|
+
const vault = morphoVaults.morphoVaultsOptions.getMorphoVault(vaultKey);
|
|
66
|
+
const data = yield morphoVaults.getMorphoVaultData(provider, network, vault, accounts);
|
|
67
|
+
savingsData[vaultKey] = data;
|
|
68
|
+
}
|
|
69
|
+
catch (err) {
|
|
70
|
+
console.error(`[getSavingsData] Error fetching morpho vault ${vaultKey}:`, err);
|
|
71
|
+
}
|
|
65
72
|
})),
|
|
66
73
|
...yearnVaultsList.map((vaultKey) => __awaiter(void 0, void 0, void 0, function* () {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
74
|
+
try {
|
|
75
|
+
const vault = yearnVaults.yearnVaultsOptions.getYearnVault(vaultKey);
|
|
76
|
+
const data = yield yearnVaults.getYearnVaultData(provider, network, vault, accounts);
|
|
77
|
+
savingsData[vaultKey] = data;
|
|
78
|
+
}
|
|
79
|
+
catch (err) {
|
|
80
|
+
console.error(`[getSavingsData] Error fetching yearn vault ${vaultKey}:`, err);
|
|
81
|
+
}
|
|
70
82
|
})),
|
|
71
83
|
...sparkSavingsVaultsList.map((vaultKey) => __awaiter(void 0, void 0, void 0, function* () {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
84
|
+
try {
|
|
85
|
+
const vault = sparkSavingsVaults.sparkSavingsVaultsOptions.getSparkSavingsVault(vaultKey);
|
|
86
|
+
const data = yield sparkSavingsVaults.getSparkSavingsVaultData(provider, network, vault, accounts);
|
|
87
|
+
savingsData[vaultKey] = data;
|
|
88
|
+
}
|
|
89
|
+
catch (err) {
|
|
90
|
+
console.error(`[getSavingsData] Error fetching yearn vault ${vaultKey}:`, err);
|
|
91
|
+
}
|
|
75
92
|
})),
|
|
76
93
|
(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
77
|
-
|
|
78
|
-
|
|
94
|
+
try {
|
|
95
|
+
const data = yield makerDsr.getMakerDsrData(provider, network, accounts);
|
|
96
|
+
savingsData[types_1.MakerDsrType.MakerDsrVault] = data;
|
|
97
|
+
}
|
|
98
|
+
catch (err) {
|
|
99
|
+
console.error('[getSavingsData] Error fetching maker DSR data:', err);
|
|
100
|
+
}
|
|
101
|
+
}))(),
|
|
102
|
+
(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
103
|
+
try {
|
|
104
|
+
const data = yield skyOptions.getSkyOptionData(provider, network, accounts);
|
|
105
|
+
savingsData[types_1.SkySavingsType.SkySavings] = data;
|
|
106
|
+
}
|
|
107
|
+
catch (err) {
|
|
108
|
+
console.error('[getSavingsData] Error fetching Sky savings data:', err);
|
|
109
|
+
}
|
|
79
110
|
}))(),
|
|
80
111
|
]);
|
|
81
112
|
return savingsData;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Client } from 'viem';
|
|
2
|
+
import { EthAddress, EthereumProvider, NetworkNumber } from '../../types/common';
|
|
3
|
+
import { SavingsVaultData } from '../../types';
|
|
4
|
+
import * as skySavingsOptions from './options';
|
|
5
|
+
export { skySavingsOptions };
|
|
6
|
+
export declare const _getSkyOptionData: (provider: Client, network: NetworkNumber, accounts: EthAddress[]) => Promise<SavingsVaultData>;
|
|
7
|
+
export declare function getSkyOptionData(provider: EthereumProvider, network: NetworkNumber, accounts: EthAddress[]): Promise<SavingsVaultData>;
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
45
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
46
|
+
};
|
|
47
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
|
+
exports._getSkyOptionData = exports.skySavingsOptions = void 0;
|
|
49
|
+
exports.getSkyOptionData = getSkyOptionData;
|
|
50
|
+
const decimal_js_1 = __importDefault(require("decimal.js"));
|
|
51
|
+
const tokens_1 = require("@defisaver/tokens");
|
|
52
|
+
const skySavingsOptions = __importStar(require("./options"));
|
|
53
|
+
exports.skySavingsOptions = skySavingsOptions;
|
|
54
|
+
const viem_1 = require("../../services/viem");
|
|
55
|
+
const options_1 = require("./options");
|
|
56
|
+
const contracts_1 = require("../../contracts");
|
|
57
|
+
/**
|
|
58
|
+
* Converts shares to assets using ERC4626 standard formula
|
|
59
|
+
* Formula: assets = shares * totalAssets / totalSupply
|
|
60
|
+
*
|
|
61
|
+
* @param shares - The amount of shares to convert
|
|
62
|
+
* @param totalAssets - Total assets in the vault
|
|
63
|
+
* @param totalSupply - Total supply of shares
|
|
64
|
+
* @returns The equivalent amount of assets
|
|
65
|
+
*/
|
|
66
|
+
const convertToAssets = (shares, totalAssets, totalSupply) => {
|
|
67
|
+
// If no shares or no total supply, return 0 (or shares if totalSupply is 0 per ERC4626 spec)
|
|
68
|
+
if (shares === BigInt(0)) {
|
|
69
|
+
return BigInt(0);
|
|
70
|
+
}
|
|
71
|
+
// Per ERC4626 spec: if totalSupply == 0, return shares (1:1 ratio)
|
|
72
|
+
if (totalSupply === BigInt(0)) {
|
|
73
|
+
return shares;
|
|
74
|
+
}
|
|
75
|
+
// Standard ERC4626 formula: assets = shares * totalAssets / totalSupply
|
|
76
|
+
return BigInt(new decimal_js_1.default(shares.toString())
|
|
77
|
+
.mul(totalAssets.toString())
|
|
78
|
+
.div(totalSupply.toString())
|
|
79
|
+
.toFixed(0));
|
|
80
|
+
};
|
|
81
|
+
const _getSkyOptionData = (provider, network, accounts) => __awaiter(void 0, void 0, void 0, function* () {
|
|
82
|
+
const skySavingsContract = (0, contracts_1.SkySavingsContractView)(provider, network);
|
|
83
|
+
const shares = {};
|
|
84
|
+
const [totalAssets, totalSupply] = yield Promise.all([
|
|
85
|
+
skySavingsContract.read.totalAssets(),
|
|
86
|
+
skySavingsContract.read.totalSupply(),
|
|
87
|
+
...accounts.map((account) => __awaiter(void 0, void 0, void 0, function* () {
|
|
88
|
+
const share = yield skySavingsContract.read.balanceOf([account]);
|
|
89
|
+
shares[account.toLowerCase()] = share;
|
|
90
|
+
return share;
|
|
91
|
+
})),
|
|
92
|
+
]);
|
|
93
|
+
const poolSize = (0, tokens_1.assetAmountInEth)(totalAssets.toString(), options_1.SKY_SAVINGS_OPTION.asset);
|
|
94
|
+
const supplied = {};
|
|
95
|
+
accounts.forEach((account) => {
|
|
96
|
+
const normalizedAccount = account.toLowerCase();
|
|
97
|
+
const share = shares[normalizedAccount] || BigInt(0);
|
|
98
|
+
// Use local convertToAssets for each account to convert sUSDS shares to USDS assets
|
|
99
|
+
const assetsWei = convertToAssets(share, totalAssets, totalSupply);
|
|
100
|
+
const suppliedAmount = (0, tokens_1.assetAmountInEth)(assetsWei.toString(), options_1.SKY_SAVINGS_OPTION.asset);
|
|
101
|
+
supplied[normalizedAccount] = suppliedAmount;
|
|
102
|
+
});
|
|
103
|
+
return {
|
|
104
|
+
poolSize,
|
|
105
|
+
supplied,
|
|
106
|
+
liquidity: poolSize,
|
|
107
|
+
asset: options_1.SKY_SAVINGS_OPTION.asset,
|
|
108
|
+
optionType: options_1.SKY_SAVINGS_OPTION.type,
|
|
109
|
+
};
|
|
110
|
+
});
|
|
111
|
+
exports._getSkyOptionData = _getSkyOptionData;
|
|
112
|
+
function getSkyOptionData(provider, network, accounts) {
|
|
113
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
114
|
+
return (0, exports._getSkyOptionData)((0, viem_1.getViemProvider)(provider, network, {
|
|
115
|
+
batch: {
|
|
116
|
+
multicall: {
|
|
117
|
+
batchSize: 2500000,
|
|
118
|
+
},
|
|
119
|
+
},
|
|
120
|
+
}), network, accounts);
|
|
121
|
+
});
|
|
122
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SKY_SAVINGS_OPTION = void 0;
|
|
4
|
+
const types_1 = require("../../types");
|
|
5
|
+
exports.SKY_SAVINGS_OPTION = {
|
|
6
|
+
type: types_1.SkySavingsType.SkySavings,
|
|
7
|
+
name: 'Sky Savings',
|
|
8
|
+
asset: 'USDS',
|
|
9
|
+
address: '0xa3931d71877C0E7a3148CB7Eb4463524FEc27fbD',
|
|
10
|
+
isLegacy: false,
|
|
11
|
+
};
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { EthAddress } from '../common';
|
|
2
2
|
import { MakerDsrType } from './makerDsr';
|
|
3
3
|
import { MorphoVaultType } from './morphoVaults';
|
|
4
|
+
import { SkySavingsType } from './sky';
|
|
4
5
|
import { SparkSavingsVaultType } from './sparkSavingsVaults';
|
|
5
6
|
import { YearnVaultType } from './yearnVaults';
|
|
6
7
|
export * from './morphoVaults';
|
|
7
8
|
export * from './yearnVaults';
|
|
8
9
|
export * from './makerDsr';
|
|
10
|
+
export * from './sky';
|
|
9
11
|
export * from './sparkSavingsVaults';
|
|
10
12
|
export interface SavingsVaultData {
|
|
11
13
|
poolSize: string;
|
|
@@ -14,4 +16,4 @@ export interface SavingsVaultData {
|
|
|
14
16
|
asset: string;
|
|
15
17
|
optionType: string;
|
|
16
18
|
}
|
|
17
|
-
export type SavingsData = Partial<Record<MorphoVaultType | YearnVaultType | MakerDsrType | SparkSavingsVaultType, SavingsVaultData>>;
|
|
19
|
+
export type SavingsData = Partial<Record<MorphoVaultType | YearnVaultType | MakerDsrType | SkySavingsType | SparkSavingsVaultType, SavingsVaultData>>;
|
|
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./morphoVaults"), exports);
|
|
18
18
|
__exportStar(require("./yearnVaults"), exports);
|
|
19
19
|
__exportStar(require("./makerDsr"), exports);
|
|
20
|
+
__exportStar(require("./sky"), exports);
|
|
20
21
|
__exportStar(require("./sparkSavingsVaults"), exports);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SkySavingsType = void 0;
|
|
4
|
+
var SkySavingsType;
|
|
5
|
+
(function (SkySavingsType) {
|
|
6
|
+
SkySavingsType["SkySavings"] = "sky_savings";
|
|
7
|
+
})(SkySavingsType || (exports.SkySavingsType = SkySavingsType = {}));
|
|
@@ -85392,3 +85392,94 @@ export declare const SparkSavingsVault: {
|
|
|
85392
85392
|
readonly type: "function";
|
|
85393
85393
|
}];
|
|
85394
85394
|
};
|
|
85395
|
+
export declare const SkySavings: {
|
|
85396
|
+
readonly abi: readonly [{
|
|
85397
|
+
readonly inputs: readonly [{
|
|
85398
|
+
readonly internalType: "address";
|
|
85399
|
+
readonly name: "implementation";
|
|
85400
|
+
readonly type: "address";
|
|
85401
|
+
}, {
|
|
85402
|
+
readonly internalType: "bytes";
|
|
85403
|
+
readonly name: "_data";
|
|
85404
|
+
readonly type: "bytes";
|
|
85405
|
+
}];
|
|
85406
|
+
readonly stateMutability: "payable";
|
|
85407
|
+
readonly type: "constructor";
|
|
85408
|
+
}, {
|
|
85409
|
+
readonly inputs: readonly [{
|
|
85410
|
+
readonly internalType: "address";
|
|
85411
|
+
readonly name: "target";
|
|
85412
|
+
readonly type: "address";
|
|
85413
|
+
}];
|
|
85414
|
+
readonly name: "AddressEmptyCode";
|
|
85415
|
+
readonly type: "error";
|
|
85416
|
+
}, {
|
|
85417
|
+
readonly inputs: readonly [{
|
|
85418
|
+
readonly internalType: "address";
|
|
85419
|
+
readonly name: "implementation";
|
|
85420
|
+
readonly type: "address";
|
|
85421
|
+
}];
|
|
85422
|
+
readonly name: "ERC1967InvalidImplementation";
|
|
85423
|
+
readonly type: "error";
|
|
85424
|
+
}, {
|
|
85425
|
+
readonly inputs: readonly [];
|
|
85426
|
+
readonly name: "ERC1967NonPayable";
|
|
85427
|
+
readonly type: "error";
|
|
85428
|
+
}, {
|
|
85429
|
+
readonly inputs: readonly [];
|
|
85430
|
+
readonly name: "FailedInnerCall";
|
|
85431
|
+
readonly type: "error";
|
|
85432
|
+
}, {
|
|
85433
|
+
readonly anonymous: false;
|
|
85434
|
+
readonly inputs: readonly [{
|
|
85435
|
+
readonly indexed: true;
|
|
85436
|
+
readonly internalType: "address";
|
|
85437
|
+
readonly name: "implementation";
|
|
85438
|
+
readonly type: "address";
|
|
85439
|
+
}];
|
|
85440
|
+
readonly name: "Upgraded";
|
|
85441
|
+
readonly type: "event";
|
|
85442
|
+
}, {
|
|
85443
|
+
readonly stateMutability: "payable";
|
|
85444
|
+
readonly type: "fallback";
|
|
85445
|
+
}, {
|
|
85446
|
+
readonly inputs: readonly [{
|
|
85447
|
+
readonly internalType: "address";
|
|
85448
|
+
readonly name: "account";
|
|
85449
|
+
readonly type: "address";
|
|
85450
|
+
}];
|
|
85451
|
+
readonly name: "balanceOf";
|
|
85452
|
+
readonly outputs: readonly [{
|
|
85453
|
+
readonly internalType: "uint256";
|
|
85454
|
+
readonly name: "";
|
|
85455
|
+
readonly type: "uint256";
|
|
85456
|
+
}];
|
|
85457
|
+
readonly stateMutability: "view";
|
|
85458
|
+
readonly type: "function";
|
|
85459
|
+
}, {
|
|
85460
|
+
readonly inputs: readonly [];
|
|
85461
|
+
readonly name: "totalAssets";
|
|
85462
|
+
readonly outputs: readonly [{
|
|
85463
|
+
readonly internalType: "uint256";
|
|
85464
|
+
readonly name: "";
|
|
85465
|
+
readonly type: "uint256";
|
|
85466
|
+
}];
|
|
85467
|
+
readonly stateMutability: "view";
|
|
85468
|
+
readonly type: "function";
|
|
85469
|
+
}, {
|
|
85470
|
+
readonly inputs: readonly [];
|
|
85471
|
+
readonly name: "totalSupply";
|
|
85472
|
+
readonly outputs: readonly [{
|
|
85473
|
+
readonly internalType: "uint256";
|
|
85474
|
+
readonly name: "";
|
|
85475
|
+
readonly type: "uint256";
|
|
85476
|
+
}];
|
|
85477
|
+
readonly stateMutability: "view";
|
|
85478
|
+
readonly type: "function";
|
|
85479
|
+
}];
|
|
85480
|
+
readonly networks: {
|
|
85481
|
+
readonly "1": {
|
|
85482
|
+
readonly address: "0xa3931d71877C0E7a3148CB7Eb4463524FEc27fbD";
|
|
85483
|
+
};
|
|
85484
|
+
};
|
|
85485
|
+
};
|
package/esm/config/contracts.js
CHANGED
|
@@ -1281,3 +1281,11 @@ export const MakerDsr = {
|
|
|
1281
1281
|
export const SparkSavingsVault = {
|
|
1282
1282
|
"abi": [{ "inputs": [{ "internalType": "address", "name": "", "type": "address" }], "name": "balanceOf", "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [{ "internalType": "uint8", "name": "", "type": "uint8" }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "nowChi", "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "RAY", "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalAssets", "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], "stateMutability": "view", "type": "function" }]
|
|
1283
1283
|
};
|
|
1284
|
+
export const SkySavings = {
|
|
1285
|
+
"abi": [{ "inputs": [{ "internalType": "address", "name": "implementation", "type": "address" }, { "internalType": "bytes", "name": "_data", "type": "bytes" }], "stateMutability": "payable", "type": "constructor" }, { "inputs": [{ "internalType": "address", "name": "target", "type": "address" }], "name": "AddressEmptyCode", "type": "error" }, { "inputs": [{ "internalType": "address", "name": "implementation", "type": "address" }], "name": "ERC1967InvalidImplementation", "type": "error" }, { "inputs": [], "name": "ERC1967NonPayable", "type": "error" }, { "inputs": [], "name": "FailedInnerCall", "type": "error" }, { "anonymous": false, "inputs": [{ "indexed": true, "internalType": "address", "name": "implementation", "type": "address" }], "name": "Upgraded", "type": "event" }, { "stateMutability": "payable", "type": "fallback" }, { "inputs": [{ "internalType": "address", "name": "account", "type": "address" }], "name": "balanceOf", "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalAssets", "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], "stateMutability": "view", "type": "function" }],
|
|
1286
|
+
"networks": {
|
|
1287
|
+
"1": {
|
|
1288
|
+
"address": "0xa3931d71877C0E7a3148CB7Eb4463524FEc27fbD",
|
|
1289
|
+
}
|
|
1290
|
+
}
|
|
1291
|
+
};
|