@triadxyz/triad-protocol 0.1.0-alpha.7 → 0.1.0-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.
@@ -1,605 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IDL = void 0;
4
- exports.IDL = {
5
- version: '0.1.0',
6
- name: 'triad_protocol',
7
- instructions: [
8
- {
9
- name: 'createUser',
10
- accounts: [
11
- {
12
- name: 'signer',
13
- isMut: true,
14
- isSigner: true
15
- },
16
- {
17
- name: 'user',
18
- isMut: true,
19
- isSigner: false
20
- },
21
- {
22
- name: 'systemProgram',
23
- isMut: false,
24
- isSigner: false
25
- }
26
- ],
27
- args: [
28
- {
29
- name: 'args',
30
- type: {
31
- defined: 'CreateUserArgs'
32
- }
33
- }
34
- ]
35
- },
36
- {
37
- name: 'createTicker',
38
- accounts: [
39
- {
40
- name: 'signer',
41
- isMut: true,
42
- isSigner: true
43
- },
44
- {
45
- name: 'ticker',
46
- isMut: true,
47
- isSigner: false
48
- },
49
- {
50
- name: 'vault',
51
- isMut: true,
52
- isSigner: false
53
- },
54
- {
55
- name: 'payerTokenMint',
56
- isMut: false,
57
- isSigner: false
58
- },
59
- {
60
- name: 'tokenAccount',
61
- isMut: true,
62
- isSigner: false
63
- },
64
- {
65
- name: 'systemProgram',
66
- isMut: false,
67
- isSigner: false
68
- },
69
- {
70
- name: 'tokenProgram',
71
- isMut: false,
72
- isSigner: false
73
- }
74
- ],
75
- args: [
76
- {
77
- name: 'args',
78
- type: {
79
- defined: 'CreateTickerArgs'
80
- }
81
- }
82
- ]
83
- },
84
- {
85
- name: 'updateTickerPrice',
86
- accounts: [
87
- {
88
- name: 'signer',
89
- isMut: true,
90
- isSigner: true
91
- },
92
- {
93
- name: 'ticker',
94
- isMut: true,
95
- isSigner: false
96
- },
97
- {
98
- name: 'systemProgram',
99
- isMut: false,
100
- isSigner: false
101
- }
102
- ],
103
- args: [
104
- {
105
- name: 'args',
106
- type: {
107
- defined: 'UpdateTickerPriceArgs'
108
- }
109
- }
110
- ]
111
- },
112
- {
113
- name: 'openPosition',
114
- accounts: [
115
- {
116
- name: 'signer',
117
- isMut: true,
118
- isSigner: true
119
- },
120
- {
121
- name: 'ticker',
122
- isMut: true,
123
- isSigner: false
124
- },
125
- {
126
- name: 'vault',
127
- isMut: true,
128
- isSigner: false
129
- },
130
- {
131
- name: 'user',
132
- isMut: true,
133
- isSigner: false
134
- },
135
- {
136
- name: 'vaultTokenAccount',
137
- isMut: true,
138
- isSigner: false
139
- },
140
- {
141
- name: 'userTokenAccount',
142
- isMut: true,
143
- isSigner: false
144
- },
145
- {
146
- name: 'systemProgram',
147
- isMut: false,
148
- isSigner: false
149
- },
150
- {
151
- name: 'tokenProgram',
152
- isMut: false,
153
- isSigner: false
154
- }
155
- ],
156
- args: [
157
- {
158
- name: 'args',
159
- type: {
160
- defined: 'OpenPositionArgs'
161
- }
162
- }
163
- ]
164
- },
165
- {
166
- name: 'closePosition',
167
- accounts: [
168
- {
169
- name: 'signer',
170
- isMut: true,
171
- isSigner: true
172
- },
173
- {
174
- name: 'vault',
175
- isMut: true,
176
- isSigner: false
177
- },
178
- {
179
- name: 'user',
180
- isMut: true,
181
- isSigner: false
182
- },
183
- {
184
- name: 'vaultTokenAccount',
185
- isMut: true,
186
- isSigner: false
187
- },
188
- {
189
- name: 'userTokenAccount',
190
- isMut: true,
191
- isSigner: false
192
- },
193
- {
194
- name: 'systemProgram',
195
- isMut: false,
196
- isSigner: false
197
- },
198
- {
199
- name: 'tokenProgram',
200
- isMut: false,
201
- isSigner: false
202
- }
203
- ],
204
- args: [
205
- {
206
- name: 'args',
207
- type: {
208
- defined: 'ClosePositionArgs'
209
- }
210
- }
211
- ]
212
- }
213
- ],
214
- accounts: [
215
- {
216
- name: 'ticker',
217
- type: {
218
- kind: 'struct',
219
- fields: [
220
- {
221
- name: 'initTs',
222
- docs: ['timestamp of the creation of the ticker'],
223
- type: 'i64'
224
- },
225
- {
226
- name: 'updatedTs',
227
- docs: ['timestamp of the last update of the ticker'],
228
- type: 'i64'
229
- },
230
- {
231
- name: 'bump',
232
- docs: ['The bump for the ticker pda'],
233
- type: 'u8'
234
- },
235
- {
236
- name: 'authority',
237
- docs: ['authority for the ticker'],
238
- type: 'publicKey'
239
- },
240
- {
241
- name: 'name',
242
- docs: ['name of the ticekt'],
243
- type: 'string'
244
- },
245
- {
246
- name: 'protocolProgramId',
247
- docs: [
248
- 'protocol program id like dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH to get data info'
249
- ],
250
- type: 'publicKey'
251
- },
252
- {
253
- name: 'price',
254
- docs: ['ticker price'],
255
- type: 'u64'
256
- },
257
- {
258
- name: 'vault',
259
- docs: ['Vault PDA'],
260
- type: 'publicKey'
261
- }
262
- ]
263
- }
264
- },
265
- {
266
- name: 'user',
267
- type: {
268
- kind: 'struct',
269
- fields: [
270
- {
271
- name: 'ts',
272
- docs: ['timestamp'],
273
- type: 'i64'
274
- },
275
- {
276
- name: 'name',
277
- docs: ["user's name"],
278
- type: 'string'
279
- },
280
- {
281
- name: 'bump',
282
- docs: ['bump seed'],
283
- type: 'u8'
284
- },
285
- {
286
- name: 'authority',
287
- docs: ["user's authority"],
288
- type: 'publicKey'
289
- },
290
- {
291
- name: 'referrer',
292
- docs: ['referrer of the user'],
293
- type: 'string'
294
- },
295
- {
296
- name: 'community',
297
- docs: ['community the user is part of'],
298
- type: 'string'
299
- },
300
- {
301
- name: 'netDeposits',
302
- docs: ['lifetime net deposits of user'],
303
- type: 'i64'
304
- },
305
- {
306
- name: 'netWithdraws',
307
- docs: ['lifetime net withdraws of user'],
308
- type: 'i64'
309
- },
310
- {
311
- name: 'totalDeposits',
312
- docs: ['lifetime total deposits'],
313
- type: 'u64'
314
- },
315
- {
316
- name: 'totalWithdraws',
317
- docs: ['lifetime total withdraws'],
318
- type: 'u64'
319
- },
320
- {
321
- name: 'lpShares',
322
- docs: ['total available balance'],
323
- type: 'u64'
324
- }
325
- ]
326
- }
327
- },
328
- {
329
- name: 'vault',
330
- type: {
331
- kind: 'struct',
332
- fields: [
333
- {
334
- name: 'bump',
335
- docs: ['The bump for the vault pda'],
336
- type: 'u8'
337
- },
338
- {
339
- name: 'authority',
340
- docs: ['authority for the vault'],
341
- type: 'publicKey'
342
- },
343
- {
344
- name: 'name',
345
- docs: ['name of the vault'],
346
- type: 'string'
347
- },
348
- {
349
- name: 'tokenAccount',
350
- docs: ['token account for the vault e.g. tDRIFT'],
351
- type: 'publicKey'
352
- },
353
- {
354
- name: 'tickerAddress',
355
- docs: ['ticker address'],
356
- type: 'publicKey'
357
- },
358
- {
359
- name: 'totalDeposits',
360
- docs: ['lifetime total deposits'],
361
- type: 'u64'
362
- },
363
- {
364
- name: 'totalWithdraws',
365
- docs: ['lifetime total withdraws'],
366
- type: 'u64'
367
- },
368
- {
369
- name: 'initTs',
370
- docs: ['timestamp vault initialized'],
371
- type: 'i64'
372
- },
373
- {
374
- name: 'netDeposits',
375
- docs: ['lifetime net deposits'],
376
- type: 'u64'
377
- },
378
- {
379
- name: 'netWithdraws',
380
- docs: ['lifetime net withdraws'],
381
- type: 'u64'
382
- },
383
- {
384
- name: 'longBalance',
385
- docs: ['Long bet balance'],
386
- type: 'u64'
387
- },
388
- {
389
- name: 'shortBalance',
390
- docs: ['Short bet balance'],
391
- type: 'u64'
392
- },
393
- {
394
- name: 'longPositionsOpened',
395
- docs: ['Opened long positions'],
396
- type: 'u64'
397
- },
398
- {
399
- name: 'shortPositionsOpened',
400
- docs: ['Opened short positions'],
401
- type: 'u64'
402
- },
403
- {
404
- name: 'ticker',
405
- docs: ['Ticker PDA'],
406
- type: 'publicKey'
407
- }
408
- ]
409
- }
410
- }
411
- ],
412
- types: [
413
- {
414
- name: 'CreateTickerArgs',
415
- type: {
416
- kind: 'struct',
417
- fields: [
418
- {
419
- name: 'name',
420
- type: 'string'
421
- },
422
- {
423
- name: 'protocolProgramId',
424
- type: 'publicKey'
425
- }
426
- ]
427
- }
428
- },
429
- {
430
- name: 'UpdateTickerPriceArgs',
431
- type: {
432
- kind: 'struct',
433
- fields: [
434
- {
435
- name: 'alphaApiKey',
436
- type: {
437
- array: ['u8', 64]
438
- }
439
- },
440
- {
441
- name: 'price',
442
- type: 'u64'
443
- }
444
- ]
445
- }
446
- },
447
- {
448
- name: 'Position',
449
- type: {
450
- kind: 'struct',
451
- fields: [
452
- {
453
- name: 'pubkey',
454
- type: 'publicKey'
455
- },
456
- {
457
- name: 'ticker',
458
- type: 'publicKey'
459
- },
460
- {
461
- name: 'amount',
462
- type: 'u64'
463
- },
464
- {
465
- name: 'leverage',
466
- type: 'u64'
467
- },
468
- {
469
- name: 'entryPrice',
470
- type: 'u64'
471
- },
472
- {
473
- name: 'ts',
474
- type: 'i64'
475
- },
476
- {
477
- name: 'isLong',
478
- type: 'bool'
479
- },
480
- {
481
- name: 'isOpen',
482
- type: 'bool'
483
- },
484
- {
485
- name: 'pnl',
486
- type: 'i64'
487
- }
488
- ]
489
- }
490
- },
491
- {
492
- name: 'CreateUserArgs',
493
- type: {
494
- kind: 'struct',
495
- fields: [
496
- {
497
- name: 'name',
498
- type: 'string'
499
- },
500
- {
501
- name: 'referrer',
502
- type: 'string'
503
- },
504
- {
505
- name: 'community',
506
- type: 'string'
507
- }
508
- ]
509
- }
510
- },
511
- {
512
- name: 'OpenPositionArgs',
513
- type: {
514
- kind: 'struct',
515
- fields: [
516
- {
517
- name: 'amount',
518
- type: 'u64'
519
- },
520
- {
521
- name: 'isLong',
522
- type: 'bool'
523
- }
524
- ]
525
- }
526
- },
527
- {
528
- name: 'ClosePositionArgs',
529
- type: {
530
- kind: 'struct',
531
- fields: [
532
- {
533
- name: 'amount',
534
- type: 'u64'
535
- },
536
- {
537
- name: 'isLong',
538
- type: 'bool'
539
- },
540
- {
541
- name: 'pubkey',
542
- type: 'publicKey'
543
- }
544
- ]
545
- }
546
- }
547
- ],
548
- errors: [
549
- {
550
- code: 6000,
551
- name: 'UnauthorizedToDeleteProject',
552
- msg: 'Unauthorized to delete the project'
553
- },
554
- {
555
- code: 6001,
556
- name: 'InvalidShadowAccount',
557
- msg: 'Invalid shadow account'
558
- },
559
- {
560
- code: 6002,
561
- name: 'InvalidAccount',
562
- msg: 'Invalid account'
563
- },
564
- {
565
- code: 6003,
566
- name: 'Unauthorized',
567
- msg: 'Unauthorized access'
568
- },
569
- {
570
- code: 6004,
571
- name: 'AlphaVantageApiError',
572
- msg: 'Failed to get data from Vybe Network'
573
- },
574
- {
575
- code: 6005,
576
- name: 'DepositFailed',
577
- msg: 'Failed to deposit'
578
- },
579
- {
580
- code: 6006,
581
- name: 'InvalidOwnerAuthority',
582
- msg: 'Invalid Owner authority'
583
- },
584
- {
585
- code: 6007,
586
- name: 'InvalidMintAddress',
587
- msg: 'Invalid Mint address'
588
- },
589
- {
590
- code: 6008,
591
- name: 'InvalidProfitShare',
592
- msg: 'Invalid Profit Share'
593
- },
594
- {
595
- code: 6009,
596
- name: 'InvalidDepositAmount',
597
- msg: 'Invalid Deposit Amount'
598
- },
599
- {
600
- code: 6010,
601
- name: 'InvalidWithdrawAmount',
602
- msg: 'Invalid Withdraw Amount'
603
- }
604
- ]
605
- };
@@ -1 +1,32 @@
1
1
  export declare const TRIAD_PROTOCOL_PROGRAM_ID = "TRDwq3BN4mP3m9KsuNUWSN6QDff93VKGSwE95Jbr9Ss";
