@triadxyz/triad-protocol 1.4.1-beta → 1.4.3-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
@@ -80,10 +80,242 @@ export default class TriadProtocolClient {
80
80
  * Spin Wheel
81
81
  * @param isSol - Whether to pay with SOL or token
82
82
  * @param verifier - Verifier keypair
83
+ * @param prizeType - Prize type
83
84
  * @param options - RPC options
85
+ *
84
86
  */
85
87
  spinWheel(args: {
86
88
  isSol: boolean;
87
89
  prizeType: PrizeType;
90
+ verifier: Keypair;
88
91
  }, options?: RpcOptions): Promise<string>;
92
+ /**
93
+ * Get Spin Wheel
94
+ *
95
+ */
96
+ getSpinWheel(): Promise<({
97
+ undead?: never;
98
+ ticket?: never;
99
+ honeyland?: never;
100
+ trd100?: never;
101
+ trd50?: never;
102
+ flip?: never;
103
+ pengu?: never;
104
+ ore?: never;
105
+ lucksea?: never;
106
+ trd5?: never;
107
+ trident2000?: never;
108
+ trident500?: never;
109
+ trd10000?: never;
110
+ } & {
111
+ none: Record<string, never>;
112
+ }) | ({
113
+ none?: never;
114
+ ticket?: never;
115
+ honeyland?: never;
116
+ trd100?: never;
117
+ trd50?: never;
118
+ flip?: never;
119
+ pengu?: never;
120
+ ore?: never;
121
+ lucksea?: never;
122
+ trd5?: never;
123
+ trident2000?: never;
124
+ trident500?: never;
125
+ trd10000?: never;
126
+ } & {
127
+ undead: Record<string, never>;
128
+ }) | ({
129
+ none?: never;
130
+ undead?: never;
131
+ honeyland?: never;
132
+ trd100?: never;
133
+ trd50?: never;
134
+ flip?: never;
135
+ pengu?: never;
136
+ ore?: never;
137
+ lucksea?: never;
138
+ trd5?: never;
139
+ trident2000?: never;
140
+ trident500?: never;
141
+ trd10000?: never;
142
+ } & {
143
+ ticket: Record<string, never>;
144
+ }) | ({
145
+ none?: never;
146
+ undead?: never;
147
+ ticket?: never;
148
+ trd100?: never;
149
+ trd50?: never;
150
+ flip?: never;
151
+ pengu?: never;
152
+ ore?: never;
153
+ lucksea?: never;
154
+ trd5?: never;
155
+ trident2000?: never;
156
+ trident500?: never;
157
+ trd10000?: never;
158
+ } & {
159
+ honeyland: Record<string, never>;
160
+ }) | ({
161
+ none?: never;
162
+ undead?: never;
163
+ ticket?: never;
164
+ honeyland?: never;
165
+ trd50?: never;
166
+ flip?: never;
167
+ pengu?: never;
168
+ ore?: never;
169
+ lucksea?: never;
170
+ trd5?: never;
171
+ trident2000?: never;
172
+ trident500?: never;
173
+ trd10000?: never;
174
+ } & {
175
+ trd100: Record<string, never>;
176
+ }) | ({
177
+ none?: never;
178
+ undead?: never;
179
+ ticket?: never;
180
+ honeyland?: never;
181
+ trd100?: never;
182
+ flip?: never;
183
+ pengu?: never;
184
+ ore?: never;
185
+ lucksea?: never;
186
+ trd5?: never;
187
+ trident2000?: never;
188
+ trident500?: never;
189
+ trd10000?: never;
190
+ } & {
191
+ trd50: Record<string, never>;
192
+ }) | ({
193
+ none?: never;
194
+ undead?: never;
195
+ ticket?: never;
196
+ honeyland?: never;
197
+ trd100?: never;
198
+ trd50?: never;
199
+ pengu?: never;
200
+ ore?: never;
201
+ lucksea?: never;
202
+ trd5?: never;
203
+ trident2000?: never;
204
+ trident500?: never;
205
+ trd10000?: never;
206
+ } & {
207
+ flip: Record<string, never>;
208
+ }) | ({
209
+ none?: never;
210
+ undead?: never;
211
+ ticket?: never;
212
+ honeyland?: never;
213
+ trd100?: never;
214
+ trd50?: never;
215
+ flip?: never;
216
+ ore?: never;
217
+ lucksea?: never;
218
+ trd5?: never;
219
+ trident2000?: never;
220
+ trident500?: never;
221
+ trd10000?: never;
222
+ } & {
223
+ pengu: Record<string, never>;
224
+ }) | ({
225
+ none?: never;
226
+ undead?: never;
227
+ ticket?: never;
228
+ honeyland?: never;
229
+ trd100?: never;
230
+ trd50?: never;
231
+ flip?: never;
232
+ pengu?: never;
233
+ lucksea?: never;
234
+ trd5?: never;
235
+ trident2000?: never;
236
+ trident500?: never;
237
+ trd10000?: never;
238
+ } & {
239
+ ore: Record<string, never>;
240
+ }) | ({
241
+ none?: never;
242
+ undead?: never;
243
+ ticket?: never;
244
+ honeyland?: never;
245
+ trd100?: never;
246
+ trd50?: never;
247
+ flip?: never;
248
+ pengu?: never;
249
+ ore?: never;
250
+ trd5?: never;
251
+ trident2000?: never;
252
+ trident500?: never;
253
+ trd10000?: never;
254
+ } & {
255
+ lucksea: Record<string, never>;
256
+ }) | ({
257
+ none?: never;
258
+ undead?: never;
259
+ ticket?: never;
260
+ honeyland?: never;
261
+ trd100?: never;
262
+ trd50?: never;
263
+ flip?: never;
264
+ pengu?: never;
265
+ ore?: never;
266
+ lucksea?: never;
267
+ trident2000?: never;
268
+ trident500?: never;
269
+ trd10000?: never;
270
+ } & {
271
+ trd5: Record<string, never>;
272
+ }) | ({
273
+ none?: never;
274
+ undead?: never;
275
+ ticket?: never;
276
+ honeyland?: never;
277
+ trd100?: never;
278
+ trd50?: never;
279
+ flip?: never;
280
+ pengu?: never;
281
+ ore?: never;
282
+ lucksea?: never;
283
+ trd5?: never;
284
+ trident500?: never;
285
+ trd10000?: never;
286
+ } & {
287
+ trident2000: Record<string, never>;
288
+ }) | ({
289
+ none?: never;
290
+ undead?: never;
291
+ ticket?: never;
292
+ honeyland?: never;
293
+ trd100?: never;
294
+ trd50?: never;
295
+ flip?: never;
296
+ pengu?: never;
297
+ ore?: never;
298
+ lucksea?: never;
299
+ trd5?: never;
300
+ trident2000?: never;
301
+ trd10000?: never;
302
+ } & {
303
+ trident500: Record<string, never>;
304
+ }) | ({
305
+ none?: never;
306
+ undead?: never;
307
+ ticket?: never;
308
+ honeyland?: never;
309
+ trd100?: never;
310
+ trd50?: never;
311
+ flip?: never;
312
+ pengu?: never;
313
+ ore?: never;
314
+ lucksea?: never;
315
+ trd5?: never;
316
+ trident2000?: never;
317
+ trident500?: never;
318
+ } & {
319
+ trd10000: Record<string, never>;
320
+ })>;
89
321
  }
