@triadxyz/triad-protocol 0.4.4-beta → 0.4.5-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
@@ -4,7 +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, OpenOreArgs, RpcOptions } from './types';
7
+ import { CreateUserArgs, MineOreArgs, OpenOreArgs, RpcOptions } from './types';
8
8
  export default class TriadProtocolClient {
9
9
  program: Program<TriadProtocol>;
10
10
  provider: AnchorProvider;
@@ -42,4 +42,5 @@ export default class TriadProtocolClient {
42
42
  */
43
43
  createUser: ({ wallet, name, referral }: CreateUserArgs, options?: RpcOptions) => Promise<string>;
44
44
  openOre: ({ user, payer, name, referralName }: OpenOreArgs, options?: RpcOptions) => Promise<string>;
45
+ mineOre: ({ user, payer, bus, digest, nonce }: MineOreArgs, options?: RpcOptions) => Promise<string>;
45
46
  }
package/dist/index.js CHANGED
@@ -158,6 +158,40 @@ class TriadProtocolClient {
158
158
  commitment: 'confirmed'
159
159
  });
160
160
  });
161
+ this.mineOre = ({ user, payer, bus, digest, nonce }, options) => __awaiter(this, void 0, void 0, function* () {
162
+ const userPDA = (0, helpers_1.getUserAddressSync)(this.program.programId, user);
163
+ const proofInfoPDA = (0, helpers_1.getProofOreAddressSync)(userPDA);
164
+ const ixs = [];
165
+ ixs.push(yield this.program.methods
166
+ .mineOre({
167
+ digest,
168
+ nonce
169
+ })
170
+ .accounts({
171
+ signer: user,
172
+ bus,
173
+ configProgram: (0, helpers_1.configOreProgramAddressSync)(),
174
+ proofInfo: proofInfoPDA,
175
+ sysvarHashesInfo: new web3_js_1.PublicKey('SysvarS1otHashes111111111111111111111111111'),
176
+ sysvarInstructionsInfo: new web3_js_1.PublicKey('Sysvar1nstructions1111111111111111111111111'),
177
+ oreProgram: new web3_js_1.PublicKey(constants_1.ORE_PROGRAM_ID)
178
+ })
179
+ .instruction());
180
+ if (options === null || options === void 0 ? void 0 : options.microLamports) {
181
+ ixs.push(web3_js_1.ComputeBudgetProgram.setComputeUnitPrice({
182
+ microLamports: options.microLamports
183
+ }));
184
+ }
185
+ const { blockhash } = yield this.provider.connection.getLatestBlockhash();
186
+ return this.provider.sendAndConfirm(new web3_js_1.VersionedTransaction(new web3_js_1.TransactionMessage({
187
+ instructions: ixs,
188
+ recentBlockhash: blockhash,
189
+ payerKey: payer
190
+ }).compileToV0Message()), [], {
191
+ skipPreflight: options === null || options === void 0 ? void 0 : options.skipPreflight,
192
+ commitment: 'confirmed'
193
+ });
194
+ });
161
195
  this.provider = new anchor_1.AnchorProvider(connection, wallet, anchor_1.AnchorProvider.defaultOptions());
162
196
  this.program = new anchor_1.Program(idl_triad_protocol_json_1.default, this.provider);
163
197
  this.ticker = new ticker_1.default(this.program, this.provider);