2
+ export declare const ATA_PROGRAM_ID = "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
3
+ export declare const ADMIN = "";
4
+ export declare const STAKE_SEASON = "Triad Share 1";
5
+ export declare const TTRIAD_DECIMALS = 6;
6
+ export declare const TTRIAD_FEE = 2;
7
+ export declare const RARITY_RANK_SEASON_1: {
8
+ mythic: {
9
+ min: number;
10
+ max: number;
11
+ };
12
+ legendary: {
13
+ min: number;
14
+ max: number;
15
+ };
16
+ epic: {
17
+ min: number;
18
+ max: number;
19
+ };
20
+ rare: {
21
+ min: number;
22
+ max: number;
23
+ };
24
+ uncommon: {
25
+ min: number;
26
+ max: number;
27
+ };
28
+ common: {
29
+ min: number;
30
+ max: number;
31
+ };
32
+ };
@@ -1,4 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TRIAD_PROTOCOL_PROGRAM_ID = void 0;
3
+ exports.RARITY_RANK_SEASON_1 = exports.TTRIAD_FEE = exports.TTRIAD_DECIMALS = exports.STAKE_SEASON = exports.ADMIN = exports.ATA_PROGRAM_ID = exports.TRIAD_PROTOCOL_PROGRAM_ID = void 0;
4
4
  exports.TRIAD_PROTOCOL_PROGRAM_ID = 'TRDwq3BN4mP3m9KsuNUWSN6QDff93VKGSwE95Jbr9Ss';
