@helium/distributor-oracle 0.10.18 → 0.10.19

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.
@@ -90,7 +90,7 @@ export class AssetOwner extends Model {
90
90
  AssetOwner.init({
91
91
  asset: {
92
92
  type: STRING,
93
- primaryKey: true,
93
+ primaryKey: false,
94
94
  },
95
95
  owner: {
96
96
  type: STRING,
@@ -108,19 +108,19 @@ export class KeyToAsset extends Model {
108
108
  KeyToAsset.init({
109
109
  address: {
110
110
  type: STRING,
111
- primaryKey: true,
111
+ primaryKey: false,
112
112
  },
113
113
  dao: {
114
114
  type: STRING,
115
- allowNull: true,
115
+ allowNull: false,
116
116
  },
117
117
  asset: {
118
118
  type: STRING,
119
- allowNull: true,
119
+ allowNull: false,
120
120
  },
121
121
  entityKey: {
122
122
  type: "BYTEA",
123
- allowNull: true,
123
+ allowNull: false,
124
124
  field: "entity_key",
125
125
  },
126
126
  encodedEntityKey: {
@@ -140,25 +140,25 @@ export class Recipient extends Model {
140
140
  Recipient.init({
141
141
  address: {
142
142
  type: STRING,
143
- primaryKey: true,
143
+ primaryKey: false,
144
144
  },
145
145
  lazyDistributor: {
146
146
  type: STRING,
147
- allowNull: true,
147
+ allowNull: false,
148
148
  field: "lazy_distributor",
149
149
  },
150
150
  asset: {
151
151
  type: STRING,
152
- allowNull: true,
152
+ allowNull: false,
153
153
  },
154
154
  totalRewards: {
155
155
  type: "NUMERIC",
156
- allowNull: true,
156
+ allowNull: false,
157
157
  field: "total_rewards",
158
158
  },
159
159
  destination: {
160
160
  type: STRING,
161
- allowNull: true,
161
+ allowNull: false,
162
162
  },
163
163
  }, {
164
164
  sequelize,
@@ -167,13 +167,13 @@ Recipient.init({
167
167
  underscored: true,
168
168
  timestamps: false,
169
169
  });
170
- KeyToAsset.hasMany(Recipient, { foreignKey: "asset", sourceKey: "asset" });
170
+ KeyToAsset.hasOne(Recipient, { foreignKey: "asset", sourceKey: "asset" });
171
171
  Recipient.belongsTo(KeyToAsset, { foreignKey: "asset", targetKey: "asset" });
172
- KeyToAsset.hasMany(AssetOwner, { foreignKey: "asset", sourceKey: "asset" });
172
+ KeyToAsset.hasOne(AssetOwner, { foreignKey: "asset", sourceKey: "asset" });
173
173
  AssetOwner.belongsTo(KeyToAsset, { foreignKey: "asset", targetKey: "asset" });
174
174
  AssetOwner.belongsTo(Recipient, { foreignKey: "asset", targetKey: "asset" });
175
- Recipient.hasMany(AssetOwner, { foreignKey: "asset", sourceKey: "asset" });
176
- KeyToAsset.hasMany(Reward, {
175
+ Recipient.hasOne(AssetOwner, { foreignKey: "asset", sourceKey: "asset" });
176
+ KeyToAsset.hasOne(Reward, {
177
177
  foreignKey: "address",
178
178
  sourceKey: "encodedEntityKey",
179
179
  });
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/model.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,12 @@
1
1
  // @ts-ignore
2
2
  import { BN } from "@coral-xyz/anchor";
3
3
  import { decodeEntityKey, entityCreatorKey, keyToAssetForAsset, } from "@helium/helium-entity-manager-sdk";
4
- import { recipientKey } from "@helium/lazy-distributor-sdk";
5
4
  import { getAsset, searchAssets, } from "@helium/spl-utils";
6
5
  import { PublicKey } from "@solana/web3.js";
7
- import { Op } from "sequelize";
6
+ import { Op, QueryTypes } from "sequelize";
8
7
  import { DAO } from "./constants";
9
- import { DeviceType, } from "./database";
10
- import { AssetOwner, KeyToAsset, Recipient, Reward, sequelize, WalletClaimJob, } from "./model";
8
+ import { DeviceType } from "./database";
9
+ import { Reward, WalletClaimJob, sequelize } from "./model";
11
10
  const ENTITY_CREATOR = entityCreatorKey(DAO)[0];
12
11
  const getRewardTypeForDevice = (deviceType) => `${deviceType.toString().toLowerCase()}_gateway`;
13
12
  export class PgDatabase {
@@ -29,76 +28,52 @@ export class PgDatabase {
29
28
  where: { wallet: wallet.toBase58() },
30
29
  });
31
30
  }
32
- const job = await WalletClaimJob.findOne({
31
+ let job = await WalletClaimJob.findOne({
33
32
  where: { wallet: wallet.toBase58() },
34
33
  });
35
34
  if (!job) {
36
- let page = 1;
37
- const limit = 1000;
38
- let allKtas = [];
39
- while (true) {
40
- const assets = (await this.searchAssetsFn(process.env.ASSET_API_URL ||
41
- this.issuanceProgram.provider.connection.rpcEndpoint, {
42
- ownerAddress: wallet.toBase58(),
43
- creatorVerified: true,
44
- creatorAddress: ENTITY_CREATOR.toBase58(),
45
- page,
46
- limit,
47
- })) || [];
48
- allKtas = allKtas.concat(assets.map((asset) => keyToAssetForAsset(asset, DAO).toBase58()));
49
- if (assets.length < limit) {
50
- break;
51
- }
52
- page++;
53
- }
54
- const job = await WalletClaimJob.create({
35
+ const results = await sequelize.query(`
36
+ SELECT
37
+ kta.address AS kta_address,
38
+ COALESCE(r.rewards, '0') AS lifetime,
39
+ COALESCE(rec.total_rewards, '0') AS claimed
40
+ FROM asset_owners ao
41
+ JOIN key_to_assets kta ON ao.asset = kta.asset
42
+ LEFT JOIN reward_index r ON kta.encoded_entity_key = r.address
43
+ LEFT JOIN recipients rec
44
+ ON kta.asset = rec.asset
45
+ AND rec.lazy_distributor = :lazyDistributor
46
+ WHERE ao.owner = :owner
47
+ `, {
48
+ replacements: {
49
+ owner: wallet.toBase58(),
50
+ lazyDistributor: this.lazyDistributor.toBase58(),
51
+ },
52
+ type: QueryTypes.SELECT,
53
+ });
54
+ const allKtas = results
55
+ .filter((row) => {
56
+ const lifetime = row.lifetime ?? "0";
57
+ const claimed = row.claimed ?? "0";
58
+ return new BN(lifetime).sub(new BN(claimed)).gt(new BN("0"));
59
+ })
60
+ .map((row) => row.kta_address);
61
+ job = await WalletClaimJob.create({
55
62
  wallet: wallet.toBase58(),
56
63
  remainingKtas: allKtas,
57
64
  });
58
65
  await job.save();
59
- return job;
60
66
  }
61
67
  return job;
62
68
  }
63
69
  async getRewardableEntities(wallet, limit, batchNumber = 0) {
64
70
  const job = await this.getOrCreateWalletClaimJob(wallet, batchNumber);
65
- const entities = [];
66
71
  let nextBatchNumber = batchNumber || 0;
67
- while (entities.length == 0) {
68
- const remainingKtas = job.remainingKtas.slice(nextBatchNumber * limit, (nextBatchNumber + 1) * limit);
69
- if (remainingKtas.length === 0) {
70
- nextBatchNumber++;
71
- break;
72
- }
73
- const ktas = (await this.issuanceProgram.account.keyToAssetV0.fetchMultiple(remainingKtas)).map((kta, index) => ({
74
- ...kta,
75
- address: new PublicKey(remainingKtas[index]),
76
- }));
77
- const assets = ktas.map((kta) => kta.asset);
78
- const recipientKeys = assets.map((a) => recipientKey(this.lazyDistributor, a)[0]);
79
- const recipients = (await this.lazyDistributorProgram.account.recipientV0.fetchMultiple(recipientKeys)).map((r, index) => ({
80
- ...r,
81
- address: new PublicKey(recipientKeys[index]),
82
- }));
83
- const entityKeys = ktas.map((kta) => decodeEntityKey(kta.entityKey, kta.keySerialization));
84
- const lifetimeRewards = await this.getBulkRewards(entityKeys);
85
- for (let i = 0; i < recipients.length; i++) {
86
- const entityKey = entityKeys[i];
87
- const recipient = recipients[i];
88
- const kta = ktas[i];
89
- const lifetimeReward = lifetimeRewards[entityKey];
90
- const pendingRewards = new BN(lifetimeReward).sub(recipient?.totalRewards || new BN("0"));
91
- if (!pendingRewards.lte(new BN("0"))) {
92
- entities.push({
93
- keyToAsset: kta,
94
- lifetimeReward: lifetimeReward,
95
- pendingReward: pendingRewards.toString(),
96
- recipient: recipient,
97
- });
98
- }
99
- }
100
- nextBatchNumber++;
101
- }
72
+ const remainingKtas = job.remainingKtas.slice(nextBatchNumber * limit, (nextBatchNumber + 1) * limit);
73
+ const entities = remainingKtas.map((kta) => ({
74
+ keyToAsset: new PublicKey(kta),
75
+ }));
76
+ nextBatchNumber++;
102
77
  return {
103
78
  entities,
104
79
  nextBatchNumber,
@@ -168,59 +143,33 @@ export class PgDatabase {
168
143
  }
169
144
  async getRewardsByOwner(owner) {
170
145
  try {
171
- const rewards = await Reward.findAll({
172
- include: [
173
- {
174
- model: KeyToAsset,
175
- required: true,
176
- attributes: [],
177
- include: [
178
- {
179
- model: Recipient,
180
- required: true,
181
- attributes: [],
182
- where: {
183
- lazyDistributor: this.lazyDistributor.toBase58(),
184
- },
185
- include: [
186
- {
187
- model: AssetOwner,
188
- required: true,
189
- attributes: [],
190
- where: { owner },
191
- },
192
- ],
193
- },
194
- ],
195
- },
196
- ],
197
- attributes: [
198
- [sequelize.fn("SUM", sequelize.col("rewards")), "rewards"],
199
- ],
200
- raw: true,
201
- });
202
- const lifetime = rewards[0].rewards?.toString() || "0";
203
- const recipients = await Recipient.findAll({
204
- include: [
205
- {
206
- model: AssetOwner,
207
- required: true,
208
- attributes: [],
209
- where: { owner },
210
- },
211
- ],
212
- where: {
146
+ const [result] = await sequelize.query(`
147
+ SELECT
148
+ COALESCE((
149
+ SELECT SUM(r.rewards)
150
+ FROM reward_index r
151
+ JOIN key_to_assets kta ON r.address = kta.encoded_entity_key
152
+ JOIN asset_owners ao ON kta.asset = ao.asset
153
+ WHERE ao.owner = :owner
154
+ ), 0) AS lifetime,
155
+ COALESCE((
156
+ SELECT SUM(rec.total_rewards)
157
+ FROM recipients rec
158
+ JOIN asset_owners ao2 ON rec.asset = ao2.asset
159
+ WHERE ao2.owner = :owner
160
+ AND rec.lazy_distributor = :lazyDistributor
161
+ ), 0) AS claimed
162
+ `, {
163
+ replacements: {
164
+ owner,
213
165
  lazyDistributor: this.lazyDistributor.toBase58(),
214
166
  },
215
- attributes: [
216
- [sequelize.fn("SUM", sequelize.col("total_rewards")), "totalRewards"],
217
- ],
218
- raw: true,
167
+ type: QueryTypes.SELECT,
219
168
  });
220
- console.log("recipients", recipients);
221
- const claimed = recipients[0].totalRewards?.toString() || "0";
169
+ const lifetime = result.lifetime ?? "0";
170
+ const claimed = result.claimed ?? "0";
222
171
  const pending = new BN(lifetime).sub(new BN(claimed)).toString();
223
- return { lifetime, pending };
172
+ return { lifetime: claimed, pending };
224
173
  }
225
174
  catch (err) {
226
175
  if (err?.parent?.code === "42P01") {
@@ -232,42 +181,31 @@ export class PgDatabase {
232
181
  }
233
182
  async getRewardsByDestination(destination) {
234
183
  try {
235
- const rewards = await Reward.findAll({
236
- include: [
237
- {
238
- model: KeyToAsset,
239
- required: true,
240
- attributes: [],
241
- include: [
242
- {
243
- model: Recipient,
244
- required: true,
245
- attributes: [],
246
- where: {
247
- destination,
248
- lazyDistributor: this.lazyDistributor.toBase58(),
249
- },
250
- },
251
- ],
252
- },
253
- ],
254
- attributes: [
255
- [sequelize.fn("SUM", sequelize.col("rewards")), "rewards"],
256
- ],
257
- raw: true,
258
- });
259
- const lifetime = rewards[0].rewards?.toString() || "0";
260
- const recipients = await Recipient.findAll({
261
- where: {
184
+ const [result] = await sequelize.query(`
185
+ SELECT
186
+ COALESCE((
187
+ SELECT SUM(r.rewards)
188
+ FROM reward_index r
189
+ JOIN key_to_assets kta ON r.address = kta.encoded_entity_key
190
+ JOIN recipients rec ON kta.asset = rec.asset
191
+ WHERE rec.destination = :destination
192
+ AND rec.lazy_distributor = :lazyDistributor
193
+ ), 0) AS lifetime,
194
+ COALESCE((
195
+ SELECT SUM(rec2.total_rewards)
196
+ FROM recipients rec2
197
+ WHERE rec2.destination = :destination
198
+ AND rec2.lazy_distributor = :lazyDistributor
199
+ ), 0) AS claimed
200
+ `, {
201
+ replacements: {
262
202
  destination,
263
203
  lazyDistributor: this.lazyDistributor.toBase58(),
264
204
  },
265
- attributes: [
266
- [sequelize.fn("SUM", sequelize.col("total_rewards")), "totalRewards"],
267
- ],
268
- raw: true,
205
+ type: QueryTypes.SELECT,
269
206
  });
270
- const claimed = recipients[0].totalRewards?.toString() || "0";
207
+ const lifetime = result.lifetime ?? "0";
208
+ const claimed = result.claimed ?? "0";
271
209
  const pending = new BN(lifetime).sub(new BN(claimed)).toString();
272
210
  return { lifetime, pending };
273
211
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pgDatabase.js","sourceRoot":"","sources":["../../../src/pgDatabase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pgDatabase.js","sourceRoot":"","sources":["../../../src/pgDatabase.ts"],"names":[],"mappings":"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"}
@@ -20,8 +20,8 @@ import fs from "fs";
20
20
  import { ATA_RENT, DAO, DNT, MAX_CLAIMS_PER_TX, RECIPIENT_RENT, } from "./constants";
21
21
  import { DeviceType } from "./database";
22
22
  import { register, totalRewardsGauge } from "./metrics";
23
+ import { Reward } from "./model";
23
24
  import { PgDatabase } from "./pgDatabase";
24
- import { Reward, WalletClaimJob } from "./model";
25
25
  export * from "./database";
26
26
  export class OracleServer {
27
27
  tuktukProgram;
@@ -571,7 +571,7 @@ export class OracleServer {
571
571
  instructions.push(await this.hplCronsProgram.methods
572
572
  .requeueEntityClaimV0()
573
573
  .accounts({
574
- keyToAsset: entity.keyToAsset.address,
574
+ keyToAsset: entity.keyToAsset,
575
575
  })
576
576
  .instruction());
577
577
  }
@@ -682,7 +682,6 @@ export class OracleServer {
682
682
  const roProgram = await initRewards(provider);
683
683
  const hemProgram = await initHeliumEntityManager(provider);
684
684
  const hplCronsProgram = await initHplCrons(provider);
685
- WalletClaimJob.sync();
686
685
  Reward.sync();
687
686
  const LAZY_DISTRIBUTOR = lazyDistributorKey(DNT)[0];
688
687
  const server = new OracleServer(tuktukProgram, ldProgram, roProgram, hemProgram, hplCronsProgram, oracleKeypair, new PgDatabase(hemProgram, ldProgram, LAZY_DISTRIBUTOR), LAZY_DISTRIBUTOR);
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/server.ts"],"names":[],"mappings":"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"}