@helium/distributor-oracle 0.6.0 → 0.6.2-next.34

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.
@@ -1,17 +1,17 @@
1
- import { BN } from '@coral-xyz/anchor';
2
- import { getSingleton } from '@helium/account-fetch-cache';
3
- import { decodeEntityKey, init, init as initHem, keyToAssetKey, keyToAssetForAsset, } from '@helium/helium-entity-manager-sdk';
4
- import { daoKey } from '@helium/helium-sub-daos-sdk';
5
- import { distributeCompressionRewards, initializeCompressionRecipient, recipientKey, } from '@helium/lazy-distributor-sdk';
6
- import { init as initRewards } from '@helium/rewards-oracle-sdk';
7
- import { HNT_MINT, getAsset, getAssetProof, getAssetBatch, getAssetProofBatch, truthy, } from '@helium/spl-utils';
8
- import { getAssociatedTokenAddress } from '@solana/spl-token';
9
- import { PublicKey, Transaction, } from '@solana/web3.js';
10
- import axios from 'axios';
1
+ import { BN } from "@coral-xyz/anchor";
2
+ import { getSingleton } from "@helium/account-fetch-cache";
3
+ import { decodeEntityKey, init, init as initHem, keyToAssetForAsset, keyToAssetKey, } from "@helium/helium-entity-manager-sdk";
4
+ import { distributeCompressionRewards, initializeCompressionRecipient, recipientKey, } from "@helium/lazy-distributor-sdk";
5
+ import { init as initRewards } from "@helium/rewards-oracle-sdk";
6
+ import { HELIUM_COMMON_LUT, HELIUM_COMMON_LUT_DEVNET, HNT_MINT, batchInstructionsToTxsWithPriorityFee, getAsset, getAssetBatch, getAssetProof, getAssetProofBatch, populateMissingDraftInfo, toVersionedTx, truthy, withPriorityFees, } from "@helium/spl-utils";
7
+ import { getAssociatedTokenAddress, getAssociatedTokenAddressSync, } from "@solana/spl-token";
8
+ import { PublicKey, VersionedTransaction, } from "@solana/web3.js";
9
+ import axios from "axios";
11
10
  const HNT = process.env.HNT_MINT
12
11
  ? new PublicKey(process.env.HNT_MINT)
13
12
  : HNT_MINT;
14
- const DAO = daoKey(HNT)[0];
13
+ const RECIPIENT_EXISTS_CU = 200000;
14
+ const MISSING_RECIPIENT_CU = 400000;
15
15
  export async function getCurrentRewards(program, lazyDistributor, assetId) {
16
16
  const lazyDistributorAcc = await program.account.lazyDistributorV0.fetch(lazyDistributor);
17
17
  const results = await Promise.all(
@@ -38,7 +38,7 @@ export async function getBulkRewards(program, lazyDistributor, entityKeys) {
38
38
  };
39
39
  });
40
40
  }