package/dist/test.d.ts CHANGED
@@ -1 +0,0 @@
1
- export {};
package/dist/test.js CHANGED
@@ -1,88 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const fs_1 = __importDefault(require("fs"));
16
- const web3_js_1 = require("@solana/web3.js");
17
- const index_1 = __importDefault(require("./index"));
18
- const anchor_1 = require("@coral-xyz/anchor");
19
- const constants_1 = require("./utils/constants");
20
- const rarity_json_1 = __importDefault(require("./utils/stake-season-1/rarity.json"));
21
- const getRarity_1 = require("./utils/getRarity");
22
- const axios_1 = __importDefault(require("axios"));
23
- const file = fs_1.default.readFileSync('/Users/dannpl/.config/solana/id.json');
24
- const rpc_file = fs_1.default.readFileSync('/Users/dannpl/.config/solana/rpc.txt');
25
- const keypair = web3_js_1.Keypair.fromSecretKey(new Uint8Array(JSON.parse(file.toString())));
26
- const connection = new web3_js_1.Connection(rpc_file.toString(), 'confirmed');
27
- const wallet = new anchor_1.Wallet(keypair);
28
- const triadProtocol = new index_1.default(connection, wallet);
29
- const getStake = () => __awaiter(void 0, void 0, void 0, function* () {
30
- const response = yield triadProtocol.stake.getStakes(constants_1.STAKE_SEASON);
31
- let available = 0;
32
- let items = 0;
33
- for (const stake of response) {
34
- const getRank = (0, getRarity_1.getRarityRank)(rarity_json_1.default, stake.mint, stake.name);
35
- try {
36
- available += yield triadProtocol.stake.getStakeRewards({
37
- wallet: new web3_js_1.PublicKey(stake.authority),
38
- nftName: stake.name,
39
- stakeVault: constants_1.STAKE_SEASON,
40
- rank: getRank,
41
- collections: 1
42
- });
43
- items += 1;
44
- console.log(items);
45
- console.log(available);
46
- }
47
- catch (e) { }
48
- }
49
- console.log(available);
50
- console.log(items);
51
- console.log(response.length);
52
- });
53
- const deposit = () => __awaiter(void 0, void 0, void 0, function* () {
54
- const response = yield triadProtocol.stake.depositStakeRewards({
55
- wallet: wallet.publicKey,
56
- stakeVault: constants_1.STAKE_SEASON,
57
- mint: new web3_js_1.PublicKey(constants_1.TTRIAD_MINT),
58
- amount: new anchor_1.BN(192388 * Math.pow(10, 6))
59
- });
60
- console.log(response);
61
- });
62
- const getStakeVault = () => __awaiter(void 0, void 0, void 0, function* () {
63
- const response = yield triadProtocol.stake.getStakeVaultByName(constants_1.STAKE_SEASON);
64
- console.log(response);
65
- });
66
- const getStakeByWallet = () => __awaiter(void 0, void 0, void 0, function* () {
67
- const response = yield triadProtocol.stake.getStakeByWallet(new web3_js_1.PublicKey('HjJQdfTHgC3EBX3471w4st8BXbBmtbaMyCAXNgcUb7dq'), constants_1.STAKE_SEASON, 1, rarity_json_1.default);
68
- console.log(response);
69
- });
70
- const updateBoost = () => __awaiter(void 0, void 0, void 0, function* () {
71
- const response = (yield axios_1.default.get('https://api.triadfi.co/boost'))
72
- .data;
73
- const stakes = yield triadProtocol.stake.getStakes(constants_1.STAKE_SEASON);
74
- const update = [];
75
- for (const stake of stakes) {
76
- if (response.includes(stake.mint) && !stake.boost) {
77
- update.push({ name: stake.name, wallet: stake.authority });
78
- }
79
- }
80
- console.log(update);
81
- const updateBoostResponse = yield triadProtocol.stake.updateBoost({
82
- wallet: wallet.publicKey,
83
- stakeVault: constants_1.STAKE_SEASON,
84
- nfts: update,
85
- boost: true
86
- });
87
- console.log(updateBoostResponse);
88
- });
@@ -447,6 +447,67 @@
447
447
  }
448
448
  ]
449
449
  },