package/dist/index.js CHANGED
@@ -208,13 +208,14 @@ class TriadProtocolClient {
208
208
  */
209
209
  claimSpinToken(amount, verifier, options) {
210
210
  return __awaiter(this, void 0, void 0, function* () {
211
- const spinPDA = (0, pda_1.getSpinPDA)(this.program.programId, constants_1.SPIN_NAME);
212
211
  const ix = yield this.program.methods
213
- .claimSpinToken(new anchor_1.BN(amount))
212
+ .claimSpinToken({
213
+ name: constants_1.SPIN_NAME,
214
+ amount: new anchor_1.BN(amount * Math.pow(10, 6))
215
+ })
214
216
  .accounts({
215
217
  signer: this.provider.wallet.publicKey,
216
218
  verifier: verifier.publicKey,
217
- spin: spinPDA,
218
219
  mint: constants_1.TCMAS_MINT
219
220
  })
220
221
  .instruction();
@@ -225,12 +226,14 @@ class TriadProtocolClient {
225
226
  * Spin Wheel
226
227
  * @param isSol - Whether to pay with SOL or token
227
228
  * @param verifier - Verifier keypair
229
+ * @param prizeType - Prize type
228
230
  * @param options - RPC options
231
+ *
229
232
  */
230
233
  spinWheel(args, options) {
231
234
  return __awaiter(this, void 0, void 0, function* () {
232
235
  const spinPDA = (0, pda_1.getSpinPDA)(this.program.programId, constants_1.SPIN_NAME);
233
- const method = this.program.methods
236
+ const ix = yield this.program.methods
234
237
  .spinWheel({
235
238
  isSol: args.isSol,
236
239
  prizeType: args.prizeType
@@ -240,8 +243,26 @@ class TriadProtocolClient {
240
243
  verifier: constants_1.VERIFIER,
241
244
  spin: spinPDA,
242
245
  mint: constants_1.TCMAS_MINT
243
- });
244
- return (0, sendTransactionWithOptions_1.default)(method, options);
246
+ })
247
+ .instruction();
248
+ return (0, sendVersionedTransaction_1.default)(this.provider, [ix], options, undefined, [], args.verifier);
249
+ });
250
+ }
251
+ /**
252
+ * Get Spin Wheel
253
+ *
254
+ */
255
+ getSpinWheel() {
256
+ return __awaiter(this, void 0, void 0, function* () {
257
+ const [spin] = yield this.program.account.spin.all();
258
+ const randomNumber = Math.floor(Math.random() * 1000000) + 1;
259
+ const prize = spin.account.prizes.find((p) => randomNumber >= p.rangeMin.toNumber() &&
260
+ randomNumber <= p.rangeMax.toNumber() &&
261
+ p.status.claimed);
262
+ if (!prize) {
263
+ return { none: {} };
264
+ }
265
+ return prize.prizeType;
245
266
  });
246
267
  }
247
268
  }
@@ -435,6 +435,14 @@ const addSpinPrize = () => __awaiter(void 0, void 0, void 0, function* () {
435
435
  });
436
436
  console.log(response);
437
437
  });
438
+ const spinWheel = () => __awaiter(void 0, void 0, void 0, function* () {
439
+ const response = yield triadProtocol.spinWheel({
440
+ isSol: false,
441
+ prizeType: { none: {} },
442
+ verifier: keypair
443
+ });
444
+ console.log(response);
445
+ });
438
446
  const getSpinPrize = () => __awaiter(void 0, void 0, void 0, function* () {
439
447
  let response = yield triadProtocol.program.account.spin.fetch(new web3_js_1.PublicKey('EQ6ZJbdT2V8ZYcHRpJx6wBkGWmM1e3mimtPKshTVuw8h'));
440
448
  const prizes = response.prizes.map((prize) => ({
@@ -445,11 +453,4 @@ const getSpinPrize = () => __awaiter(void 0, void 0, void 0, function* () {
445
453
  }));
446
454
  console.log(prizes);
447
455
  });
448
- const spinWheel = () => __awaiter(void 0, void 0, void 0, function* () {
449
- const response = yield triadProtocol.spinWheel({
450
- isSol: false,
451
- prizeType: { none: {} }
452
- });
453
- console.log(response);
454
- });
455
- spinWheel();
456
+ getSpinPrize();
@@ -161,7 +161,19 @@
161
161
  },
162
162
  {
163
163
  "name": "spin",
164
- "writable": true
164
+ "writable": true,
165
+ "pda": {
166
+ "seeds": [
167
+ {
168
+ "kind": "const",
169
+ "value": [115, 112, 105, 110]
170
+ },
171
+ {
172
+ "kind": "arg",
173
+ "path": "args.name"
174
+ }
175
+ ]
176
+ }
165
177
  },
166
178
  {
167
179
  "name": "mint",
@@ -238,8 +250,12 @@
238
250
  ],
239
251
  "args": [
240
252
  {
241
- "name": "amount",
242
- "type": "u64"
253
+ "name": "args",
254
+ "type": {
255
+ "defined": {
256
+ "name": "ClaimSpinTokenArgs"
257
+ }
258
+ }
243
259
  }
244
260
  ]
245
261
  },
@@ -1951,6 +1967,22 @@
1951
1967
  ]
