@defisaver/positions-sdk 0.0.201-fluid-dev-10 → 0.0.201-fluid-dev-12
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/aaveV2/index.js +1 -1
- package/cjs/config/contracts.d.ts +87 -6
- package/cjs/config/contracts.js +15 -2
- package/cjs/helpers/liquityV2Helpers/index.js +2 -2
- package/cjs/liquityV2/index.d.ts +9 -4
- package/cjs/liquityV2/index.js +69 -10
- package/cjs/markets/fluid/index.js +1 -1
- package/cjs/markets/index.d.ts +1 -1
- package/cjs/markets/index.js +2 -1
- package/cjs/markets/liquityV2/index.d.ts +2 -1
- package/cjs/markets/liquityV2/index.js +12 -1
- package/cjs/markets/spark/marketAssets.js +1 -1
- package/cjs/morphoAaveV2/index.js +1 -1
- package/cjs/morphoAaveV3/index.js +1 -2
- package/cjs/spark/index.js +1 -2
- package/cjs/staking/staking.d.ts +1 -6
- package/cjs/staking/staking.js +20 -23
- package/cjs/types/contracts/generated/LiquityV2StabilityPool.d.ts +223 -0
- package/cjs/types/contracts/generated/LiquityV2StabilityPool.js +5 -0
- package/cjs/types/contracts/generated/LiquityV2View.d.ts +144 -2
- package/cjs/types/contracts/generated/index.d.ts +1 -0
- package/cjs/types/liquityV2.d.ts +1 -0
- package/esm/aaveV2/index.js +2 -2
- package/esm/config/contracts.d.ts +87 -6
- package/esm/config/contracts.js +15 -2
- package/esm/helpers/liquityV2Helpers/index.js +2 -2
- package/esm/liquityV2/index.d.ts +9 -4
- package/esm/liquityV2/index.js +64 -10
- package/esm/markets/fluid/index.js +1 -1
- package/esm/markets/index.d.ts +1 -1
- package/esm/markets/index.js +1 -1
- package/esm/markets/liquityV2/index.d.ts +2 -1
- package/esm/markets/liquityV2/index.js +10 -0
- package/esm/markets/spark/marketAssets.js +1 -1
- package/esm/morphoAaveV2/index.js +2 -2
- package/esm/morphoAaveV3/index.js +1 -2
- package/esm/spark/index.js +1 -2
- package/esm/staking/staking.d.ts +1 -6
- package/esm/staking/staking.js +24 -22
- package/esm/types/contracts/generated/LiquityV2StabilityPool.d.ts +223 -0
- package/esm/types/contracts/generated/LiquityV2StabilityPool.js +4 -0
- package/esm/types/contracts/generated/LiquityV2View.d.ts +144 -2
- package/esm/types/contracts/generated/index.d.ts +1 -0
- package/esm/types/liquityV2.d.ts +1 -0
- package/package.json +2 -1
- package/src/aaveV2/index.ts +2 -2
- package/src/config/contracts.js +15 -2
- package/src/helpers/liquityV2Helpers/index.ts +3 -3
- package/src/liquityV2/index.ts +79 -12
- package/src/markets/fluid/index.ts +1 -1
- package/src/markets/index.ts +1 -1
- package/src/markets/liquityV2/index.ts +13 -2
- package/src/markets/spark/marketAssets.ts +1 -1
- package/src/morphoAaveV2/index.ts +2 -2
- package/src/morphoAaveV3/index.ts +1 -2
- package/src/spark/index.ts +1 -2
- package/src/staking/staking.ts +22 -22
- package/src/types/contracts/generated/LiquityV2StabilityPool.ts +453 -0
- package/src/types/contracts/generated/LiquityV2View.ts +173 -2
- package/src/types/contracts/generated/index.ts +1 -0
- package/src/types/liquityV2.ts +1 -0
- package/cjs/services/dsrService.d.ts +0 -3
- package/cjs/services/dsrService.js +0 -28
- package/esm/services/dsrService.d.ts +0 -3
- package/esm/services/dsrService.js +0 -21
- package/src/services/dsrService.ts +0 -16
|
@@ -9,6 +9,74 @@ export interface EventOptions {
|
|
|
9
9
|
fromBlock?: BlockType;
|
|
10
10
|
topics?: string[];
|
|
11
11
|
}
|
|
12
|
+
export declare namespace IBorrowerOperations {
|
|
13
|
+
type InterestBatchManagerStruct = [number | string | BN, number | string | BN, number | string | BN] | {
|
|
14
|
+
minInterestRate: number | string | BN;
|
|
15
|
+
maxInterestRate: number | string | BN;
|
|
16
|
+
minInterestRateChangePeriod: number | string | BN;
|
|
17
|
+
};
|
|
18
|
+
type InterestBatchManagerStructOutputArray = [string, string, string];
|
|
19
|
+
type InterestBatchManagerStructOutputStruct = {
|
|
20
|
+
minInterestRate: string;
|
|
21
|
+
maxInterestRate: string;
|
|
22
|
+
minInterestRateChangePeriod: string;
|
|
23
|
+
};
|
|
24
|
+
type InterestBatchManagerStructOutput = InterestBatchManagerStructOutputArray & InterestBatchManagerStructOutputStruct;
|
|
25
|
+
}
|
|
26
|
+
export declare namespace ITroveManager {
|
|
27
|
+
type LatestBatchDataStruct = [
|
|
28
|
+
number | string | BN,
|
|
29
|
+
number | string | BN,
|
|
30
|
+
number | string | BN,
|
|
31
|
+
number | string | BN,
|
|
32
|
+
number | string | BN,
|
|
33
|
+
number | string | BN,
|
|
34
|
+
number | string | BN,
|
|
35
|
+
number | string | BN,
|
|
36
|
+
number | string | BN,
|
|
37
|
+
number | string | BN,
|
|
38
|
+
number | string | BN
|
|
39
|
+
] | {
|
|
40
|
+
entireDebtWithoutRedistribution: number | string | BN;
|
|
41
|
+
entireCollWithoutRedistribution: number | string | BN;
|
|
42
|
+
accruedInterest: number | string | BN;
|
|
43
|
+
recordedDebt: number | string | BN;
|
|
44
|
+
annualInterestRate: number | string | BN;
|
|
45
|
+
weightedRecordedDebt: number | string | BN;
|
|
46
|
+
annualManagementFee: number | string | BN;
|
|
47
|
+
accruedManagementFee: number | string | BN;
|
|
48
|
+
weightedRecordedBatchManagementFee: number | string | BN;
|
|
49
|
+
lastDebtUpdateTime: number | string | BN;
|
|
50
|
+
lastInterestRateAdjTime: number | string | BN;
|
|
51
|
+
};
|
|
52
|
+
type LatestBatchDataStructOutputArray = [
|
|
53
|
+
string,
|
|
54
|
+
string,
|
|
55
|
+
string,
|
|
56
|
+
string,
|
|
57
|
+
string,
|
|
58
|
+
string,
|
|
59
|
+
string,
|
|
60
|
+
string,
|
|
61
|
+
string,
|
|
62
|
+
string,
|
|
63
|
+
string
|
|
64
|
+
];
|
|
65
|
+
type LatestBatchDataStructOutputStruct = {
|
|
66
|
+
entireDebtWithoutRedistribution: string;
|
|
67
|
+
entireCollWithoutRedistribution: string;
|
|
68
|
+
accruedInterest: string;
|
|
69
|
+
recordedDebt: string;
|
|
70
|
+
annualInterestRate: string;
|
|
71
|
+
weightedRecordedDebt: string;
|
|
72
|
+
annualManagementFee: string;
|
|
73
|
+
accruedManagementFee: string;
|
|
74
|
+
weightedRecordedBatchManagementFee: string;
|
|
75
|
+
lastDebtUpdateTime: string;
|
|
76
|
+
lastInterestRateAdjTime: string;
|
|
77
|
+
};
|
|
78
|
+
type LatestBatchDataStructOutput = LatestBatchDataStructOutputArray & LatestBatchDataStructOutputStruct;
|
|
79
|
+
}
|
|
12
80
|
export declare namespace LiquityV2View {
|
|
13
81
|
type MarketDataStruct = [
|
|
14
82
|
string,
|
|
@@ -30,7 +98,8 @@ export declare namespace LiquityV2View {
|
|
|
30
98
|
string,
|
|
31
99
|
string,
|
|
32
100
|
number | string | BN,
|
|
33
|
-
boolean
|
|
101
|
+
boolean,
|
|
102
|
+
number | string | BN
|
|
34
103
|
] | {
|
|
35
104
|
market: string;
|
|
36
105
|
CCR: number | string | BN;
|
|
@@ -52,6 +121,7 @@ export declare namespace LiquityV2View {
|
|
|
52
121
|
priceFeed: string;
|
|
53
122
|
collPrice: number | string | BN;
|
|
54
123
|
isShutDown: boolean;
|
|
124
|
+
boldDepositInSp: number | string | BN;
|
|
55
125
|
};
|
|
56
126
|
type MarketDataStructOutputArray = [
|
|
57
127
|
string,
|
|
@@ -73,7 +143,8 @@ export declare namespace LiquityV2View {
|
|
|
73
143
|
string,
|
|
74
144
|
string,
|
|
75
145
|
string,
|
|
76
|
-
boolean
|
|
146
|
+
boolean,
|
|
147
|
+
string
|
|
77
148
|
];
|
|
78
149
|
type MarketDataStructOutputStruct = {
|
|
79
150
|
market: string;
|
|
@@ -96,6 +167,7 @@ export declare namespace LiquityV2View {
|
|
|
96
167
|
priceFeed: string;
|
|
97
168
|
collPrice: string;
|
|
98
169
|
isShutDown: boolean;
|
|
170
|
+
boldDepositInSp: string;
|
|
99
171
|
};
|
|
100
172
|
type MarketDataStructOutput = MarketDataStructOutputArray & MarketDataStructOutputStruct;
|
|
101
173
|
type TroveDataStruct = [
|
|
@@ -109,6 +181,7 @@ export declare namespace LiquityV2View {
|
|
|
109
181
|
number | string | BN,
|
|
110
182
|
number | string | BN,
|
|
111
183
|
string,
|
|
184
|
+
number | string | BN,
|
|
112
185
|
number | string | BN
|
|
113
186
|
] | {
|
|
114
187
|
troveId: number | string | BN;
|
|
@@ -122,6 +195,7 @@ export declare namespace LiquityV2View {
|
|
|
122
195
|
annualInterestRate: number | string | BN;
|
|
123
196
|
interestBatchManager: string;
|
|
124
197
|
batchDebtShares: number | string | BN;
|
|
198
|
+
lastInterestRateAdjTime: number | string | BN;
|
|
125
199
|
};
|
|
126
200
|
type TroveDataStructOutputArray = [
|
|
127
201
|
string,
|
|
@@ -134,6 +208,7 @@ export declare namespace LiquityV2View {
|
|
|
134
208
|
string,
|
|
135
209
|
string,
|
|
136
210
|
string,
|
|
211
|
+
string,
|
|
137
212
|
string
|
|
138
213
|
];
|
|
139
214
|
type TroveDataStructOutputStruct = {
|
|
@@ -148,6 +223,7 @@ export declare namespace LiquityV2View {
|
|
|
148
223
|
annualInterestRate: string;
|
|
149
224
|
interestBatchManager: string;
|
|
150
225
|
batchDebtShares: string;
|
|
226
|
+
lastInterestRateAdjTime: string;
|
|
151
227
|
};
|
|
152
228
|
type TroveDataStructOutput = TroveDataStructOutputArray & TroveDataStructOutputStruct;
|
|
153
229
|
type ExistingTroveStruct = [number | string | BN, boolean] | {
|
|
@@ -161,6 +237,64 @@ export declare namespace LiquityV2View {
|
|
|
161
237
|
};
|
|
162
238
|
type ExistingTroveStructOutput = ExistingTroveStructOutputArray & ExistingTroveStructOutputStruct;
|
|
163
239
|
}
|
|
240
|
+
export declare namespace IMultiTroveGetter {
|
|
241
|
+
type CombinedTroveDataStruct = [
|
|
242
|
+
number | string | BN,
|
|
243
|
+
number | string | BN,
|
|
244
|
+
number | string | BN,
|
|
245
|
+
number | string | BN,
|
|
246
|
+
number | string | BN,
|
|
247
|
+
number | string | BN,
|
|
248
|
+
number | string | BN,
|
|
249
|
+
string,
|
|
250
|
+
number | string | BN,
|
|
251
|
+
number | string | BN,
|
|
252
|
+
number | string | BN,
|
|
253
|
+
number | string | BN
|
|
254
|
+
] | {
|
|
255
|
+
id: number | string | BN;
|
|
256
|
+
debt: number | string | BN;
|
|
257
|
+
coll: number | string | BN;
|
|
258
|
+
stake: number | string | BN;
|
|
259
|
+
annualInterestRate: number | string | BN;
|
|
260
|
+
lastDebtUpdateTime: number | string | BN;
|
|
261
|
+
lastInterestRateAdjTime: number | string | BN;
|
|
262
|
+
interestBatchManager: string;
|
|
263
|
+
batchDebtShares: number | string | BN;
|
|
264
|
+
batchCollShares: number | string | BN;
|
|
265
|
+
snapshotETH: number | string | BN;
|
|
266
|
+
snapshotBoldDebt: number | string | BN;
|
|
267
|
+
};
|
|
268
|
+
type CombinedTroveDataStructOutputArray = [
|
|
269
|
+
string,
|
|
270
|
+
string,
|
|
271
|
+
string,
|
|
272
|
+
string,
|
|
273
|
+
string,
|
|
274
|
+
string,
|
|
275
|
+
string,
|
|
276
|
+
string,
|
|
277
|
+
string,
|
|
278
|
+
string,
|
|
279
|
+
string,
|
|
280
|
+
string
|
|
281
|
+
];
|
|
282
|
+
type CombinedTroveDataStructOutputStruct = {
|
|
283
|
+
id: string;
|
|
284
|
+
debt: string;
|
|
285
|
+
coll: string;
|
|
286
|
+
stake: string;
|
|
287
|
+
annualInterestRate: string;
|
|
288
|
+
lastDebtUpdateTime: string;
|
|
289
|
+
lastInterestRateAdjTime: string;
|
|
290
|
+
interestBatchManager: string;
|
|
291
|
+
batchDebtShares: string;
|
|
292
|
+
batchCollShares: string;
|
|
293
|
+
snapshotETH: string;
|
|
294
|
+
snapshotBoldDebt: string;
|
|
295
|
+
};
|
|
296
|
+
type CombinedTroveDataStructOutput = CombinedTroveDataStructOutputArray & CombinedTroveDataStructOutputStruct;
|
|
297
|
+
}
|
|
164
298
|
export interface LiquityV2View extends BaseContract {
|
|
165
299
|
constructor(jsonInterface: any[], address?: string, options?: ContractOptions): LiquityV2View;
|
|
166
300
|
clone(): LiquityV2View;
|
|
@@ -181,6 +315,13 @@ export interface LiquityV2View extends BaseContract {
|
|
|
181
315
|
diff: string;
|
|
182
316
|
latestRandomSeed: string;
|
|
183
317
|
}>;
|
|
318
|
+
getBatchManagerInfo(_market: string, _manager: string): NonPayableTransactionObject<[
|
|
319
|
+
IBorrowerOperations.InterestBatchManagerStructOutput,
|
|
320
|
+
ITroveManager.LatestBatchDataStructOutput
|
|
321
|
+
] & {
|
|
322
|
+
managerData: IBorrowerOperations.InterestBatchManagerStructOutput;
|
|
323
|
+
batchData: ITroveManager.LatestBatchDataStructOutput;
|
|
324
|
+
}>;
|
|
184
325
|
getDebtInFront(_market: string, _troveId: number | string | BN, _acc: number | string | BN, _iterations: number | string | BN): NonPayableTransactionObject<[
|
|
185
326
|
string,
|
|
186
327
|
string
|
|
@@ -213,6 +354,7 @@ export interface LiquityV2View extends BaseContract {
|
|
|
213
354
|
nextId: string;
|
|
214
355
|
}>;
|
|
215
356
|
getMarketData(_market: string): NonPayableTransactionObject<LiquityV2View.MarketDataStructOutput>;
|
|
357
|
+
getMultipleSortedTroves(_market: string, _startIdx: number | string | BN, _count: number | string | BN): NonPayableTransactionObject<IMultiTroveGetter.CombinedTroveDataStructOutput[]>;
|
|
216
358
|
getNumOfTrovesInFrontOfTrove(_market: string, _troveId: number | string | BN, _iterations: number | string | BN): NonPayableTransactionObject<[
|
|
217
359
|
string,
|
|
218
360
|
string
|
|
@@ -38,6 +38,7 @@ export type { LendingPoolAddressesProvider } from "./LendingPoolAddressesProvide
|
|
|
38
38
|
export type { Lido } from "./Lido";
|
|
39
39
|
export type { LiquityActivePool } from "./LiquityActivePool";
|
|
40
40
|
export type { LiquityV2CollSurplusPool } from "./LiquityV2CollSurplusPool";
|
|
41
|
+
export type { LiquityV2StabilityPool } from "./LiquityV2StabilityPool";
|
|
41
42
|
export type { LiquityV2TroveNFT } from "./LiquityV2TroveNFT";
|
|
42
43
|
export type { LiquityV2View } from "./LiquityV2View";
|
|
43
44
|
export type { LiquityView } from "./LiquityView";
|
package/cjs/types/liquityV2.d.ts
CHANGED
package/esm/aaveV2/index.js
CHANGED
|
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
};
|
|
10
10
|
import Dec from 'decimal.js';
|
|
11
11
|
import { assetAmountInEth, getAssetInfo } from '@defisaver/tokens';
|
|
12
|
-
import { calculateNetApy,
|
|
12
|
+
import { calculateNetApy, getStakingApy } from '../staking';
|
|
13
13
|
import { ethToWeth, wethToEth, wethToEthByAddress } from '../services/utils';
|
|
14
14
|
import { AaveLoanInfoV2Contract, createContractWrapper } from '../contracts';
|
|
15
15
|
import { aprToApy, calculateBorrowingAssetLimit } from '../moneymarket';
|
|
@@ -60,7 +60,7 @@ export const getAaveV2MarketsData = (web3, network, selectedMarket, mainnetWeb3)
|
|
|
60
60
|
}));
|
|
61
61
|
const stEthMarket = markets.find(({ symbol }) => symbol === 'stETH');
|
|
62
62
|
if (stEthMarket) {
|
|
63
|
-
stEthMarket.incentiveSupplyApy = yield
|
|
63
|
+
stEthMarket.incentiveSupplyApy = yield getStakingApy('stETH', mainnetWeb3);
|
|
64
64
|
stEthMarket.incentiveSupplyToken = 'stETH';
|
|
65
65
|
}
|
|
66
66
|
const payload = {};
|
|
@@ -7421,7 +7421,13 @@ export namespace LlamaLendControllerAbi {
|
|
|
7421
7421
|
export { networks_80 as networks };
|
|
7422
7422
|
}
|
|
7423
7423
|
export namespace LiquityV2View {
|
|
7424
|
-
let abi_81: {
|
|
7424
|
+
let abi_81: ({
|
|
7425
|
+
inputs: never[];
|
|
7426
|
+
name: string;
|
|
7427
|
+
type: string;
|
|
7428
|
+
outputs?: undefined;
|
|
7429
|
+
stateMutability?: undefined;
|
|
7430
|
+
} | {
|
|
7425
7431
|
inputs: {
|
|
7426
7432
|
internalType: string;
|
|
7427
7433
|
name: string;
|
|
@@ -7445,11 +7451,42 @@ export namespace LiquityV2View {
|
|
|
7445
7451
|
})[];
|
|
7446
7452
|
stateMutability: string;
|
|
7447
7453
|
type: string;
|
|
7448
|
-
}[];
|
|
7454
|
+
})[];
|
|
7449
7455
|
export { abi_81 as abi };
|
|
7450
7456
|
let networks_81: {
|
|
7451
7457
|
"1": {
|
|
7452
7458
|
address: string;
|
|
7459
|
+
createdBlock: number;
|
|
7460
|
+
oldVersions: {
|
|
7461
|
+
"21767168": {
|
|
7462
|
+
abi: {
|
|
7463
|
+
inputs: {
|
|
7464
|
+
internalType: string;
|
|
7465
|
+
name: string;
|
|
7466
|
+
type: string;
|
|
7467
|
+
}[];
|
|
7468
|
+
name: string;
|
|
7469
|
+
outputs: ({
|
|
7470
|
+
components: {
|
|
7471
|
+
internalType: string;
|
|
7472
|
+
name: string;
|
|
7473
|
+
type: string;
|
|
7474
|
+
}[];
|
|
7475
|
+
internalType: string;
|
|
7476
|
+
name: string;
|
|
7477
|
+
type: string;
|
|
7478
|
+
} | {
|
|
7479
|
+
internalType: string;
|
|
7480
|
+
name: string;
|
|
7481
|
+
type: string;
|
|
7482
|
+
components?: undefined;
|
|
7483
|
+
})[];
|
|
7484
|
+
stateMutability: string;
|
|
7485
|
+
type: string;
|
|
7486
|
+
}[];
|
|
7487
|
+
address: string;
|
|
7488
|
+
};
|
|
7489
|
+
};
|
|
7453
7490
|
};
|
|
7454
7491
|
};
|
|
7455
7492
|
export { networks_81 as networks };
|
|
@@ -7614,8 +7651,52 @@ export namespace EulerV2View {
|
|
|
7614
7651
|
};
|
|
7615
7652
|
export { networks_84 as networks };
|
|
7616
7653
|
}
|
|
7617
|
-
export namespace
|
|
7654
|
+
export namespace LiquityV2StabilityPool {
|
|
7618
7655
|
let abi_85: ({
|
|
7656
|
+
inputs: {
|
|
7657
|
+
internalType: string;
|
|
7658
|
+
name: string;
|
|
7659
|
+
type: string;
|
|
7660
|
+
}[];
|
|
7661
|
+
stateMutability: string;
|
|
7662
|
+
type: string;
|
|
7663
|
+
anonymous?: undefined;
|
|
7664
|
+
name?: undefined;
|
|
7665
|
+
outputs?: undefined;
|
|
7666
|
+
} | {
|
|
7667
|
+
anonymous: boolean;
|
|
7668
|
+
inputs: {
|
|
7669
|
+
indexed: boolean;
|
|
7670
|
+
internalType: string;
|
|
7671
|
+
name: string;
|
|
7672
|
+
type: string;
|
|
7673
|
+
}[];
|
|
7674
|
+
name: string;
|
|
7675
|
+
type: string;
|
|
7676
|
+
stateMutability?: undefined;
|
|
7677
|
+
outputs?: undefined;
|
|
7678
|
+
} | {
|
|
7679
|
+
inputs: {
|
|
7680
|
+
internalType: string;
|
|
7681
|
+
name: string;
|
|
7682
|
+
type: string;
|
|
7683
|
+
}[];
|
|
7684
|
+
name: string;
|
|
7685
|
+
outputs: {
|
|
7686
|
+
internalType: string;
|
|
7687
|
+
name: string;
|
|
7688
|
+
type: string;
|
|
7689
|
+
}[];
|
|
7690
|
+
stateMutability: string;
|
|
7691
|
+
type: string;
|
|
7692
|
+
anonymous?: undefined;
|
|
7693
|
+
})[];
|
|
7694
|
+
export { abi_85 as abi };
|
|
7695
|
+
let networks_85: {};
|
|
7696
|
+
export { networks_85 as networks };
|
|
7697
|
+
}
|
|
7698
|
+
export namespace FluidView {
|
|
7699
|
+
let abi_86: ({
|
|
7619
7700
|
inputs: {
|
|
7620
7701
|
internalType: string;
|
|
7621
7702
|
name: string;
|
|
@@ -7649,8 +7730,8 @@ export namespace FluidView {
|
|
|
7649
7730
|
stateMutability: string;
|
|
7650
7731
|
type: string;
|
|
7651
7732
|
})[];
|
|
7652
|
-
export {
|
|
7653
|
-
let
|
|
7733
|
+
export { abi_86 as abi };
|
|
7734
|
+
let networks_86: {
|
|
7654
7735
|
"1": {
|
|
7655
7736
|
address: string;
|
|
7656
7737
|
};
|
|
@@ -7661,5 +7742,5 @@ export namespace FluidView {
|
|
|
7661
7742
|
address: string;
|
|
7662
7743
|
};
|
|
7663
7744
|
};
|
|
7664
|
-
export {
|
|
7745
|
+
export { networks_86 as networks };
|
|
7665
7746
|
}
|