450
+ {
451
+ "name": "mine_ore",
452
+ "discriminator": [170, 66, 140, 123, 15, 20, 224, 194],
453
+ "accounts": [
454
+ {
455
+ "name": "signer",
456
+ "writable": true,
457
+ "signer": true
458
+ },
459
+ {
460
+ "name": "user",
461
+ "writable": true,
462
+ "pda": {
463
+ "seeds": [
464
+ {
465
+ "kind": "const",
466
+ "value": [117, 115, 101, 114]
467
+ },
468
+ {
469
+ "kind": "account",
470
+ "path": "signer"
471
+ }
472
+ ]
473
+ }
474
+ },
475
+ {
476
+ "name": "bus",
477
+ "writable": true
478
+ },
479
+ {
480
+ "name": "proof_info",
481
+ "writable": true
482
+ },
483
+ {
484
+ "name": "ore_program"
485
+ },
486
+ {
487
+ "name": "config_program"
488
+ },
489
+ {
490
+ "name": "sysvar_hashes_info"
491
+ },
492
+ {
493
+ "name": "sysvar_instructions_info"
494
+ },
495
+ {
496
+ "name": "system_program",
497
+ "address": "11111111111111111111111111111111"
498
+ }
499
+ ],
500
+ "args": [
501
+ {
502
+ "name": "args",
503
+ "type": {
504
+ "defined": {
505
+ "name": "MineArgs"
506
+ }
507
+ }
508
+ }
509
+ ]
510
+ },
450
511
  {
451
512
  "name": "open_ore",
452
513
  "discriminator": [120, 233, 125, 197, 12, 153, 25, 229],
@@ -1302,6 +1363,29 @@
1302
1363
  ]
1303
1364
  }
1304
1365
  },
1366
+ {
1367
+ "name": "MineArgs",
1368
+ "repr": {
1369
+ "kind": "c"
1370
+ },
1371
+ "type": {
1372
+ "kind": "struct",
1373
+ "fields": [
1374
+ {
1375
+ "name": "digest",
1376
+ "type": {
1377
+ "array": ["u8", 16]
1378
+ }
1379
+ },
1380
+ {
1381
+ "name": "nonce",
1382
+ "type": {
1383
+ "array": ["u8", 8]
1384
+ }
1385
+ }
1386
+ ]
1387
+ }
1388
+ },
1305
1389
  {
1306
1390
  "name": "OpenPositionArgs",
1307
1391
  "type": {
@@ -14,3 +14,10 @@ export type OpenOreArgs = {
14
14
  name: string;
15
15
  referralName: string;
16
16
  };
17
+ export type MineOreArgs = {
18
+ user: PublicKey;
19
+ payer: PublicKey;
20
+ bus: PublicKey;
21
+ digest: number[];
22
+ nonce: number[];
23
+ };
@@ -426,6 +426,67 @@ export type TriadProtocol = {
426
426
  }
427
427
  ];
428
428
  },
429
+ {
430
+ name: 'mineOre';
431
+ discriminator: [170, 66, 140, 123, 15, 20, 224, 194];
432
+ accounts: [
433
+ {
434
+ name: 'signer';
435
+ writable: true;
436
+ signer: true;
437
+ },
438
+ {
439
+ name: 'user';
440
+ writable: true;
441
+ pda: {
442
+ seeds: [
443
+ {
444
+ kind: 'const';
445
+ value: [117, 115, 101, 114];
446
+ },
447
+ {
448
+ kind: 'account';
449
+ path: 'signer';
450
+ }
451
+ ];
452
+ };
453
+ },
454
+ {
455
+ name: 'bus';
456
+ writable: true;
457
+ },
458
+ {
459
+ name: 'proofInfo';
460
+ writable: true;
461
+ },
462
+ {
463
+ name: 'oreProgram';
464
+ },
465
+ {
466
+ name: 'configProgram';
467
+ },
468
+ {
469
+ name: 'sysvarHashesInfo';
470
+ },
471
+ {
472
+ name: 'sysvarInstructionsInfo';
473
+ },
474
+ {
475
+ name: 'systemProgram';
476
+ address: '11111111111111111111111111111111';
477
+ }
478
+ ];
479
+ args: [
480
+ {
481
+ name: 'args';
482
+ type: {
483
+ defined: {
484
+ name: 'mineArgs';
485
+ };
486
+ };
487
+ }
488
+ ];
489
+ },
429
490
  {
430
491
  name: 'openOre';
431
492
  discriminator: [120, 233, 125, 197, 12, 153, 25, 229];
@@ -1214,6 +1275,29 @@ export type TriadProtocol = {
1214
1275
  ];
1215
1276
  };
