@triadxyz/triad-protocol 0.1.4-beta → 0.1.7-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 +44 -1
- package/dist/stake.d.ts +1 -13
- package/dist/stake.js +1 -38
- package/dist/test.js +6 -2
- package/dist/types/idl_triad_protocol.json +6 -6
- package/dist/types/index.d.ts +6 -0
- package/dist/types/stake.d.ts +0 -5
- package/dist/types/triad_protocol.d.ts +6 -6
- 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,32 @@ 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
|
+
const referralPDA = (0, helpers_1.getUserAddressSync)(this.program.programId, referral);
|
|
70
|
+
const method = this.program.methods
|
|
71
|
+
.createUser({
|
|
72
|
+
name,
|
|
73
|
+
referral: referralPDA
|
|
74
|
+
})
|
|
75
|
+
.accounts({
|
|
76
|
+
signer: wallet
|
|
77
|
+
});
|
|
78
|
+
if (options === null || options === void 0 ? void 0 : options.microLamports) {
|
|
79
|
+
method.postInstructions([
|
|
80
|
+
web3_js_1.ComputeBudgetProgram.setComputeUnitPrice({
|
|
81
|
+
microLamports: options.microLamports
|
|
82
|
+
})
|
|
83
|
+
]);
|
|
84
|
+
}
|
|
85
|
+
return method.rpc({ skipPreflight: options === null || options === void 0 ? void 0 : options.skipPreflight });
|
|
86
|
+
};
|
|
44
87
|
this.provider = new anchor_1.AnchorProvider(connection, wallet, anchor_1.AnchorProvider.defaultOptions());
|
|
45
88
|
this.program = new anchor_1.Program(idl_triad_protocol_json_1.default, this.provider);
|
|
46
89
|
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
|
|
@@ -359,7 +350,7 @@ class Stake {
|
|
|
359
350
|
const Stake = (0, helpers_1.getStakeAddressSync)(this.program.programId, wallet, nftName);
|
|
360
351
|
const ToATA = (0, helpers_1.getATASync)(wallet, mint);
|
|
361
352
|
const FromAta = (0, helpers_1.getATASync)(StakeVault, mint);
|
|
362
|
-
const method = this.program.methods.
|
|
353
|
+
const method = this.program.methods.claimStake().accounts({
|
|
363
354
|
signer: wallet,
|
|
364
355
|
fromAta: FromAta,
|
|
365
356
|
toAta: ToATA,
|
|
@@ -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,
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
},
|
|
8
8
|
"instructions": [
|
|
9
9
|
{
|
|
10
|
-
"name": "
|
|
11
|
-
"discriminator": [
|
|
10
|
+
"name": "claim_stake",
|
|
11
|
+
"discriminator": [62, 145, 133, 242, 244, 59, 53, 139],
|
|
12
12
|
"accounts": [
|
|
13
13
|
{
|
|
14
14
|
"name": "signer",
|
|
@@ -219,10 +219,6 @@
|
|
|
219
219
|
"writable": true,
|
|
220
220
|
"signer": true
|
|
221
221
|
},
|
|
222
|
-
{
|
|
223
|
-
"name": "referral",
|
|
224
|
-
"writable": true
|
|
225
|
-
},
|
|
226
222
|
{
|
|
227
223
|
"name": "user",
|
|
228
224
|
"writable": true,
|
|
@@ -1205,6 +1201,10 @@
|
|
|
1205
1201
|
{
|
|
1206
1202
|
"name": "name",
|
|
1207
1203
|
"type": "string"
|
|
1204
|
+
},
|
|
1205
|
+
{
|
|
1206
|
+
"name": "referral",
|
|
1207
|
+
"type": "pubkey"
|
|
1208
1208
|
}
|
|
1209
1209
|
]
|
|
1210
1210
|
}
|
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;
|
|
@@ -13,8 +13,8 @@ export type TriadProtocol = {
|
|
|
13
13
|
};
|
|
14
14
|
instructions: [
|
|
15
15
|
{
|
|
16
|
-
name: '
|
|
17
|
-
discriminator: [
|
|
16
|
+
name: 'claimStake';
|
|
17
|
+
discriminator: [62, 145, 133, 242, 244, 59, 53, 139];
|
|
18
18
|
accounts: [
|
|
19
19
|
{
|
|
20
20
|
name: 'signer';
|
|
@@ -214,10 +214,6 @@ export type TriadProtocol = {
|
|
|
214
214
|
writable: true;
|
|
215
215
|
signer: true;
|
|
216
216
|
},
|
|
217
|
-
{
|
|
218
|
-
name: 'referral';
|
|
219
|
-
writable: true;
|
|
220
|
-
},
|
|
221
217
|
{
|
|
222
218
|
name: 'user';
|
|
223
219
|
writable: true;
|
|
@@ -1117,6 +1113,10 @@ export type TriadProtocol = {
|
|
|
1117
1113
|
{
|
|
1118
1114
|
name: 'name';
|
|
1119
1115
|
type: 'string';
|
|
1116
|
+
},
|
|
1117
|
+
{
|
|
1118
|
+
name: 'referral';
|
|
1119
|
+
type: 'pubkey';
|
|
1120
1120
|
}
|
|
1121
1121
|
];
|
|
1122
1122
|
};
|