@triadxyz/triad-protocol 1.3.6-beta → 1.3.8-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 CHANGED
@@ -83,12 +83,4 @@ export default class TriadProtocolClient {
83
83
  * @param options - RPC options
84
84
  */
85
85
  spinWheel(isSol: boolean, options?: RpcOptions): Promise<number>;
86
- /**
87
- * Mint Poseidon
88
- * @param number - Poseidon number
89
- * @param attributes - Poseidon attributes
90
- * @param options - RPC options
91
- *
92
- */
93
- mintPoseidon(items: number[], options?: RpcOptions): Promise<string>;
94
86
  }
package/dist/index.js CHANGED
@@ -250,34 +250,5 @@ class TriadProtocolClient {
250
250
  return new anchor_1.BN((0, base64_js_1.toByteArray)(value), 'le').toNumber();
251
251
  });
252
252
  }
253
- /**
254
- * Mint Poseidon
255
- * @param number - Poseidon number
256
- * @param attributes - Poseidon attributes
257
- * @param options - RPC options
258
- *
259
- */
260
- mintPoseidon(items, options) {
261
- return __awaiter(this, void 0, void 0, function* () {
262
- const assets = [];
263
- const ixs = [];
264
- for (const item of items) {
265
- const asset = web3_js_1.Keypair.generate();
266
- assets.push(asset);
267
- ixs.push(yield this.program.methods
268
- .mintPoseidon({
269
- collectionSymbol: constants_1.POSEIDON_COLLECTION_SYMBOL,
270
- number: new anchor_1.BN(item)
271
- })
272
- .accounts({
273
- signer: this.provider.wallet.publicKey,
274
- asset: asset.publicKey,
275
- coreCollection: constants_1.POSEIDON_CORE_COLLECTION
276
- })
277
- .instruction());
278
- }
279
- return (0, sendVersionedTransaction_1.default)(this.provider, ixs, options, undefined, [], undefined, assets);
280
- });
281
- }
282
253
  }
283
254
  exports.default = TriadProtocolClient;
@@ -446,11 +446,7 @@ const getSpinPrize = () => __awaiter(void 0, void 0, void 0, function* () {
446
446
  console.log(prizes);
447
447
  });
448
448
  const spinWheel = () => __awaiter(void 0, void 0, void 0, function* () {
449
- const response = yield triadProtocol.spinWheel(false, { skipPreflight: false });
449
+ const response = yield triadProtocol.spinWheel(false);
450
450
  console.log(response);
451
451
  });
452
452
  spinWheel();
