hive-stream 3.0.4 → 3.1.0
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/CHANGELOG.md +10 -0
- package/DOCUMENTATION.md +775 -2
- package/README.md +34 -1
- package/dist/adapters/mongodb.adapter.js +21 -30
- package/dist/adapters/mongodb.adapter.js.map +1 -1
- package/dist/adapters/postgresql.adapter.js +16 -16
- package/dist/adapters/postgresql.adapter.js.map +1 -1
- package/dist/adapters/sqlite.adapter.js +17 -17
- package/dist/adapters/sqlite.adapter.js.map +1 -1
- package/dist/api.js +2 -0
- package/dist/api.js.map +1 -1
- package/dist/builders.d.ts +269 -1
- package/dist/builders.js +883 -1
- package/dist/builders.js.map +1 -1
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.js +209 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/prompts.d.ts +17 -0
- package/dist/cli/prompts.js +109 -0
- package/dist/cli/prompts.js.map +1 -0
- package/dist/cli/scaffold.d.ts +21 -0
- package/dist/cli/scaffold.js +281 -0
- package/dist/cli/scaffold.js.map +1 -0
- package/dist/cli/templates.d.ts +28 -0
- package/dist/cli/templates.js +329 -0
- package/dist/cli/templates.js.map +1 -0
- package/dist/config.js +2 -2
- package/dist/config.js.map +1 -1
- package/dist/contracts/checkpoint.contract.d.ts +6 -0
- package/dist/contracts/checkpoint.contract.js +196 -0
- package/dist/contracts/checkpoint.contract.js.map +1 -0
- package/dist/contracts/nft.contract.d.ts +2 -0
- package/dist/contracts/nft.contract.js +174 -0
- package/dist/contracts/nft.contract.js.map +1 -1
- package/dist/contracts/roulette.contract.d.ts +9 -0
- package/dist/contracts/roulette.contract.js +365 -0
- package/dist/contracts/roulette.contract.js.map +1 -0
- package/dist/contracts/ticketing.contract.js +158 -1
- package/dist/contracts/ticketing.contract.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/metadata.js +1 -0
- package/dist/metadata.js.map +1 -1
- package/dist/streamer.d.ts +105 -10
- package/dist/streamer.js +539 -61
- package/dist/streamer.js.map +1 -1
- package/dist/types/hive-stream.d.ts +306 -0
- package/dist/utils.d.ts +442 -0
- package/dist/utils.js +1423 -0
- package/dist/utils.js.map +1 -1
- package/package.json +7 -5
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createRouletteContract = createRouletteContract;
|
|
7
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
8
|
+
const seedrandom_1 = __importDefault(require("seedrandom"));
|
|
9
|
+
const uuid_1 = require("uuid");
|
|
10
|
+
const zod_1 = require("zod");
|
|
11
|
+
const contract_1 = require("./contract");
|
|
12
|
+
const helpers_1 = require("./helpers");
|
|
13
|
+
const DEFAULT_NAME = 'roulette';
|
|
14
|
+
const DEFAULT_ACCOUNT = 'beggars';
|
|
15
|
+
const DEFAULT_TOKEN_SYMBOL = 'HIVE';
|
|
16
|
+
const DEFAULT_MIN_AMOUNT = 0.001;
|
|
17
|
+
const DEFAULT_MAX_AMOUNT = 20;
|
|
18
|
+
const BET_TYPES = ['straight', 'color', 'parity', 'dozen', 'column', 'range'];
|
|
19
|
+
const RED_NUMBERS = new Set([1, 3, 5, 7, 9, 12, 14, 16, 18, 19, 21, 23, 25, 27, 30, 32, 34, 36]);
|
|
20
|
+
function rng(previousBlockId, blockId, transactionId, serverSeed, clientSeed = '') {
|
|
21
|
+
if (!previousBlockId || !blockId || !transactionId || !serverSeed) {
|
|
22
|
+
throw new Error('Invalid RNG parameters');
|
|
23
|
+
}
|
|
24
|
+
const random = (0, seedrandom_1.default)(`${previousBlockId}${blockId}${transactionId}${clientSeed}${serverSeed}`).double();
|
|
25
|
+
const winningNumber = Math.floor(random * 37);
|
|
26
|
+
if (winningNumber < 0 || winningNumber > 36) {
|
|
27
|
+
throw new Error('RNG generated invalid roulette result');
|
|
28
|
+
}
|
|
29
|
+
return winningNumber;
|
|
30
|
+
}
|
|
31
|
+
function parseNumericValue(value) {
|
|
32
|
+
if (typeof value === 'number' && Number.isInteger(value)) {
|
|
33
|
+
return value;
|
|
34
|
+
}
|
|
35
|
+
if (typeof value === 'string' && /^\d+$/.test(value)) {
|
|
36
|
+
return Number.parseInt(value, 10);
|
|
37
|
+
}
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
function normalizeSpinPayload(payload) {
|
|
41
|
+
switch (payload.betType) {
|
|
42
|
+
case 'straight': {
|
|
43
|
+
const parsed = parseNumericValue(payload.value);
|
|
44
|
+
if (parsed === null || parsed < 0 || parsed > 36) {
|
|
45
|
+
throw new Error('Straight bets require a number between 0 and 36');
|
|
46
|
+
}
|
|
47
|
+
return { betType: 'straight', value: parsed, seed: payload.seed };
|
|
48
|
+
}
|
|
49
|
+
case 'color': {
|
|
50
|
+
if (payload.value !== 'red' && payload.value !== 'black') {
|
|
51
|
+
throw new Error('Color bets must be red or black');
|
|
52
|
+
}
|
|
53
|
+
return { betType: 'color', value: payload.value, seed: payload.seed };
|
|
54
|
+
}
|
|
55
|
+
case 'parity': {
|
|
56
|
+
if (payload.value !== 'odd' && payload.value !== 'even') {
|
|
57
|
+
throw new Error('Parity bets must be odd or even');
|
|
58
|
+
}
|
|
59
|
+
return { betType: 'parity', value: payload.value, seed: payload.seed };
|
|
60
|
+
}
|
|
61
|
+
case 'dozen': {
|
|
62
|
+
const parsed = parseNumericValue(payload.value);
|
|
63
|
+
if (parsed !== 1 && parsed !== 2 && parsed !== 3) {
|
|
64
|
+
throw new Error('Dozen bets must be 1, 2, or 3');
|
|
65
|
+
}
|
|
66
|
+
return { betType: 'dozen', value: parsed, seed: payload.seed };
|
|
67
|
+
}
|
|
68
|
+
case 'column': {
|
|
69
|
+
const parsed = parseNumericValue(payload.value);
|
|
70
|
+
if (parsed !== 1 && parsed !== 2 && parsed !== 3) {
|
|
71
|
+
throw new Error('Column bets must be 1, 2, or 3');
|
|
72
|
+
}
|
|
73
|
+
return { betType: 'column', value: parsed, seed: payload.seed };
|
|
74
|
+
}
|
|
75
|
+
case 'range': {
|
|
76
|
+
if (payload.value !== 'low' && payload.value !== 'high') {
|
|
77
|
+
throw new Error('Range bets must be low or high');
|
|
78
|
+
}
|
|
79
|
+
return { betType: 'range', value: payload.value, seed: payload.seed };
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
function getPayoutMultiplier(payload) {
|
|
84
|
+
switch (payload.betType) {
|
|
85
|
+
case 'straight':
|
|
86
|
+
return new bignumber_js_1.default(36);
|
|
87
|
+
case 'dozen':
|
|
88
|
+
case 'column':
|
|
89
|
+
return new bignumber_js_1.default(3);
|
|
90
|
+
case 'color':
|
|
91
|
+
case 'parity':
|
|
92
|
+
case 'range':
|
|
93
|
+
return new bignumber_js_1.default(2);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
function getRouletteColor(number) {
|
|
97
|
+
if (number === 0) {
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
return RED_NUMBERS.has(number) ? 'red' : 'black';
|
|
101
|
+
}
|
|
102
|
+
function isWinningBet(payload, winningNumber) {
|
|
103
|
+
switch (payload.betType) {
|
|
104
|
+
case 'straight':
|
|
105
|
+
return payload.value === winningNumber;
|
|
106
|
+
case 'color':
|
|
107
|
+
return winningNumber !== 0 && getRouletteColor(winningNumber) === payload.value;
|
|
108
|
+
case 'parity':
|
|
109
|
+
if (winningNumber === 0) {
|
|
110
|
+
return false;
|
|
111
|
+
}
|
|
112
|
+
return (winningNumber % 2 === 0 ? 'even' : 'odd') === payload.value;
|
|
113
|
+
case 'dozen':
|
|
114
|
+
if (winningNumber === 0) {
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
117
|
+
return Math.ceil(winningNumber / 12) === payload.value;
|
|
118
|
+
case 'column':
|
|
119
|
+
if (winningNumber === 0) {
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
122
|
+
return ((winningNumber - 1) % 3) + 1 === payload.value;
|
|
123
|
+
case 'range':
|
|
124
|
+
if (winningNumber === 0) {
|
|
125
|
+
return false;
|
|
126
|
+
}
|
|
127
|
+
return payload.value === 'low' ? winningNumber >= 1 && winningNumber <= 18 : winningNumber >= 19 && winningNumber <= 36;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
function describeBet(payload) {
|
|
131
|
+
return `${payload.betType}:${payload.value}`;
|
|
132
|
+
}
|
|
133
|
+
function getSpinContext(number) {
|
|
134
|
+
const color = getRouletteColor(number) ?? 'green';
|
|
135
|
+
const parity = number === 0 ? 'none' : number % 2 === 0 ? 'even' : 'odd';
|
|
136
|
+
const range = number === 0 ? 'none' : number <= 18 ? 'low' : 'high';
|
|
137
|
+
return { color, parity, range };
|
|
138
|
+
}
|
|
139
|
+
const spinSchema = zod_1.z.object({
|
|
140
|
+
betType: zod_1.z.enum(BET_TYPES),
|
|
141
|
+
value: zod_1.z.union([zod_1.z.string(), zod_1.z.number().int()]),
|
|
142
|
+
seed: zod_1.z.string().optional()
|
|
143
|
+
}).superRefine((payload, ctx) => {
|
|
144
|
+
try {
|
|
145
|
+
normalizeSpinPayload(payload);
|
|
146
|
+
}
|
|
147
|
+
catch (error) {
|
|
148
|
+
ctx.addIssue({
|
|
149
|
+
code: zod_1.z.ZodIssueCode.custom,
|
|
150
|
+
message: error instanceof Error ? error.message : 'Invalid roulette payload'
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
function createRouletteContract(options = {}) {
|
|
155
|
+
const name = options.name || DEFAULT_NAME;
|
|
156
|
+
const account = options.account || DEFAULT_ACCOUNT;
|
|
157
|
+
const tokenSymbol = options.tokenSymbol || DEFAULT_TOKEN_SYMBOL;
|
|
158
|
+
const validCurrencies = options.validCurrencies || [tokenSymbol];
|
|
159
|
+
const minAmount = options.minAmount ?? DEFAULT_MIN_AMOUNT;
|
|
160
|
+
const maxAmount = options.maxAmount ?? DEFAULT_MAX_AMOUNT;
|
|
161
|
+
const state = {
|
|
162
|
+
streamer: null,
|
|
163
|
+
adapter: null,
|
|
164
|
+
balanceCache: null,
|
|
165
|
+
balanceCacheTimeout: 30000,
|
|
166
|
+
betQueue: [],
|
|
167
|
+
processingQueue: false,
|
|
168
|
+
pendingPayouts: new bignumber_js_1.default(0)
|
|
169
|
+
};
|
|
170
|
+
const invalidateBalanceCache = () => {
|
|
171
|
+
state.balanceCache = null;
|
|
172
|
+
};
|
|
173
|
+
const getBalance = async () => {
|
|
174
|
+
const now = Date.now();
|
|
175
|
+
if (state.balanceCache && (now - state.balanceCache.timestamp) < state.balanceCacheTimeout) {
|
|
176
|
+
return state.balanceCache.balance;
|
|
177
|
+
}
|
|
178
|
+
try {
|
|
179
|
+
const accountInfo = await state.streamer['client'].database.getAccounts([account]);
|
|
180
|
+
if (accountInfo?.[0]) {
|
|
181
|
+
const amount = (0, helpers_1.parseBlockchainAmount)(accountInfo[0].balance).value;
|
|
182
|
+
state.balanceCache = {
|
|
183
|
+
balance: amount,
|
|
184
|
+
timestamp: now
|
|
185
|
+
};
|
|
186
|
+
return amount;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
catch (error) {
|
|
190
|
+
console.error('[RouletteContract] Error fetching balance:', error);
|
|
191
|
+
if (state.balanceCache) {
|
|
192
|
+
return state.balanceCache.balance;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
return new bignumber_js_1.default(0);
|
|
196
|
+
};
|
|
197
|
+
const processQueue = async () => {
|
|
198
|
+
if (state.processingQueue || state.betQueue.length === 0) {
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
state.processingQueue = true;
|
|
202
|
+
while (state.betQueue.length > 0) {
|
|
203
|
+
const nextBet = state.betQueue.shift();
|
|
204
|
+
if (nextBet) {
|
|
205
|
+
try {
|
|
206
|
+
await nextBet();
|
|
207
|
+
}
|
|
208
|
+
catch (error) {
|
|
209
|
+
console.error('[RouletteContract] Queue processing error:', error);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
state.processingQueue = false;
|
|
214
|
+
};
|
|
215
|
+
const processSpin = async (payload, ctx) => {
|
|
216
|
+
if (!ctx.transfer) {
|
|
217
|
+
throw new Error('Transfer context required for spin');
|
|
218
|
+
}
|
|
219
|
+
const sender = ctx.sender;
|
|
220
|
+
const amountRaw = ctx.transfer.rawAmount;
|
|
221
|
+
try {
|
|
222
|
+
const bet = normalizeSpinPayload(payload);
|
|
223
|
+
let parsedAmount;
|
|
224
|
+
try {
|
|
225
|
+
parsedAmount = (0, helpers_1.parseBlockchainAmount)(amountRaw);
|
|
226
|
+
}
|
|
227
|
+
catch (error) {
|
|
228
|
+
throw new Error('Invalid amount format');
|
|
229
|
+
}
|
|
230
|
+
const amountParsed = parsedAmount.value;
|
|
231
|
+
if (amountParsed.isNegative()) {
|
|
232
|
+
throw new Error('Invalid amount value');
|
|
233
|
+
}
|
|
234
|
+
const transaction = await state.streamer.getTransaction(ctx.block.number, ctx.transaction.id);
|
|
235
|
+
const verify = await state.streamer.verifyTransfer(transaction, sender, account, amountRaw);
|
|
236
|
+
const amountCurrency = parsedAmount.asset;
|
|
237
|
+
if (!verify) {
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
240
|
+
if (!validCurrencies.includes(amountCurrency)) {
|
|
241
|
+
await state.streamer.transferHiveTokens(account, sender, parsedAmount.amount, parsedAmount.asset, '[Refund] You sent an invalid currency.');
|
|
242
|
+
invalidateBalanceCache();
|
|
243
|
+
return;
|
|
244
|
+
}
|
|
245
|
+
if (amountParsed.isLessThan(minAmount)) {
|
|
246
|
+
await state.streamer.transferHiveTokens(account, sender, parsedAmount.amount, parsedAmount.asset, `[Refund] Bet amount too small. Minimum: ${minAmount} ${amountCurrency}.`);
|
|
247
|
+
invalidateBalanceCache();
|
|
248
|
+
return;
|
|
249
|
+
}
|
|
250
|
+
if (amountParsed.isGreaterThan(maxAmount)) {
|
|
251
|
+
await state.streamer.transferHiveTokens(account, sender, parsedAmount.amount, parsedAmount.asset, `[Refund] You sent too much. Maximum: ${maxAmount} ${amountCurrency}.`);
|
|
252
|
+
invalidateBalanceCache();
|
|
253
|
+
return;
|
|
254
|
+
}
|
|
255
|
+
const potentialPayout = amountParsed.multipliedBy(getPayoutMultiplier(bet));
|
|
256
|
+
const balance = await getBalance();
|
|
257
|
+
const availableBalance = balance.minus(state.pendingPayouts);
|
|
258
|
+
if (potentialPayout.isGreaterThan(availableBalance)) {
|
|
259
|
+
await state.streamer.transferHiveTokens(account, sender, parsedAmount.amount, parsedAmount.asset, '[Refund] The server cannot afford this bet payout.');
|
|
260
|
+
invalidateBalanceCache();
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
263
|
+
state.pendingPayouts = state.pendingPayouts.plus(potentialPayout);
|
|
264
|
+
let payoutIncremented = true;
|
|
265
|
+
try {
|
|
266
|
+
const serverSeed = (0, uuid_1.v4)();
|
|
267
|
+
if (!serverSeed || typeof serverSeed !== 'string') {
|
|
268
|
+
throw new Error('Failed to generate server seed');
|
|
269
|
+
}
|
|
270
|
+
const winningNumber = rng(ctx.block.previousId, ctx.block.id, ctx.transaction.id, serverSeed, bet.seed ?? '');
|
|
271
|
+
const spinContext = getSpinContext(winningNumber);
|
|
272
|
+
const won = isWinningBet(bet, winningNumber);
|
|
273
|
+
if (state.adapter?.addEvent) {
|
|
274
|
+
await state.adapter.addEvent(new Date(), name, 'spin', payload, {
|
|
275
|
+
action: 'spin_result',
|
|
276
|
+
data: {
|
|
277
|
+
player: sender,
|
|
278
|
+
betType: bet.betType,
|
|
279
|
+
betValue: String(bet.value),
|
|
280
|
+
winningNumber,
|
|
281
|
+
winningColor: spinContext.color,
|
|
282
|
+
winningParity: spinContext.parity,
|
|
283
|
+
winningRange: spinContext.range,
|
|
284
|
+
result: won ? 'win' : 'lose',
|
|
285
|
+
serverSeed,
|
|
286
|
+
blockId: ctx.block.id,
|
|
287
|
+
transactionId: ctx.transaction.id
|
|
288
|
+
}
|
|
289
|
+
});
|
|
290
|
+
}
|
|
291
|
+
const betDescription = describeBet(bet);
|
|
292
|
+
if (won) {
|
|
293
|
+
await state.streamer.transferHiveTokens(account, sender, (0, helpers_1.formatBlockchainAmount)(potentialPayout), parsedAmount.asset, `[Winner] | Bet: ${betDescription} | Number: ${winningNumber} | Color: ${spinContext.color} | Seed: ${serverSeed}`);
|
|
294
|
+
invalidateBalanceCache();
|
|
295
|
+
return;
|
|
296
|
+
}
|
|
297
|
+
await state.streamer.transferHiveTokens(account, sender, '0.001', parsedAmount.asset, `[Lost] | Bet: ${betDescription} | Number: ${winningNumber} | Color: ${spinContext.color} | Seed: ${serverSeed}`);
|
|
298
|
+
invalidateBalanceCache();
|
|
299
|
+
}
|
|
300
|
+
finally {
|
|
301
|
+
if (payoutIncremented) {
|
|
302
|
+
state.pendingPayouts = state.pendingPayouts.minus(potentialPayout);
|
|
303
|
+
payoutIncremented = false;
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
catch (e) {
|
|
308
|
+
const error = e instanceof Error ? e : new Error(String(e));
|
|
309
|
+
console.error('[RouletteContract] Spin processing error:', {
|
|
310
|
+
sender,
|
|
311
|
+
amount: amountRaw,
|
|
312
|
+
payload,
|
|
313
|
+
message: error.message
|
|
314
|
+
});
|
|
315
|
+
try {
|
|
316
|
+
if (amountRaw && typeof amountRaw === 'string' && amountRaw.includes(' ')) {
|
|
317
|
+
const parsedAmount = (0, helpers_1.parseBlockchainAmount)(amountRaw);
|
|
318
|
+
const amountBN = parsedAmount.value;
|
|
319
|
+
if (!amountBN.isNaN() && amountBN.isFinite() && !amountBN.isNegative()) {
|
|
320
|
+
await state.streamer.transferHiveTokens(account, sender, parsedAmount.amount, parsedAmount.asset, '[Refund] Processing error occurred.');
|
|
321
|
+
invalidateBalanceCache();
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
catch (refundError) {
|
|
326
|
+
console.error('[RouletteContract] Failed to refund after error:', refundError);
|
|
327
|
+
}
|
|
328
|
+
throw error;
|
|
329
|
+
}
|
|
330
|
+
};
|
|
331
|
+
const spin = async (payload, ctx) => {
|
|
332
|
+
return new Promise((resolve, reject) => {
|
|
333
|
+
state.betQueue.push(async () => {
|
|
334
|
+
try {
|
|
335
|
+
await processSpin(payload, ctx);
|
|
336
|
+
resolve();
|
|
337
|
+
}
|
|
338
|
+
catch (error) {
|
|
339
|
+
reject(error);
|
|
340
|
+
}
|
|
341
|
+
});
|
|
342
|
+
processQueue();
|
|
343
|
+
});
|
|
344
|
+
};
|
|
345
|
+
return (0, contract_1.defineContract)({
|
|
346
|
+
name,
|
|
347
|
+
hooks: {
|
|
348
|
+
create: ({ streamer, adapter }) => {
|
|
349
|
+
state.streamer = streamer;
|
|
350
|
+
state.adapter = adapter;
|
|
351
|
+
},
|
|
352
|
+
destroy: () => {
|
|
353
|
+
state.betQueue = [];
|
|
354
|
+
state.processingQueue = false;
|
|
355
|
+
}
|
|
356
|
+
},
|
|
357
|
+
actions: {
|
|
358
|
+
spin: (0, contract_1.action)(spin, {
|
|
359
|
+
schema: spinSchema,
|
|
360
|
+
trigger: 'transfer'
|
|
361
|
+
})
|
|
362
|
+
}
|
|
363
|
+
});
|
|
364
|
+
}
|
|
365
|
+
//# sourceMappingURL=roulette.contract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roulette.contract.js","sourceRoot":"","sources":["../../src/contracts/roulette.contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,19 @@ function createTicketingContract(options = {}) {
|
|
|
26
26
|
ticketId: helpers_1.identifierSchema,
|
|
27
27
|
note: zod_1.z.string().max(280).optional()
|
|
28
28
|
});
|
|
29
|
+
const transferTicketSchema = zod_1.z.object({
|
|
30
|
+
ticketId: helpers_1.identifierSchema,
|
|
31
|
+
to: zod_1.z.string().min(3).max(16).regex(/^[a-z][a-z0-9.-]+$/, 'Invalid account name'),
|
|
32
|
+
note: zod_1.z.string().max(280).optional()
|
|
33
|
+
});
|
|
34
|
+
const listTicketSchema = zod_1.z.object({
|
|
35
|
+
ticketId: helpers_1.identifierSchema,
|
|
36
|
+
price: helpers_1.amountSchema,
|
|
37
|
+
asset: helpers_1.assetSchema.optional()
|
|
38
|
+
});
|
|
39
|
+
const buyTicketSchema = zod_1.z.object({
|
|
40
|
+
ticketId: helpers_1.identifierSchema
|
|
41
|
+
});
|
|
29
42
|
const initialize = async () => {
|
|
30
43
|
await (0, helpers_1.initializeTables)(state.adapter, [
|
|
31
44
|
`
|
|
@@ -54,6 +67,18 @@ function createTicketingContract(options = {}) {
|
|
|
54
67
|
created_at DATETIME NOT NULL,
|
|
55
68
|
updated_at DATETIME NOT NULL
|
|
56
69
|
)
|
|
70
|
+
`,
|
|
71
|
+
`
|
|
72
|
+
CREATE TABLE IF NOT EXISTS ticket_listings (
|
|
73
|
+
ticket_id TEXT PRIMARY KEY,
|
|
74
|
+
event_id TEXT NOT NULL,
|
|
75
|
+
seller TEXT NOT NULL,
|
|
76
|
+
price TEXT NOT NULL,
|
|
77
|
+
asset TEXT NOT NULL,
|
|
78
|
+
active INTEGER NOT NULL,
|
|
79
|
+
listed_at DATETIME NOT NULL,
|
|
80
|
+
updated_at DATETIME NOT NULL
|
|
81
|
+
)
|
|
57
82
|
`
|
|
58
83
|
]);
|
|
59
84
|
};
|
|
@@ -166,6 +191,134 @@ function createTicketingContract(options = {}) {
|
|
|
166
191
|
}
|
|
167
192
|
});
|
|
168
193
|
};
|
|
194
|
+
const deactivateListing = async (ticketId) => {
|
|
195
|
+
await state.adapter.query('UPDATE ticket_listings SET active = 0, updated_at = ? WHERE ticket_id = ? AND active = 1', [new Date(), ticketId]);
|
|
196
|
+
};
|
|
197
|
+
const getValidTicket = async (ticketId) => {
|
|
198
|
+
const ticketRows = await state.adapter.query('SELECT * FROM tickets WHERE ticket_id = ?', [ticketId]);
|
|
199
|
+
if (ticketRows.length === 0) {
|
|
200
|
+
throw new Error(`Ticket ${ticketId} does not exist`);
|
|
201
|
+
}
|
|
202
|
+
const ticket = ticketRows[0];
|
|
203
|
+
if (ticket.status !== 'valid') {
|
|
204
|
+
throw new Error('Ticket is not valid');
|
|
205
|
+
}
|
|
206
|
+
const eventRows = await state.adapter.query('SELECT * FROM ticket_events WHERE event_id = ?', [ticket.event_id]);
|
|
207
|
+
if (eventRows.length === 0) {
|
|
208
|
+
throw new Error(`Event ${ticket.event_id} does not exist`);
|
|
209
|
+
}
|
|
210
|
+
return { ticket, event: eventRows[0] };
|
|
211
|
+
};
|
|
212
|
+
const transferTicket = async (payload, ctx) => {
|
|
213
|
+
const sender = (0, helpers_1.requireSender)(ctx);
|
|
214
|
+
const { ticket } = await getValidTicket(payload.ticketId);
|
|
215
|
+
if (ticket.owner !== sender) {
|
|
216
|
+
throw new Error('Only the ticket owner can transfer the ticket');
|
|
217
|
+
}
|
|
218
|
+
if (payload.to === sender) {
|
|
219
|
+
throw new Error('Cannot transfer a ticket to yourself');
|
|
220
|
+
}
|
|
221
|
+
await deactivateListing(payload.ticketId);
|
|
222
|
+
await state.adapter.query('UPDATE tickets SET owner = ?, note = ?, updated_at = ? WHERE ticket_id = ?', [payload.to, payload.note || '', new Date(), payload.ticketId]);
|
|
223
|
+
await (0, helpers_1.emitContractEvent)(state.adapter, name, 'transferTicket', payload, {
|
|
224
|
+
action: 'ticket_transferred',
|
|
225
|
+
data: {
|
|
226
|
+
ticketId: payload.ticketId,
|
|
227
|
+
eventId: ticket.event_id,
|
|
228
|
+
from: sender,
|
|
229
|
+
to: payload.to
|
|
230
|
+
}
|
|
231
|
+
});
|
|
232
|
+
};
|
|
233
|
+
const listTicket = async (payload, ctx) => {
|
|
234
|
+
const sender = (0, helpers_1.requireSender)(ctx);
|
|
235
|
+
const { ticket, event } = await getValidTicket(payload.ticketId);
|
|
236
|
+
if (ticket.owner !== sender) {
|
|
237
|
+
throw new Error('Only the ticket owner can list the ticket for resale');
|
|
238
|
+
}
|
|
239
|
+
if (((0, helpers_1.parseDateValue)(event.starts_at) || new Date()) <= new Date()) {
|
|
240
|
+
throw new Error('Resale is closed for this event');
|
|
241
|
+
}
|
|
242
|
+
const asset = payload.asset || event.asset;
|
|
243
|
+
await deactivateListing(payload.ticketId);
|
|
244
|
+
await state.adapter.query(`INSERT INTO ticket_listings (ticket_id, event_id, seller, price, asset, active, listed_at, updated_at)
|
|
245
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
|
|
246
|
+
ON CONFLICT (ticket_id) DO UPDATE SET
|
|
247
|
+
seller = excluded.seller,
|
|
248
|
+
price = excluded.price,
|
|
249
|
+
asset = excluded.asset,
|
|
250
|
+
active = excluded.active,
|
|
251
|
+
listed_at = excluded.listed_at,
|
|
252
|
+
updated_at = excluded.updated_at`, [payload.ticketId, ticket.event_id, sender, payload.price, asset, 1, new Date(), new Date()]);
|
|
253
|
+
await (0, helpers_1.emitContractEvent)(state.adapter, name, 'listTicket', payload, {
|
|
254
|
+
action: 'ticket_listed',
|
|
255
|
+
data: {
|
|
256
|
+
ticketId: payload.ticketId,
|
|
257
|
+
eventId: ticket.event_id,
|
|
258
|
+
seller: sender,
|
|
259
|
+
price: payload.price,
|
|
260
|
+
asset
|
|
261
|
+
}
|
|
262
|
+
});
|
|
263
|
+
};
|
|
264
|
+
const unlistTicket = async (payload, ctx) => {
|
|
265
|
+
const sender = (0, helpers_1.requireSender)(ctx);
|
|
266
|
+
const listingRows = await state.adapter.query('SELECT * FROM ticket_listings WHERE ticket_id = ? AND active = 1', [payload.ticketId]);
|
|
267
|
+
if (listingRows.length === 0) {
|
|
268
|
+
throw new Error(`No active listing found for ticket ${payload.ticketId}`);
|
|
269
|
+
}
|
|
270
|
+
if (listingRows[0].seller !== sender) {
|
|
271
|
+
throw new Error('Only the seller can unlist the ticket');
|
|
272
|
+
}
|
|
273
|
+
await deactivateListing(payload.ticketId);
|
|
274
|
+
await (0, helpers_1.emitContractEvent)(state.adapter, name, 'unlistTicket', payload, {
|
|
275
|
+
action: 'ticket_unlisted',
|
|
276
|
+
data: {
|
|
277
|
+
ticketId: payload.ticketId,
|
|
278
|
+
seller: sender
|
|
279
|
+
}
|
|
280
|
+
});
|
|
281
|
+
};
|
|
282
|
+
const buyTicketDirect = async (payload, ctx) => {
|
|
283
|
+
const buyer = (0, helpers_1.requireSender)(ctx);
|
|
284
|
+
const payment = (0, helpers_1.getIncomingPayment)(ctx);
|
|
285
|
+
const listingRows = await state.adapter.query('SELECT * FROM ticket_listings WHERE ticket_id = ? AND active = 1', [payload.ticketId]);
|
|
286
|
+
if (listingRows.length === 0) {
|
|
287
|
+
throw new Error(`No active listing found for ticket ${payload.ticketId}`);
|
|
288
|
+
}
|
|
289
|
+
const listing = listingRows[0];
|
|
290
|
+
if (listing.seller === buyer) {
|
|
291
|
+
throw new Error('Cannot buy your own ticket');
|
|
292
|
+
}
|
|
293
|
+
// Non-custodial: payment must go straight to the seller, never the contract account
|
|
294
|
+
if (payment.to !== listing.seller) {
|
|
295
|
+
throw new Error(`Payment must be sent directly to the seller ${listing.seller}`);
|
|
296
|
+
}
|
|
297
|
+
const { ticket, event } = await getValidTicket(payload.ticketId);
|
|
298
|
+
if (ticket.owner !== listing.seller) {
|
|
299
|
+
throw new Error('Listing is stale: the seller no longer owns this ticket');
|
|
300
|
+
}
|
|
301
|
+
if (((0, helpers_1.parseDateValue)(event.starts_at) || new Date()) <= new Date()) {
|
|
302
|
+
throw new Error('Resale is closed for this event');
|
|
303
|
+
}
|
|
304
|
+
(0, helpers_1.assertAssetMatches)(payment.asset, listing.asset);
|
|
305
|
+
if (!(0, helpers_1.toBigNumber)(payment.amount).eq(listing.price)) {
|
|
306
|
+
throw new Error(`Ticket resale price is ${listing.price} ${listing.asset}`);
|
|
307
|
+
}
|
|
308
|
+
await deactivateListing(payload.ticketId);
|
|
309
|
+
await state.adapter.query('UPDATE tickets SET owner = ?, updated_at = ? WHERE ticket_id = ?', [buyer, new Date(), payload.ticketId]);
|
|
310
|
+
await (0, helpers_1.emitContractEvent)(state.adapter, name, 'buyTicketDirect', payload, {
|
|
311
|
+
action: 'ticket_sold_direct',
|
|
312
|
+
data: {
|
|
313
|
+
ticketId: payload.ticketId,
|
|
314
|
+
eventId: ticket.event_id,
|
|
315
|
+
seller: listing.seller,
|
|
316
|
+
buyer,
|
|
317
|
+
price: listing.price,
|
|
318
|
+
asset: listing.asset
|
|
319
|
+
}
|
|
320
|
+
});
|
|
321
|
+
};
|
|
169
322
|
return (0, contract_1.defineContract)({
|
|
170
323
|
name,
|
|
171
324
|
hooks: {
|
|
@@ -178,7 +331,11 @@ function createTicketingContract(options = {}) {
|
|
|
178
331
|
createEvent: (0, contract_1.action)(createEvent, { schema: createEventSchema, trigger: 'custom_json' }),
|
|
179
332
|
purchaseTicket: (0, contract_1.action)(purchaseTicket, { schema: purchaseSchema, trigger: ['transfer', 'recurrent_transfer'] }),
|
|
180
333
|
checkInTicket: (0, contract_1.action)(checkInTicket, { schema: ticketIdSchema, trigger: 'custom_json' }),
|
|
181
|
-
refundTicket: (0, contract_1.action)(refundTicket, { schema: ticketIdSchema, trigger: 'custom_json' })
|
|
334
|
+
refundTicket: (0, contract_1.action)(refundTicket, { schema: ticketIdSchema, trigger: 'custom_json' }),
|
|
335
|
+
transferTicket: (0, contract_1.action)(transferTicket, { schema: transferTicketSchema, trigger: 'custom_json' }),
|
|
336
|
+
listTicket: (0, contract_1.action)(listTicket, { schema: listTicketSchema, trigger: 'custom_json' }),
|
|
337
|
+
unlistTicket: (0, contract_1.action)(unlistTicket, { schema: buyTicketSchema, trigger: 'custom_json' }),
|
|
338
|
+
buyTicketDirect: (0, contract_1.action)(buyTicketDirect, { schema: buyTicketSchema, trigger: 'transfer' })
|
|
182
339
|
}
|
|
183
340
|
});
|
|
184
341
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ticketing.contract.js","sourceRoot":"","sources":["../../src/contracts/ticketing.contract.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ticketing.contract.js","sourceRoot":"","sources":["../../src/contracts/ticketing.contract.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -23,6 +23,7 @@ export { createCoinflipContract } from './contracts/coinflip.contract';
|
|
|
23
23
|
export { createTokenContract } from './contracts/token.contract';
|
|
24
24
|
export { createNFTContract, NFTContract } from './contracts/nft.contract';
|
|
25
25
|
export { createRpsContract } from './contracts/rps.contract';
|
|
26
|
+
export { createRouletteContract } from './contracts/roulette.contract';
|
|
26
27
|
export { createPollContract } from './contracts/poll.contract';
|
|
27
28
|
export { createTipJarContract } from './contracts/tipjar.contract';
|
|
28
29
|
export { createExchangeContract } from './contracts/exchange.contract';
|
|
@@ -55,6 +56,7 @@ export { createProposalTimelockContract } from './contracts/proposaltimelock.con
|
|
|
55
56
|
export { createBundleMarketplaceContract } from './contracts/bundlemarketplace.contract';
|
|
56
57
|
export { createTicketingContract } from './contracts/ticketing.contract';
|
|
57
58
|
export { createFanClubContract } from './contracts/fanclub.contract';
|
|
59
|
+
export { createCheckpointContract } from './contracts/checkpoint.contract';
|
|
58
60
|
export * from './types/hive-stream';
|
|
59
61
|
export { RatesError, NetworkError, ValidationError } from './types/rates';
|
|
60
62
|
export type { ExchangeRates, HiveRates as HiveRatesMap, CryptoRates, ExchangeResponse, FiatResponse, RateConfig, ExchangeInterface, CurrencyPair, SupportedCrypto, SupportedFiat } from './types/rates';
|