@triadxyz/triad-protocol 0.1.4-beta → 0.1.6-beta
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.d.ts +14 -0
- package/dist/index.js +47 -1
- package/dist/stake.d.ts +1 -13
- package/dist/stake.js +0 -37
- package/dist/test.js +6 -2
- package/dist/types/index.d.ts +6 -0
- package/dist/types/stake.d.ts +0 -5
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { TriadProtocol } from './types/triad_protocol';
|
|
|
4
4
|
import Ticker from './ticker';
|
|
5
5
|
import Vault from './vault';
|
|
6
6
|
import Stake from './stake';
|
|
7
|
+
import { CreateUserArgs, RpcOptions } from './types';
|
|
7
8
|
export default class TriadProtocolClient {
|
|
8
9
|
program: Program<TriadProtocol>;
|
|
9
10
|
provider: AnchorProvider;
|
|
@@ -11,5 +12,18 @@ export default class TriadProtocolClient {
|
|
|
11
12
|
vault: Vault;
|
|
12
13
|
stake: Stake;
|
|
13
14
|
constructor(connection: Connection, wallet: Wallet);
|
|
15
|
+
/**
|
|
16
|
+
* Get all Users
|
|
17
|
+
*/
|
|
18
|
+
getUsers: () => Promise<import("./types/stake").UserResponse[]>;
|
|
19
|
+
hasReferral: (referral: string) => Promise<boolean>;
|
|
14
20
|
getUserPositions: (userWallet: PublicKey) => Promise<{}[]>;
|
|
21
|
+
/**
|
|
22
|
+
* Create User
|
|
23
|
+
* @param wallet - User wallet
|
|
24
|
+
* @param name - user name
|
|
25
|
+
* @param referral - user referral
|
|
26
|
+
*
|
|
27
|
+
*/
|
|
28
|
+
createUser: ({ wallet, name, referral }: CreateUserArgs, options?: RpcOptions) => Promise<string>;
|
|
15
29
|
}
|
package/dist/index.js
CHANGED
|
@@ -13,6 +13,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
const anchor_1 = require("@coral-xyz/anchor");
|
|
16
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
16
17
|
const idl_triad_protocol_json_1 = __importDefault(require("./types/idl_triad_protocol.json"));
|
|
17
18
|
const ticker_1 = __importDefault(require("./ticker"));
|
|
18
19
|
const vault_1 = __importDefault(require("./vault"));
|
|
@@ -20,6 +21,22 @@ const helpers_1 = require("./utils/helpers");
|
|
|
20
21
|
const stake_1 = __importDefault(require("./stake"));
|
|
21
22
|
class TriadProtocolClient {
|
|
22
23
|
constructor(connection, wallet) {
|
|
24
|
+
/**
|
|
25
|
+
* Get all Users
|
|
26
|
+
*/
|
|
27
|
+
this.getUsers = () => __awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
const response = yield this.program.account.user.all();
|
|
29
|
+
return response.map((item) => (0, helpers_1.formatUser)(item.account));
|
|
30
|
+
});
|
|
31
|
+
this.hasReferral = (referral) => __awaiter(this, void 0, void 0, function* () {
|
|
32
|
+
try {
|
|
33
|
+
yield this.program.account.user.fetch((0, helpers_1.getUserAddressSync)(this.program.programId, referral));
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
catch (_a) {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
});
|
|
23
40
|
this.getUserPositions = (userWallet) => __awaiter(this, void 0, void 0, function* () {
|
|
24
41
|
const tickers = yield this.ticker.getTickers();
|
|
25
42
|
const positions = yield Promise.all(tickers
|
|
@@ -33,7 +50,7 @@ class TriadProtocolClient {
|
|
|
33
50
|
position
|
|
34
51
|
};
|
|
35
52
|
}
|
|
36
|
-
catch (
|
|
53
|
+
catch (_b) {
|
|
37
54
|
return;
|
|
38
55
|
}
|
|
39
56
|
return data;
|
|
@@ -41,6 +58,35 @@ class TriadProtocolClient {
|
|
|
41
58
|
.filter(Boolean));
|
|
42
59
|
return positions;
|
|
43
60
|
});
|
|
61
|
+
/**
|
|
62
|
+
* Create User
|
|
63
|
+
* @param wallet - User wallet
|
|
64
|
+
* @param name - user name
|
|
65
|
+
* @param referral - user referral
|
|
66
|
+
*
|
|
67
|
+
*/
|
|
68
|
+
this.createUser = ({ wallet, name, referral }, options) => {
|
|
69
|
+
let referralPDA = (0, helpers_1.getUserAddressSync)(this.program.programId, name);
|
|
70
|
+
if (referral) {
|
|
71
|
+
referralPDA = (0, helpers_1.getUserAddressSync)(this.program.programId, referral);
|
|
72
|
+
}
|
|
73
|
+
const method = this.program.methods
|
|
74
|
+
.createUser({
|
|
75
|
+
name
|
|
76
|
+
})
|
|
77
|
+
.accounts({
|
|
78
|
+
signer: wallet,
|
|
79
|
+
referral: referralPDA
|
|
80
|
+
});
|
|
81
|
+
if (options === null || options === void 0 ? void 0 : options.microLamports) {
|
|
82
|
+
method.postInstructions([
|
|
83
|
+
web3_js_1.ComputeBudgetProgram.setComputeUnitPrice({
|
|
84
|
+
microLamports: options.microLamports
|
|
85
|
+
})
|
|
86
|
+
]);
|
|
87
|
+
}
|
|
88
|
+
return method.rpc({ skipPreflight: options === null || options === void 0 ? void 0 : options.skipPreflight });
|
|
89
|
+
};
|
|
44
90
|
this.provider = new anchor_1.AnchorProvider(connection, wallet, anchor_1.AnchorProvider.defaultOptions());
|
|
45
91
|
this.program = new anchor_1.Program(idl_triad_protocol_json_1.default, this.provider);
|
|
46
92
|
this.ticker = new ticker_1.default(this.program, this.provider);
|
package/dist/stake.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { AnchorProvider, Program } from '@coral-xyz/anchor';
|
|
|
2
2
|
import { PublicKey } from '@solana/web3.js';
|
|
3
3
|
import { TriadProtocol } from './types/triad_protocol';
|
|
4
4
|
import { RpcOptions } from './types';
|
|
5
|
-
import { DepositStakeRewardsArgs, InitializeStakeArgs, StakeNftArgs, RequestWithdrawArgs, WithdrawArgs, StakeResponse, UpdateStakeVaultStatusArgs, ClaimStakeRewardsArgs,
|
|
5
|
+
import { DepositStakeRewardsArgs, InitializeStakeArgs, StakeNftArgs, RequestWithdrawArgs, WithdrawArgs, StakeResponse, UpdateStakeVaultStatusArgs, ClaimStakeRewardsArgs, StakeTokenArgs, MigrateStakeArgs } from './types/stake';
|
|
6
6
|
export default class Stake {
|
|
7
7
|
program: Program<TriadProtocol>;
|
|
8
8
|
provider: AnchorProvider;
|
|
@@ -11,10 +11,6 @@ export default class Stake {
|
|
|
11
11
|
* Get all Stake Vaults
|
|
12
12
|
*/
|
|
13
13
|
getStakeVaults(): Promise<import("./types/stake").StakeVaultResponse[]>;
|
|
14
|
-
/**
|
|
15
|
-
* Get all Users
|
|
16
|
-
*/
|
|
17
|
-
getUsers(): Promise<import("./types/stake").UserResponse[]>;
|
|
18
14
|
/**
|
|
19
15
|
* Get Stake Vault by name
|
|
20
16
|
* @param stakeVault - Stake Vault name
|
|
@@ -119,14 +115,6 @@ export default class Stake {
|
|
|
119
115
|
*
|
|
120
116
|
*/
|
|
121
117
|
claimStakeRewards({ wallet, mint, stakeVault, nftName }: ClaimStakeRewardsArgs, options?: RpcOptions): Promise<string>;
|
|
122
|
-
/**
|
|
123
|
-
* Create User
|
|
124
|
-
* @param wallet - User wallet
|
|
125
|
-
* @param name - user name
|
|
126
|
-
* @param referral - user referral
|
|
127
|
-
*
|
|
128
|
-
*/
|
|
129
|
-
createUser({ wallet, name, referral }: CreateUserArgs, options?: RpcOptions): Promise<string>;
|
|
130
118
|
/**
|
|
131
119
|
* Migrate Stake
|
|
132
120
|
* @param name - NFT name
|
package/dist/stake.js
CHANGED
|
@@ -27,15 +27,6 @@ class Stake {
|
|
|
27
27
|
return response.map((stakeVault) => (0, helpers_1.formatStakeVault)(stakeVault.account));
|
|
28
28
|
});
|
|
29
29
|
}
|
|
30
|
-
/**
|
|
31
|
-
* Get all Users
|
|
32
|
-
*/
|
|
33
|
-
getUsers() {
|
|
34
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
35
|
-
const response = yield this.program.account.user.all();
|
|
36
|
-
return response.map((item) => (0, helpers_1.formatUser)(item.account));
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
30
|
/**
|
|
40
31
|
* Get Stake Vault by name
|
|
41
32
|
* @param stakeVault - Stake Vault name
|
|
@@ -377,34 +368,6 @@ class Stake {
|
|
|
377
368
|
return method.rpc({ skipPreflight: options === null || options === void 0 ? void 0 : options.skipPreflight });
|
|
378
369
|
});
|
|
379
370
|
}
|
|
380
|
-
/**
|
|
381
|
-
* Create User
|
|
382
|
-
* @param wallet - User wallet
|
|
383
|
-
* @param name - user name
|
|
384
|
-
* @param referral - user referral
|
|
385
|
-
*
|
|
386
|
-
*/
|
|
387
|
-
createUser({ wallet, name, referral }, options) {
|
|
388
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
389
|
-
const referralPDA = (0, helpers_1.getUserAddressSync)(this.program.programId, referral);
|
|
390
|
-
const method = this.program.methods
|
|
391
|
-
.createUser({
|
|
392
|
-
name
|
|
393
|
-
})
|
|
394
|
-
.accounts({
|
|
395
|
-
signer: wallet,
|
|
396
|
-
referral: referralPDA
|
|
397
|
-
});
|
|
398
|
-
if (options === null || options === void 0 ? void 0 : options.microLamports) {
|
|
399
|
-
method.postInstructions([
|
|
400
|
-
web3_js_1.ComputeBudgetProgram.setComputeUnitPrice({
|
|
401
|
-
microLamports: options.microLamports
|
|
402
|
-
})
|
|
403
|
-
]);
|
|
404
|
-
}
|
|
405
|
-
return method.rpc({ skipPreflight: options === null || options === void 0 ? void 0 : options.skipPreflight });
|
|
406
|
-
});
|
|
407
|
-
}
|
|
408
371
|
/**
|
|
409
372
|
* Migrate Stake
|
|
410
373
|
* @param name - NFT name
|
package/dist/test.js
CHANGED
|
@@ -65,7 +65,6 @@ const getStake = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
65
65
|
console.log(response);
|
|
66
66
|
console.log(stakeVaults);
|
|
67
67
|
});
|
|
68
|
-
getStake();
|
|
69
68
|
const claimStakeRewardsV1 = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
70
69
|
const response = yield triadProtocol.stake.claimStakeRewards({
|
|
71
70
|
wallet: wallet.publicKey,
|
|
@@ -91,9 +90,14 @@ const stake = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
91
90
|
console.log(response);
|
|
92
91
|
});
|
|
93
92
|
const getUsers = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
94
|
-
const response = yield triadProtocol.
|
|
93
|
+
const response = yield triadProtocol.getUsers();
|
|
95
94
|
console.log(response);
|
|
96
95
|
});
|
|
96
|
+
const getReferral = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
97
|
+
const response = yield triadProtocol.hasReferral('a');
|
|
98
|
+
console.log(response);
|
|
99
|
+
});
|
|
100
|
+
getReferral();
|
|
97
101
|
const migrateStake = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
98
102
|
const response = yield triadProtocol.stake.migrateStake({
|
|
99
103
|
wallet: wallet.publicKey,
|
package/dist/types/index.d.ts
CHANGED
package/dist/types/stake.d.ts
CHANGED
|
@@ -56,11 +56,6 @@ export type ClaimStakeRewardsArgs = {
|
|
|
56
56
|
stakeVault: string;
|
|
57
57
|
nftName: string;
|
|
58
58
|
};
|
|
59
|
-
export type CreateUserArgs = {
|
|
60
|
-
wallet: PublicKey;
|
|
61
|
-
name: string;
|
|
62
|
-
referral: string;
|
|
63
|
-
};
|
|
64
59
|
export type UpdateStakeRewardsArgs = {
|
|
65
60
|
day: number;
|
|
66
61
|
wallet: PublicKey;
|