5
+ exports.ATA_PROGRAM_ID = 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL';
6
+ exports.ADMIN = '';
7
+ exports.STAKE_SEASON = 'Triad Share 1';
8
+ exports.TTRIAD_DECIMALS = 6;
9
+ exports.TTRIAD_FEE = 2;
10
+ exports.RARITY_RANK_SEASON_1 = {
11
+ mythic: { min: 1, max: 18 },
12
+ legendary: { min: 19, max: 91 },
13
+ epic: { min: 92, max: 275 },
14
+ rare: { min: 276, max: 643 },
15
+ uncommon: { min: 644, max: 1103 },
16
+ common: { min: 1104, max: 1839 }
17
+ };
@@ -1,3 +1,4 @@
1
+ import { COLLECTION_MUlTIPLIER, StakeResponse, StakeVaultResponse } from './../types/stake';
1
2
  import { PublicKey } from '@solana/web3.js';
2
3
  import BN from 'bn.js';
3
4
  export declare const getTickerAddressSync: (programId: PublicKey, tickerName: string) => PublicKey;
@@ -5,5 +6,21 @@ export declare const encodeString: (value: string) => number[];
5
6
  export declare const decodeString: (bytes: number[]) => string;
6
7
  export declare const getVaultAddressSync: (programId: PublicKey, tickerAddress: PublicKey) => PublicKey;