453
- const mintPoseidon = () => __awaiter(void 0, void 0, void 0, function* () {
454
- const response = yield triadProtocol.mintPoseidon([1]);
455
- console.log(response);
456
- });
package/dist/stake.d.ts CHANGED
@@ -15,7 +15,7 @@ export default class Stake {
15
15
  /**
16
16
  * Get Stake Rewards
17
17
  */
18
- getStakeRewards({ wallet, nftName, collections, rank }: ClaimStakeRewardsArgs): Promise<number>;
18
+ getStakeRewards({ wallet, nftName, collections }: ClaimStakeRewardsArgs): Promise<number>;
19
19
  /**
20
20
  * Get all Stakes
21
21
  */
package/dist/stake.js CHANGED
@@ -15,9 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  const anchor_1 = require("@coral-xyz/anchor");
16
16
  const helpers_1 = require("./utils/helpers");
17
17
  const stake_1 = require("./utils/pda/stake");
18
- const pda_1 = require("./utils/pda");
19
18
  const constants_1 = require("./utils/constants");
20
- const base64_js_1 = require("base64-js");
21
19
  const getRarityRank_1 = __importDefault(require("./utils/getRarityRank"));
22
20
  const sendVersionedTransaction_1 = __importDefault(require("./utils/sendVersionedTransaction"));
23
21
  const sendTransactionWithOptions_1 = __importDefault(require("./utils/sendTransactionWithOptions"));
@@ -40,25 +38,11 @@ class Stake {
40
38
  /**
41
39
  * Get Stake Rewards
42
40
  */
43
- getStakeRewards({ wallet, nftName, collections, rank }) {
41
+ getStakeRewards({ wallet, nftName, collections }) {
44
42
  return __awaiter(this, void 0, void 0, function* () {
45
- const stakeVaultPDA = (0, stake_1.getStakeVaultPDA)(this.program.programId, this.stakeVaultName);
46
43
  const stakePDA = (0, stake_1.getStakePDA)(this.program.programId, wallet, nftName);
47
- const method = yield this.program.methods
48
- .claimStakeRewards({
49
- collections,
50
- rank
51
- })
52
- .accounts({
53
- signer: wallet,
54
- mint: constants_1.TRD_MINT,
55
- stake: stakePDA,
56
- stakeVault: stakeVaultPDA,
57
- verifier: constants_1.VERIFIER
58
- })
59
- .simulate();
60
- let value = method.raw[method.raw.length - 2].split(' ')[3];
61
- return new anchor_1.BN((0, base64_js_1.toByteArray)(value), 'le').toNumber() / Math.pow(10, constants_1.TRD_DECIMALS);
44
+ const stake = yield this.program.account.stakeV2.fetch(stakePDA);
45
+ return (0, helpers_1.calculateStakeRewards)((0, helpers_1.formatStake)(stake), collections);
62
46
  });
63
47
  }
64
48
  /**
@@ -121,7 +105,6 @@ class Stake {
121
105
  */
122
106
  stakeToken({ name, wallet, amount }, options) {
123
107
  return __awaiter(this, void 0, void 0, function* () {
124
- const userPDA = (0, pda_1.getUserPDA)(this.program.programId, wallet);
125
108
  return (0, sendTransactionWithOptions_1.default)(this.program.methods
126
109
  .stakeToken({
127
110
  name,
@@ -130,8 +113,7 @@ class Stake {
130
113
  })
131
114
  .accounts({
132
115
  signer: wallet,
133
- mint: constants_1.TRD_MINT,
134
- user: userPDA
116
+ mint: constants_1.TRD_MINT
135
117
  }), options);
136
118
  });
137
119
  }
@@ -166,7 +148,6 @@ class Stake {
166
148
  return __awaiter(this, void 0, void 0, function* () {
167
149
  const ixs = [];
168
150
  const stakeVaultPDA = (0, stake_1.getStakeVaultPDA)(this.program.programId, this.stakeVaultName);
169
- const userPDA = (0, pda_1.getUserPDA)(this.program.programId, wallet);
170
151
  for (const nft of nfts) {
171
152
  const stakePDA = (0, stake_1.getStakePDA)(this.program.programId, wallet, nft.name);
172
153
  ixs.push(yield this.program.methods
@@ -174,7 +155,6 @@ class Stake {
174
155
  .accounts({
175
156
  signer: wallet,
176
157
  mint: nft.mint,
177
- user: userPDA,
178
158
  stake: stakePDA,
179
159
  stakeVault: stakeVaultPDA
180
160
  })
@@ -193,15 +173,13 @@ class Stake {
193
173
  withdrawStake({ wallet, name, mint }, options) {
194
174
  return __awaiter(this, void 0, void 0, function* () {
195
175
  const stakeVaultPDA = (0, stake_1.getStakeVaultPDA)(this.program.programId, this.stakeVaultName);
196
- const userPDA = (0, pda_1.getUserPDA)(this.program.programId, wallet);
197
176
  const stakePDA = (0, stake_1.getStakePDA)(this.program.programId, wallet, name);
198
177
  return (0, sendTransactionWithOptions_1.default)(this.program.methods.withdrawStake().accounts({
199
178
  signer: wallet,
200
179
  stake: stakePDA,
201
180
  stakeVault: stakeVaultPDA,
202
181
  admin: constants_1.TRIAD_ADMIN,
203
- mint: mint,
204
- user: userPDA
182
+ mint: mint
205
183
  }), options);
206
184
  });
207
185
  }
package/dist/trade.js CHANGED
@@ -128,8 +128,7 @@ class Trade {
128
128
  ixs.push(yield this.program.methods
129
129
  .createUserTrade()
130
130
  .accounts({
131
- signer: this.provider.publicKey,
132
- user: userPDA
131
+ signer: this.provider.publicKey
133
132
  })
134
133
  .instruction());
135
134
  }
@@ -647,10 +647,6 @@
647
647
  "writable": true,
648
648
  "signer": true
649
649
  },
650
- {
651
- "name": "user",
652
- "writable": true
653
- },
654
650
  {
655
651
  "name": "user_trade",
656
652
  "writable": true,
@@ -755,76 +751,6 @@
755
751
  }
756
752
  ]
757
753
  },
758
- {
759
- "name": "mint_poseidon",
760
- "discriminator": [102, 210, 5, 220, 154, 54, 98, 23],
761
- "accounts": [
762
- {
763
- "name": "signer",
764
- "writable": true,
765
- "signer": true
766
- },
767
- {
768
- "name": "nft",
769
- "writable": true,
770
- "pda": {
771
- "seeds": [
772
- {
773
- "kind": "const",
774
- "value": [112, 111, 115, 101, 105, 100, 111, 110]
775
- },
776
- {
777
- "kind": "arg",
778
- "path": "args.number"
779
- }
780
- ]
781
- }
782
- },
783
- {
784
- "name": "asset",
785
- "writable": true,
786
- "signer": true
787
- },
788
- {
789
- "name": "collection",
790
- "writable": true,
791
- "pda": {
792
- "seeds": [
793
- {
794
- "kind": "const",
795
- "value": [99, 111, 108, 108, 101, 99, 116, 105, 111, 110]
796
- },
797
- {
798
- "kind": "arg",
799
- "path": "args.collection_symbol"
800
- }
801
- ]
802
- }
803
- },
804
- {
805
- "name": "core_collection",
806
- "writable": true
807
- },
808
- {
809
- "name": "metaplex_program",
810
- "address": "CoREENxT6tW1HoK8ypY1SxRMZTcVPm7R94rH4PZNhX7d"
811
- },
812
- {
813
- "name": "system_program",
814
- "address": "11111111111111111111111111111111"
815
- }
816
- ],
817
- "args": [
818
- {
819
- "name": "args",
820
- "type": {
821
- "defined": {
822
- "name": "MintPoseidonArgs"
823
- }
824
- }
825
- }
826
- ]
827
- },
828
754
  {
829
755
  "name": "mint_ticket",
830
756
  "discriminator": [159, 167, 223, 60, 138, 6, 23, 29],
@@ -1159,10 +1085,6 @@
1159
1085
  "name": "stake_vault",
1160
1086
  "writable": true
1161
1087
  },
1162
- {
1163
- "name": "user",
1164
- "writable": true
1165
- },
1166
1088
  {
1167
1089
  "name": "stake",
1168
1090
  "writable": true
@@ -1436,10 +1358,6 @@
1436
1358
  ]
1437
1359
  }
1438
1360
  },
1439
- {
1440
- "name": "user",
1441
- "writable": true
1442
- },
1443
1361
  {
1444
1362
  "name": "stake",
1445
1363
  "writable": true,
@@ -1666,10 +1584,6 @@
1666
1584
  "name": "stake_vault",
1667
1585
  "writable": true
1668
1586
  },
1669
- {
1670
- "name": "user",
1671
- "writable": true
1672
- },
1673
1587
  {
1674
1588
  "name": "stake",
1675
1589
  "writable": true
@@ -2522,22 +2436,6 @@
2522
2436
  ]
2523
2437
  }
2524
2438
  },
2525
- {
2526
- "name": "MintPoseidonArgs",
2527
- "type": {
2528
- "kind": "struct",
2529
- "fields": [
2530
- {
2531
- "name": "collection_symbol",
2532
- "type": "string"
2533
- },
2534
- {
2535
- "name": "number",
2536
- "type": "u64"
2537
- }
2538
- ]
2539
- }
2540
- },
2541
2439
  {
2542
2440
  "name": "MintTicketArgs",
2543
2441
  "type": {
@@ -943,10 +943,6 @@ export type TriadProtocol = {
943
943
  writable: true;
944
944
  signer: true;
945
945
  },
946
- {
947
- name: 'user';
948
- writable: true;
949
- },
950
946
  {
951
947
  name: 'userTrade';
952
948
  writable: true;
@@ -1080,76 +1076,6 @@ export type TriadProtocol = {
1080
1076
  }
1081
1077
  ];
1082
1078
  },
1083
- {
1084
- name: 'mintPoseidon';
1085
- discriminator: [102, 210, 5, 220, 154, 54, 98, 23];
1086
- accounts: [
1087
- {
1088
- name: 'signer';
1089
- writable: true;
1090
- signer: true;
1091
- },
1092
- {
1093
- name: 'nft';
1094
- writable: true;
1095
- pda: {
1096
- seeds: [
1097
- {
1098
- kind: 'const';
1099
- value: [112, 111, 115, 101, 105, 100, 111, 110];
1100
- },
1101
- {
1102
- kind: 'arg';
1103
- path: 'args.number';
1104
- }
1105
- ];
1106
- };
1107
- },
1108
- {
1109
- name: 'asset';
1110
- writable: true;
1111
- signer: true;
1112
- },
1113
- {
1114
- name: 'collection';
1115
- writable: true;
1116
- pda: {
1117
- seeds: [
1118
- {
1119
- kind: 'const';
1120
- value: [99, 111, 108, 108, 101, 99, 116, 105, 111, 110];
1121
- },
1122
- {
1123
- kind: 'arg';
1124
- path: 'args.collection_symbol';
1125
- }
1126
- ];
1127
- };
1128
- },
1129
- {
1130
- name: 'coreCollection';
1131
- writable: true;
1132
- },
1133
- {
1134
- name: 'metaplexProgram';
1135
- address: 'CoREENxT6tW1HoK8ypY1SxRMZTcVPm7R94rH4PZNhX7d';
1136
- },
1137
- {
1138
- name: 'systemProgram';
1139
- address: '11111111111111111111111111111111';
1140
- }
1141
- ];
1142
- args: [
1143
- {
1144
- name: 'args';
1145
- type: {
1146
- defined: {
1147
- name: 'mintPoseidonArgs';
1148
- };
1149
- };
1150
- }
1151
- ];
1152
- },
1153
1079
  {
1154
1080
  name: 'mintTicket';
1155
1081
  discriminator: [159, 167, 223, 60, 138, 6, 23, 29];
@@ -1629,10 +1555,6 @@ export type TriadProtocol = {
1629
1555
  name: 'stakeVault';
1630
1556
  writable: true;
1631
1557
  },
1632
- {
1633
- name: 'user';
1634
- writable: true;
1635
- },
1636
1558
  {
1637
1559
  name: 'stake';
1638
1560
  writable: true;
@@ -2022,10 +1944,6 @@ export type TriadProtocol = {
2022
1944
  ];
2023
1945
  };
2024
1946
  },
2025
- {
2026
- name: 'user';
2027
- writable: true;
2028
- },
2029
1947
  {
2030
1948
  name: 'stake';
2031
1949
  writable: true;
@@ -2368,10 +2286,6 @@ export type TriadProtocol = {
2368
2286
  name: 'stakeVault';
2369
2287
  writable: true;
2370
2288
  },
2371
- {
2372
- name: 'user';
2373
- writable: true;
2374
- },
2375
2289
  {
2376
2290
  name: 'stake';
2377
2291
  writable: true;
@@ -3278,22 +3192,6 @@ export type TriadProtocol = {
3278
3192
  ];
3279
3193
  };
3280
3194
  },
3281
- {
3282
- name: 'mintPoseidonArgs';
3283
- type: {
3284
- kind: 'struct';
3285
- fields: [
3286
- {
3287
- name: 'collectionSymbol';
3288
- type: 'string';
3289
- },
3290
- {
3291
- name: 'number';
3292
- type: 'u64';
3293
- }
3294
- ];
3295
- };
3296
- },
3297
3195
  {
3298
3196
  name: 'mintTicketArgs';
3299
3197
  type: {
@@ -9,3 +9,4 @@ export declare const formatStake: (stake: any) => Stake;
9
9
  export declare const formatUser: (user: any) => User;
10
10
  export declare const formatMarket: (account: any, address: PublicKey) => Market;
11
11
  export declare const accountToMarketV1: (account: any, address: PublicKey) => Market;
12
+ export declare const calculateStakeRewards: (stake: Stake, collections: number) => number;
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.accountToMarketV1 = exports.formatMarket = exports.formatUser = exports.formatStake = exports.formatStakeVault = exports.decodeString = exports.encodeString = void 0;
3
+ exports.calculateStakeRewards = exports.accountToMarketV1 = exports.formatMarket = exports.formatUser = exports.formatStake = exports.formatStakeVault = exports.decodeString = exports.encodeString = void 0;
4
4
  const trade_1 = require("../types/trade");
5
+ const constants_1 = require("./constants");
5
6
  const encodeString = (value, alloc = 32) => {
6
7
  const buffer = Buffer.alloc(alloc, 32);
7
8
  buffer.write(value);
@@ -125,3 +126,25 @@ const accountToMarketV1 = (account, address) => {
125
126
  };
126
127
  };
127
128
  exports.accountToMarketV1 = accountToMarketV1;
129
+ const calculateStakeRewards = (stake, collections) => {
130
+ if (stake.withdrawTs !== 0)
131
+ return 0;
132
+ if (collections > 3)
133
+ return 0;
134
+ const collectionsMultiplier = collections * 150;
135
+ const maxRank = 1633;
136
+ const rank = 963;
137
+ const rankWeight = (maxRank - rank + 1) / maxRank;
138
+ const userStakedAmount = stake.mint === constants_1.TRD_MINT.toBase58()
139
+ ? stake.amount
140
+ : stake.amount * 10000 * Math.pow(10, constants_1.TRD_DECIMALS);
141
+ const formattedAmount = userStakedAmount / Math.pow(10, constants_1.TRD_DECIMALS) + collectionsMultiplier;
142
+ const adjustedAmount = formattedAmount * rankWeight;
143
+ const lastClaim = stake.claimedTs === 0 ? stake.initTs : stake.claimedTs;
144
+ const currentTime = Math.floor(Date.now() / 1000);
145
+ const secondsStaked = currentTime - lastClaim;
146
+ const userBaseRewards = ((adjustedAmount / 10000) * secondsStaked) / 86400;
147
+ const rewards = userBaseRewards * Math.pow(10, constants_1.TRD_DECIMALS);
148
+ return (rewards + stake.available) / Math.pow(10, constants_1.TRD_DECIMALS);
149
+ };
150
+ exports.calculateStakeRewards = calculateStakeRewards;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@triadxyz/triad-protocol",
3
- "version": "1.3.6-beta",
3
+ "version": "1.3.8-beta",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",