@triadxyz/triad-protocol 1.4.1-beta → 1.4.2-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
|
@@ -225,12 +225,14 @@ class TriadProtocolClient {
|
|
|
225
225
|
* Spin Wheel
|
|
226
226
|
* @param isSol - Whether to pay with SOL or token
|
|
227
227
|
* @param verifier - Verifier keypair
|
|
228
|
+
* @param prizeType - Prize type
|
|
228
229
|
* @param options - RPC options
|
|
230
|
+
*
|
|
229
231
|
*/
|
|
230
232
|
spinWheel(args, options) {
|
|
231
233
|
return __awaiter(this, void 0, void 0, function* () {
|
|
232
234
|
const spinPDA = (0, pda_1.getSpinPDA)(this.program.programId, constants_1.SPIN_NAME);
|
|
233
|
-
const
|
|
235
|
+
const ix = yield this.program.methods
|
|
234
236
|
.spinWheel({
|
|
235
237
|
isSol: args.isSol,
|
|
236
238
|
prizeType: args.prizeType
|
|
@@ -240,8 +242,26 @@ class TriadProtocolClient {
|
|
|
240
242
|
verifier: constants_1.VERIFIER,
|
|
241
243
|
spin: spinPDA,
|
|
242
244
|
mint: constants_1.TCMAS_MINT
|
|
243
|
-
})
|
|
244
|
-
|
|
245
|
+
})
|
|
246
|
+
.instruction();
|
|
247
|
+
return (0, sendVersionedTransaction_1.default)(this.provider, [ix], options, undefined, [], args.verifier);
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Get Spin Wheel
|
|
252
|
+
*
|
|
253
|
+
*/
|
|
254
|
+
getSpinWheel() {
|
|
255
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
256
|
+
const [spin] = yield this.program.account.spin.all();
|
|
257
|
+
const randomNumber = Math.floor(Math.random() * 1000000) + 1;
|
|
258
|
+
const prize = spin.account.prizes.find((p) => randomNumber >= p.rangeMin.toNumber() &&
|
|
259
|
+
randomNumber <= p.rangeMax.toNumber() &&
|
|
260
|
+
p.status.claimed);
|
|
261
|
+
if (!prize) {
|
|
262
|
+
return { none: {} };
|
|
263
|
+
}
|
|
264
|
+
return prize.prizeType;
|
|
245
265
|
});
|
|
246
266
|
}
|
|
247
267
|
}
|
package/dist/local-test.js
CHANGED
|
@@ -448,8 +448,8 @@ const getSpinPrize = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
448
448
|
const spinWheel = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
449
449
|
const response = yield triadProtocol.spinWheel({
|
|
450
450
|
isSol: false,
|
|
451
|
-
prizeType: { none: {} }
|
|
451
|
+
prizeType: { none: {} },
|
|
452
|
+
verifier: keypair
|
|
452
453
|
});
|
|
453
454
|
console.log(response);
|
|
454
455
|
});
|
|
455
|
-
spinWheel();
|
|
@@ -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
|
|
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
|
|
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'
|