@scallop-io/sui-scallop-sdk 1.3.4-alpha.3 → 1.3.4-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -8488
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -8410
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
- package/src/builders/borrowIncentiveBuilder.ts +8 -8
- package/src/builders/coreBuilder.ts +5 -5
- package/src/builders/index.ts +2 -2
- package/src/builders/oracle.ts +4 -4
- package/src/builders/referralBuilder.ts +1 -1
- package/src/builders/spoolBuilder.ts +6 -6
- package/src/builders/vescaBuilder.ts +4 -4
- package/src/constants/coinGecko.ts +1 -1
- package/src/constants/enum.ts +1 -1
- package/src/constants/index.ts +1 -0
- package/src/models/scallop.ts +5 -5
- package/src/models/scallopAddress.ts +9 -6
- package/src/models/scallopBuilder.ts +4 -5
- package/src/models/scallopCache.ts +4 -4
- package/src/models/scallopClient.ts +4 -4
- package/src/models/scallopIndexer.ts +3 -4
- package/src/models/scallopQuery.ts +13 -6
- package/src/models/scallopUtils.ts +11 -8
- package/src/models/suiKit.ts +1 -1
- package/src/queries/borrowIncentiveQuery.ts +5 -5
- package/src/queries/coreQuery.ts +5 -5
- package/src/queries/index.ts +8 -5
- package/src/queries/portfolioQuery.ts +4 -4
- package/src/queries/priceQuery.ts +2 -2
- package/src/queries/spoolQuery.ts +5 -5
- package/src/queries/vescaQuery.ts +2 -2
- package/src/test.ts +30 -0
- package/src/types/address.ts +1 -1
- package/src/types/builder/borrowIncentive.ts +3 -3
- package/src/types/builder/core.ts +3 -3
- package/src/types/builder/index.ts +5 -4
- package/src/types/builder/referral.ts +1 -1
- package/src/types/builder/sCoin.ts +1 -1
- package/src/types/builder/spool.ts +2 -2
- package/src/types/constant/common.ts +1 -1
- package/src/types/model.ts +2 -2
- package/src/types/query/borrowIncentive.ts +2 -2
- package/src/types/query/core.ts +1 -1
- package/src/types/query/portfolio.ts +2 -2
- package/src/types/query/spool.ts +1 -1
- package/src/utils/builder.ts +1 -1
- package/src/utils/index.ts +2 -2
- package/src/utils/query.ts +3 -3
- package/src/utils/tokenBucket.ts +1 -1
- package/src/utils/util.ts +4 -4
- /package/src/queries/{isolatedAsset.ts → isolatedAssetQuery.ts} +0 -0
- /package/src/queries/{supplyLimit.ts → supplyLimitQuery.ts} +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scallop-io/sui-scallop-sdk",
|
|
3
|
-
"version": "1.3.4-alpha.
|
|
3
|
+
"version": "1.3.4-alpha.4",
|
|
4
4
|
"description": "Typescript sdk for interacting with Scallop contract on SUI",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"sui",
|
|
@@ -149,7 +149,7 @@
|
|
|
149
149
|
"scripts": {
|
|
150
150
|
"clean": "rm -rf tsconfig.tsbuildinfo ./dist",
|
|
151
151
|
"build": "pnpm run build:types && pnpm run build:tsup",
|
|
152
|
-
"build:tsup": "tsup ./src/index.ts --format esm,cjs --sourcemap --clean",
|
|
152
|
+
"build:tsup": "tsup ./src/index.ts --format esm,cjs --sourcemap --splitting --minify --clean",
|
|
153
153
|
"build:types": "tsc --build",
|
|
154
154
|
"watch:tsup": "tsup ./src/index.ts --format esm,cjs --clean --splitting --watch",
|
|
155
155
|
"watch:types": "tsc --watch",
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { Transaction } from '@mysten/sui/transactions';
|
|
2
2
|
import { SUI_CLOCK_OBJECT_ID } from '@mysten/sui/utils';
|
|
3
3
|
import { SuiTxBlock as SuiKitTxBlock } from '@scallop-io/sui-kit';
|
|
4
|
-
import { getObligations, getObligationLocked } from '
|
|
5
|
-
import { requireSender } from '
|
|
4
|
+
import { getObligations, getObligationLocked } from 'src/queries';
|
|
5
|
+
import { requireSender } from 'src/utils';
|
|
6
6
|
import type { SuiObjectArg } from '@scallop-io/sui-kit';
|
|
7
7
|
import type { ScallopBuilder } from 'src/models';
|
|
8
|
-
import
|
|
9
|
-
|
|
8
|
+
import { OLD_BORROW_INCENTIVE_PROTOCOL_ID } from 'src/constants';
|
|
9
|
+
import {
|
|
10
10
|
GenerateBorrowIncentiveNormalMethod,
|
|
11
|
+
BorrowIncentiveIds,
|
|
12
|
+
VescaIds,
|
|
11
13
|
GenerateBorrowIncentiveQuickMethod,
|
|
14
|
+
ScallopTxBlock,
|
|
12
15
|
SuiTxBlockWithBorrowIncentiveNormalMethods,
|
|
13
16
|
BorrowIncentiveTxBlock,
|
|
14
|
-
|
|
15
|
-
VescaIds,
|
|
16
|
-
} from '../types';
|
|
17
|
-
import { OLD_BORROW_INCENTIVE_PROTOCOL_ID } from 'src/constants';
|
|
17
|
+
} from 'src/types';
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* Check and get Obligation information from transaction block.
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Transaction } from '@mysten/sui/transactions';
|
|
2
2
|
import { SUI_CLOCK_OBJECT_ID } from '@mysten/sui/utils';
|
|
3
3
|
import { SuiTxBlock as SuiKitTxBlock } from '@scallop-io/sui-kit';
|
|
4
|
-
import { getObligations } from '
|
|
4
|
+
import { getObligations } from 'src/queries';
|
|
5
5
|
import { updateOracles } from './oracle';
|
|
6
|
-
import { requireSender } from '
|
|
6
|
+
import { requireSender } from 'src/utils';
|
|
7
7
|
import type { SuiObjectArg, TransactionResult } from '@scallop-io/sui-kit';
|
|
8
|
-
import type { ScallopBuilder } from '
|
|
9
|
-
import
|
|
8
|
+
import type { ScallopBuilder } from 'src/models';
|
|
9
|
+
import {
|
|
10
10
|
CoreIds,
|
|
11
11
|
GenerateCoreNormalMethod,
|
|
12
12
|
GenerateCoreQuickMethod,
|
|
@@ -15,7 +15,7 @@ import type {
|
|
|
15
15
|
ScallopTxBlock,
|
|
16
16
|
NestedResult,
|
|
17
17
|
SuiTxBlockWithSpool,
|
|
18
|
-
} from '
|
|
18
|
+
} from 'src/types';
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* Check and get Obligation information from transaction block.
|
package/src/builders/index.ts
CHANGED
|
@@ -4,8 +4,8 @@ import { newCoreTxBlock } from './coreBuilder';
|
|
|
4
4
|
import { newSpoolTxBlock } from './spoolBuilder';
|
|
5
5
|
import { newBorrowIncentiveTxBlock } from './borrowIncentiveBuilder';
|
|
6
6
|
import { newVeScaTxBlock } from './vescaBuilder';
|
|
7
|
-
import type { ScallopBuilder } from '
|
|
8
|
-
import
|
|
7
|
+
import type { ScallopBuilder } from 'src/models';
|
|
8
|
+
import { ScallopTxBlock } from 'src/types';
|
|
9
9
|
import { newReferralTxBlock } from './referralBuilder';
|
|
10
10
|
import { newLoyaltyProgramTxBlock } from './loyaltyProgramBuilder';
|
|
11
11
|
import { newSCoinTxBlock } from './sCoinBuilder';
|
package/src/builders/oracle.ts
CHANGED
|
@@ -3,12 +3,12 @@ import {
|
|
|
3
3
|
SuiPythClient,
|
|
4
4
|
SuiPriceServiceConnection,
|
|
5
5
|
} from '@pythnetwork/pyth-sui-js';
|
|
6
|
-
import { SUPPORT_COLLATERALS, SUPPORT_POOLS } from '
|
|
6
|
+
import { SUPPORT_COLLATERALS, SUPPORT_POOLS } from 'src/constants';
|
|
7
7
|
import type { TransactionArgument } from '@mysten/sui/transactions';
|
|
8
8
|
import type { SuiTxBlock as SuiKitTxBlock } from '@scallop-io/sui-kit';
|
|
9
|
-
import type { ScallopBuilder } from '
|
|
10
|
-
import
|
|
11
|
-
import { PYTH_ENDPOINTS } from 'src/constants
|
|
9
|
+
import type { ScallopBuilder } from 'src/models';
|
|
10
|
+
import { SupportAssetCoins, SupportOracleType } from 'src/types';
|
|
11
|
+
import { PYTH_ENDPOINTS } from 'src/constants';
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* Update the price of the oracle for multiple coin.
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { Transaction } from '@mysten/sui/transactions';
|
|
2
2
|
import { SUI_CLOCK_OBJECT_ID } from '@mysten/sui/utils';
|
|
3
3
|
import { SuiTxBlock as SuiKitTxBlock } from '@scallop-io/sui-kit';
|
|
4
|
-
import { spoolRewardCoins } from '
|
|
5
|
-
import { getStakeAccounts } from '
|
|
6
|
-
import { requireSender } from '
|
|
4
|
+
import { spoolRewardCoins } from 'src/constants';
|
|
5
|
+
import { getStakeAccounts } from 'src/queries/spoolQuery';
|
|
6
|
+
import { requireSender } from 'src/utils';
|
|
7
7
|
import type { SuiAddressArg } from '@scallop-io/sui-kit';
|
|
8
8
|
import type { TransactionResult } from '@mysten/sui/transactions';
|
|
9
|
-
import type { ScallopBuilder } from '
|
|
10
|
-
import
|
|
9
|
+
import type { ScallopBuilder } from 'src/models';
|
|
10
|
+
import {
|
|
11
11
|
SpoolIds,
|
|
12
12
|
GenerateSpoolNormalMethod,
|
|
13
13
|
GenerateSpoolQuickMethod,
|
|
@@ -16,7 +16,7 @@ import type {
|
|
|
16
16
|
SupportStakeMarketCoins,
|
|
17
17
|
ScallopTxBlock,
|
|
18
18
|
SuiTxBlockWithSCoin,
|
|
19
|
-
} from '
|
|
19
|
+
} from 'src/types';
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
22
|
* Check and get stake account id from transaction block.
|
|
@@ -5,8 +5,8 @@ import {
|
|
|
5
5
|
SuiTxBlock as SuiKitTxBlock,
|
|
6
6
|
} from '@scallop-io/sui-kit';
|
|
7
7
|
import { SCA_COIN_TYPE } from 'src/constants';
|
|
8
|
-
import { ScallopBuilder } from '
|
|
9
|
-
import { getVeSca, getVeScas } from '
|
|
8
|
+
import { ScallopBuilder } from 'src/models';
|
|
9
|
+
import { getVeSca, getVeScas } from 'src/queries';
|
|
10
10
|
import {
|
|
11
11
|
requireSender,
|
|
12
12
|
checkLockSca,
|
|
@@ -14,12 +14,12 @@ import {
|
|
|
14
14
|
checkExtendLockAmount,
|
|
15
15
|
checkRenewExpiredVeSca,
|
|
16
16
|
checkVesca,
|
|
17
|
-
} from '
|
|
17
|
+
} from 'src/utils';
|
|
18
18
|
import type {
|
|
19
19
|
TransactionObjectArgument,
|
|
20
20
|
SuiObjectArg,
|
|
21
21
|
} from '@scallop-io/sui-kit';
|
|
22
|
-
import
|
|
22
|
+
import {
|
|
23
23
|
GenerateVeScaNormalMethod,
|
|
24
24
|
GenerateVeScaQuickMethod,
|
|
25
25
|
RedeemScaQuickReturnType,
|
package/src/constants/enum.ts
CHANGED
package/src/constants/index.ts
CHANGED
package/src/models/scallop.ts
CHANGED
|
@@ -4,23 +4,23 @@ import { ScallopClient } from './scallopClient';
|
|
|
4
4
|
import { ScallopBuilder } from './scallopBuilder';
|
|
5
5
|
import { ScallopQuery } from './scallopQuery';
|
|
6
6
|
import { ScallopUtils } from './scallopUtils';
|
|
7
|
-
import { ADDRESSES_ID } from '
|
|
8
|
-
import
|
|
7
|
+
import { ADDRESSES_ID } from 'src/constants';
|
|
8
|
+
import {
|
|
9
9
|
ScallopBuilderParams,
|
|
10
10
|
ScallopClientParams,
|
|
11
11
|
ScallopParams,
|
|
12
12
|
ScallopQueryParams,
|
|
13
13
|
ScallopUtilsParams,
|
|
14
|
-
} from '
|
|
14
|
+
} from 'src/types';
|
|
15
15
|
import { ScallopIndexer } from './scallopIndexer';
|
|
16
16
|
import { ScallopCache } from './scallopCache';
|
|
17
17
|
import { QueryClientConfig } from '@tanstack/query-core';
|
|
18
|
-
import { DEFAULT_CACHE_OPTIONS } from 'src/constants
|
|
18
|
+
import { DEFAULT_CACHE_OPTIONS } from 'src/constants';
|
|
19
19
|
import { TokenBucket } from 'src/utils';
|
|
20
20
|
import {
|
|
21
21
|
DEFAULT_INTERVAL_IN_MS,
|
|
22
22
|
DEFAULT_TOKENS_PER_INTERVAL,
|
|
23
|
-
} from 'src/constants
|
|
23
|
+
} from 'src/constants';
|
|
24
24
|
import type { QueryClient } from '@tanstack/query-core';
|
|
25
25
|
import { newSuiKit } from './suiKit';
|
|
26
26
|
|
|
@@ -1,16 +1,19 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
API_BASE_URL,
|
|
3
|
+
USE_TEST_ADDRESS,
|
|
4
|
+
DEFAULT_CACHE_OPTIONS,
|
|
5
|
+
TEST_ADDRESSES,
|
|
6
|
+
queryKeys,
|
|
7
|
+
} from 'src/constants';
|
|
2
8
|
import { SuiKit, type NetworkType } from '@scallop-io/sui-kit';
|
|
3
|
-
import
|
|
9
|
+
import {
|
|
4
10
|
ScallopAddressParams,
|
|
5
11
|
AddressesInterface,
|
|
6
12
|
AddressStringPath,
|
|
7
13
|
ScallopAddressInstanceParams,
|
|
8
|
-
} from '
|
|
14
|
+
} from 'src/types';
|
|
9
15
|
import { ScallopCache } from './scallopCache';
|
|
10
|
-
import { DEFAULT_CACHE_OPTIONS } from 'src/constants/cache';
|
|
11
16
|
import axios, { AxiosInstance } from 'axios';
|
|
12
|
-
import { TEST_ADDRESSES } from 'src/constants/testAddress';
|
|
13
|
-
import { queryKeys } from 'src/constants';
|
|
14
17
|
|
|
15
18
|
const EMPTY_ADDRESSES: AddressesInterface = {
|
|
16
19
|
core: {
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { normalizeSuiAddress } from '@mysten/sui/utils';
|
|
2
2
|
import { SuiKit } from '@scallop-io/sui-kit';
|
|
3
|
-
import { ADDRESSES_ID } from '
|
|
4
|
-
import { newScallopTxBlock } from '
|
|
3
|
+
import { ADDRESSES_ID, DEFAULT_CACHE_OPTIONS } from 'src/constants';
|
|
4
|
+
import { newScallopTxBlock } from 'src/builders';
|
|
5
5
|
import { ScallopAddress } from './scallopAddress';
|
|
6
6
|
import { ScallopQuery } from './scallopQuery';
|
|
7
7
|
import { ScallopUtils } from './scallopUtils';
|
|
8
8
|
import type { SuiTransactionBlockResponse } from '@mysten/sui/client';
|
|
9
9
|
import type { Transaction } from '@mysten/sui/transactions';
|
|
10
10
|
import type { SuiTxBlock as SuiKitTxBlock } from '@scallop-io/sui-kit';
|
|
11
|
-
import
|
|
11
|
+
import {
|
|
12
12
|
ScallopBuilderParams,
|
|
13
13
|
ScallopTxBlock,
|
|
14
14
|
SupportMarketCoins,
|
|
@@ -16,9 +16,8 @@ import type {
|
|
|
16
16
|
SupportSCoin,
|
|
17
17
|
ScallopBuilderInstanceParams,
|
|
18
18
|
SelectCoinReturnType,
|
|
19
|
-
} from '
|
|
19
|
+
} from 'src/types';
|
|
20
20
|
import { ScallopCache } from './scallopCache';
|
|
21
|
-
import { DEFAULT_CACHE_OPTIONS } from 'src/constants/cache';
|
|
22
21
|
import { newSuiKit } from './suiKit';
|
|
23
22
|
|
|
24
23
|
/**
|
|
@@ -17,13 +17,13 @@ import type {
|
|
|
17
17
|
GetBalanceParams,
|
|
18
18
|
SuiClient,
|
|
19
19
|
} from '@mysten/sui/client';
|
|
20
|
-
import { DEFAULT_CACHE_OPTIONS } from 'src/constants/cache';
|
|
21
|
-
import { callWithRateLimit, TokenBucket } from 'src/utils';
|
|
22
20
|
import {
|
|
21
|
+
DEFAULT_CACHE_OPTIONS,
|
|
23
22
|
DEFAULT_INTERVAL_IN_MS,
|
|
24
23
|
DEFAULT_TOKENS_PER_INTERVAL,
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
queryKeys,
|
|
25
|
+
} from 'src/constants';
|
|
26
|
+
import { callWithRateLimit, TokenBucket } from 'src/utils';
|
|
27
27
|
|
|
28
28
|
type QueryInspectTxnParams = {
|
|
29
29
|
queryTarget: string;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { normalizeSuiAddress } from '@mysten/sui/utils';
|
|
2
2
|
import { SuiKit } from '@scallop-io/sui-kit';
|
|
3
|
-
import { DEFAULT_CACHE_OPTIONS } from 'src/constants/cache';
|
|
4
3
|
import {
|
|
5
4
|
ADDRESSES_ID,
|
|
5
|
+
DEFAULT_CACHE_OPTIONS,
|
|
6
6
|
SUPPORT_BORROW_INCENTIVE_POOLS,
|
|
7
7
|
SUPPORT_BORROW_INCENTIVE_REWARDS,
|
|
8
8
|
SUPPORT_SCOIN,
|
|
9
9
|
SUPPORT_SPOOLS,
|
|
10
|
-
} from '
|
|
10
|
+
} from 'src/constants';
|
|
11
11
|
import { ScallopAddress } from './scallopAddress';
|
|
12
12
|
import { ScallopUtils } from './scallopUtils';
|
|
13
13
|
import { ScallopBuilder } from './scallopBuilder';
|
|
@@ -20,7 +20,7 @@ import type {
|
|
|
20
20
|
import { ScallopCache } from './scallopCache';
|
|
21
21
|
import { requireSender } from 'src/utils';
|
|
22
22
|
import type { SuiObjectArg } from '@scallop-io/sui-kit';
|
|
23
|
-
import
|
|
23
|
+
import {
|
|
24
24
|
ScallopClientFnReturnType,
|
|
25
25
|
ScallopClientParams,
|
|
26
26
|
SupportPoolCoins,
|
|
@@ -33,7 +33,7 @@ import type {
|
|
|
33
33
|
SupportSCoin,
|
|
34
34
|
ScallopClientVeScaReturnType,
|
|
35
35
|
ScallopClientInstanceParams,
|
|
36
|
-
} from '
|
|
36
|
+
} from 'src/types';
|
|
37
37
|
import { newSuiKit } from './suiKit';
|
|
38
38
|
|
|
39
39
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import axios, { AxiosInstance } from 'axios';
|
|
2
|
-
import { SDK_API_BASE_URL } from '
|
|
3
|
-
import
|
|
2
|
+
import { DEFAULT_CACHE_OPTIONS, SDK_API_BASE_URL } from 'src/constants';
|
|
3
|
+
import {
|
|
4
4
|
Market,
|
|
5
5
|
MarketPools,
|
|
6
6
|
MarketPool,
|
|
@@ -20,9 +20,8 @@ import type {
|
|
|
20
20
|
BorrowIncentivePoolPoints,
|
|
21
21
|
SupportBorrowIncentiveRewardCoins,
|
|
22
22
|
ScallopIndexerInstanceParams,
|
|
23
|
-
} from '
|
|
23
|
+
} from 'src/types';
|
|
24
24
|
import { ScallopCache } from './scallopCache';
|
|
25
|
-
import { DEFAULT_CACHE_OPTIONS } from 'src/constants/cache';
|
|
26
25
|
import { SuiKit } from '@scallop-io/sui-kit';
|
|
27
26
|
import { queryKeys } from 'src/constants';
|
|
28
27
|
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { SuiKit } from '@scallop-io/sui-kit';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
ADDRESSES_ID,
|
|
4
|
+
SUPPORT_POOLS,
|
|
5
|
+
SUPPORT_SPOOLS,
|
|
6
|
+
DEFAULT_CACHE_OPTIONS,
|
|
7
|
+
} from 'src/constants';
|
|
3
8
|
import {
|
|
4
9
|
queryMarket,
|
|
5
10
|
getObligations,
|
|
@@ -34,7 +39,7 @@ import {
|
|
|
34
39
|
getFlashLoanFees,
|
|
35
40
|
getVeSca,
|
|
36
41
|
getBorrowIncentivePools,
|
|
37
|
-
} from '
|
|
42
|
+
} from 'src/queries';
|
|
38
43
|
import {
|
|
39
44
|
ScallopQueryParams,
|
|
40
45
|
SupportStakeMarketCoins,
|
|
@@ -50,12 +55,11 @@ import {
|
|
|
50
55
|
MarketPool,
|
|
51
56
|
CoinPrices,
|
|
52
57
|
MarketPools,
|
|
53
|
-
} from '
|
|
58
|
+
} from 'src/types';
|
|
54
59
|
import { ScallopAddress } from './scallopAddress';
|
|
55
60
|
import { ScallopUtils } from './scallopUtils';
|
|
56
61
|
import { ScallopIndexer } from './scallopIndexer';
|
|
57
62
|
import { ScallopCache } from './scallopCache';
|
|
58
|
-
import { DEFAULT_CACHE_OPTIONS } from 'src/constants/cache';
|
|
59
63
|
import { SuiObjectData } from '@mysten/sui/client';
|
|
60
64
|
import {
|
|
61
65
|
getSCoinAmount,
|
|
@@ -64,9 +68,12 @@ import {
|
|
|
64
68
|
getSCoinTotalSupply,
|
|
65
69
|
} from 'src/queries/sCoinQuery';
|
|
66
70
|
import { normalizeSuiAddress } from '@mysten/sui/utils';
|
|
67
|
-
import {
|
|
71
|
+
import {
|
|
72
|
+
getSupplyLimit,
|
|
73
|
+
getIsolatedAssets,
|
|
74
|
+
isIsolatedAsset,
|
|
75
|
+
} from 'src/queries';
|
|
68
76
|
import { withIndexerFallback } from 'src/utils/indexer';
|
|
69
|
-
import { getIsolatedAssets, isIsolatedAsset } from 'src/queries/isolatedAsset';
|
|
70
77
|
import { newSuiKit } from './suiKit';
|
|
71
78
|
|
|
72
79
|
/**
|
|
@@ -21,8 +21,8 @@ import {
|
|
|
21
21
|
COIN_GECKGO_IDS,
|
|
22
22
|
POOL_ADDRESSES,
|
|
23
23
|
sCoinTypeToName,
|
|
24
|
-
} from '
|
|
25
|
-
import { getPythPrices, queryObligation } from '
|
|
24
|
+
} from 'src/constants';
|
|
25
|
+
import { getPythPrices, queryObligation } from 'src/queries';
|
|
26
26
|
import {
|
|
27
27
|
parseDataFromPythPriceFeed,
|
|
28
28
|
isMarketCoin,
|
|
@@ -30,11 +30,15 @@ import {
|
|
|
30
30
|
findClosestUnlockRound,
|
|
31
31
|
isSuiBridgeAsset,
|
|
32
32
|
isWormholeAsset,
|
|
33
|
-
} from '
|
|
34
|
-
import {
|
|
33
|
+
} from 'src/utils';
|
|
34
|
+
import {
|
|
35
|
+
DEFAULT_CACHE_OPTIONS,
|
|
36
|
+
PYTH_ENDPOINTS,
|
|
37
|
+
PYTH_FEED_IDS,
|
|
38
|
+
queryKeys,
|
|
39
|
+
} from 'src/constants';
|
|
35
40
|
import { ScallopCache } from './scallopCache';
|
|
36
|
-
import {
|
|
37
|
-
import type {
|
|
41
|
+
import {
|
|
38
42
|
ScallopUtilsParams,
|
|
39
43
|
SupportCoins,
|
|
40
44
|
SupportAssetCoins,
|
|
@@ -48,8 +52,7 @@ import type {
|
|
|
48
52
|
SupportSuiBridgeCoins,
|
|
49
53
|
SupportWormholeCoins,
|
|
50
54
|
PoolAddressInfo,
|
|
51
|
-
} from '
|
|
52
|
-
import { queryKeys } from 'src/constants';
|
|
55
|
+
} from 'src/types';
|
|
53
56
|
import type { SuiObjectArg, SuiTxArg, SuiTxBlock } from '@scallop-io/sui-kit';
|
|
54
57
|
import { newSuiKit } from './suiKit';
|
|
55
58
|
|
package/src/models/suiKit.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { normalizeStructTag } from '@mysten/sui/utils';
|
|
2
|
-
import { SUPPORT_BORROW_INCENTIVE_POOLS } from '
|
|
2
|
+
import { SUPPORT_BORROW_INCENTIVE_POOLS } from 'src/constants';
|
|
3
3
|
import {
|
|
4
4
|
parseOriginBorrowIncentivePoolData,
|
|
5
5
|
parseOriginBorrowIncentiveAccountData,
|
|
6
6
|
calculateBorrowIncentivePoolPointData,
|
|
7
|
-
} from '
|
|
8
|
-
import type { ScallopAddress, ScallopQuery, ScallopUtils } from '
|
|
9
|
-
import
|
|
7
|
+
} from 'src/utils';
|
|
8
|
+
import type { ScallopAddress, ScallopQuery, ScallopUtils } from 'src/models';
|
|
9
|
+
import {
|
|
10
10
|
BorrowIncentivePoolsQueryInterface,
|
|
11
11
|
BorrowIncentivePools,
|
|
12
12
|
BorrowIncentiveAccountsQueryInterface,
|
|
@@ -17,7 +17,7 @@ import type {
|
|
|
17
17
|
OptionalKeys,
|
|
18
18
|
BorrowIncentivePool,
|
|
19
19
|
CoinPrices,
|
|
20
|
-
} from '
|
|
20
|
+
} from 'src/types';
|
|
21
21
|
import BigNumber from 'bignumber.js';
|
|
22
22
|
|
|
23
23
|
/**
|
package/src/queries/coreQuery.ts
CHANGED
|
@@ -6,16 +6,16 @@ import {
|
|
|
6
6
|
BORROW_FEE_PROTOCOL_ID,
|
|
7
7
|
USE_TEST_ADDRESS,
|
|
8
8
|
FlashLoanFeeObjectMap,
|
|
9
|
-
} from '
|
|
9
|
+
} from 'src/constants';
|
|
10
10
|
import {
|
|
11
11
|
parseOriginMarketPoolData,
|
|
12
12
|
calculateMarketPoolData,
|
|
13
13
|
parseOriginMarketCollateralData,
|
|
14
14
|
calculateMarketCollateralData,
|
|
15
|
-
} from '
|
|
15
|
+
} from 'src/utils';
|
|
16
16
|
import type { SuiObjectResponse, SuiObjectData } from '@mysten/sui/client';
|
|
17
17
|
import type { SuiObjectArg } from '@scallop-io/sui-kit';
|
|
18
|
-
import type { ScallopAddress, ScallopCache, ScallopQuery } from '
|
|
18
|
+
import type { ScallopAddress, ScallopCache, ScallopQuery } from 'src/models';
|
|
19
19
|
import {
|
|
20
20
|
Market,
|
|
21
21
|
MarketPools,
|
|
@@ -36,9 +36,9 @@ import {
|
|
|
36
36
|
SupportMarketCoins,
|
|
37
37
|
OptionalKeys,
|
|
38
38
|
CoinPrices,
|
|
39
|
-
} from '
|
|
39
|
+
} from 'src/types';
|
|
40
40
|
import BigNumber from 'bignumber.js';
|
|
41
|
-
import { getSupplyLimit } from './
|
|
41
|
+
import { getSupplyLimit } from './supplyLimitQuery';
|
|
42
42
|
// import { isIsolatedAsset } from './isolatedAsset';
|
|
43
43
|
|
|
44
44
|
/**
|
package/src/queries/index.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
export * from './coreQuery';
|
|
2
|
-
export * from './spoolQuery';
|
|
3
1
|
export * from './borrowIncentiveQuery';
|
|
4
|
-
export * from './
|
|
2
|
+
export * from './coreQuery';
|
|
3
|
+
export * from './isolatedAssetQuery';
|
|
4
|
+
export * from './loyaltyProgramQuery';
|
|
5
5
|
export * from './portfolioQuery';
|
|
6
|
-
export * from './
|
|
6
|
+
export * from './priceQuery';
|
|
7
7
|
export * from './referralQuery';
|
|
8
|
-
export * from './
|
|
8
|
+
export * from './sCoinQuery';
|
|
9
|
+
export * from './spoolQuery';
|
|
10
|
+
export * from './supplyLimitQuery';
|
|
11
|
+
export * from './vescaQuery';
|
|
@@ -4,10 +4,10 @@ import {
|
|
|
4
4
|
SUPPORT_COLLATERALS,
|
|
5
5
|
SUPPORT_POOLS,
|
|
6
6
|
SUPPORT_SPOOLS,
|
|
7
|
-
} from '
|
|
7
|
+
} from 'src/constants';
|
|
8
8
|
import { minBigNumber, estimatedFactor } from 'src/utils';
|
|
9
|
-
import type { ScallopQuery } from '
|
|
10
|
-
import
|
|
9
|
+
import type { ScallopQuery } from 'src/models';
|
|
10
|
+
import {
|
|
11
11
|
Market,
|
|
12
12
|
SupportPoolCoins,
|
|
13
13
|
MarketPool,
|
|
@@ -26,7 +26,7 @@ import type {
|
|
|
26
26
|
SupportBorrowIncentiveCoins,
|
|
27
27
|
ObligationBorrowIcentiveReward,
|
|
28
28
|
SupportBorrowIncentiveRewardCoins,
|
|
29
|
-
} from '
|
|
29
|
+
} from 'src/types';
|
|
30
30
|
|
|
31
31
|
/**
|
|
32
32
|
* Get user lending infomation for specific pools.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SuiObjectData } from '@mysten/sui/client';
|
|
2
|
-
import type { ScallopAddress } from '
|
|
3
|
-
import
|
|
2
|
+
import type { ScallopAddress } from 'src/models';
|
|
3
|
+
import { SupportAssetCoins } from 'src/types';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Get price from pyth fee object.
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { normalizeStructTag } from '@mysten/sui/utils';
|
|
2
|
-
import { SUPPORT_SPOOLS } from '
|
|
2
|
+
import { SUPPORT_SPOOLS } from 'src/constants';
|
|
3
3
|
import {
|
|
4
4
|
parseOriginSpoolData,
|
|
5
5
|
calculateSpoolData,
|
|
6
6
|
parseOriginSpoolRewardPoolData,
|
|
7
7
|
calculateSpoolRewardPoolData,
|
|
8
8
|
isMarketCoin,
|
|
9
|
-
} from '
|
|
9
|
+
} from 'src/utils';
|
|
10
10
|
import type { SuiObjectResponse } from '@mysten/sui/client';
|
|
11
|
-
import type { ScallopQuery, ScallopUtils } from '
|
|
12
|
-
import
|
|
11
|
+
import type { ScallopQuery, ScallopUtils } from 'src/models';
|
|
12
|
+
import {
|
|
13
13
|
MarketPool,
|
|
14
14
|
Spools,
|
|
15
15
|
Spool,
|
|
@@ -20,7 +20,7 @@ import type {
|
|
|
20
20
|
SupportStakeCoins,
|
|
21
21
|
CoinPrices,
|
|
22
22
|
MarketPools,
|
|
23
|
-
} from '
|
|
23
|
+
} from 'src/types';
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
26
|
* Get spools data.
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import BigNumber from 'bignumber.js';
|
|
2
|
-
import { VeScaTreasuryFields, VeScaTreasuryInfo, Vesca } from '../types';
|
|
3
2
|
import {
|
|
4
3
|
type SuiObjectResponse,
|
|
5
4
|
type SuiObjectData,
|
|
6
5
|
DevInspectResults,
|
|
7
6
|
} from '@mysten/sui/client';
|
|
8
|
-
import type { ScallopUtils } from '
|
|
7
|
+
import type { ScallopUtils } from 'src/models';
|
|
9
8
|
import { MAX_LOCK_DURATION } from 'src/constants';
|
|
10
9
|
import { SUI_CLOCK_OBJECT_ID, SuiTxBlock } from '@scallop-io/sui-kit';
|
|
11
10
|
import { bcs } from '@mysten/sui/bcs';
|
|
12
11
|
import { z as zod } from 'zod';
|
|
13
12
|
import { queryKeys } from 'src/constants';
|
|
14
13
|
import assert from 'assert';
|
|
14
|
+
import { Vesca, VeScaTreasuryFields, VeScaTreasuryInfo } from 'src/types';
|
|
15
15
|
/**
|
|
16
16
|
* Query all owned veSca key.
|
|
17
17
|
*
|
package/src/test.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// import { ScallopQuery } from './models';
|
|
2
|
+
// const main = async () => {
|
|
3
|
+
// try {
|
|
4
|
+
// const query = new ScallopQuery({
|
|
5
|
+
// walletAddress:
|
|
6
|
+
// '0x61819c99588108d9f7710047e6ad8f2da598de8e98a26ea62bd7ad9847f5123c',
|
|
7
|
+
// });
|
|
8
|
+
// await query.init();
|
|
9
|
+
// const { suppliedValue: haSuiLendingValue } =
|
|
10
|
+
// await query.getLending('hasui');
|
|
11
|
+
// const obligations = await query.getObligationAccounts();
|
|
12
|
+
|
|
13
|
+
// const haSuiCollateralUsdValue = Object.values(obligations).reduce(
|
|
14
|
+
// (acc, obligation) => {
|
|
15
|
+
// acc += obligation?.collaterals.hasui?.depositedValue ?? 0;
|
|
16
|
+
// return acc;
|
|
17
|
+
// },
|
|
18
|
+
// 0
|
|
19
|
+
// );
|
|
20
|
+
|
|
21
|
+
// const totalStaked = haSuiCollateralUsdValue + haSuiLendingValue;
|
|
22
|
+
// console.log(totalStaked);
|
|
23
|
+
// } catch (e) {
|
|
24
|
+
// console.error(e);
|
|
25
|
+
// } finally {
|
|
26
|
+
// process.exit(0);
|
|
27
|
+
// }
|
|
28
|
+
// };
|
|
29
|
+
|
|
30
|
+
// main();
|
package/src/types/address.ts
CHANGED