1952
1968
  }
1953
1969
  },
1970
+ {
1971
+ "name": "ClaimSpinTokenArgs",
1972
+ "type": {
1973
+ "kind": "struct",
1974
+ "fields": [
1975
+ {
1976
+ "name": "name",
1977
+ "type": "string"
1978
+ },
1979
+ {
1980
+ "name": "amount",
1981
+ "type": "u64"
1982
+ }
1983
+ ]
1984
+ }
1985
+ },
1954
1986
  {
1955
1987
  "name": "ClaimSpinTokenUpdate",
1956
1988
  "type": {
@@ -226,6 +226,18 @@ export type TriadProtocol = {
226
226
  {
227
227
  name: 'spin';
228
228
  writable: true;
229
+ pda: {
230
+ seeds: [
231
+ {
232
+ kind: 'const';
233
+ value: [115, 112, 105, 110];
234
+ },
235
+ {
236
+ kind: 'arg';
237
+ path: 'args.name';
238
+ }
239
+ ];
240
+ };
229
241
  },
230
242
  {
231
243
  name: 'mint';
@@ -360,8 +372,12 @@ export type TriadProtocol = {
360
372
  ];
361
373
  args: [
362
374
  {
363
- name: 'amount';
364
- type: 'u64';
375
+ name: 'args';
376
+ type: {
377
+ defined: {
378
+ name: 'claimSpinTokenArgs';
379
+ };
380
+ };
365
381
  }
366
382
  ];
367
383
  },
@@ -2711,6 +2727,22 @@ export type TriadProtocol = {
2711
2727
  ];
2712
2728
  };
2713
2729
  },
2730
+ {
2731
+ name: 'claimSpinTokenArgs';
2732
+ type: {
2733
+ kind: 'struct';
2734
+ fields: [
2735
+ {
2736
+ name: 'name';
2737
+ type: 'string';
2738
+ },
2739
+ {
2740
+ name: 'amount';
2741
+ type: 'u64';
2742
+ }
2743
+ ];
2744
+ };
2745
+ },
2714
2746
  {
2715
2747
  name: 'claimSpinTokenUpdate';
2716
2748
  type: {
@@ -3,5 +3,5 @@ import { RpcOptions } from '../types';
3
3
  import { AddressLookupTableAccount } from '@solana/web3.js';
4
4
  import { AnchorProvider } from '@coral-xyz/anchor';
5
5
  import { Keypair } from '@solana/web3.js';
6
- declare const sendVersionedTransaction: (provider: AnchorProvider, ixs: TransactionInstruction[], options?: RpcOptions, payer?: Keypair, addressLookupTableAccounts?: AddressLookupTableAccount[], verifier?: Keypair, assets?: Keypair[]) => Promise<string>;
6
+ declare const sendVersionedTransaction: (provider: AnchorProvider, ixs: TransactionInstruction[], options?: RpcOptions, payer?: Keypair, addressLookupTableAccounts?: AddressLookupTableAccount[], verifier?: Keypair) => Promise<string>;
7
7
  export default sendVersionedTransaction;
@@ -10,7 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  const web3_js_1 = require("@solana/web3.js");
13
- const sendVersionedTransaction = (provider, ixs, options, payer, addressLookupTableAccounts, verifier, assets) => __awaiter(void 0, void 0, void 0, function* () {
13
+ const sendVersionedTransaction = (provider, ixs, options, payer, addressLookupTableAccounts, verifier) => __awaiter(void 0, void 0, void 0, function* () {
14
14
  if (options === null || options === void 0 ? void 0 : options.microLamports) {
15
15
  ixs.push(web3_js_1.ComputeBudgetProgram.setComputeUnitPrice({
16
16
  microLamports: options.microLamports
@@ -31,12 +31,6 @@ const sendVersionedTransaction = (provider, ixs, options, payer, addressLookupTa
31
31
  tx.sign([verifier]);
32
32
  signers.push(verifier);
33
33
  }
34
- if (assets) {
35
- for (const asset of assets) {
36
- tx.sign([asset]);
37
- signers.push(asset);
38
- }
39
- }
40
34
  return provider.sendAndConfirm(tx, signers, {
41
35
  skipPreflight: options === null || options === void 0 ? void 0 : options.skipPreflight,
42
36
  commitment: 'confirmed'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@triadxyz/triad-protocol",
3
- "version": "1.4.1-beta",
3
+ "version": "1.4.3-beta",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",