41
- export async function getPendingRewards(program, lazyDistributor, dao, entityKeys, encoding = 'b58') {
41
+ export async function getPendingRewards(program, lazyDistributor, dao, entityKeys, encoding = "b58", forceRequery = false) {
42
42
  const oracleRewards = await getBulkRewards(program, lazyDistributor, entityKeys);
43
43
  const hemProgram = await init(program.provider);
44
44
  const cache = await getSingleton(hemProgram.provider.connection);
@@ -60,7 +60,7 @@ export async function getPendingRewards(program, lazyDistributor, dao, entityKey
60
60
  pubkey,
61
61
  account,
62
62
  info: program.coder.accounts.decode("RecipientV0", account.data),
63
- }));
63
+ }), false, forceRequery);
64
64
  const withRecipients = recipients.map((recipient, index) => {
65
65
  return {
66
66
  entityKey: entityKeys[index],
@@ -77,11 +77,14 @@ export async function getPendingRewards(program, lazyDistributor, dao, entityKey
77
77
  return acc;
78
78
  }, {});
79
79
  }
80
- export async function formBulkTransactions({ program: lazyDistributorProgram, rewardsOracleProgram, heliumEntityManagerProgram, rewards, assets, compressionAssetAccs, lazyDistributor, lazyDistributorAcc, wallet = lazyDistributorProgram.provider.wallet.publicKey, skipOracleSign = false, assetEndpoint, getAssetBatchFn = getAssetBatch, getAssetProofBatchFn = getAssetProofBatch, }) {
80
+ export async function formBulkTransactions({ program: lazyDistributorProgram, rewardsOracleProgram, heliumEntityManagerProgram, skipOracleSign = false, rewards, assets, compressionAssetAccs, lazyDistributor, lazyDistributorAcc, wallet = lazyDistributorProgram.provider.wallet.publicKey, payer = lazyDistributorProgram.provider.wallet.publicKey, assetEndpoint, getAssetBatchFn = getAssetBatch, getAssetProofBatchFn = getAssetProofBatch, basePriorityFee, isDevnet: isDevnetIn, }) {
81
81
  if (assets.length > 100) {
82
- throw new Error('Too many assets, max 100');
82
+ throw new Error("Too many assets, max 100");
83
83
  }
84
84
  const provider = lazyDistributorProgram.provider;
85
+ const isDevnet = isDevnetIn ||
86
+ provider.connection.rpcEndpoint.includes("test") ||
87
+ provider.connection.rpcEndpoint.includes("devnet");
85
88
  if (!rewardsOracleProgram) {
86
89
  rewardsOracleProgram = await initRewards(provider);
87
90
  }
@@ -96,7 +99,7 @@ export async function formBulkTransactions({ program: lazyDistributorProgram, re
96
99
  compressionAssetAccs = await getAssetBatchFn(assetEndpoint || provider.connection.rpcEndpoint, assets);
97
100
  }
98
101
  if (compressionAssetAccs?.length != assets.length) {
99
- throw new Error('Assets not the same length as compressionAssetAccs');
102
+ throw new Error("Assets not the same length as compressionAssetAccs");
100
103
  }
101
104
  let recipientKeys = assets.map((asset) => recipientKey(lazyDistributor, asset)[0]);
102
105
  const cache = await getSingleton(heliumEntityManagerProgram.provider.connection);
@@ -115,10 +118,11 @@ export async function formBulkTransactions({ program: lazyDistributorProgram, re
115
118
  lazyDistributor,
116
119
  assetEndpoint,
117
120
  owner: wallet,
118
- // Make the oracle pay for the recipient to avoid newly migrated users not having enough sol to claim rewards
119
- payer: lazyDistributorAcc.oracles[0].oracle,
121
+ payer,
120
122
  getAssetFn: () => Promise.resolve(compressionAssetAccs[idx]),
121
- getAssetProofFn: assetProofsById ? () => Promise.resolve(assetProofsById[compressionAssetAccs[idx].id.toBase58()]) : undefined,
123
+ getAssetProofFn: assetProofsById
124
+ ? () => Promise.resolve(assetProofsById[compressionAssetAccs[idx].id.toBase58()])
125
+ : undefined,
122
126
  })).instruction(),
123
127
  ];
124
128
  }
@@ -133,12 +137,13 @@ export async function formBulkTransactions({ program: lazyDistributorProgram, re
133
137
  info: heliumEntityManagerProgram.coder.accounts.decode("KeyToAssetV0", account.data),
134
138
  }), true, false);
135
139
  // construct the set and distribute ixs
