hive-stream 2.0.6 → 3.0.1
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/.claude/settings.local.json +12 -0
- package/.env.example +2 -2
- package/.travis.yml +11 -11
- package/AGENTS.md +35 -0
- package/CHANGELOG.md +166 -0
- package/CLAUDE.md +75 -0
- package/DOCUMENTATION.md +380 -0
- package/LICENSE +21 -21
- package/README.md +429 -238
- package/dist/actions.d.ts +41 -10
- package/dist/actions.js +126 -23
- package/dist/actions.js.map +1 -1
- package/dist/adapters/base.adapter.d.ts +43 -25
- package/dist/adapters/base.adapter.js +79 -49
- package/dist/adapters/base.adapter.js.map +1 -1
- package/dist/adapters/mongodb.adapter.d.ts +44 -37
- package/dist/adapters/mongodb.adapter.js +363 -158
- package/dist/adapters/mongodb.adapter.js.map +1 -1
- package/dist/adapters/postgresql.adapter.d.ts +66 -0
- package/dist/adapters/postgresql.adapter.js +598 -0
- package/dist/adapters/postgresql.adapter.js.map +1 -0
- package/dist/adapters/sqlite.adapter.d.ts +57 -41
- package/dist/adapters/sqlite.adapter.js +561 -397
- package/dist/adapters/sqlite.adapter.js.map +1 -1
- package/dist/api.d.ts +6 -6
- package/dist/api.js +181 -55
- package/dist/api.js.map +1 -1
- package/dist/config.d.ts +19 -16
- package/dist/config.js +21 -18
- package/dist/config.js.map +1 -1
- package/dist/contracts/coinflip.contract.d.ts +9 -14
- package/dist/contracts/coinflip.contract.js +232 -94
- package/dist/contracts/coinflip.contract.js.map +1 -1
- package/dist/contracts/contract.d.ts +3 -0
- package/dist/contracts/contract.js +26 -0
- package/dist/contracts/contract.js.map +1 -0
- package/dist/contracts/dice.contract.d.ts +10 -29
- package/dist/contracts/dice.contract.js +217 -155
- package/dist/contracts/dice.contract.js.map +1 -1
- package/dist/contracts/exchange.contract.d.ts +11 -0
- package/dist/contracts/exchange.contract.js +492 -0
- package/dist/contracts/exchange.contract.js.map +1 -0
- package/dist/contracts/lotto.contract.d.ts +16 -20
- package/dist/contracts/lotto.contract.js +238 -246
- package/dist/contracts/lotto.contract.js.map +1 -1
- package/dist/contracts/nft.contract.d.ts +28 -0
- package/dist/contracts/nft.contract.js +598 -0
- package/dist/contracts/nft.contract.js.map +1 -0
- package/dist/contracts/poll.contract.d.ts +4 -0
- package/dist/contracts/poll.contract.js +105 -0
- package/dist/contracts/poll.contract.js.map +1 -0
- package/dist/contracts/rps.contract.d.ts +9 -0
- package/dist/contracts/rps.contract.js +217 -0
- package/dist/contracts/rps.contract.js.map +1 -0
- package/dist/contracts/tipjar.contract.d.ts +4 -0
- package/dist/contracts/tipjar.contract.js +60 -0
- package/dist/contracts/tipjar.contract.js.map +1 -0
- package/dist/contracts/token.contract.d.ts +4 -0
- package/dist/contracts/token.contract.js +311 -0
- package/dist/contracts/token.contract.js.map +1 -0
- package/dist/exchanges/bittrex.d.ts +6 -6
- package/dist/exchanges/bittrex.js +34 -34
- package/dist/exchanges/coingecko.d.ts +11 -0
- package/dist/exchanges/coingecko.js +57 -0
- package/dist/exchanges/coingecko.js.map +1 -0
- package/dist/exchanges/exchange.d.ts +16 -9
- package/dist/exchanges/exchange.js +80 -26
- package/dist/exchanges/exchange.js.map +1 -1
- package/dist/hive-rates.d.ts +34 -9
- package/dist/hive-rates.js +208 -75
- package/dist/hive-rates.js.map +1 -1
- package/dist/index.d.ts +19 -11
- package/dist/index.js +47 -32
- package/dist/index.js.map +1 -1
- package/dist/streamer.d.ts +233 -93
- package/dist/streamer.js +1063 -545
- package/dist/streamer.js.map +1 -1
- package/dist/test.d.ts +1 -1
- package/dist/test.js +24 -25
- package/dist/test.js.map +1 -1
- package/dist/types/hive-stream.d.ts +106 -6
- package/dist/types/hive-stream.js +2 -2
- package/dist/types/rates.d.ts +47 -0
- package/dist/types/rates.js +29 -0
- package/dist/types/rates.js.map +1 -0
- package/dist/utils.d.ts +334 -27
- package/dist/utils.js +960 -261
- package/dist/utils.js.map +1 -1
- package/ecosystem.config.js +17 -17
- package/examples/contracts/README.md +8 -0
- package/examples/contracts/exchange.ts +38 -0
- package/examples/contracts/poll.ts +21 -0
- package/examples/contracts/rps.ts +19 -0
- package/examples/contracts/tipjar.ts +19 -0
- package/jest.config.js +8 -8
- package/package.json +54 -48
- package/test-contract-block.md +18 -18
- package/tests/actions.spec.ts +252 -0
- package/tests/adapters/actions-persistence.spec.ts +144 -0
- package/tests/adapters/postgresql.adapter.spec.ts +127 -0
- package/tests/adapters/sqlite.adapter.spec.ts +180 -42
- package/tests/contracts/coinflip.contract.spec.ts +94 -132
- package/tests/contracts/dice.contract.spec.ts +87 -160
- package/tests/contracts/entrants.json +728 -728
- package/tests/contracts/exchange.contract.spec.ts +84 -0
- package/tests/contracts/lotto.contract.spec.ts +59 -324
- package/tests/contracts/nft.contract.spec.ts +948 -0
- package/tests/contracts/token.contract.spec.ts +90 -0
- package/tests/exchanges/coingecko.exchange.spec.ts +169 -0
- package/tests/exchanges/exchange.base.spec.ts +246 -0
- package/tests/helpers/mock-adapter.ts +214 -0
- package/tests/helpers/mock-fetch.ts +165 -0
- package/tests/hive-chain-features.spec.ts +238 -0
- package/tests/hive-rates.spec.ts +443 -0
- package/tests/integration/hive-rates.integration.spec.ts +35 -0
- package/tests/setup.ts +29 -18
- package/tests/streamer-actions.spec.ts +274 -0
- package/tests/streamer.spec.ts +342 -152
- package/tests/types/rates.spec.ts +216 -0
- package/tests/utils.spec.ts +113 -95
- package/tsconfig.build.json +3 -22
- package/tslint.json +20 -20
- package/wallaby.js +26 -26
|
@@ -1,247 +1,239 @@
|
|
|
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.
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
const
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
const
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
}
|
|
67
|
-
async
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
const
|
|
78
|
-
if (
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
await
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
if (
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
await
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
await
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
await
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
if (
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
else {
|
|
240
|
-
break;
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
return winners;
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
exports.LottoContract = LottoContract;
|
|
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.createLottoContract = createLottoContract;
|
|
7
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
8
|
+
const seedrandom_1 = __importDefault(require("seedrandom"));
|
|
9
|
+
const zod_1 = require("zod");
|
|
10
|
+
const contract_1 = require("./contract");
|
|
11
|
+
const utils_1 = require("../utils");
|
|
12
|
+
const DEFAULT_NAME = 'hivelotto';
|
|
13
|
+
const DEFAULT_ACCOUNT = 'beggars';
|
|
14
|
+
const DEFAULT_FEE_ACCOUNT = 'beggars';
|
|
15
|
+
const DEFAULT_TOKEN_SYMBOL = 'HIVE';
|
|
16
|
+
const DEFAULT_VALID_DRAW_TYPES = ['hourly', 'daily'];
|
|
17
|
+
const DEFAULT_COST = 10;
|
|
18
|
+
const DEFAULT_MIN_ENTRIES_HOURLY = 25;
|
|
19
|
+
const DEFAULT_MIN_ENTRIES_DAILY = 100;
|
|
20
|
+
const DEFAULT_HOURLY_WINNERS_PICK = 3;
|
|
21
|
+
const DEFAULT_DAILY_WINNERS_PICK = 10;
|
|
22
|
+
const DEFAULT_MAX_TICKETS_PER_USER = 3;
|
|
23
|
+
const DEFAULT_PERCENTAGE = 5;
|
|
24
|
+
const COLLECTION_LOTTERY = 'lottery';
|
|
25
|
+
const COLLECTION_SETTINGS = 'settings';
|
|
26
|
+
function rng(previousBlockId, blockId, transactionId, entropy, maximum = 100) {
|
|
27
|
+
const random = (0, seedrandom_1.default)(`${previousBlockId}${blockId}${transactionId}${entropy}`).double();
|
|
28
|
+
return Math.floor(random * maximum) + 1;
|
|
29
|
+
}
|
|
30
|
+
function createLottoContract(options = {}) {
|
|
31
|
+
const name = options.name || DEFAULT_NAME;
|
|
32
|
+
const account = options.account || DEFAULT_ACCOUNT;
|
|
33
|
+
const feeAccount = options.feeAccount || DEFAULT_FEE_ACCOUNT;
|
|
34
|
+
const tokenSymbol = options.tokenSymbol || DEFAULT_TOKEN_SYMBOL;
|
|
35
|
+
const validCurrencies = options.validCurrencies || [tokenSymbol];
|
|
36
|
+
const validDrawTypes = options.validDrawTypes || DEFAULT_VALID_DRAW_TYPES;
|
|
37
|
+
const cost = options.cost ?? DEFAULT_COST;
|
|
38
|
+
const minEntriesHourly = options.minEntriesHourly ?? DEFAULT_MIN_ENTRIES_HOURLY;
|
|
39
|
+
const minEntriesDaily = options.minEntriesDaily ?? DEFAULT_MIN_ENTRIES_DAILY;
|
|
40
|
+
const hourlyWinnersPick = options.hourlyWinnersPick ?? DEFAULT_HOURLY_WINNERS_PICK;
|
|
41
|
+
const dailyWinnersPick = options.dailyWinnersPick ?? DEFAULT_DAILY_WINNERS_PICK;
|
|
42
|
+
const maxTicketsPerUser = options.maxTicketsPerUser ?? DEFAULT_MAX_TICKETS_PER_USER;
|
|
43
|
+
const feePercentage = options.feePercentage ?? DEFAULT_PERCENTAGE;
|
|
44
|
+
const state = {
|
|
45
|
+
streamer: null,
|
|
46
|
+
adapter: null
|
|
47
|
+
};
|
|
48
|
+
const buySchema = zod_1.z.object({
|
|
49
|
+
type: zod_1.z.enum(['hourly', 'daily'])
|
|
50
|
+
});
|
|
51
|
+
const getBalance = async () => {
|
|
52
|
+
const accountInfo = await state.streamer['client'].database.getAccounts([account]);
|
|
53
|
+
if (accountInfo?.[0]) {
|
|
54
|
+
const balance = accountInfo[0].balance.split(' ');
|
|
55
|
+
return parseFloat(balance[0]);
|
|
56
|
+
}
|
|
57
|
+
return null;
|
|
58
|
+
};
|
|
59
|
+
const getPreviousUserTicketsForCurrentDrawType = async (type, accountName) => {
|
|
60
|
+
const lotto = await state.adapter.find(COLLECTION_LOTTERY, { status: 'active', type });
|
|
61
|
+
if (!lotto[0] || !lotto[0].entries) {
|
|
62
|
+
return 0;
|
|
63
|
+
}
|
|
64
|
+
const userEntries = lotto[0].entries.filter((entry) => entry.account === accountName);
|
|
65
|
+
return userEntries.length;
|
|
66
|
+
};
|
|
67
|
+
const buy = async (payload, ctx) => {
|
|
68
|
+
if (!ctx.transfer) {
|
|
69
|
+
throw new Error('Transfer context required for buy');
|
|
70
|
+
}
|
|
71
|
+
const sender = ctx.sender;
|
|
72
|
+
const amountRaw = ctx.transfer.rawAmount;
|
|
73
|
+
const amountTrim = amountRaw.split(' ');
|
|
74
|
+
const amountParsed = parseFloat(amountTrim[0]);
|
|
75
|
+
const amountCurrency = amountTrim[1].trim();
|
|
76
|
+
const transaction = await state.streamer.getTransaction(ctx.block.number, ctx.transaction.id);
|
|
77
|
+
const verify = await state.streamer.verifyTransfer(transaction, sender, account, amountRaw);
|
|
78
|
+
if (verify) {
|
|
79
|
+
if (!validCurrencies.includes(amountCurrency)) {
|
|
80
|
+
await state.streamer.transferHiveTokens(account, sender, amountTrim[0], amountTrim[1], '[Refund] You sent an invalid currency.');
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
if (!validDrawTypes.includes(payload.type)) {
|
|
84
|
+
await state.streamer.transferHiveTokens(account, sender, amountTrim[0], amountTrim[1], '[Refund] You specified an invalid draw type');
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
const previousEntriesCount = await getPreviousUserTicketsForCurrentDrawType(payload.type, sender);
|
|
88
|
+
if (previousEntriesCount === maxTicketsPerUser) {
|
|
89
|
+
await state.streamer.transferHiveTokens(account, sender, amountTrim[0], amountTrim[1], '[Refund] You have exceeded the allowed number of entries');
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
if (amountParsed > cost) {
|
|
93
|
+
const difference = new bignumber_js_1.default(amountParsed).minus(cost).toFixed(3);
|
|
94
|
+
await state.streamer.transferHiveTokens(account, sender, difference, amountTrim[1], `[Refund] A ticket costs ${cost} ${tokenSymbol}. You sent ${amountRaw}. You were refunded ${difference} ${tokenSymbol}.`);
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
const lotto = await state.adapter.find(COLLECTION_LOTTERY, { status: 'active', type: payload.type });
|
|
98
|
+
if (lotto.length) {
|
|
99
|
+
const draw = lotto[0];
|
|
100
|
+
draw.entries.push({
|
|
101
|
+
account: sender,
|
|
102
|
+
transactionId: ctx.transaction.id,
|
|
103
|
+
date: new Date()
|
|
104
|
+
});
|
|
105
|
+
await state.adapter.replace(COLLECTION_LOTTERY, { _id: draw._id }, draw);
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
const entries = [{
|
|
109
|
+
account: sender,
|
|
110
|
+
transactionId: ctx.transaction.id,
|
|
111
|
+
date: new Date()
|
|
112
|
+
}];
|
|
113
|
+
await state.adapter.insert(COLLECTION_LOTTERY, { status: 'active', type: payload.type, entries });
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
const getWinners = async (count, entries, ctx) => {
|
|
117
|
+
const winners = [];
|
|
118
|
+
utils_1.Utils.shuffle(entries);
|
|
119
|
+
for (const entry of entries) {
|
|
120
|
+
if (winners.length < count) {
|
|
121
|
+
const winner = entries[rng(ctx.block.previousId + `${(0, seedrandom_1.default)().double()}`, ctx.block.id + `${(0, seedrandom_1.default)().double()}`, ctx.transaction.id + `${(0, seedrandom_1.default)().double()}`, (0, seedrandom_1.default)().double(), entries.length - 1)];
|
|
122
|
+
winners.push(winner);
|
|
123
|
+
await utils_1.Utils.sleep(300);
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
break;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
return winners;
|
|
130
|
+
};
|
|
131
|
+
const drawHourlyLottery = async (_payload, ctx) => {
|
|
132
|
+
const lotto = await state.adapter.find(COLLECTION_LOTTERY, { status: 'active', type: 'hourly' });
|
|
133
|
+
if (lotto.length) {
|
|
134
|
+
const draw = lotto[0];
|
|
135
|
+
const total = draw.entries.length;
|
|
136
|
+
if (total < minEntriesHourly) {
|
|
137
|
+
const entrants = draw.entries.reduce((arr, entrant) => {
|
|
138
|
+
arr.push(entrant.account);
|
|
139
|
+
return arr;
|
|
140
|
+
}, []);
|
|
141
|
+
await state.streamer.transferHiveTokensMultiple(account, entrants, '10.000', tokenSymbol, '[Refund] The hourly lotto draw did not have enough contestants.');
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
const balance = await getBalance();
|
|
145
|
+
const winningsAmount = new bignumber_js_1.default(total).multipliedBy(cost).toNumber();
|
|
146
|
+
const percentageFee = new bignumber_js_1.default(winningsAmount).dividedBy(100).multipliedBy(feePercentage);
|
|
147
|
+
const payoutTotal = new bignumber_js_1.default(winningsAmount).minus(percentageFee);
|
|
148
|
+
const amountPerWinner = new bignumber_js_1.default(payoutTotal).dividedBy(hourlyWinnersPick).toFixed(3);
|
|
149
|
+
if (account !== feeAccount) {
|
|
150
|
+
await state.streamer.transferHiveTokens(account, feeAccount, percentageFee.toFixed(3), tokenSymbol, 'percentage fee');
|
|
151
|
+
}
|
|
152
|
+
if (balance !== null && payoutTotal.toNumber() > balance) {
|
|
153
|
+
throw new Error('Balance is less than amount to pay out');
|
|
154
|
+
}
|
|
155
|
+
const winners = await getWinners(hourlyWinnersPick, draw.entries, ctx);
|
|
156
|
+
if (winners) {
|
|
157
|
+
const winnerStrings = winners.reduce((arr, winner) => {
|
|
158
|
+
arr.push(winner.account);
|
|
159
|
+
return arr;
|
|
160
|
+
}, []);
|
|
161
|
+
await state.streamer.transferHiveTokensMultiple(account, winnerStrings, amountPerWinner, tokenSymbol, `Congratulations you won the hourly lottery. You won ${amountPerWinner} ${tokenSymbol}. Winners: ${winnerStrings.join(', ')}`);
|
|
162
|
+
const losers = draw.entries
|
|
163
|
+
.filter((entry) => !winnerStrings.includes(entry.account))
|
|
164
|
+
.reduce((unique, value) => {
|
|
165
|
+
return unique.includes(value.account) ? unique : [...unique, value.account];
|
|
166
|
+
}, []);
|
|
167
|
+
if (losers.length) {
|
|
168
|
+
await state.streamer.transferHiveTokensMultiple(account, losers, '0.001', tokenSymbol, `Sorry, you didn't win the hourly draw. Winners: ${winnerStrings.join(', ')}`);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
return;
|
|
174
|
+
};
|
|
175
|
+
const drawDailyLottery = async (_payload, ctx) => {
|
|
176
|
+
const lotto = await state.adapter.find(COLLECTION_LOTTERY, { status: 'active', type: 'daily' });
|
|
177
|
+
if (lotto.length) {
|
|
178
|
+
const draw = lotto[0];
|
|
179
|
+
const total = draw.entries.length;
|
|
180
|
+
if (total < minEntriesDaily) {
|
|
181
|
+
for (const entrant of draw.entries) {
|
|
182
|
+
await state.streamer.transferHiveTokens(account, entrant.account, '10.000', tokenSymbol, '[Refund] The daily lotto draw did not have enough contestants.');
|
|
183
|
+
await utils_1.Utils.sleep(3000);
|
|
184
|
+
}
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
const balance = await getBalance();
|
|
188
|
+
const winningsAmount = new bignumber_js_1.default(total).multipliedBy(cost).toNumber();
|
|
189
|
+
const percentageFee = new bignumber_js_1.default(winningsAmount).dividedBy(100).multipliedBy(feePercentage);
|
|
190
|
+
const payoutTotal = new bignumber_js_1.default(winningsAmount).minus(percentageFee);
|
|
191
|
+
const amountPerWinner = new bignumber_js_1.default(payoutTotal).dividedBy(dailyWinnersPick).toFixed(3);
|
|
192
|
+
if (account !== feeAccount) {
|
|
193
|
+
await state.streamer.transferHiveTokens(account, feeAccount, percentageFee.toFixed(3), tokenSymbol, 'percentage fee');
|
|
194
|
+
}
|
|
195
|
+
if (balance !== null && payoutTotal.toNumber() > balance) {
|
|
196
|
+
throw new Error('Balance is less than amount to pay out');
|
|
197
|
+
}
|
|
198
|
+
const winners = await getWinners(dailyWinnersPick, draw.entries, ctx);
|
|
199
|
+
if (winners) {
|
|
200
|
+
const winnerStrings = winners.reduce((arr, winner) => {
|
|
201
|
+
arr.push(winner.account);
|
|
202
|
+
return arr;
|
|
203
|
+
}, []);
|
|
204
|
+
await state.streamer.transferHiveTokensMultiple(account, winnerStrings, amountPerWinner, tokenSymbol, `Congratulations you won the daily lottery. You won ${amountPerWinner} ${tokenSymbol}`);
|
|
205
|
+
}
|
|
206
|
+
return;
|
|
207
|
+
}
|
|
208
|
+
return;
|
|
209
|
+
};
|
|
210
|
+
return (0, contract_1.defineContract)({
|
|
211
|
+
name,
|
|
212
|
+
hooks: {
|
|
213
|
+
create: async ({ streamer, adapter }) => {
|
|
214
|
+
state.streamer = streamer;
|
|
215
|
+
state.adapter = adapter;
|
|
216
|
+
const settings = await state.adapter.findOne(COLLECTION_SETTINGS, {});
|
|
217
|
+
if (!settings) {
|
|
218
|
+
await state.adapter.insert(COLLECTION_SETTINGS, {
|
|
219
|
+
contractInitiated: new Date(),
|
|
220
|
+
enabled: true
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
},
|
|
225
|
+
actions: {
|
|
226
|
+
buy: (0, contract_1.action)(buy, {
|
|
227
|
+
schema: buySchema,
|
|
228
|
+
trigger: 'transfer'
|
|
229
|
+
}),
|
|
230
|
+
drawHourlyLottery: (0, contract_1.action)(drawHourlyLottery, {
|
|
231
|
+
trigger: 'time'
|
|
232
|
+
}),
|
|
233
|
+
drawDailyLottery: (0, contract_1.action)(drawDailyLottery, {
|
|
234
|
+
trigger: 'time'
|
|
235
|
+
})
|
|
236
|
+
}
|
|
237
|
+
});
|
|
238
|
+
}
|
|
247
239
|
//# sourceMappingURL=lotto.contract.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lotto.contract.js","sourceRoot":"","sources":["../../src/contracts/lotto.contract.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lotto.contract.js","sourceRoot":"","sources":["../../src/contracts/lotto.contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Streamer } from '../streamer';
|
|
2
|
+
export declare class NFTContract {
|
|
3
|
+
_instance: Streamer;
|
|
4
|
+
private adapter;
|
|
5
|
+
private blockNumber;
|
|
6
|
+
private blockId;
|
|
7
|
+
private previousBlockId;
|
|
8
|
+
private transactionId;
|
|
9
|
+
create(): Promise<void>;
|
|
10
|
+
destroy(): void;
|
|
11
|
+
updateBlockInfo(blockNumber: number, blockId: string, previousBlockId: string, transactionId: string): void;
|
|
12
|
+
private initializeNFTTables;
|
|
13
|
+
private createCollection;
|
|
14
|
+
private mintNFT;
|
|
15
|
+
private updateNFT;
|
|
16
|
+
private transferNFT;
|
|
17
|
+
private burnNFT;
|
|
18
|
+
private listNFT;
|
|
19
|
+
private unlistNFT;
|
|
20
|
+
private buyNFT;
|
|
21
|
+
private getTokenInfo;
|
|
22
|
+
private getCollectionInfo;
|
|
23
|
+
private getUserTokens;
|
|
24
|
+
}
|
|
25
|
+
export interface NFTContractOptions {
|
|
26
|
+
name?: string;
|
|
27
|
+
}
|
|
28
|
+
export declare function createNFTContract(options?: NFTContractOptions): import("..").ContractDefinition;
|