7
8
  export declare const getTokenVaultAddressSync: (programId: PublicKey, vault: PublicKey) => PublicKey;
8
- export declare function getUserAddressSync(programId: PublicKey, authority: PublicKey): PublicKey;
9
+ export declare function getUserPositionAddressSync(programId: PublicKey, authority: PublicKey, ticker: PublicKey): PublicKey;
10
+ export declare const getStakeVaultAddressSync: (programId: PublicKey, vaultName: string) => PublicKey;
11
+ export declare const getStakeAddressSync: (programId: PublicKey, nftName: string) => PublicKey;
12
+ export declare const getNFTRewardsAddressSync: (programId: PublicKey, stake: PublicKey) => PublicKey;
13
+ export declare const getATASync: (address: PublicKey, Mint: PublicKey) => PublicKey;
9
14
  export declare const formatNumber: (number: bigint | BN, decimals?: number) => number;
15
+ export declare const formatStakeVault: (stakeVault: any) => StakeVaultResponse;
16
+ export declare const formatStake: (stake: any) => StakeResponse;
17
+ export declare const calculateTotalMultiplier: (collections: COLLECTION_MUlTIPLIER[], rank: {
18
+ max: number;
19
+ currentPosition: number;
20
+ }) => number;
21
+ export declare const calculateAPR: ({ rewards, rate, amount, baseRewards }: {
22
+ rewards: number;
23
+ rate: number;
24
+ amount: number;
25
+ baseRewards: number;
26
+ }) => number;