1216
1277
  },
1278
+ {
1279
+ name: 'mineArgs';
1280
+ repr: {
1281
+ kind: 'c';
1282
+ };
1283
+ type: {
1284
+ kind: 'struct';
1285
+ fields: [
1286
+ {
1287
+ name: 'digest';
1288
+ type: {
1289
+ array: ['u8', 16];
1290
+ };
1291
+ },
1292
+ {
1293
+ name: 'nonce';
1294
+ type: {
1295
+ array: ['u8', 8];
1296
+ };
1297
+ }
1298
+ ];
1299
+ };
1300
+ },
1217
1301
  {
1218
1302
  name: 'openPositionArgs';
1219
1303
  type: {
@@ -13,6 +13,7 @@ export declare const getNFTRewardsAddressSync: (programId: PublicKey, stake: Pub
13
13
  export declare const getATASync: (address: PublicKey, Mint: PublicKey) => PublicKey;
14
14
  export declare const getUserAddressSync: (programId: PublicKey, wallet: PublicKey) => PublicKey;
15
15
  export declare const getProofOreAddressSync: (wallet: PublicKey) => PublicKey;
16
+ export declare const configOreProgramAddressSync: () => PublicKey;
16
17
  export declare const formatNumber: (number: bigint | BN, decimals?: number) => number;
17
18
  export declare const formatStakeVault: (stakeVault: any) => StakeVaultResponse;
18
19
  export declare const formatStake: (stake: any) => StakeResponse;
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.calculateAPR = exports.calculateTotalMultiplier = exports.formatUser = exports.formatStake = exports.formatStakeVault = exports.formatNumber = exports.getProofOreAddressSync = exports.getUserAddressSync = exports.getATASync = exports.getNFTRewardsAddressSync = exports.getStakeAddressSync = exports.getStakeVaultAddressSync = exports.getUserPositionAddressSync = exports.getTokenVaultAddressSync = exports.getVaultAddressSync = exports.decodeString = exports.encodeString = exports.getTickerAddressSync = void 0;
26
+ exports.calculateAPR = exports.calculateTotalMultiplier = exports.formatUser = exports.formatStake = exports.formatStakeVault = exports.formatNumber = exports.configOreProgramAddressSync = exports.getProofOreAddressSync = exports.getUserAddressSync = exports.getATASync = exports.getNFTRewardsAddressSync = exports.getStakeAddressSync = exports.getStakeVaultAddressSync = exports.getUserPositionAddressSync = exports.getTokenVaultAddressSync = exports.getVaultAddressSync = exports.decodeString = exports.encodeString = exports.getTickerAddressSync = void 0;
27
27
  const stake_1 = require("./../types/stake");
28
28
  const web3_js_1 = require("@solana/web3.js");
29
29
  const anchor = __importStar(require("@coral-xyz/anchor"));
@@ -101,6 +101,11 @@ const getProofOreAddressSync = (wallet) => {
101
101
  return ProofPDA;
102
102
  };
103
103
  exports.getProofOreAddressSync = getProofOreAddressSync;
104
+ const configOreProgramAddressSync = () => {
105
+ const [ProofPDA] = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from('config')], new web3_js_1.PublicKey(constants_1.ORE_PROGRAM_ID));
106
+ return ProofPDA;
107
+ };
108
+ exports.configOreProgramAddressSync = configOreProgramAddressSync;
104
109
  const formatNumber = (number, decimals = 6) => {
105
110
  return Number(number.toString()) / Math.pow(10, decimals);
106
111
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@triadxyz/triad-protocol",
3
- "version": "0.4.4-beta",
3
+ "version": "0.4.5-beta",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -33,7 +33,7 @@
33
33
  "license": "ISC",
34
34
  "dependencies": {
35
35
  "@coral-xyz/anchor": "0.30.0",
36
- "@solana/spl-token": "0.4.6",
36
+ "@solana/spl-token": "0.4.1",
37
37
  "@solana/web3.js": "1.89.1",
38
38
  "axios": "^1.5.1",
39
39
  "base64-js": "^1.5.1",