@ape.swap/bonds-sdk 1.0.358 → 1.0.360

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.
@@ -1,293 +0,0 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
- return new (P || (P = Promise))(function (resolve, reject) {
15
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
- step((generator = generator.apply(thisArg, _arguments || [])).next());
19
- });
20
- };
21
- var __generator = (this && this.__generator) || function (thisArg, body) {
22
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
- function verb(n) { return function (v) { return step([n, v]); }; }
25
- function step(op) {
26
- if (f) throw new TypeError("Generator is already executing.");
27
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
28
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
- if (y = 0, t) op = [op[0] & 2, t.value];
30
- switch (op[0]) {
31
- case 0: case 1: t = op; break;
32
- case 4: _.label++; return { value: op[1], done: false };
33
- case 5: _.label++; y = op[1]; op = [0]; continue;
34
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
- default:
36
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
- if (t[2]) _.ops.pop();
41
- _.trys.pop(); continue;
42
- }
43
- op = body.call(thisArg, _);
44
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
- }
47
- };
48
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
49
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
50
- if (ar || !(i in from)) {
51
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
52
- ar[i] = from[i];
53
- }
54
- }
55
- return to.concat(ar || Array.prototype.slice.call(from));
56
- };
57
- var _a;
58
- import { createSlice } from '@reduxjs/toolkit';
59
- import { fetchUserOwnedBills, fetchUserOwnedBillNftData } from './fetchBillsUser';
60
- import fetchBills from './fetchBills';
61
- import axios from 'axios';
62
- import { MAINNET_CHAINS } from '../../config/constants/chains';
63
- import { bondsRealTimeApi } from '../../config/constants/api';
64
- import { ACF_TO_ABOND } from '../../config/constants/addresses';
65
- import { BillVersion } from '../../enum/apeswaplists';
66
- var initialState = {
67
- isListFetched: false,
68
- data: [],
69
- };
70
- export var billsSlice = createSlice({
71
- name: 'Bills',
72
- initialState: initialState,
73
- reducers: {
74
- setBillsList: function (state, action) {
75
- var liveBillsData = action.payload.value;
76
- state.data = liveBillsData;
77
- state.isListFetched = true;
78
- },
79
- setBillsPublicData: function (state, action) {
80
- var liveBillsData = action.payload.value;
81
- state.data = state.data.map(function (bill) {
82
- var liveBillData = liveBillsData.find(function (entry) { return entry.index === bill.index; });
83
- return __assign(__assign({}, bill), liveBillData);
84
- });
85
- },
86
- setUserOwnedBillsData: function (state, action) {
87
- var userData = action.payload.value;
88
- userData.forEach(function (data) {
89
- var indexToUpdate = state.data.findIndex(function (bill) { return bill.index === data.index; });
90
- if (indexToUpdate !== -1) {
91
- state.data[indexToUpdate].userOwnedBillsData = data.userOwnedBills;
92
- }
93
- });
94
- },
95
- setUserOwnedBillsNftData: function (state, action) {
96
- var userData = action.payload.value;
97
- userData.forEach(function (data) {
98
- var indexToUpdate = state.data.findIndex(function (bill) { return bill.index === data.index; });
99
- if (indexToUpdate !== -1) {
100
- state.data[indexToUpdate].userOwnedBillsNftData = data === null || data === void 0 ? void 0 : data.userOwnedBillsNfts;
101
- }
102
- });
103
- },
104
- },
105
- });
106
- // Actions
107
- export var setBillsList = (_a = billsSlice.actions, _a.setBillsList), setBillsPublicData = _a.setBillsPublicData, setUserOwnedBillsData = _a.setUserOwnedBillsData, setUserOwnedBillsNftData = _a.setUserOwnedBillsNftData;
108
- // Thunks
109
- export var fetchBondsStats = function (tokenPrices) {
110
- return function (dispatch, getState) { return __awaiter(void 0, void 0, void 0, function () {
111
- var bondsFromState, res, bondsApiData_1, bondsData, error_1;
112
- var _a, _b, _c, _d;
113
- return __generator(this, function (_e) {
114
- switch (_e.label) {
115
- case 0:
116
- bondsFromState = (_b = (_a = getState()) === null || _a === void 0 ? void 0 : _a.bills) === null || _b === void 0 ? void 0 : _b.data;
117
- if (!(bondsFromState && bondsFromState.length > 0)) return [3 /*break*/, 4];
118
- _e.label = 1;
119
- case 1:
120
- _e.trys.push([1, 3, , 4]);
121
- // Try real time API endpoint first
122
- console.log('Attempting to fetch data from api');
123
- return [4 /*yield*/, axios.get(bondsRealTimeApi, { timeout: 2500 })];
124
- case 2:
125
- res = _e.sent();
126
- bondsApiData_1 = (_d = (_c = res === null || res === void 0 ? void 0 : res.data) === null || _c === void 0 ? void 0 : _c.bonds) === null || _d === void 0 ? void 0 : _d.map(function (bond) {
127
- return parseBondApiData(bond);
128
- });
129
- if (bondsApiData_1 && bondsApiData_1.length > 0) {
130
- bondsData = bondsFromState.map(function (bondFromState) {
131
- var billApiData = bondsApiData_1.find(function (bond) { return bond.index === bondFromState.index; });
132
- return __assign(__assign({}, bondFromState), billApiData);
133
- });
134
- console.log('Save data from api');
135
- dispatch(setBillsPublicData({ value: bondsData }));
136
- }
137
- return [3 /*break*/, 4];
138
- case 3:
139
- error_1 = _e.sent();
140
- // If API is down/fails load stats manually
141
- console.log(error_1);
142
- console.log('Bonds api fetching failed, using fallback strategy');
143
- if (tokenPrices.length > 0) {
144
- MAINNET_CHAINS.map(function (chainId) { return __awaiter(void 0, void 0, void 0, function () {
145
- var bills, returnedBills;
146
- var _a, _b, _c;
147
- return __generator(this, function (_d) {
148
- switch (_d.label) {
149
- case 0:
150
- bills = (_c = (_b = (_a = getState()) === null || _a === void 0 ? void 0 : _a.bills) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c.filter(function (bill) {
151
- var _a, _b;
152
- // @ts-ignore
153
- return ((_b = (_a = bill === null || bill === void 0 ? void 0 : bill.contractAddress) === null || _a === void 0 ? void 0 : _a[chainId]) === null || _b === void 0 ? void 0 : _b.toLowerCase()) !== ACF_TO_ABOND.toLowerCase() &&
154
- !bill.soldOut &&
155
- //@ts-ignore
156
- bill.chainId === chainId;
157
- });
158
- return [4 /*yield*/, fetchBills(chainId, tokenPrices, bills)];
159
- case 1:
160
- returnedBills = _d.sent();
161
- dispatch(setBillsPublicData({ value: returnedBills }));
162
- return [2 /*return*/];
163
- }
164
- });
165
- }); });
166
- }
167
- else {
168
- console.log('Prices have not been fetched yet');
169
- }
170
- return [3 /*break*/, 4];
171
- case 4: return [2 /*return*/];
172
- }
173
- });
174
- }); };
175
- };
176
- export var fetchSingleBillPublicData = function (chainId, tokenPrices, bondAddress) {
177
- return function (dispatch, getState) { return __awaiter(void 0, void 0, void 0, function () {
178
- var bills, bill, returnedBills, error_2;
179
- return __generator(this, function (_a) {
180
- switch (_a.label) {
181
- case 0:
182
- _a.trys.push([0, 3, , 4]);
183
- bills = getState().bills.data;
184
- bill = bills === null || bills === void 0 ? void 0 : bills.find(function (billToSearch) {
185
- var _a;
186
- if (!chainId)
187
- return;
188
- var address = (_a = billToSearch === null || billToSearch === void 0 ? void 0 : billToSearch.contractAddress) === null || _a === void 0 ? void 0 : _a[chainId];
189
- if (address === undefined || bondAddress === undefined) {
190
- return false;
191
- }
192
- return (address === null || address === void 0 ? void 0 : address.toUpperCase()) === (bondAddress === null || bondAddress === void 0 ? void 0 : bondAddress.toUpperCase());
193
- });
194
- if (!bill) return [3 /*break*/, 2];
195
- return [4 /*yield*/, fetchBills(chainId, tokenPrices, [bill])];
196
- case 1:
197
- returnedBills = _a.sent();
198
- dispatch(setBillsPublicData({ value: returnedBills }));
199
- _a.label = 2;
200
- case 2: return [3 /*break*/, 4];
201
- case 3:
202
- error_2 = _a.sent();
203
- console.warn(error_2);
204
- return [3 /*break*/, 4];
205
- case 4: return [2 /*return*/];
206
- }
207
- });
208
- }); };
209
- };
210
- export var fetchUserOwnedBillsDataAsync = function (chainId, account) {
211
- return function (dispatch, getState) { return __awaiter(void 0, void 0, void 0, function () {
212
- var bills_1, userOwnedBills_1, mapUserOwnedBills_1, userOwnedBillsData, ownedBillsData, userBillNftData_1, ownedBillsWithNftData, error_3;
213
- return __generator(this, function (_a) {
214
- switch (_a.label) {
215
- case 0:
216
- _a.trys.push([0, 3, , 4]);
217
- bills_1 = getState().bills.data.filter(function (bond) {
218
- return bond.billVersion !== BillVersion.FixedPrice &&
219
- (bond === null || bond === void 0 ? void 0 : bond.chainId) === chainId &&
220
- bond.billType !== 'migration' &&
221
- bond.contractAddress.toLowerCase() !== ACF_TO_ABOND.toLowerCase();
222
- });
223
- return [4 /*yield*/, fetchUserOwnedBills(chainId, account, bills_1)];
224
- case 1:
225
- userOwnedBills_1 = _a.sent();
226
- mapUserOwnedBills_1 = bills_1.map(function (bill) {
227
- return userOwnedBills_1.filter(function (b) { return b.address.toLowerCase() === bill.contractAddress.toLowerCase(); });
228
- });
229
- userOwnedBillsData = bills_1.map(function (bill, i) { return ({
230
- index: bill.index,
231
- userOwnedBills: mapUserOwnedBills_1[i],
232
- }); });
233
- dispatch(setUserOwnedBillsData({ value: userOwnedBillsData }));
234
- ownedBillsData = mapUserOwnedBills_1.flatMap(function (bs) {
235
- return bs.map(function (b) {
236
- return { id: b.id, billNftAddress: b.billNftAddress, contractAddress: b.address };
237
- });
238
- });
239
- return [4 /*yield*/, fetchUserOwnedBillNftData(ownedBillsData, chainId, bills_1)];
240
- case 2:
241
- userBillNftData_1 = _a.sent();
242
- ownedBillsWithNftData = mapUserOwnedBills_1.map(function (bs, index) {
243
- return {
244
- index: bills_1[index].index,
245
- userOwnedBillsNfts: __spreadArray([], bs.map(function (b) {
246
- var _a;
247
- return (_a = userBillNftData_1.find(function (nftB) { return parseInt(nftB.id) === parseInt(b.id); })) === null || _a === void 0 ? void 0 : _a.data;
248
- }), true),
249
- };
250
- });
251
- dispatch(setUserOwnedBillsNftData({ value: ownedBillsWithNftData }));
252
- // Return the data
253
- return [2 /*return*/, { userOwnedBillsData: userOwnedBillsData, ownedBillsWithNftData: ownedBillsWithNftData }];
254
- case 3:
255
- error_3 = _a.sent();
256
- console.warn(error_3);
257
- return [2 /*return*/, { userOwnedBillsData: [], ownedBillsWithNftData: [] }];
258
- case 4: return [2 /*return*/];
259
- }
260
- });
261
- }); };
262
- };
263
- export default billsSlice.reducer;
264
- export var parseBondApiData = function (billApiData) {
265
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y;
266
- return {
267
- index: billApiData.index,
268
- cmcId: (_a = billApiData.cmcId) !== null && _a !== void 0 ? _a : null,
269
- chainId: (_b = billApiData.chainId) !== null && _b !== void 0 ? _b : null,
270
- vestingTerm: (_c = billApiData.vestingTerm) !== null && _c !== void 0 ? _c : null,
271
- discount: (_d = billApiData === null || billApiData === void 0 ? void 0 : billApiData.discount) !== null && _d !== void 0 ? _d : null,
272
- principalTokenName: (_e = billApiData.principalTokenName) !== null && _e !== void 0 ? _e : null,
273
- principalToken: (_f = billApiData.principalToken) !== null && _f !== void 0 ? _f : null,
274
- principalTokenDecimals: (_g = billApiData.principalTokenDecimals) !== null && _g !== void 0 ? _g : null,
275
- principalTokenPrice: (_h = billApiData.principalTokenPrice) !== null && _h !== void 0 ? _h : null,
276
- payoutTokenName: (_j = billApiData.payoutTokenName) !== null && _j !== void 0 ? _j : null,
277
- payoutToken: (_k = billApiData.payoutToken) !== null && _k !== void 0 ? _k : null,
278
- payoutTokenDecimals: (_l = billApiData.payoutTokenDecimals) !== null && _l !== void 0 ? _l : null,
279
- payoutTokenPrice: (_m = billApiData.payoutTokenPrice) !== null && _m !== void 0 ? _m : null,
280
- soldOut: (_o = billApiData.soldOut) !== null && _o !== void 0 ? _o : null,
281
- billType: (_p = billApiData.type) !== null && _p !== void 0 ? _p : null,
282
- tokensRemaining: (_q = billApiData.tokensRemaining) !== null && _q !== void 0 ? _q : null,
283
- tags: billApiData.tags,
284
- contractAddress: (_r = billApiData.billAddress) !== null && _r !== void 0 ? _r : null,
285
- inactive: (_s = billApiData.inactive) !== null && _s !== void 0 ? _s : null,
286
- showcaseTokenName: (_t = billApiData.showcaseTokenName) !== null && _t !== void 0 ? _t : null,
287
- maxTotalPayout: (_u = billApiData.maxTotalPayout) !== null && _u !== void 0 ? _u : null,
288
- billNftAddress: (_v = billApiData.billNftAddress) !== null && _v !== void 0 ? _v : null,
289
- trueBillPrice: (_w = billApiData.trueBillPrice) !== null && _w !== void 0 ? _w : null,
290
- maxPayout: (_x = billApiData.maxPayout) !== null && _x !== void 0 ? _x : null,
291
- totalPayoutGiven: (_y = billApiData.totalPayoutGiven) !== null && _y !== void 0 ? _y : null,
292
- };
293
- };
@@ -1,168 +0,0 @@
1
- import { BillsConfig, BillVersion, ChainId, Token } from "../../enum/apeswaplists";
2
- export interface UserBillNft {
3
- image: string;
4
- tokenId: string;
5
- attributes: {
6
- trait_type: string;
7
- value: string;
8
- }[];
9
- }
10
- export interface UserBill {
11
- address: string;
12
- id: string;
13
- vesting: string;
14
- payout: string;
15
- totalPayout?: string;
16
- truePricePaid: string;
17
- lastBlockTimestamp: string;
18
- pendingRewards: string;
19
- billNftAddress: string;
20
- nftData?: UserBillNft;
21
- }
22
- export interface Bills extends BillsConfig {
23
- price?: string;
24
- priceUsd?: string;
25
- vestingTime?: string;
26
- discount?: string;
27
- currentDebt?: string;
28
- currentFee?: string;
29
- debtDecay?: string;
30
- debtRatio?: string;
31
- totalDebt?: string;
32
- totalPayoutGiven?: string;
33
- totalPrincipalBilled?: string;
34
- controlVariable?: string;
35
- minimumPrice?: string;
36
- maxPayout?: string;
37
- maxDebt?: string;
38
- lpPriceUsd?: number;
39
- earnTokenPrice?: number;
40
- billNftAddress?: string;
41
- userOwnedBillsData?: UserBill[];
42
- userOwnedBillsNftData?: UserBillNft[];
43
- maxTotalPayout?: string;
44
- lpPrice?: number;
45
- maxPayoutTokens?: string;
46
- startVestingTimestamp?: string;
47
- totalBonusRewards?: string;
48
- featuredURLS?: string[];
49
- partnersURLS?: string[];
50
- }
51
- export interface CleanedBondsState {
52
- index: number;
53
- cmcId: number | null;
54
- chainId: ChainId;
55
- vestingTerm?: number;
56
- principalTokenName: string;
57
- principalToken: string;
58
- principalTokenDecimals: number;
59
- payoutTokenName: string;
60
- payoutToken: string;
61
- payoutTokenDecimals: number;
62
- soldOut?: boolean;
63
- tags?: string[];
64
- contractAddress: string;
65
- billNftAddress: string;
66
- inactive?: boolean;
67
- showcaseTokenName?: string;
68
- twitter?: string;
69
- projectLink?: string;
70
- audit?: string;
71
- shortDescription?: string;
72
- fullDescription?: string;
73
- lpToken?: Token;
74
- billType?: string;
75
- billVersion?: BillVersion;
76
- featuredURLS?: string[];
77
- partnersURLS?: string[];
78
- discount?: number;
79
- principalTokenPrice?: string;
80
- payoutTokenPrice?: string;
81
- tokensRemaining?: string;
82
- maxTotalPayout?: string;
83
- trueBillPrice?: string;
84
- maxPayout?: string;
85
- totalPayoutGiven?: string;
86
- isHotBond?: boolean;
87
- userOwnedBillsData?: UserBill[];
88
- userOwnedBillsNftData?: UserBillNft[];
89
- }
90
- export interface BondsDataResponse {
91
- index: number;
92
- cmcId?: number;
93
- label: string;
94
- chainId: ChainId;
95
- type: string;
96
- principalToken: string;
97
- principalTokenName: string;
98
- principalTokenDecimals: number;
99
- payoutToken: string;
100
- payoutTokenName: string;
101
- payoutTokenDecimals: number;
102
- discount: number;
103
- billAddress: string;
104
- billNftAddress: string;
105
- initTime: number;
106
- soldOut: boolean;
107
- inactive: boolean;
108
- trueBillPrice: string;
109
- maxTotalPayout: string;
110
- totalPayoutGiven: string;
111
- maxPayout: string;
112
- tokensRemaining: string;
113
- showcaseToken: string;
114
- showcaseTokenName: string;
115
- vestingTerm: number;
116
- principalTokenPrice: string;
117
- payoutTokenPrice: string;
118
- priceUsd: string;
119
- tags?: string[];
120
- arr: string;
121
- }
122
- export interface ServerBondsCacheData {
123
- bondApiData: {
124
- fetchTimestamp: number;
125
- bondList: CleanedBondsState[] | null;
126
- };
127
- historicalPrices: Partial<Record<string, {
128
- fetchTimestamp: number;
129
- priceList: HistoricalPrices[] | null;
130
- }>>;
131
- hotBonds: {
132
- fetchTimestamp: number;
133
- hotBondsList: string[] | null;
134
- };
135
- homepageStats: {
136
- fetchTimestamp: number;
137
- };
138
- }
139
- export interface CMCResponse {
140
- data: {
141
- id: number;
142
- name: string;
143
- symbol: string;
144
- quotes: Quote[];
145
- };
146
- }
147
- export interface Quote {
148
- time_open: string;
149
- time_close: string;
150
- time_high: string;
151
- time_low: string;
152
- quote: {
153
- USD: {
154
- open: number;
155
- high: number;
156
- low: number;
157
- close: number;
158
- volume: number;
159
- market_cap: number;
160
- timestamp: string;
161
- };
162
- };
163
- }
164
- export interface HistoricalPrices {
165
- timestamp: string;
166
- open: number;
167
- close: number;
168
- }
@@ -1 +0,0 @@
1
- export {};