@naviprotocol/wallet-client 1.4.11 → 2.0.0-beta.1
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/README.md +62 -9
- package/dist/client.d.ts +18 -6
- package/dist/client.d.ts.map +1 -1
- package/dist/index.esm.js +612 -512
- package/dist/index.esm.js.map +1 -1
- package/dist/modules/balanceModule/index.d.ts +6 -5
- package/dist/modules/balanceModule/index.d.ts.map +1 -1
- package/dist/modules/balanceModule/portfolio.d.ts +1 -1
- package/dist/modules/balanceModule/portfolio.d.ts.map +1 -1
- package/dist/modules/haedalModule/index.d.ts +14 -12
- package/dist/modules/haedalModule/index.d.ts.map +1 -1
- package/dist/modules/lendingModule/index.d.ts +24 -10
- package/dist/modules/lendingModule/index.d.ts.map +1 -1
- package/dist/modules/lendingModule/migrate.d.ts.map +1 -1
- package/dist/modules/lendingModule/protocols/navi.d.ts.map +1 -1
- package/dist/modules/lendingModule/protocols/suilend.d.ts +7 -2
- package/dist/modules/lendingModule/protocols/suilend.d.ts.map +1 -1
- package/dist/modules/swapModule/index.d.ts +7 -3
- package/dist/modules/swapModule/index.d.ts.map +1 -1
- package/dist/modules/voloModule/index.d.ts +14 -13
- package/dist/modules/voloModule/index.d.ts.map +1 -1
- package/dist/signer.d.ts +2 -4
- package/dist/signer.d.ts.map +1 -1
- package/dist/suilend-CWugUjwd.js +85 -0
- package/dist/suilend-CWugUjwd.js.map +1 -0
- package/dist/transaction-result.d.ts +7 -0
- package/dist/transaction-result.d.ts.map +1 -0
- package/dist/transport.d.ts +3 -3
- package/dist/transport.d.ts.map +1 -1
- package/dist/types.d.ts +57 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +36 -12
- package/dist/index.cjs.js +0 -2
- package/dist/index.cjs.js.map +0 -1
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Module } from '../module';
|
|
2
|
-
import { CoinStruct
|
|
2
|
+
import { CoinStruct } from '@mysten/sui/jsonRpc';
|
|
3
3
|
import { WalletClient } from '../../client';
|
|
4
4
|
import { UserPortfolio } from './portfolio';
|
|
5
|
+
import { NaviWalletTransactionResult } from '../../types';
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* Configuration options for the balance module
|
|
@@ -67,7 +68,7 @@ export declare class BalanceModule extends Module<BalanceModuleConfig, Events> {
|
|
|
67
68
|
*/
|
|
68
69
|
sendCoin<T extends boolean = false>(coinType: string, recipient: string, amount: number, options?: {
|
|
69
70
|
dryRun: T;
|
|
70
|
-
}): Promise<T
|
|
71
|
+
}): Promise<NaviWalletTransactionResult<T>>;
|
|
71
72
|
/**
|
|
72
73
|
* Sends coins to multiple recipients in a single transaction
|
|
73
74
|
*
|
|
@@ -79,7 +80,7 @@ export declare class BalanceModule extends Module<BalanceModuleConfig, Events> {
|
|
|
79
80
|
*/
|
|
80
81
|
sendCoinBatch<T extends boolean = false>(coinType: string, recipients: string[], amounts: number[], options?: {
|
|
81
82
|
dryRun: T;
|
|
82
|
-
}): Promise<T
|
|
83
|
+
}): Promise<NaviWalletTransactionResult<T>>;
|
|
83
84
|
/**
|
|
84
85
|
* Transfers a single object to a recipient
|
|
85
86
|
*
|
|
@@ -90,7 +91,7 @@ export declare class BalanceModule extends Module<BalanceModuleConfig, Events> {
|
|
|
90
91
|
*/
|
|
91
92
|
transferObject<T extends boolean = false>(object: string, recipient: string, options?: {
|
|
92
93
|
dryRun: T;
|
|
93
|
-
}): Promise<T
|
|
94
|
+
}): Promise<NaviWalletTransactionResult<T>>;
|
|
94
95
|
/**
|
|
95
96
|
* Transfers multiple objects to their respective recipients in a single transaction
|
|
96
97
|
*
|
|
@@ -104,7 +105,7 @@ export declare class BalanceModule extends Module<BalanceModuleConfig, Events> {
|
|
|
104
105
|
*/
|
|
105
106
|
transferObjectBatch<T extends boolean = false>(objects: string[], recipients: string[], options?: {
|
|
106
107
|
dryRun: T;
|
|
107
|
-
}): Promise<T
|
|
108
|
+
}): Promise<NaviWalletTransactionResult<T>>;
|
|
108
109
|
/**
|
|
109
110
|
* Updates the portfolio with current coin information
|
|
110
111
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/balanceModule/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,OAAO,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/balanceModule/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAG3C,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAA;AAG9D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,yDAAyD;IACzD,mBAAmB,EAAE,MAAM,CAAA;IAC3B,sCAAsC;IACtC,kBAAkB,EAAE,OAAO,CAAA;CAC5B;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG;IACnB,yEAAyE;IACzE,2BAA2B,EAAE,EAAE,CAAA;CAChC,CAAA;AAED;;;;;;;;;GASG;AACH,qBAAa,aAAc,SAAQ,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACpE,6BAA6B;IAC7B,QAAQ,CAAC,IAAI,aAAY;IAEzB,mCAAmC;IACnC,QAAQ,CAAC,aAAa;;;MAGrB;IAED;;;;OAIG;IACH,IAAW,KAAK,iBAEf;IAED;;;;OAIG;IACH,IAAW,SAAS,kBAEnB;IAED;;;;;OAKG;IACU,aAAa;IAO1B;;;;;;;;OAQG;IACU,QAAQ,CAAC,CAAC,SAAS,OAAO,GAAG,KAAK,EAC7C,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,MAAM,EAAE,CAAC,CAAA;KAAE,GACtB,OAAO,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC;IAI1C;;;;;;;;OAQG;IACU,aAAa,CAAC,CAAC,SAAS,OAAO,GAAG,KAAK,EAClD,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,CAAC,EAAE;QAAE,MAAM,EAAE,CAAC,CAAA;KAAE,GACtB,OAAO,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC;IA6C1C;;;;;;;OAOG;IACG,cAAc,CAAC,CAAC,SAAS,OAAO,GAAG,KAAK,EAC5C,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;QAAE,MAAM,EAAE,CAAC,CAAA;KAAE,GACtB,OAAO,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC;IAI1C;;;;;;;;;;OAUG;IACG,mBAAmB,CAAC,CAAC,SAAS,OAAO,GAAG,KAAK,EACjD,OAAO,EAAE,MAAM,EAAE,EACjB,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,CAAC,EAAE;QAAE,MAAM,EAAE,CAAC,CAAA;KAAE,GACtB,OAAO,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC;IA6B1C;;;;;OAKG;IACH,eAAe,sBAeb;IAEF,2CAA2C;IAC3C,OAAO,CAAC,MAAM,CAAmB;IAEjC,oCAAoC;IACpC,OAAO,CAAC,UAAU,CAAqC;IAEvD,wCAAwC;IACxC,OAAO,CAAC,YAAY,CAA8B;IAElD,+CAA+C;IAC/C,OAAO,CAAC,cAAc,CAA6B;IAEnD;;;;;OAKG;YACW,YAAY;IAc1B;;;;OAIG;IACH,OAAO,CAAC,YAAY,EAAE,YAAY;IAelC;;;;OAIG;IACH,SAAS;CAOV"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portfolio.d.ts","sourceRoot":"","sources":["../../../src/modules/balanceModule/portfolio.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"portfolio.d.ts","sourceRoot":"","sources":["../../../src/modules/balanceModule/portfolio.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAGxC;;;;;;;;GAQG;AACH,qBAAa,aAAa;IACxB,yDAAyD;IACzD,QAAQ,EAAE;SAAG,GAAG,IAAI,MAAM,GAAG,eAAe;KAAE,CAAA;IAE9C;;;;OAIG;gBACS,KAAK,CAAC,EAAE,UAAU,EAAE,GAAG,aAAa;IAmChD;;;;;OAKG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe;IAK7C;;;;OAIG;IACH,YAAY;IAMZ;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM;IAM1B;;;;;;;OAOG;IACH,KAAK;CAMN;AAED;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,yDAAyD;IACzD,MAAM,EAAE,SAAS,CAAA;IACjB,uCAAuC;IACvC,KAAK,EAAE,UAAU,EAAE,CAAA;CACpB,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { CoinObject } from '@naviprotocol/lending';
|
|
1
|
+
import { CoinObject, NaviSdkServiceOptions } from '@naviprotocol/lending';
|
|
2
2
|
import { Transaction } from '@mysten/sui/transactions';
|
|
3
3
|
import { Module } from '../module';
|
|
4
|
-
import {
|
|
4
|
+
import { NaviWalletTransactionResult } from '../../types';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Configuration for the Haedal module
|
|
@@ -13,7 +13,12 @@ export interface HaedalModuleConfig {
|
|
|
13
13
|
configId: string;
|
|
14
14
|
/** haSUI coin type */
|
|
15
15
|
coinType: string;
|
|
16
|
+
/** Optional NAVI service endpoint overrides. */
|
|
17
|
+
services?: NaviSdkServiceOptions;
|
|
16
18
|
}
|
|
19
|
+
export type HaedalApyOptions = {
|
|
20
|
+
services?: NaviSdkServiceOptions;
|
|
21
|
+
};
|
|
17
22
|
/**
|
|
18
23
|
* Events emitted by the Haedal module
|
|
19
24
|
*/
|
|
@@ -34,17 +39,14 @@ export declare class HaedalModule extends Module<HaedalModuleConfig, Events> {
|
|
|
34
39
|
/** Module name identifier */
|
|
35
40
|
readonly name = "haedal";
|
|
36
41
|
/** Default configuration values */
|
|
37
|
-
readonly defaultConfig:
|
|
38
|
-
packageId: string;
|
|
39
|
-
configId: string;
|
|
40
|
-
coinType: string;
|
|
41
|
-
};
|
|
42
|
+
readonly defaultConfig: HaedalModuleConfig;
|
|
42
43
|
/**
|
|
43
44
|
* Fetches the current APY for Haedal staking
|
|
44
45
|
*
|
|
45
46
|
* @returns Current APY of haSUI
|
|
46
47
|
*/
|
|
47
|
-
|
|
48
|
+
private getApyCached;
|
|
49
|
+
getApy(options?: HaedalApyOptions): Promise<number>;
|
|
48
50
|
/**
|
|
49
51
|
* Builds a transaction block for staking SUI to haSUI
|
|
50
52
|
*
|
|
@@ -53,8 +55,8 @@ export declare class HaedalModule extends Module<HaedalModuleConfig, Events> {
|
|
|
53
55
|
* @returns haSUI coin object
|
|
54
56
|
*/
|
|
55
57
|
stakePTB(tx: Transaction, suiCoin: CoinObject): Promise<{
|
|
56
|
-
$kind: "NestedResult";
|
|
57
58
|
NestedResult: [number, number];
|
|
59
|
+
$kind: "NestedResult";
|
|
58
60
|
}>;
|
|
59
61
|
/**
|
|
60
62
|
* Builds a transaction block for unstaking haSUI to SUI
|
|
@@ -64,8 +66,8 @@ export declare class HaedalModule extends Module<HaedalModuleConfig, Events> {
|
|
|
64
66
|
* @returns SUI coin object
|
|
65
67
|
*/
|
|
66
68
|
unstakePTB(tx: Transaction, haSUICoin: CoinObject): Promise<{
|
|
67
|
-
$kind: "NestedResult";
|
|
68
69
|
NestedResult: [number, number];
|
|
70
|
+
$kind: "NestedResult";
|
|
69
71
|
}>;
|
|
70
72
|
/**
|
|
71
73
|
* Stake SUI for haSUI
|
|
@@ -75,7 +77,7 @@ export declare class HaedalModule extends Module<HaedalModuleConfig, Events> {
|
|
|
75
77
|
*/
|
|
76
78
|
stake<T extends boolean = false>(suiAmount: number, options?: {
|
|
77
79
|
dryRun: T;
|
|
78
|
-
}): Promise<T
|
|
80
|
+
}): Promise<NaviWalletTransactionResult<T>>;
|
|
79
81
|
/**
|
|
80
82
|
* Unstake haSUI for SUI
|
|
81
83
|
*
|
|
@@ -84,6 +86,6 @@ export declare class HaedalModule extends Module<HaedalModuleConfig, Events> {
|
|
|
84
86
|
*/
|
|
85
87
|
unstake<T extends boolean = false>(haSUIAmount: number, options?: {
|
|
86
88
|
dryRun: T;
|
|
87
|
-
}): Promise<T
|
|
89
|
+
}): Promise<NaviWalletTransactionResult<T>>;
|
|
88
90
|
}
|
|
89
91
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/haedalModule/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,UAAU,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/haedalModule/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,UAAU,EAQV,KAAK,qBAAqB,EAC3B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAA;AAE9D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAA;IAChB,sBAAsB;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,qBAAqB,CAAA;CACjC;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,qBAAqB,CAAA;CACjC,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG;IACnB,6CAA6C;IAC7C,sBAAsB,EAAE;QACtB,SAAS,EAAE,MAAM,CAAA;KAClB,CAAA;IACD,iDAAiD;IACjD,wBAAwB,EAAE;QACxB,WAAW,EAAE,MAAM,CAAA;KACpB,CAAA;CACF,CAAA;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC;IAClE,6BAA6B;IAC7B,QAAQ,CAAC,IAAI,YAAW;IACxB,mCAAmC;IACnC,QAAQ,CAAC,aAAa,EAAE,kBAAkB,CAIzC;IAED;;;;OAIG;IACH,OAAO,CAAC,YAAY,CAcnB;IAED,MAAM,CAAC,OAAO,CAAC,EAAE,gBAAgB;IAMjC;;;;;;OAMG;IACG,QAAQ,CAAC,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU;;;;IAcnD;;;;;;OAMG;IACG,UAAU,CAAC,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU;;;;IAavD;;;;;OAKG;IACG,KAAK,CAAC,CAAC,SAAS,OAAO,GAAG,KAAK,EACnC,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;QAAE,MAAM,EAAE,CAAC,CAAA;KAAE,GACtB,OAAO,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC;IAyB1C;;;;;OAKG;IACG,OAAO,CAAC,CAAC,SAAS,OAAO,GAAG,KAAK,EACrC,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QAAE,MAAM,EAAE,CAAC,CAAA;KAAE,GACtB,OAAO,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC;CAwB3C"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { NaviWalletTransactionResult } from '../../types';
|
|
2
2
|
import { Module } from '../module';
|
|
3
|
-
import { AssetIdentifier, CacheOption, LendingReward, AccountCapOption, Pool } from '@naviprotocol/lending';
|
|
3
|
+
import { AssetIdentifier, CacheOption, LendingReward, AccountCapOption, Pool, NaviSdkServiceOptions } from '@naviprotocol/lending';
|
|
4
|
+
import { SuiGrpcClient } from '@mysten/sui/grpc';
|
|
4
5
|
import { migrateBalanceToSupplyPTB, migrateBetweenBorrowPTB, migrateBetweenSupplyPTB } from './migrate';
|
|
5
6
|
import { LendingProtocol } from './protocols';
|
|
7
|
+
import { WalletClient } from '../../client';
|
|
6
8
|
|
|
7
9
|
/**
|
|
8
10
|
* Configuration options for the lending module
|
|
@@ -12,6 +14,14 @@ export interface LendingModuleConfig {
|
|
|
12
14
|
env: 'dev' | 'prod';
|
|
13
15
|
/** Lending protocols */
|
|
14
16
|
protocols: LendingProtocol[];
|
|
17
|
+
/** Enable the optional Suilend adapter. Defaults to true to preserve v1 business behavior. */
|
|
18
|
+
enableSuilend: boolean;
|
|
19
|
+
/** Optional Suilend v3 gRPC client. Defaults to a client derived from the wallet Sui network. */
|
|
20
|
+
suilendGrpcClient?: SuiGrpcClient;
|
|
21
|
+
/** Optional Suilend v3 gRPC endpoint. Used when suilendGrpcClient is not provided. */
|
|
22
|
+
suilendGrpcUrl?: string;
|
|
23
|
+
/** Optional NAVI service endpoint overrides. */
|
|
24
|
+
services?: NaviSdkServiceOptions;
|
|
15
25
|
}
|
|
16
26
|
/**
|
|
17
27
|
* Events emitted by the lending module
|
|
@@ -83,6 +93,10 @@ export declare class LendingModule extends Module<LendingModuleConfig, Events> {
|
|
|
83
93
|
private _protocols;
|
|
84
94
|
/** Get protocols (either from internal storage or config) */
|
|
85
95
|
get protocols(): LendingProtocol[];
|
|
96
|
+
get naviServiceOptions(): {
|
|
97
|
+
services?: NaviSdkServiceOptions | undefined;
|
|
98
|
+
};
|
|
99
|
+
install(walletClient: WalletClient): void;
|
|
86
100
|
getProtocol(name: string): Promise<LendingProtocol | undefined>;
|
|
87
101
|
/**
|
|
88
102
|
* Gets all available lending pools
|
|
@@ -109,7 +123,7 @@ export declare class LendingModule extends Module<LendingModuleConfig, Events> {
|
|
|
109
123
|
*/
|
|
110
124
|
deposit<T extends boolean = false>(identifier: AssetIdentifier, amount: number, options?: {
|
|
111
125
|
dryRun: T;
|
|
112
|
-
} & Partial<AccountCapOption>): Promise<T
|
|
126
|
+
} & Partial<AccountCapOption>): Promise<NaviWalletTransactionResult<T>>;
|
|
113
127
|
/**
|
|
114
128
|
* Withdraws coins from a lending pool
|
|
115
129
|
*
|
|
@@ -121,7 +135,7 @@ export declare class LendingModule extends Module<LendingModuleConfig, Events> {
|
|
|
121
135
|
withdraw<T extends boolean = false>(identifier: AssetIdentifier, amount: number, options?: {
|
|
122
136
|
dryRun: T;
|
|
123
137
|
disableUpdateOracle?: boolean;
|
|
124
|
-
} & Partial<AccountCapOption>): Promise<T
|
|
138
|
+
} & Partial<AccountCapOption>): Promise<NaviWalletTransactionResult<T>>;
|
|
125
139
|
/**
|
|
126
140
|
* Borrows coins from a lending pool
|
|
127
141
|
*
|
|
@@ -133,7 +147,7 @@ export declare class LendingModule extends Module<LendingModuleConfig, Events> {
|
|
|
133
147
|
borrow<T extends boolean = false>(identifier: AssetIdentifier, amount: number, options?: {
|
|
134
148
|
dryRun: T;
|
|
135
149
|
disableUpdateOracle?: boolean;
|
|
136
|
-
} & Partial<AccountCapOption>): Promise<T
|
|
150
|
+
} & Partial<AccountCapOption>): Promise<NaviWalletTransactionResult<T>>;
|
|
137
151
|
/**
|
|
138
152
|
* Repays borrowed coins to a lending pool
|
|
139
153
|
*
|
|
@@ -144,7 +158,7 @@ export declare class LendingModule extends Module<LendingModuleConfig, Events> {
|
|
|
144
158
|
*/
|
|
145
159
|
repay<T extends boolean = false>(identifier: AssetIdentifier, amount: number, options?: {
|
|
146
160
|
dryRun: T;
|
|
147
|
-
} & Partial<AccountCapOption>): Promise<T
|
|
161
|
+
} & Partial<AccountCapOption>): Promise<NaviWalletTransactionResult<T>>;
|
|
148
162
|
/**
|
|
149
163
|
* Gets the current health factor for the user
|
|
150
164
|
*
|
|
@@ -163,7 +177,7 @@ export declare class LendingModule extends Module<LendingModuleConfig, Events> {
|
|
|
163
177
|
*/
|
|
164
178
|
liquidate<T extends boolean = false>(payIdentifier: AssetIdentifier, payAmount: number, collateralIdentifier: AssetIdentifier, liquidationAddress: string, options?: {
|
|
165
179
|
dryRun: T;
|
|
166
|
-
}): Promise<T
|
|
180
|
+
}): Promise<NaviWalletTransactionResult<T>>;
|
|
167
181
|
/**
|
|
168
182
|
* Gets the available lending rewards for the current user.
|
|
169
183
|
*
|
|
@@ -194,7 +208,7 @@ export declare class LendingModule extends Module<LendingModuleConfig, Events> {
|
|
|
194
208
|
*/
|
|
195
209
|
claimAllRewards<T extends boolean = false>(options?: {
|
|
196
210
|
dryRun: T;
|
|
197
|
-
} & Partial<AccountCapOption>): Promise<T
|
|
211
|
+
} & Partial<AccountCapOption>): Promise<NaviWalletTransactionResult<T>>;
|
|
198
212
|
private updateOraclePTB;
|
|
199
213
|
/**
|
|
200
214
|
* Updates the oracle prices for the lending protocol
|
|
@@ -206,7 +220,7 @@ export declare class LendingModule extends Module<LendingModuleConfig, Events> {
|
|
|
206
220
|
updateOracle<T extends boolean = false>(options?: {
|
|
207
221
|
dryRun: T;
|
|
208
222
|
pools?: Pool[];
|
|
209
|
-
}): Promise<T
|
|
223
|
+
}): Promise<NaviWalletTransactionResult<T>>;
|
|
210
224
|
/**
|
|
211
225
|
* Gets all active lending positions for the user
|
|
212
226
|
*
|
|
@@ -222,7 +236,7 @@ export declare class LendingModule extends Module<LendingModuleConfig, Events> {
|
|
|
222
236
|
*/
|
|
223
237
|
createAccountCap<T extends boolean = false>(options?: {
|
|
224
238
|
dryRun: T;
|
|
225
|
-
}): Promise<T
|
|
239
|
+
}): Promise<NaviWalletTransactionResult<T>>;
|
|
226
240
|
migrateBetweenSupplyPTB: typeof migrateBetweenSupplyPTB;
|
|
227
241
|
migrateBetweenBorrowPTB: typeof migrateBetweenBorrowPTB;
|
|
228
242
|
migrateBalanceToSupplyPTB: typeof migrateBalanceToSupplyPTB;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/lendingModule/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/lendingModule/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../src/modules/lendingModule/migrate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EACL,eAAe,EAShB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,GAAG,CAAA;AAMtC,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,aAAa,EACnB,EAAE,EAAE,WAAW,EACf,IAAI,EAAE,eAAe,EACrB,EAAE,EAAE,eAAe,EACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAC,
|
|
1
|
+
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../src/modules/lendingModule/migrate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EACL,eAAe,EAShB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,GAAG,CAAA;AAMtC,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,aAAa,EACnB,EAAE,EAAE,WAAW,EACf,IAAI,EAAE,eAAe,EACrB,EAAE,EAAE,eAAe,EACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAC,wBAyIH;AAED,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,aAAa,EACnB,EAAE,EAAE,WAAW,EACf,IAAI,EAAE,eAAe,EACrB,EAAE,EAAE,eAAe,EACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC9B,CAAC,wBAgJH;AAED,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,aAAa,EACnB,EAAE,EAAE,WAAW,EACf,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,eAAe,EACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAC,wBAgDH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navi.d.ts","sourceRoot":"","sources":["../../../../src/modules/lendingModule/protocols/navi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,GAAG,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AACjG,OAAO,EAAiC,UAAU,EAAW,MAAM,uBAAuB,CAAA;AAC1F,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAI9C,cAAM,YAAa,YAAW,eAAe;IAC3C,QAAQ,CAAC,IAAI,UAAS;IACtB,OAAO,CAAC,YAAY,CAAc;gBAEtB,YAAY,EAAE,YAAY;IAIhC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAiB/C,cAAc,CAClB,EAAE,EAAE,WAAW,EACf,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,sBAAsB,EAClC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IAIV,eAAe,CACnB,EAAE,EAAE,WAAW,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,iBAAiB,CAAC;IAIvB,aAAa,CACjB,EAAE,EAAE,WAAW,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,iBAAiB,CAAC;IAIvB,YAAY,CAChB,EAAE,EAAE,WAAW,EACf,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"navi.d.ts","sourceRoot":"","sources":["../../../../src/modules/lendingModule/protocols/navi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,GAAG,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AACjG,OAAO,EAAiC,UAAU,EAAW,MAAM,uBAAuB,CAAA;AAC1F,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAI9C,cAAM,YAAa,YAAW,eAAe;IAC3C,QAAQ,CAAC,IAAI,UAAS;IACtB,OAAO,CAAC,YAAY,CAAc;gBAEtB,YAAY,EAAE,YAAY;IAIhC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAiB/C,cAAc,CAClB,EAAE,EAAE,WAAW,EACf,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,sBAAsB,EAClC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IAIV,eAAe,CACnB,EAAE,EAAE,WAAW,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,iBAAiB,CAAC;IAIvB,aAAa,CACjB,EAAE,EAAE,WAAW,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,iBAAiB,CAAC;IAIvB,YAAY,CAChB,EAAE,EAAE,WAAW,EACf,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;CAMjB;AAED,eAAe,YAAY,CAAA"}
|
|
@@ -1,16 +1,21 @@
|
|
|
1
1
|
import { LendingPool, LendingProtocol } from '.';
|
|
2
2
|
import { Transaction, TransactionObjectInput, TransactionResult } from '@mysten/sui/transactions';
|
|
3
|
-
import {
|
|
3
|
+
import { SuiGrpcClient } from '@mysten/sui/grpc';
|
|
4
|
+
import { SuilendClient } from '@suilend/sdk/client';
|
|
4
5
|
import { ObligationOwnerCap } from '@suilend/sdk/_generated/suilend/lending-market/structs';
|
|
5
6
|
import { WalletClient } from '../../../client';
|
|
6
7
|
|
|
8
|
+
type SuilendProtocolCreateOptions = {
|
|
9
|
+
grpcClient?: SuiGrpcClient;
|
|
10
|
+
grpcUrl?: string;
|
|
11
|
+
};
|
|
7
12
|
declare class SuilendProtocol implements LendingProtocol {
|
|
8
13
|
readonly name = "suilend";
|
|
9
14
|
private walletClient;
|
|
10
15
|
private obligationOwnerCap;
|
|
11
16
|
private suilendClient;
|
|
12
17
|
constructor(walletClient: WalletClient, obligationOwnerCap: ObligationOwnerCap<string>, suilendClient: SuilendClient);
|
|
13
|
-
static create(walletClient: WalletClient): Promise<SuilendProtocol>;
|
|
18
|
+
static create(walletClient: WalletClient, options?: SuilendProtocolCreateOptions): Promise<SuilendProtocol>;
|
|
14
19
|
getPool(coinType: string): Promise<LendingPool & {
|
|
15
20
|
cTokenExchangeRate: number;
|
|
16
21
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suilend.d.ts","sourceRoot":"","sources":["../../../../src/modules/lendingModule/protocols/suilend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,GAAG,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AACjG,OAAO,
|
|
1
|
+
{"version":3,"file":"suilend.d.ts","sourceRoot":"","sources":["../../../../src/modules/lendingModule/protocols/suilend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,GAAG,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AACjG,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,aAAa,EAA0C,MAAM,qBAAqB,CAAA;AAG3F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wDAAwD,CAAA;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAM9C,KAAK,4BAA4B,GAAG;IAClC,UAAU,CAAC,EAAE,aAAa,CAAA;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AA4BD,cAAM,eAAgB,YAAW,eAAe;IAC9C,QAAQ,CAAC,IAAI,aAAY;IACzB,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,kBAAkB,CAA4B;IACtD,OAAO,CAAC,aAAa,CAAe;gBAGlC,YAAY,EAAE,YAAY,EAC1B,kBAAkB,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAC9C,aAAa,EAAE,aAAa;WAOjB,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,GAAE,4BAAiC;IAgBpF,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG;QAAE,kBAAkB,EAAE,MAAM,CAAA;KAAE,CAAC;IAoDhF,cAAc,CAClB,EAAE,EAAE,WAAW,EACf,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,sBAAsB,EAClC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IAIV,eAAe,CAAC,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAajE,aAAa,CACjB,EAAE,EAAE,WAAW,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,iBAAiB,CAAC;IAIvB,YAAY,CAChB,EAAE,EAAE,WAAW,EACf,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,sBAAsB,EAClC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;CAIjB;AAED,eAAe,eAAe,CAAA"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Dex, FeeOption, Quote } from '@naviprotocol/astros-aggregator-sdk';
|
|
2
2
|
import { Transaction } from '@mysten/sui/transactions';
|
|
3
3
|
import { Module } from '../module';
|
|
4
|
-
import {
|
|
4
|
+
import { NaviWalletTransactionResult } from '../../types';
|
|
5
|
+
import { NaviSdkServiceOptions } from '@naviprotocol/lending';
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* Configuration options for the swap module
|
|
@@ -19,6 +20,8 @@ export interface SwapModuleConfig {
|
|
|
19
20
|
serviceFee: FeeOption | undefined;
|
|
20
21
|
/** Environment setting */
|
|
21
22
|
env: 'dev' | 'prod';
|
|
23
|
+
/** Optional NAVI service endpoint overrides. */
|
|
24
|
+
services?: NaviSdkServiceOptions;
|
|
22
25
|
}
|
|
23
26
|
/**
|
|
24
27
|
* Events emitted by the swap module
|
|
@@ -67,6 +70,7 @@ export declare class SwapModule extends Module<SwapModuleConfig, Events> {
|
|
|
67
70
|
dexList: Dex[];
|
|
68
71
|
depth: number;
|
|
69
72
|
serviceFee: FeeOption | undefined;
|
|
73
|
+
services: NaviSdkServiceOptions | undefined;
|
|
70
74
|
};
|
|
71
75
|
/**
|
|
72
76
|
* Get a quote for a swap
|
|
@@ -84,7 +88,7 @@ export declare class SwapModule extends Module<SwapModuleConfig, Events> {
|
|
|
84
88
|
* @param slippage - The slippage tolerance
|
|
85
89
|
* @returns The swap transaction
|
|
86
90
|
*/
|
|
87
|
-
buildSwapPTBFromQuote(tx: Transaction, quote: Quote, fromCoin: any, slippage: number): Promise<import('@
|
|
91
|
+
buildSwapPTBFromQuote(tx: Transaction, quote: Quote, fromCoin: any, slippage: number): Promise<import('@naviprotocol/astros-aggregator-sdk').SingleCoinTransactionResult>;
|
|
88
92
|
/**
|
|
89
93
|
* Executes a swap between two coin types
|
|
90
94
|
*
|
|
@@ -104,6 +108,6 @@ export declare class SwapModule extends Module<SwapModuleConfig, Events> {
|
|
|
104
108
|
*/
|
|
105
109
|
swap<T extends boolean = false>(fromCoinType: string, toCoinType: string, fromAmount: number, slippage: number, options?: {
|
|
106
110
|
dryRun: T;
|
|
107
|
-
}): Promise<T
|
|
111
|
+
}): Promise<NaviWalletTransactionResult<T>>;
|
|
108
112
|
}
|
|
109
113
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/swapModule/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAGL,GAAG,EACH,SAAS,EAET,KAAK,EACN,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/swapModule/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAGL,GAAG,EACH,SAAS,EAET,KAAK,EACN,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAEtD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAA;AAE9D,OAAO,EAAiB,KAAK,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAQjF;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAA;IACd,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAA;IACf,uCAAuC;IACvC,OAAO,EAAE,GAAG,EAAE,CAAA;IACd,sDAAsD;IACtD,KAAK,EAAE,MAAM,CAAA;IACb,gCAAgC;IAChC,UAAU,EAAE,SAAS,GAAG,SAAS,CAAA;IACjC,0BAA0B;IAC1B,GAAG,EAAE,KAAK,GAAG,MAAM,CAAA;IACnB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,qBAAqB,CAAA;CACjC;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG;IACnB,oDAAoD;IACpD,mBAAmB,EAAE;QACnB,uBAAuB;QACvB,YAAY,EAAE,MAAM,CAAA;QACpB,uBAAuB;QACvB,UAAU,EAAE,MAAM,CAAA;QAClB,mBAAmB;QACnB,UAAU,EAAE,MAAM,CAAA;QAClB,iCAAiC;QACjC,QAAQ,EAAE,MAAM,CAAA;QAChB,6BAA6B;QAC7B,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;CACF,CAAA;AAyBD;;;;;;;;GAQG;AACH,qBAAa,UAAW,SAAQ,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAC9D,6BAA6B;IAC7B,QAAQ,CAAC,IAAI,UAAS;IAEtB,mCAAmC;IACnC,QAAQ,CAAC,aAAa,EAAE,gBAAgB,CAOvC;IAED;;;;OAIG;IACH,IAAI,QAAQ,WAEX;IAED;;;OAGG;IACH,IAAI,WAAW;;;;;;MAQd;IAED;;;;;;OAMG;IACG,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAI3E;;;;;;;OAOG;IACG,qBAAqB,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM;IAkB1F;;;;;;;;;;;;;;;;OAgBG;IACG,IAAI,CAAC,CAAC,SAAS,OAAO,GAAG,KAAK,EAClC,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,MAAM,EAAE,CAAC,CAAA;KAAE,GACtB,OAAO,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC;CAoG3C"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { CoinObject } from '@naviprotocol/lending';
|
|
1
|
+
import { CoinObject, NaviSdkServiceOptions } from '@naviprotocol/lending';
|
|
2
2
|
import { Transaction } from '@mysten/sui/transactions';
|
|
3
3
|
import { Module } from '../module';
|
|
4
|
-
import {
|
|
4
|
+
import { NaviWalletTransactionResult } from '../../types';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Configuration interface for the Volo staking module
|
|
@@ -15,7 +15,12 @@ export interface VoloModuleConfig {
|
|
|
15
15
|
coinType: string;
|
|
16
16
|
/** The metadata ID for the staking pool */
|
|
17
17
|
metadataId: string;
|
|
18
|
+
/** Optional NAVI service endpoint overrides. */
|
|
19
|
+
services?: NaviSdkServiceOptions;
|
|
18
20
|
}
|
|
21
|
+
export type VoloStatsOptions = {
|
|
22
|
+
services?: NaviSdkServiceOptions;
|
|
23
|
+
};
|
|
19
24
|
/**
|
|
20
25
|
* Event types emitted by the Volo module
|
|
21
26
|
*/
|
|
@@ -87,19 +92,15 @@ export declare class VoloModule extends Module<VoloModuleConfig, Events> {
|
|
|
87
92
|
/** Module name identifier */
|
|
88
93
|
readonly name = "volo";
|
|
89
94
|
/** Default configuration for the Volo staking protocol */
|
|
90
|
-
readonly defaultConfig:
|
|
91
|
-
packageId: string;
|
|
92
|
-
poolId: string;
|
|
93
|
-
metadataId: string;
|
|
94
|
-
coinType: string;
|
|
95
|
-
};
|
|
95
|
+
readonly defaultConfig: VoloModuleConfig;
|
|
96
96
|
/**
|
|
97
97
|
* Get current statistics and information about the Volo staking pool
|
|
98
98
|
* Uses caching to avoid repeated API calls
|
|
99
99
|
*
|
|
100
100
|
* @returns Volo staking pool information
|
|
101
101
|
*/
|
|
102
|
-
|
|
102
|
+
private getStatsCached;
|
|
103
|
+
getStats(options?: VoloStatsOptions): Promise<VoloStats>;
|
|
103
104
|
/**
|
|
104
105
|
* Adds staking operation to a transaction black
|
|
105
106
|
*
|
|
@@ -108,8 +109,8 @@ export declare class VoloModule extends Module<VoloModuleConfig, Events> {
|
|
|
108
109
|
* @returns The vSUI coin object received from staking
|
|
109
110
|
*/
|
|
110
111
|
stakePTB(tx: Transaction, suiCoin: CoinObject): Promise<{
|
|
111
|
-
$kind: "NestedResult";
|
|
112
112
|
NestedResult: [number, number];
|
|
113
|
+
$kind: "NestedResult";
|
|
113
114
|
}>;
|
|
114
115
|
/**
|
|
115
116
|
* Adds unstaking operation to a transaction black
|
|
@@ -119,8 +120,8 @@ export declare class VoloModule extends Module<VoloModuleConfig, Events> {
|
|
|
119
120
|
* @returns The SUI coin object received from unstaking
|
|
120
121
|
*/
|
|
121
122
|
unstakePTB(tx: Transaction, vSuiCoin: CoinObject): Promise<{
|
|
122
|
-
$kind: "NestedResult";
|
|
123
123
|
NestedResult: [number, number];
|
|
124
|
+
$kind: "NestedResult";
|
|
124
125
|
}>;
|
|
125
126
|
/**
|
|
126
127
|
* Stake SUI tokens to receive vSUI tokens
|
|
@@ -132,7 +133,7 @@ export declare class VoloModule extends Module<VoloModuleConfig, Events> {
|
|
|
132
133
|
*/
|
|
133
134
|
stake<T extends boolean = false>(suiAmount: number, options?: {
|
|
134
135
|
dryRun: T;
|
|
135
|
-
}): Promise<T
|
|
136
|
+
}): Promise<NaviWalletTransactionResult<T>>;
|
|
136
137
|
/**
|
|
137
138
|
* Unstake vSUI tokens to receive SUI tokens
|
|
138
139
|
*
|
|
@@ -143,6 +144,6 @@ export declare class VoloModule extends Module<VoloModuleConfig, Events> {
|
|
|
143
144
|
*/
|
|
144
145
|
unstake<T extends boolean = false>(vSuiAmount: number, options?: {
|
|
145
146
|
dryRun: T;
|
|
146
|
-
}): Promise<T
|
|
147
|
+
}): Promise<NaviWalletTransactionResult<T>>;
|
|
147
148
|
}
|
|
148
149
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/voloModule/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,UAAU,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/voloModule/index.ts"],"names":[],"mappings":"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"}
|
package/dist/signer.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Signer, SignatureWithBytes } from '@mysten/sui/cryptography';
|
|
2
2
|
import { Transaction } from '@mysten/sui/transactions';
|
|
3
|
-
import {
|
|
4
|
-
import { Experimental_SuiClientTypes } from '@mysten/sui/experimental';
|
|
3
|
+
import { NaviWalletExecutionClient } from './types';
|
|
5
4
|
|
|
6
5
|
/**
|
|
7
6
|
* Options for signing and executing transactions
|
|
@@ -10,7 +9,7 @@ interface SignAndExecuteOptions {
|
|
|
10
9
|
/** Transaction to sign and execute */
|
|
11
10
|
transaction: Transaction;
|
|
12
11
|
/** Sui client instance */
|
|
13
|
-
client:
|
|
12
|
+
client: NaviWalletExecutionClient;
|
|
14
13
|
}
|
|
15
14
|
/**
|
|
16
15
|
* Watch-only signer implementation
|
|
@@ -107,7 +106,6 @@ export declare abstract class WebSigner extends Signer {
|
|
|
107
106
|
getKeyScheme(): any;
|
|
108
107
|
abstract signPersonalMessage(bytes: Uint8Array): Promise<SignatureWithBytes>;
|
|
109
108
|
abstract signTransaction(bytes: Uint8Array): Promise<SignatureWithBytes>;
|
|
110
|
-
abstract signAndExecuteTransaction({ transaction, client }: SignAndExecuteOptions): Promise<Experimental_SuiClientTypes.TransactionResponse>;
|
|
111
109
|
}
|
|
112
110
|
export {};
|
|
113
111
|
//# sourceMappingURL=signer.d.ts.map
|
package/dist/signer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAExD;;GAEG;AACH,UAAU,qBAAqB;IAC7B,sCAAsC;IACtC,WAAW,EAAE,WAAW,CAAA;IACxB,0BAA0B;IAC1B,MAAM,EAAE,yBAAyB,CAAA;CAClC;AAED;;;;;;;;;GASG;AACH,qBAAa,WAAY,SAAQ,MAAM;IACrC,gDAAgD;IAChD,OAAO,CAAC,OAAO,CAAQ;IAEvB;;;;OAIG;gBACS,OAAO,EAAE,MAAM;IAK3B;;;;;;;;OAQG;IACY,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;IAIpD;;;;;;;OAOG;IACH,YAAY,IAAI,GAAG;IAenB;;;;OAIG;IACH,YAAY,IAAI,GAAG;IAInB;;;;;;;;OAQG;IACG,yBAAyB,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC;CAG9F;AAED;;;;GAIG;AACH,8BAAsB,SAAU,SAAQ,MAAM;IAC5C,OAAO,CAAC,OAAO,CAAQ;IAEvB;;;;OAIG;gBACS,OAAO,EAAE,MAAM;IAK3B;;;;;;;;OAQG;IACY,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;IAIpD;;;;;;;OAOG;IACH,YAAY,IAAI,GAAG;IAenB;;;;OAIG;IACH,YAAY,IAAI,GAAG;IAInB,QAAQ,CAAC,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAE5E,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,kBAAkB,CAAC;CACzE"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { SuiGrpcClient as f } from "@mysten/sui/grpc";
|
|
2
|
+
import { SuilendClient as g, LENDING_MARKET_ID as y, LENDING_MARKET_TYPE as u } from "@suilend/sdk/client";
|
|
3
|
+
import { parseObligation as C } from "@suilend/sdk/parsers/obligation";
|
|
4
|
+
import { parseReserve as T } from "@suilend/sdk/parsers/reserve";
|
|
5
|
+
import { getCoinMetadataMap as R } from "@suilend/sui-fe/lib/coinMetadata";
|
|
6
|
+
import { MAX_U64 as P } from "@suilend/sui-fe/lib/constants";
|
|
7
|
+
import { normalizeStructTag as c } from "@mysten/sui/utils";
|
|
8
|
+
function E(s, e) {
|
|
9
|
+
if (e.grpcClient)
|
|
10
|
+
return e.grpcClient;
|
|
11
|
+
const n = s.clientBundle.network;
|
|
12
|
+
if (e.grpcUrl)
|
|
13
|
+
return new f({
|
|
14
|
+
network: n,
|
|
15
|
+
baseUrl: e.grpcUrl
|
|
16
|
+
});
|
|
17
|
+
if (s.clientBundle.grpc !== s.clientBundle.legacyJsonRpc)
|
|
18
|
+
return s.clientBundle.grpc;
|
|
19
|
+
throw new Error(
|
|
20
|
+
"Suilend requires an explicit Sui gRPC client or grpcUrl; JSON-RPC endpoints are not valid gRPC endpoints"
|
|
21
|
+
);
|
|
22
|
+
}
|
|
23
|
+
class m {
|
|
24
|
+
constructor(e, n, o) {
|
|
25
|
+
this.name = "suilend", this.walletClient = e, this.obligationOwnerCap = n, this.suilendClient = o;
|
|
26
|
+
}
|
|
27
|
+
static async create(e, n = {}) {
|
|
28
|
+
const o = E(e, n), [t, a] = await Promise.all([
|
|
29
|
+
g.initialize(y, u, o),
|
|
30
|
+
g.getObligationOwnerCaps(
|
|
31
|
+
e.address,
|
|
32
|
+
[u],
|
|
33
|
+
o
|
|
34
|
+
)
|
|
35
|
+
]);
|
|
36
|
+
if (a.length === 0)
|
|
37
|
+
throw new Error("No existing obligations found for wallet address: " + e.address);
|
|
38
|
+
return new m(e, a[0], t);
|
|
39
|
+
}
|
|
40
|
+
async getPool(e) {
|
|
41
|
+
const n = c(e), o = this.suilendClient.lendingMarket.reserves, t = /* @__PURE__ */ new Set();
|
|
42
|
+
o.forEach((i) => {
|
|
43
|
+
t.add(c(i.coinType.name)), i.depositsPoolRewardManager.poolRewards.forEach((r) => {
|
|
44
|
+
r && t.add(c(r.coinType.name));
|
|
45
|
+
}), i.borrowsPoolRewardManager.poolRewards.forEach((r) => {
|
|
46
|
+
r && t.add(c(r.coinType.name));
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
const a = await R(Array.from(t)), l = o.map((i) => T(i, a)).reduce(
|
|
50
|
+
(i, r) => (i[r.coinType] = r, i),
|
|
51
|
+
{}
|
|
52
|
+
), w = await this.suilendClient.getObligation(
|
|
53
|
+
this.obligationOwnerCap.obligationId
|
|
54
|
+
), d = C(w, l), h = d.deposits.find((i) => i.coinType === n), b = d.borrows.find((i) => i.coinType === n), p = a[n].decimals;
|
|
55
|
+
return {
|
|
56
|
+
cTokenExchangeRate: l[n].cTokenExchangeRate.toNumber(),
|
|
57
|
+
supplyBalance: h?.depositedAmount.shiftedBy(p).decimalPlaces(0).toNumber() ?? 0,
|
|
58
|
+
borrowBalance: b?.borrowedAmount.shiftedBy(p).decimalPlaces(0).toNumber() ?? 0,
|
|
59
|
+
borrowAPR: l[n].borrowAprPercent.toNumber()
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
async depositCoinPTB(e, n, o, t) {
|
|
63
|
+
throw new Error("Not implemented");
|
|
64
|
+
}
|
|
65
|
+
async withdrawCoinPTB(e, n, o) {
|
|
66
|
+
const t = await this.getPool(n), a = o === t.supplyBalance;
|
|
67
|
+
return await this.suilendClient.withdraw(
|
|
68
|
+
this.obligationOwnerCap.id,
|
|
69
|
+
this.obligationOwnerCap.obligationId,
|
|
70
|
+
n,
|
|
71
|
+
a ? P.toString() : Math.ceil(o / t.cTokenExchangeRate).toString(),
|
|
72
|
+
e
|
|
73
|
+
);
|
|
74
|
+
}
|
|
75
|
+
async borrowCoinPTB(e, n, o) {
|
|
76
|
+
throw new Error("Not implemented");
|
|
77
|
+
}
|
|
78
|
+
async repayCoinPTB(e, n, o, t) {
|
|
79
|
+
this.suilendClient.repay(this.obligationOwnerCap.obligationId, n, o, e), e.transferObjects([o], e.pure.address(this.walletClient.address));
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
export {
|
|
83
|
+
m as default
|
|
84
|
+
};
|
|
85
|
+
//# sourceMappingURL=suilend-CWugUjwd.js.map
|