@helium/distributor-oracle 0.6.1 → 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,9 +118,11 @@ export async function formBulkTransactions({ program: lazyDistributorProgram, re
115
118
  lazyDistributor,
116
119
  assetEndpoint,
117
120
  owner: wallet,
118
- payer: wallet,
121
+ payer,
119
122
  getAssetFn: () => Promise.resolve(compressionAssetAccs[idx]),
120
- getAssetProofFn: assetProofsById ? () => Promise.resolve(assetProofsById[compressionAssetAccs[idx].id.toBase58()]) : undefined,
123
+ getAssetProofFn: assetProofsById
124
+ ? () => Promise.resolve(assetProofsById[compressionAssetAccs[idx].id.toBase58()])
125
+ : undefined,
121
126
  })).instruction(),
122
127
  ];
123
128
  }
@@ -132,12 +137,13 @@ export async function formBulkTransactions({ program: lazyDistributorProgram, re
132
137
  info: heliumEntityManagerProgram.coder.accounts.decode("KeyToAssetV0", account.data),
133
138
  }), true, false);
134
139
  // construct the set and distribute ixs
135
- let setAndDistributeIxs = await Promise.all(compressionAssetAccs.map(async (assetAcc, idx) => {
140
+ const setAndDistributeIxs = await Promise.all(compressionAssetAccs.map(async (assetAcc, idx) => {
136
141
  const keyToAssetK = keyToAssets[idx]?.pubkey;
137
142
  const keyToAsset = keyToAssets[idx]?.info;
138
143
  if (!keyToAsset || !keyToAssetK) {
139
144
  return [];
140
145
  }
146
+ const inits = ixsPerAsset[idx];
141
147
  const entityKey = decodeEntityKey(keyToAsset.entityKey, keyToAsset.keySerialization);
142
148
  const setRewardIxs = (await Promise.all(rewards.map(async (bulkRewards, oracleIdx) => {
143
149
  if (!(entityKey in bulkRewards.currentRewards)) {
@@ -159,62 +165,76 @@ export async function formBulkTransactions({ program: lazyDistributorProgram, re
159
165
  if (setRewardIxs.length == 0) {
160
166
  return [];
161
167
  }
162
- const distributeIx = await (await distributeCompressionRewards({
163
- program: lazyDistributorProgram,
164
- assetId: assets[idx],
165
- lazyDistributor,
166
- rewardsMint: lazyDistributorAcc.rewardsMint,
167
- getAssetFn: () => Promise.resolve(assetAcc),
168
- getAssetProofFn: assetProofsById
169
- ? () => Promise.resolve(assetProofsById[compressionAssetAccs[idx].id.toBase58()])
170
- : undefined,
171
- assetEndpoint,
172
- })).instruction();
173
- return [...setRewardIxs, distributeIx];
174
- }));
175
- for (let i = 0; i < setAndDistributeIxs.length; i++) {
176
- if (setAndDistributeIxs[i].length == 0) {
177
- 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();
178
186
  }
179
- ixsPerAsset[i].push(...setAndDistributeIxs[i]);
180
- }
181
- // filter arrays where init recipient is the only ix
182
- ixsPerAsset = ixsPerAsset.filter((x) => x.length > 1);
183
- 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
+ }));
184
207
  // unsigned txs
185
- let initialTxs = ixsPerAsset.map((ixs) => {
186
- const tx = new Transaction();
187
- tx.recentBlockhash = blockhash;
188
- tx.feePayer = wallet;
189
- tx.add(...ixs);
190
- return tx;
208
+ const initialTxDrafts = await batchInstructionsToTxsWithPriorityFee(provider, setAndDistributeIxs, {
209
+ basePriorityFee,
210
+ addressLookupTableAddresses: [
211
+ isDevnet ? HELIUM_COMMON_LUT_DEVNET : HELIUM_COMMON_LUT,
212
+ ],
191
213
  });
214
+ const initialTxs = initialTxDrafts.map(toVersionedTx);
192
215
  // @ts-ignore
193
216
  const oracleUrls = lazyDistributorAcc.oracles.map((x) => x.url);
194
217
  let serTxs = initialTxs.map((tx) => {
195
- return tx.serialize({
196
- requireAllSignatures: false,
197
- verifySignatures: false,
198
- });
218
+ return tx.serialize();
199
219
  });
200
220
  if (!skipOracleSign) {
201
221
  for (const oracle of oracleUrls) {
202
222
  const res = await axios.post(`${oracle}/bulk-sign`, {
203
- transactions: serTxs.map((tx) => tx.toJSON().data),
223
+ transactions: serTxs.map((tx) => Buffer.from(tx).toJSON().data),
204
224
  });
205
225
  serTxs = res.data.transactions.map((x) => Buffer.from(x));
206
226
  }
207
227
  }
208
- const finalTxs = serTxs.map((tx) => Transaction.from(tx));
228
+ const finalTxs = serTxs.map((tx) => VersionedTransaction.deserialize(tx));
209
229
  // Check instructions are the same
210
230
  finalTxs.forEach((finalTx, idx) => {
211
- assertSameIxns(finalTx.instructions, initialTxs[idx].instructions);
231
+ assertSameTx(finalTx, initialTxs[idx], initialTxDrafts[0]?.addressLookupTables);
212
232
  });
213
233
  return finalTxs;
214
234
  }
215
- 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, }) {
216
236
  if (!asset && !hotspot) {
217
- throw new Error('Must provide asset or hotspot');
237
+ throw new Error("Must provide asset or hotspot");
218
238
  }
219
239
  if (!asset) {
220
240
  asset = hotspot;
@@ -224,15 +244,16 @@ export async function formTransaction({ program: lazyDistributorProgram, rewards
224
244
  }
225
245
  const assetAcc = await getAssetFn(assetEndpoint || provider.connection.rpcEndpoint, asset);
226
246
  if (!assetAcc) {
227
- throw new Error('No asset with ID ' + asset.toBase58());
247
+ throw new Error("No asset with ID " + asset.toBase58());
228
248
  }
229
249
  const keyToAsset = keyToAssetForAsset(assetAcc);
230
250
  const recipient = recipientKey(lazyDistributor, asset)[0];
231
251
  const lazyDistributorAcc = (await lazyDistributorProgram.account.lazyDistributorV0.fetch(lazyDistributor));
232
252
  const rewardsMint = lazyDistributorAcc.rewardsMint;
233
- let tx = new Transaction();
234
253
  const destinationAccount = await getAssociatedTokenAddress(rewardsMint, assetAcc.ownership.owner, true);
235
- if (!(await provider.connection.getAccountInfo(recipient))) {
254
+ let instructions = [];
255
+ const recipientAcc = await lazyDistributorProgram.account.recipientV0.fetchNullable(recipient);
256
+ if (!recipientAcc) {
236
257
  let initRecipientIx;
237
258
  if (assetAcc.compression.compressed) {
238
259
  initRecipientIx = await (await initializeCompressionRecipient({
@@ -241,7 +262,7 @@ export async function formTransaction({ program: lazyDistributorProgram, rewards
241
262
  lazyDistributor,
242
263
  assetEndpoint,
243
264
  owner: wallet,
244
- payer: wallet,
265
+ payer,
245
266
  getAssetFn: () => Promise.resolve(assetAcc),
246
267
  getAssetProofFn,
247
268
  })).instruction();
@@ -255,7 +276,7 @@ export async function formTransaction({ program: lazyDistributorProgram, rewards
255
276
  })
256
277
  .instruction();
257
278
  }
258
- tx.add(initRecipientIx);
279
+ instructions.push(initRecipientIx);
259
280
  }
260
281
  const ixPromises = rewards.map((x, idx) => {
261
282
  return rewardsOracleProgram.methods
@@ -272,10 +293,27 @@ export async function formTransaction({ program: lazyDistributorProgram, rewards
272
293
  .instruction();
273
294
  });
274
295
  const ixs = await Promise.all(ixPromises);
275
- tx.add(...ixs);
276
- tx.recentBlockhash = (await provider.connection.getLatestBlockhash()).blockhash;
277
- tx.feePayer = wallet ? wallet : provider.wallet.publicKey;
278
- 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) {
279
317
  const distributeIx = await (await distributeCompressionRewards({
280
318
  program: lazyDistributorProgram,
281
319
  assetId: asset,
@@ -283,8 +321,9 @@ export async function formTransaction({ program: lazyDistributorProgram, rewards
283
321
  getAssetFn: () => Promise.resolve(assetAcc),
284
322
  getAssetProofFn,
285
323
  assetEndpoint,
324
+ payer,
286
325
  })).instruction();
287
- tx.add(distributeIx);
326
+ instructions.push(distributeIx);
288
327
  }
289
328
  else {
290
329
  const distributeIx = await lazyDistributorProgram.methods
@@ -292,6 +331,7 @@ export async function formTransaction({ program: lazyDistributorProgram, rewards
292
331
  .accounts({
293
332
  // @ts-ignore
294
333
  common: {
334
+ payer,
295
335
  recipient,
296
336
  lazyDistributor,
297
337
  rewardsMint,
@@ -300,48 +340,78 @@ export async function formTransaction({ program: lazyDistributorProgram, rewards
300
340
  },
301
341
  })
302
342
  .instruction();
303
- tx.add(distributeIx);
343
+ instructions.push(distributeIx);
304
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
+ });
305
358
  // @ts-ignore
306
359
  const oracleUrls = lazyDistributorAcc.oracles.map((x) => x.url);
307
- let serTx = tx.serialize({
308
- requireAllSignatures: false,
309
- verifySignatures: false,
310
- });
360
+ let serTx = tx.serialize();
311
361
  if (!skipOracleSign) {
312
362
  for (const oracle of oracleUrls) {
313
363
  const res = await axios.post(`${oracle}`, {
314
- transaction: serTx,
364
+ transaction: Buffer.from(serTx).toJSON(),
315
365
  });
316
366
  serTx = Buffer.from(res.data.transaction);
317
367
  }
318
368
  }
319
- const finalTx = Transaction.from(serTx);
369
+ const finalTx = VersionedTransaction.deserialize(serTx);
320
370
  // Ensure the oracle didn't pull a fast one
321
- assertSameIxns(finalTx.instructions, tx.instructions);
371
+ assertSameTx(finalTx, tx);
322
372
  return finalTx;
323
373
  }
324
- function assertSameIxns(instructions, instructions1) {
325
- if (instructions.length !== instructions1.length) {
326
- 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");
327
378
  }
328
- instructions.forEach((instruction, idx) => {
329
- const instruction1 = instructions1[idx];
330
- if (instruction.programId.toBase58() !== instruction1.programId.toBase58()) {
331
- 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");
332
383
  }
333
- if (!instruction.data.equals(instruction1.data)) {
334
- throw new Error('Instruction data mismatch');
384
+ if (!Buffer.from(instruction.data).equals(Buffer.from(instruction1.data))) {
385
+ throw new Error("Instruction data mismatch");
335
386
  }
336
- if (instruction.keys.length !== instruction1.keys.length) {
337
- throw new Error('Key length mismatch');
387
+ if (instruction.accountKeyIndexes.length !==
388
+ instruction1.accountKeyIndexes.length) {
389
+ throw new Error("Key length mismatch");
338
390
  }
339
- instruction.keys.forEach((key, idx) => {
340
- const key1 = instruction1.keys[idx];
341
- if (key.pubkey.toBase58() !== key1.pubkey.toBase58()) {
342
- 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");
343
395
  }
344
396
  });
345
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
+ }
346
416
  }
347
417
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/client.ts"],"names":[],"mappings":"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"}
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"}