136
- let setAndDistributeIxs = await Promise.all(compressionAssetAccs.map(async (assetAcc, idx) => {
140
+ const setAndDistributeIxs = await Promise.all(compressionAssetAccs.map(async (assetAcc, idx) => {
137
141
  const keyToAssetK = keyToAssets[idx]?.pubkey;
138
142
  const keyToAsset = keyToAssets[idx]?.info;
139
143
  if (!keyToAsset || !keyToAssetK) {
140
144
  return [];
141
145
  }
146
+ const inits = ixsPerAsset[idx];
142
147
  const entityKey = decodeEntityKey(keyToAsset.entityKey, keyToAsset.keySerialization);
143
148
  const setRewardIxs = (await Promise.all(rewards.map(async (bulkRewards, oracleIdx) => {
144
149
  if (!(entityKey in bulkRewards.currentRewards)) {
@@ -160,62 +165,76 @@ export async function formBulkTransactions({ program: lazyDistributorProgram, re
160
165
  if (setRewardIxs.length == 0) {
161
166
  return [];
162
167
  }
163
- const distributeIx = await (await distributeCompressionRewards({
164
- program: lazyDistributorProgram,
165
- assetId: assets[idx],
166
- lazyDistributor,
167
- rewardsMint: lazyDistributorAcc.rewardsMint,
168
- getAssetFn: () => Promise.resolve(assetAcc),
169
- getAssetProofFn: assetProofsById
170
- ? () => Promise.resolve(assetProofsById[compressionAssetAccs[idx].id.toBase58()])
171
- : undefined,
172
- assetEndpoint,
173
- })).instruction();
174
- return [...setRewardIxs, distributeIx];
175
- }));
176
- for (let i = 0; i < setAndDistributeIxs.length; i++) {
177
- if (setAndDistributeIxs[i].length == 0) {
178
- continue;
168
+ let distributeIx;
169
+ if (recipientAccs[idx] &&
170
+ recipientAccs[idx]?.destination &&
171
+ !recipientAccs[idx]?.destination.equals(PublicKey.default)) {
172
+ const destination = recipientAccs[idx].destination;
173
+ distributeIx = await lazyDistributorProgram.methods
174
+ .distributeCustomDestinationV0()
175
+ .accounts({
176
+ common: {
177
+ payer,
178
+ recipient: recipientKeys[idx],
179
+ lazyDistributor,
180
+ rewardsMint: lazyDistributorAcc.rewardsMint,
181
+ owner: assetAcc.ownership.owner,
182
+ destinationAccount: getAssociatedTokenAddressSync(lazyDistributorAcc.rewardsMint, destination, true),
183
+ },
184
+ })
185
+ .instruction();
179
186
  }
180
- ixsPerAsset[i].push(...setAndDistributeIxs[i]);
181
- }
182
- // filter arrays where init recipient is the only ix
183
- ixsPerAsset = ixsPerAsset.filter((x) => x.length > 1);
184
- let blockhash = (await provider.connection.getLatestBlockhash()).blockhash;
187
+ else {
188
+ distributeIx = await (await distributeCompressionRewards({
189
+ program: lazyDistributorProgram,
190
+ assetId: assets[idx],
191
+ lazyDistributor,
192
+ rewardsMint: lazyDistributorAcc.rewardsMint,
193
+ getAssetFn: () => Promise.resolve(assetAcc),
194
+ getAssetProofFn: assetProofsById
195
+ ? () => Promise.resolve(assetProofsById[compressionAssetAccs[idx].id.toBase58()])
196
+ : undefined,
197
+ assetEndpoint,
198
+ })).instruction();
199
+ }
200
+ const ret = [...inits, ...setRewardIxs, distributeIx];
201
+ // filter arrays where init recipient is the only ix
202
+ if (ret.length > 1) {
203
+ return ret;
204
+ }
205
+ return [];
206
+ }));
185
207
  // unsigned txs
186
- let initialTxs = ixsPerAsset.map((ixs) => {
187
- const tx = new Transaction();
188
- tx.recentBlockhash = blockhash;
189
- tx.feePayer = wallet;
190
- tx.add(...ixs);
191
- return tx;
208
+ const initialTxDrafts = await batchInstructionsToTxsWithPriorityFee(provider, setAndDistributeIxs, {
209
+ basePriorityFee,
210
+ addressLookupTableAddresses: [
211
+ isDevnet ? HELIUM_COMMON_LUT_DEVNET : HELIUM_COMMON_LUT,
212
+ ],
192
213
  });
214
+ const initialTxs = initialTxDrafts.map(toVersionedTx);
193
215
  // @ts-ignore
194
216
  const oracleUrls = lazyDistributorAcc.oracles.map((x) => x.url);
195
217
  let serTxs = initialTxs.map((tx) => {
196
- return tx.serialize({
197
- requireAllSignatures: false,
198
- verifySignatures: false,
199
- });
218
+ return tx.serialize();
200
219
  });
201
220
  if (!skipOracleSign) {
202
221
  for (const oracle of oracleUrls) {
203
222
  const res = await axios.post(`${oracle}/bulk-sign`, {
204
- transactions: serTxs.map((tx) => tx.toJSON().data),
223
+ transactions: serTxs.map((tx) => Buffer.from(tx).toJSON().data),
205
224
  });
206
225
  serTxs = res.data.transactions.map((x) => Buffer.from(x));
207
226
  }
208
227
  }
209
- const finalTxs = serTxs.map((tx) => Transaction.from(tx));
228
+ const finalTxs = serTxs.map((tx) => VersionedTransaction.deserialize(tx));
210
229
  // Check instructions are the same
211
230
  finalTxs.forEach((finalTx, idx) => {
212
- assertSameIxns(finalTx.instructions, initialTxs[idx].instructions);
231
+ assertSameTx(finalTx, initialTxs[idx], initialTxDrafts[0]?.addressLookupTables);
213
232
  });
214
233
  return finalTxs;
215
234
  }
216
- export async function formTransaction({ program: lazyDistributorProgram, rewardsOracleProgram, provider, rewards, asset, hotspot, lazyDistributor, wallet = provider.wallet.publicKey, skipOracleSign = false, assetEndpoint, getAssetFn = getAsset, getAssetProofFn = getAssetProof, }) {
235
+ export async function formTransaction({ program: lazyDistributorProgram, rewardsOracleProgram, provider, rewards, asset, hotspot, lazyDistributor, wallet = provider.wallet.publicKey, payer = provider.wallet.publicKey, skipOracleSign = false, assetEndpoint, getAssetFn = getAsset, getAssetProofFn = getAssetProof, basePriorityFee, }) {
217
236
  if (!asset && !hotspot) {
218
- throw new Error('Must provide asset or hotspot');
237
+ throw new Error("Must provide asset or hotspot");
219
238
  }
220
239
  if (!asset) {
221
240
  asset = hotspot;
@@ -225,15 +244,16 @@ export async function formTransaction({ program: lazyDistributorProgram, rewards
225
244
  }
226
245
  const assetAcc = await getAssetFn(assetEndpoint || provider.connection.rpcEndpoint, asset);
227
246
  if (!assetAcc) {
228
- throw new Error('No asset with ID ' + asset.toBase58());
247
+ throw new Error("No asset with ID " + asset.toBase58());
229
248
  }
230
249
  const keyToAsset = keyToAssetForAsset(assetAcc);
231
250
  const recipient = recipientKey(lazyDistributor, asset)[0];
232
251
  const lazyDistributorAcc = (await lazyDistributorProgram.account.lazyDistributorV0.fetch(lazyDistributor));
233
252
  const rewardsMint = lazyDistributorAcc.rewardsMint;
234
- let tx = new Transaction();
235
253
  const destinationAccount = await getAssociatedTokenAddress(rewardsMint, assetAcc.ownership.owner, true);
236
- if (!(await provider.connection.getAccountInfo(recipient))) {
254
+ let instructions = [];
255
+ const recipientAcc = await lazyDistributorProgram.account.recipientV0.fetchNullable(recipient);
256
+ if (!recipientAcc) {
237
257
  let initRecipientIx;
238
258
  if (assetAcc.compression.compressed) {
239
259
  initRecipientIx = await (await initializeCompressionRecipient({
@@ -242,8 +262,7 @@ export async function formTransaction({ program: lazyDistributorProgram, rewards
242
262
  lazyDistributor,
243
263
  assetEndpoint,
244
264
  owner: wallet,
245
- // Make the oracle pay for the recipient to avoid newly migrated users not having enough sol to claim rewards
246
- payer: lazyDistributorAcc.oracles[0].oracle,
265
+ payer,
247
266
  getAssetFn: () => Promise.resolve(assetAcc),
248
267
  getAssetProofFn,
249
268
  })).instruction();
@@ -257,7 +276,7 @@ export async function formTransaction({ program: lazyDistributorProgram, rewards
257
276
  })
258
277
  .instruction();
259
278
  }
260
- tx.add(initRecipientIx);
279
+ instructions.push(initRecipientIx);
261
280
  }
262
281
  const ixPromises = rewards.map((x, idx) => {
263
282
  return rewardsOracleProgram.methods
@@ -274,10 +293,27 @@ export async function formTransaction({ program: lazyDistributorProgram, rewards
274
293
  .instruction();
275
294
  });
276
295
  const ixs = await Promise.all(ixPromises);
277
- tx.add(...ixs);
278
- tx.recentBlockhash = (await provider.connection.getLatestBlockhash()).blockhash;
279
- tx.feePayer = wallet ? wallet : provider.wallet.publicKey;
280
- if (assetAcc.compression.compressed) {
296
+ instructions.push(...ixs);
297
+ if (recipientAcc &&
298
+ recipientAcc?.destination &&
299
+ !recipientAcc?.destination.equals(PublicKey.default)) {
300
+ const destination = recipientAcc.destination;
301
+ instructions.push(await lazyDistributorProgram.methods
302
+ .distributeCustomDestinationV0()
303
+ .accounts({
304
+ // @ts-ignore
305
+ common: {
306
+ payer,
307
+ recipient,
308
+ lazyDistributor,
309
+ rewardsMint,
310
+ owner: destination,
311
+ destinationAccount: getAssociatedTokenAddressSync(rewardsMint, destination, true),
312
+ },
313
+ })
314
+ .instruction());
315
+ }
316
+ else if (assetAcc.compression.compressed) {
281
317
  const distributeIx = await (await distributeCompressionRewards({
282
318
  program: lazyDistributorProgram,
283
319
  assetId: asset,
@@ -285,8 +321,9 @@ export async function formTransaction({ program: lazyDistributorProgram, rewards
285
321
  getAssetFn: () => Promise.resolve(assetAcc),
286
322
  getAssetProofFn,
287
323
  assetEndpoint,
324
+ payer,
288
325
  })).instruction();
289
- tx.add(distributeIx);
326
+ instructions.push(distributeIx);
290
327
  }
291
328
  else {
292
329
  const distributeIx = await lazyDistributorProgram.methods
@@ -294,6 +331,7 @@ export async function formTransaction({ program: lazyDistributorProgram, rewards
294
331
  .accounts({
295
332
  // @ts-ignore
296
333
  common: {
334
+ payer,
297
335
  recipient,
298
336
  lazyDistributor,
299
337
  rewardsMint,
@@ -302,48 +340,78 @@ export async function formTransaction({ program: lazyDistributorProgram, rewards
302
340
  },
303
341
  })
304
342
  .instruction();
305
- tx.add(distributeIx);
343
+ instructions.push(distributeIx);
306
344
  }
345
+ const fullDraft = await populateMissingDraftInfo(provider.connection, {
346
+ instructions,
347
+ feePayer: payer ? payer : provider.wallet.publicKey,
348
+ });
349
+ instructions = await withPriorityFees({
350
+ connection: provider.connection,
351
+ basePriorityFee,
352
+ ...fullDraft,
353
+ });
354
+ const tx = toVersionedTx({
355
+ ...fullDraft,
356
+ instructions,
357
+ });
307
358
  // @ts-ignore
308
359
  const oracleUrls = lazyDistributorAcc.oracles.map((x) => x.url);
309
- let serTx = tx.serialize({
310
- requireAllSignatures: false,
311
- verifySignatures: false,
312
- });
360
+ let serTx = tx.serialize();
313
361
  if (!skipOracleSign) {
314
362
  for (const oracle of oracleUrls) {
315
363
  const res = await axios.post(`${oracle}`, {
316
- transaction: serTx,
364
+ transaction: Buffer.from(serTx).toJSON(),
317
365
  });
318
366
  serTx = Buffer.from(res.data.transaction);
319
367
  }
320
368
  }
321
- const finalTx = Transaction.from(serTx);
369
+ const finalTx = VersionedTransaction.deserialize(serTx);
322
370
  // Ensure the oracle didn't pull a fast one
323
- assertSameIxns(finalTx.instructions, tx.instructions);
371
+ assertSameTx(finalTx, tx);
324
372
  return finalTx;
325
373
  }
326
- function assertSameIxns(instructions, instructions1) {
327
- if (instructions.length !== instructions1.length) {
328
- throw new Error('Extra instructions added by oracle');
374
+ function assertSameTx(tx, tx1, luts = []) {
375
+ if (tx.message.compiledInstructions.length !==
376
+ tx1.message.compiledInstructions.length) {
377
+ throw new Error("Extra instructions added by oracle");
329
378
  }
330
- instructions.forEach((instruction, idx) => {
331
- const instruction1 = instructions1[idx];
332
- if (instruction.programId.toBase58() !== instruction1.programId.toBase58()) {
333
- throw new Error('Program id mismatch');
379
+ tx.message.compiledInstructions.forEach((instruction, idx) => {
380
+ const instruction1 = tx1.message.compiledInstructions[idx];
381
+ if (instruction.programIdIndex !== instruction1.programIdIndex) {
382
+ throw new Error("Program id mismatch");
334
383
  }
335
- if (!instruction.data.equals(instruction1.data)) {
336
- throw new Error('Instruction data mismatch');
384
+ if (!Buffer.from(instruction.data).equals(Buffer.from(instruction1.data))) {
385
+ throw new Error("Instruction data mismatch");
337
386
  }
338
- if (instruction.keys.length !== instruction1.keys.length) {
339
- throw new Error('Key length mismatch');
387
+ if (instruction.accountKeyIndexes.length !==
388
+ instruction1.accountKeyIndexes.length) {
389
+ throw new Error("Key length mismatch");
340
390
  }
341
- instruction.keys.forEach((key, idx) => {
342
- const key1 = instruction1.keys[idx];
343
- if (key.pubkey.toBase58() !== key1.pubkey.toBase58()) {
344
- throw new Error('Key mismatch');
391
+ instruction.accountKeyIndexes.forEach((key, idx) => {
392
+ const key1 = instruction1.accountKeyIndexes[idx];
393
+ if (key !== key1) {
394
+ throw new Error("Key mismatch");
345
395
  }
346
396
  });
347
397
  });
398
+ const keys = tx.message
399
+ .getAccountKeys({ addressLookupTableAccounts: luts })
400
+ .keySegments()
401
+ .reduce((acc, cur) => acc.concat(cur), []);
402
+ const keys1 = tx1.message
403
+ .getAccountKeys({
404
+ addressLookupTableAccounts: luts,
405
+ })
406
+ .keySegments()
407
+ .reduce((acc, cur) => acc.concat(cur), []);
408
+ if (keys1.length !== keys.length) {
409
+ throw new Error("Account keys do not match");
410
+ }
411
+ for (let i = 0; i < keys.length; i++) {
412
+ if (!keys[i].equals(keys1[i])) {
413
+ throw new Error("Account key mismatch");
414
+ }
415
+ }
348
416
  }
349
417
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,EAAE,EAAwB,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EACL,eAAe,EACf,IAAI,EACJ,IAAI,IAAI,OAAO,EACf,aAAa,EACb,kBAAkB,GACnB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAGrD,OAAO,EACL,4BAA4B,EAC5B,8BAA8B,EAC9B,YAAY,GACb,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAGL,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,MAAM,GACP,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EACL,SAAS,EACT,WAAW,GAEZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ;IAC9B,CAAC,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IACrC,CAAC,CAAC,QAAQ,CAAC;AACb,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAM3B,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAiC,EACjC,eAA0B,EAC1B,OAAkB;IAElB,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CACtE,eAAe,CAChB,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG;IAC/B,aAAa;IACb,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CACxC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CACpD,CACF,CAAC;IACF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,GAAW,EAAE,EAAE;QACzC,OAAO;YACL,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc;YACrC,aAAa;YACb,SAAS,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM;SAClD,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAiC,EACjC,eAA0B,EAC1B,UAAoB;IAEpB,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CACtE,eAAe,CAChB,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG;IAC/B,aAAa;IACb,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CACxC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,eAAe,EAAE,EAAE,UAAU,EAAE,CAAC,CACpD,CACF,CAAC;IACF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,GAAW,EAAE,EAAE;QACzC,OAAO;YACL,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc;YACrC,aAAa;YACb,SAAS,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM;SAClD,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAiC,EACjC,eAA0B,EAC1B,GAAc,EACd,UAAoB,EACpB,WAAmC,KAAK;IAExC,MAAM,aAAa,GAAG,MAAM,cAAc,CACxC,OAAO,EACP,eAAe,EACf,UAAU,CACX,CAAC;IAEF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAA0B,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;IAChE,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QAC9C,OAAO,aAAa,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,CAAA;IAEF,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,cAAc,CAC5C,YAAY,EACZ,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QACpB,MAAM;QACN,OAAO;QACP,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAEpC,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC;KAChC,CAAC,EACF,IAAI,EACJ,KAAK,CACN,CAAC;IACF,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACjC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,iDAAiD,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;SACtF;IACH,CAAC,CAAC,CAAA;IACF,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CACjC,CAAC,UAAU,EAAE,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,UAAW,CAAC,IAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAC1E,CAAC;IACF,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,cAAc,CAC3C,WAAW,EACX,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QACpB,MAAM;QACN,OAAO;QACP,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAEjC,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC;KAC/B,CAAC,CACH,CAAC;IACF,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;QACzD,OAAO;YACL,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC;YAC5B,YAAY,EAAE,SAAS,EAAE,IAAI;SAC9B,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,EAAE;QAChE,MAAM,mBAAmB,GAAG,aAAa;aACtC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;aACxD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEvD,MAAM,YAAY,GAAG,IAAI,EAAE,CACzB,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAChE,CAAC;QAEF,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,GAAG,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAEnC,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAA4B,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,EACzC,OAAO,EAAE,sBAAsB,EAC/B,oBAAoB,EACpB,0BAA0B,EAC1B,OAAO,EACP,MAAM,EACN,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,MAAM,GAAI,sBAAsB,CAAC,QAA2B,CAAC,MAAM,CAAC,SAAS,EAC7E,cAAc,GAAG,KAAK,EACtB,aAAa,EACb,eAAe,GAAG,aAAa,EAC/B,oBAAoB,GAAG,kBAAkB,GAkB1C;IACC,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;KAC7C;IACD,MAAM,QAAQ,GAAG,sBAAsB,CAAC,QAA0B,CAAC;IAEnE,IAAI,CAAC,oBAAoB,EAAE;QACzB,oBAAoB,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;KACpD;IACD,IAAI,CAAC,0BAA0B,EAAE;QAC/B,0BAA0B,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;KACtD;IACD,IAAI,CAAC,kBAAkB,EAAE;QACvB,kBAAkB;YAChB,MAAM,sBAAsB,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAC1D,eAAe,CAChB,CAAC;KACL;IAED,IAAI,CAAC,oBAAoB,EAAE;QACzB,oBAAoB,GAAG,MAAM,eAAe,CAC1C,aAAa,IAAI,QAAQ,CAAC,UAAU,CAAC,WAAW,EAChD,MAAM,CACP,CAAA;KACF;IACD,IAAI,oBAAoB,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE;QACjD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;KACvE;IAED,IAAI,aAAa,GAAG,MAAM,CAAC,GAAG,CAC5B,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CACnD,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,YAAY,CAC9B,0BAA0B,CAAC,QAAQ,CAAC,UAAU,CAC/C,CAAC;IACF,MAAM,aAAa,GAAG,CACpB,MAAM,KAAK,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QAC9D,MAAM;QACN,OAAO;QACP,IAAI,EAAE,sBAAsB,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAEhD,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC;KAC/B,CAAC,CAAC,CACJ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACtB,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAChD,aAAa,IAAI,QAAQ,CAAC,UAAU,CAAC,WAAW,EAChD,MAAM,CACP,CAAA;IACD,IAAI,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,EAAE;QAC5C,IAAI,CAAC,YAAY,EAAE;YACjB,OAAO;gBACL,MAAM,CACJ,MAAM,8BAA8B,CAAC;oBACnC,OAAO,EAAE,sBAAsB;oBAC/B,OAAO,EAAE,MAAO,CAAC,GAAG,CAAC;oBACrB,eAAe;oBACf,aAAa;oBACb,KAAK,EAAE,MAAM;oBACb,6GAA6G;oBAC7G,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM;oBAC3C,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,oBAAqB,CAAC,GAAG,CAAC,CAAC;oBAC7D,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,oBAAqB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;iBAChI,CAAC,CACH,CAAC,WAAW,EAAE;aAChB,CAAC;SACH;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,YAAY,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;QAC5D,OAAO,kBAAkB,CAAC,QAAQ,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;IACD,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,cAAc,CAC5C,YAAY,EACZ,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QACpB,MAAM;QACN,OAAO;QACP,IAAI,EAAE,0BAA2B,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAErD,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC;KAChC,CAAC,EACF,IAAI,EACJ,KAAK,CACN,CAAC;IACH,uCAAuC;IACvC,IAAI,mBAAmB,GAAG,MAAM,OAAO,CAAC,GAAG,CACzC,oBAAoB,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;QAC/C,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAC7C,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,IAAI,CAAA;QACzC,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW,EAAE;YAC/B,OAAO,EAAE,CAAA;SACV;QACD,MAAM,SAAS,GAAG,eAAe,CAC/B,UAAU,CAAC,SAAS,EACpB,UAAU,CAAC,gBAAgB,CAC3B,CAAC;QACH,MAAM,YAAY,GAAG,CACnB,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE;YAC3C,IAAI,CAAC,CAAC,SAAS,IAAI,WAAW,CAAC,cAAc,CAAC,EAAE;gBAC9C,OAAO,IAAI,CAAC;aACb;YACD,OAAO,MAAM,oBAAqB,CAAC,OAAO;iBACvC,0BAA0B,CAAC;gBAC1B,cAAc,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;gBAC7D,WAAW,EAAE,SAAS;aACvB,CAAC;iBACD,QAAQ,CAAC;gBACR,eAAe;gBACf,SAAS,EAAE,aAAa,CAAC,GAAG,CAAC;gBAC7B,UAAU,EAAE,WAAW;gBACvB,MAAM,EAAE,WAAW,CAAC,SAAS;aAC9B,CAAC;iBACD,WAAW,EAAE,CAAC;QACnB,CAAC,CAAC,CACH,CACF,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACjB,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE;YAC5B,OAAO,EAAE,CAAC;SACX;QACD,MAAM,YAAY,GAAG,MAAK,CACxB,MAAM,4BAA4B,CAAC;YACjC,OAAO,EAAE,sBAAsB;YAC/B,OAAO,EAAE,MAAO,CAAC,GAAG,CAAC;YACrB,eAAe;YACf,WAAW,EAAE,kBAAkB,CAAC,WAAY;YAC5C,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC3C,eAAe,EAAE,eAAe;gBAC9B,CAAC,CAAC,GAAG,EAAE,CACH,OAAO,CAAC,OAAO,CACb,eAAe,CAAC,oBAAqB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAC1D;gBACL,CAAC,CAAC,SAAS;YACb,aAAa;SACd,CAAC,CACH,CAAC,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,YAAY,EAAE,YAAY,CAAC,CAAC;IACzC,CAAC,CAAC,CACH,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACnD,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;YACtC,SAAS;SACV;QACD,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;KAChD;IACD,oDAAoD;IACpD,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEtD,IAAI,SAAS,GAAG,CAAC,MAAM,QAAQ,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC,SAAS,CAAC;IAE3E,eAAe;IACf,IAAI,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACvC,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC;QAC7B,EAAE,CAAC,eAAe,GAAG,SAAS,CAAC;QAC/B,EAAE,CAAC,QAAQ,GAAG,MAAM,CAAC;QACrB,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;QACf,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IAEH,aAAa;IACb,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAErE,IAAI,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACjC,OAAO,EAAE,CAAC,SAAS,CAAC;YAClB,oBAAoB,EAAE,KAAK;YAC3B,gBAAgB,EAAE,KAAK;SACxB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,cAAc,EAAE;QACnB,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE;YAC/B,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,YAAY,EAAE;gBAClD,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;aACnD,CAAC,CAAC;YACH,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SAChE;KACF;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1D,kCAAkC;IAClC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;QAChC,cAAc,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EACpC,OAAO,EAAE,sBAAsB,EAC/B,oBAAoB,EACpB,QAAQ,EACR,OAAO,EACP,KAAK,EACL,OAAO,EACP,eAAe,EACf,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,EAClC,cAAc,GAAG,KAAK,EACtB,aAAa,EACb,UAAU,GAAG,QAAQ,EACrB,eAAe,GAAG,aAAa,GAkBhC;IACC,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE;QACtB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;KAClD;IACD,IAAI,CAAC,KAAK,EAAE;QACV,KAAK,GAAG,OAAQ,CAAC;KAClB;IACD,IAAI,CAAC,oBAAoB,EAAE;QACzB,oBAAoB,GAAG,MAAM,WAAW,CACtC,sBAAsB,CAAC,QAA0B,CAClD,CAAC;KACH;IAED,MAAM,QAAQ,GAAG,MAAM,UAAU,CAC/B,aAAa,IAAI,QAAQ,CAAC,UAAU,CAAC,WAAW,EAChD,KAAK,CACN,CAAC;IACF,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;KACzD;IAED,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,YAAY,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,kBAAkB,GACtB,CAAC,MAAM,sBAAsB,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAC3D,eAAe,CAChB,CAAE,CAAC;IACN,MAAM,WAAW,GAAG,kBAAkB,CAAC,WAAY,CAAC;IAEpD,IAAI,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC;IAE3B,MAAM,kBAAkB,GAAG,MAAM,yBAAyB,CACxD,WAAW,EACX,QAAQ,CAAC,SAAS,CAAC,KAAK,EACxB,IAAI,CACL,CAAC;IAEF,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE;QAC1D,IAAI,eAAe,CAAC;QACpB,IAAI,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE;YACnC,eAAe,GAAG,MAAM,CACtB,MAAM,8BAA8B,CAAC;gBACnC,OAAO,EAAE,sBAAsB;gBAC/B,OAAO,EAAE,KAAK;gBACd,eAAe;gBACf,aAAa;gBACb,KAAK,EAAE,MAAM;gBACb,6GAA6G;gBAC7G,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM;gBAC3C,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAC3C,eAAe;aAChB,CAAC,CACH,CAAC,WAAW,EAAE,CAAC;SACjB;aAAM;YACL,eAAe,GAAG,MAAM,sBAAsB,CAAC,OAAO;iBACnD,qBAAqB,EAAE;iBACvB,QAAQ,CAAC;gBACR,eAAe;gBACf,IAAI,EAAE,KAAK;aACZ,CAAC;iBACD,WAAW,EAAE,CAAC;SAClB;QAED,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;KACzB;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;QACxC,OAAO,oBAAqB,CAAC,OAAO;aACjC,0BAA0B,CAAC;YAC1B,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;YACxC,WAAW,EAAE,GAAG;SACjB,CAAC;aACD,QAAQ,CAAC;YACR,eAAe;YACf,SAAS;YACT,UAAU;YACV,MAAM,EAAE,CAAC,CAAC,SAAS;SACpB,CAAC;aACD,WAAW,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1C,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;IAEf,EAAE,CAAC,eAAe,GAAG,CACnB,MAAM,QAAQ,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAC/C,CAAC,SAAS,CAAC;IAEZ,EAAE,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;IAE1D,IAAI,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE;QACnC,MAAM,YAAY,GAAG,MAAM,CACzB,MAAM,4BAA4B,CAAC;YACjC,OAAO,EAAE,sBAAsB;YAC/B,OAAO,EAAE,KAAK;YACd,eAAe;YACf,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC3C,eAAe;YACf,aAAa;SACd,CAAC,CACH,CAAC,WAAW,EAAE,CAAC;QAChB,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;KACtB;SAAM;QACL,MAAM,YAAY,GAAG,MAAM,sBAAsB,CAAC,OAAO;aACtD,mBAAmB,EAAE;aACrB,QAAQ,CAAC;YACR,aAAa;YACb,MAAM,EAAE;gBACN,SAAS;gBACT,eAAe;gBACf,WAAW;gBACX,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK;gBAC/B,kBAAkB;aACnB;SACF,CAAC;aACD,WAAW,EAAE,CAAC;QACjB,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;KACtB;IACD,aAAa;IACb,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAErE,IAAI,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC;QACvB,oBAAoB,EAAE,KAAK;QAC3B,gBAAgB,EAAE,KAAK;KACxB,CAAC,CAAC;IACH,IAAI,CAAC,cAAc,EAAE;QACnB,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE;YAC/B,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,EAAE;gBACxC,WAAW,EAAE,KAAK;aACnB,CAAC,CAAC;YACH,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAC3C;KACF;IAED,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxC,2CAA2C;IAC3C,cAAc,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;IAEtD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,cAAc,CACrB,YAAsC,EACtC,aAAuC;IAEvC,IAAI,YAAY,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,EAAE;QAChD,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;KACvD;IAED,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE;QACxC,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QACxC,IACE,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,EACtE;YACA,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;SACxC;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;YAC/C,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;SAC9C;QAED,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE;YACxD,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;SACxC;QAED,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACpC,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE;gBACpD,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;aACjC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import client from "prom-client";
2
+ export const register = new client.Registry();
3
+ export const totalRewardsGauge = new client.Gauge({
4
+ name: "helium_total_rewards",
5
+ help: "Total number of rewards",
6
+ labelNames: ["dnt_mint"],
7
+ });
8
+ register.registerMetric(totalRewardsGauge);
9
+ //# sourceMappingURL=metrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC9C,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC;IAChD,IAAI,EAAE,sBAAsB;IAC5B,IAAI,EAAE,yBAAyB;IAC/B,UAAU,EAAE,CAAC,UAAU,CAAC;CACzB,CAAC,CAAC;AACH,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC"}