@helium/distributor-oracle 0.9.30 → 0.9.32
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/lib/cjs/constants.js +17 -0
- package/lib/cjs/constants.js.map +1 -0
- package/lib/cjs/database.js +9 -0
- package/lib/cjs/database.js.map +1 -0
- package/lib/cjs/model.js +19 -1
- package/lib/cjs/model.js.map +1 -1
- package/lib/cjs/pgDatabase.js +184 -0
- package/lib/cjs/pgDatabase.js.map +1 -0
- package/lib/cjs/server.js +206 -132
- package/lib/cjs/server.js.map +1 -1
- package/lib/esm/src/constants.js +14 -0
- package/lib/esm/src/constants.js.map +1 -0
- package/lib/esm/src/database.js +6 -0
- package/lib/esm/src/database.js.map +1 -0
- package/lib/esm/src/model.js +18 -1
- package/lib/esm/src/model.js.map +1 -1
- package/lib/esm/src/pgDatabase.js +169 -0
- package/lib/esm/src/pgDatabase.js.map +1 -0
- package/lib/esm/src/server.js +188 -123
- package/lib/esm/src/server.js.map +1 -1
- package/lib/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/lib/types/src/constants.d.ts +6 -0
- package/lib/types/src/constants.d.ts.map +1 -0
- package/lib/types/src/database.d.ts +32 -0
- package/lib/types/src/database.d.ts.map +1 -0
- package/lib/types/src/model.d.ts +4 -0
- package/lib/types/src/model.d.ts.map +1 -1
- package/lib/types/src/pgDatabase.d.ts +24 -0
- package/lib/types/src/pgDatabase.d.ts.map +1 -0
- package/lib/types/src/server.d.ts +9 -21
- package/lib/types/src/server.d.ts.map +1 -1
- package/package.json +12 -10
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/constants.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,eAAO,MAAM,GAAG,WAEJ,CAAC;AACb,eAAO,MAAM,GAAG,WAEJ,CAAC;AACb,eAAO,MAAM,GAAG,WAAiB,CAAC;AAElC,eAAO,MAAM,iBAAiB,QAEzB,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import * as anchor from "@coral-xyz/anchor";
|
|
2
|
+
import { HeliumEntityManager } from "@helium/idls/lib/types/helium_entity_manager";
|
|
3
|
+
import { LazyDistributor } from "@helium/idls/lib/types/lazy_distributor";
|
|
4
|
+
import { PublicKey } from "@solana/web3.js";
|
|
5
|
+
export declare enum DeviceType {
|
|
6
|
+
IOT = "iot",
|
|
7
|
+
MOBILE = "mobile"
|
|
8
|
+
}
|
|
9
|
+
export interface Database {
|
|
10
|
+
getTotalRewards(): Promise<string>;
|
|
11
|
+
getCurrentRewardsByEntity: (entityKey: string) => Promise<string>;
|
|
12
|
+
getCurrentRewards: (asset: PublicKey) => Promise<string>;
|
|
13
|
+
getBulkRewards: (entityKeys: string[]) => Promise<Record<string, string>>;
|
|
14
|
+
getActiveDevices(type?: DeviceType): Promise<number>;
|
|
15
|
+
getRewardableEntities(wallet: PublicKey, limit: number, batchNumber?: number): Promise<{
|
|
16
|
+
entities: RewardableEntity[];
|
|
17
|
+
nextBatchNumber: number;
|
|
18
|
+
}>;
|
|
19
|
+
}
|
|
20
|
+
export type KeyToAssetV0 = anchor.IdlAccounts<HeliumEntityManager>["keyToAssetV0"] & {
|
|
21
|
+
address: PublicKey;
|
|
22
|
+
};
|
|
23
|
+
export type RecipientV0 = anchor.IdlAccounts<LazyDistributor>["recipientV0"] & {
|
|
24
|
+
address: PublicKey;
|
|
25
|
+
};
|
|
26
|
+
export type RewardableEntity = {
|
|
27
|
+
keyToAsset: KeyToAssetV0;
|
|
28
|
+
recipient: RecipientV0;
|
|
29
|
+
lifetimeReward: string;
|
|
30
|
+
pendingReward: string;
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=database.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../../src/database.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,oBAAY,UAAU;IACpB,GAAG,QAAQ;IACX,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACnC,yBAAyB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAClE,iBAAiB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1E,gBAAgB,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,qBAAqB,CACnB,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC;QACT,QAAQ,EAAE,gBAAgB,EAAE,CAAA;QAC5B,eAAe,EAAE,MAAM,CAAA;KACxB,CAAC,CAAC;CACJ;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,cAAc,CAAC,GAAG;IACnF,OAAO,EAAE,SAAS,CAAC;CACpB,CAAC;AACF,MAAM,MAAM,WAAW,GACrB,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,GAAG;IACnD,OAAO,EAAE,SAAS,CAAC;CACpB,CAAC;AACJ,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,YAAY,CAAC;IACzB,SAAS,EAAE,WAAW,CAAA;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC"}
|
package/lib/types/src/model.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAkB,KAAK,
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAkB,KAAK,EAAe,MAAM,WAAW,CAAC;AAM1E,eAAO,MAAM,SAAS,WA0CpB,CAAC;AAEH,qBAAa,MAAO,SAAQ,KAAK;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACzB;AAoBD,qBAAa,cAAe,SAAQ,KAAK;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,EAAE,CAAA;CAChC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Program } from "@coral-xyz/anchor";
|
|
2
|
+
import { HeliumEntityManager } from "@helium/idls/lib/types/helium_entity_manager";
|
|
3
|
+
import { LazyDistributor } from "@helium/idls/lib/types/lazy_distributor";
|
|
4
|
+
import { Asset, SearchAssetsOpts } from "@helium/spl-utils";
|
|
5
|
+
import { PublicKey } from "@solana/web3.js";
|
|
6
|
+
import { Database, DeviceType, RewardableEntity } from "./database";
|
|
7
|
+
export declare class PgDatabase implements Database {
|
|
8
|
+
readonly issuanceProgram: Program<HeliumEntityManager>;
|
|
9
|
+
readonly lazyDistributorProgram: Program<LazyDistributor>;
|
|
10
|
+
readonly getAssetFn: (url: string, asset: PublicKey) => Promise<Asset | undefined>;
|
|
11
|
+
readonly searchAssetsFn: (url: string, searchParams: SearchAssetsOpts) => Promise<Asset[]>;
|
|
12
|
+
constructor(issuanceProgram: Program<HeliumEntityManager>, lazyDistributorProgram: Program<LazyDistributor>, getAssetFn?: (url: string, asset: PublicKey) => Promise<Asset | undefined>, searchAssetsFn?: (url: string, searchParams: SearchAssetsOpts) => Promise<Asset[]>);
|
|
13
|
+
private getOrCreateWalletClaimJob;
|
|
14
|
+
getRewardableEntities(wallet: PublicKey, limit: number, batchNumber?: number): Promise<{
|
|
15
|
+
entities: RewardableEntity[];
|
|
16
|
+
nextBatchNumber: number;
|
|
17
|
+
}>;
|
|
18
|
+
getTotalRewards(): Promise<string>;
|
|
19
|
+
getActiveDevices(type?: DeviceType): Promise<number>;
|
|
20
|
+
getBulkRewards(entityKeys: string[]): Promise<Record<string, string>>;
|
|
21
|
+
getCurrentRewards(assetId: PublicKey): Promise<string>;
|
|
22
|
+
getCurrentRewardsByEntity(entityKeyStr: string): Promise<string>;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=pgDatabase.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pgDatabase.d.ts","sourceRoot":"","sources":["../../../src/pgDatabase.ts"],"names":[],"mappings":"AACA,OAAO,EAAM,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAMhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAE1E,OAAO,EACL,KAAK,EAIL,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EACL,QAAQ,EACR,UAAU,EAGV,gBAAgB,EACjB,MAAM,YAAY,CAAC;AASpB,qBAAa,UAAW,YAAW,QAAQ;IAEvC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,mBAAmB,CAAC;IACtD,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC,eAAe,CAAC;IACzD,QAAQ,CAAC,UAAU,EAAE,CACnB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,SAAS,KACb,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,CACvB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,gBAAgB,KAC3B,OAAO,CAAC,KAAK,EAAE,CAAC;gBATZ,eAAe,EAAE,OAAO,CAAC,mBAAmB,CAAC,EAC7C,sBAAsB,EAAE,OAAO,CAAC,eAAe,CAAC,EAChD,UAAU,GAAE,CACnB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,SAAS,KACb,OAAO,CAAC,KAAK,GAAG,SAAS,CAAY,EACjC,cAAc,GAAE,CACvB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,gBAAgB,KAC3B,OAAO,CAAC,KAAK,EAAE,CAAgB;YAGxB,yBAAyB;IAmDjC,qBAAqB,CACzB,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,MAAM,EACb,WAAW,GAAE,MAAU,GACtB,OAAO,CAAC;QACT,QAAQ,EAAE,gBAAgB,EAAE,CAAC;QAC7B,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IAgEI,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAWxC,gBAAgB,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAqB9C,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAiBrE,iBAAiB,CAAC,OAAO,EAAE,SAAS;IA8BpC,yBAAyB,CAAC,YAAY,EAAE,MAAM;CAKrD"}
|
|
@@ -1,32 +1,17 @@
|
|
|
1
1
|
import { Program } from "@coral-xyz/anchor";
|
|
2
2
|
import { HeliumEntityManager } from "@helium/idls/lib/types/helium_entity_manager";
|
|
3
3
|
import { LazyDistributor } from "@helium/idls/lib/types/lazy_distributor";
|
|
4
|
-
import {
|
|
4
|
+
import { RewardsOracle } from "@helium/idls/lib/types/rewards_oracle";
|
|
5
5
|
import { Keypair, PublicKey } from "@solana/web3.js";
|
|
6
6
|
import { FastifyInstance } from "fastify";
|
|
7
|
-
import {
|
|
8
|
-
export
|
|
9
|
-
getTotalRewards(): Promise<string>;
|
|
10
|
-
getCurrentRewardsByEntity: (entityKey: string) => Promise<string>;
|
|
11
|
-
getCurrentRewards: (asset: PublicKey) => Promise<string>;
|
|
12
|
-
getBulkRewards: (entityKeys: string[]) => Promise<Record<string, string>>;
|
|
13
|
-
getActiveDevices(): Promise<number>;
|
|
14
|
-
}
|
|
15
|
-
export declare class PgDatabase implements Database {
|
|
16
|
-
readonly issuanceProgram: Program<HeliumEntityManager>;
|
|
17
|
-
readonly getAssetFn: (url: string, asset: PublicKey) => Promise<Asset | undefined>;
|
|
18
|
-
constructor(issuanceProgram: Program<HeliumEntityManager>, getAssetFn?: (url: string, asset: PublicKey) => Promise<Asset | undefined>);
|
|
19
|
-
getTotalRewards(): Promise<string>;
|
|
20
|
-
getActiveDevices(): Promise<number>;
|
|
21
|
-
getBulkRewards(entityKeys: string[]): Promise<Record<string, string>>;
|
|
22
|
-
getCurrentRewards(assetId: PublicKey): Promise<string>;
|
|
23
|
-
getCurrentRewardsByEntity(entityKeyStr: string): Promise<string>;
|
|
24
|
-
}
|
|
7
|
+
import { Database } from "./database";
|
|
8
|
+
export * from "./database";
|
|
25
9
|
export declare class OracleServer {
|
|
26
10
|
tuktukProgram: any;
|
|
27
11
|
ldProgram: Program<LazyDistributor>;
|
|
28
12
|
roProgram: Program<RewardsOracle>;
|
|
29
13
|
hemProgram: Program<HeliumEntityManager>;
|
|
14
|
+
hplCronsProgram: any;
|
|
30
15
|
private oracle;
|
|
31
16
|
db: Database;
|
|
32
17
|
readonly lazyDistributor: PublicKey;
|
|
@@ -34,16 +19,19 @@ export declare class OracleServer {
|
|
|
34
19
|
app: FastifyInstance;
|
|
35
20
|
port: number;
|
|
36
21
|
server: string | undefined;
|
|
37
|
-
constructor(tuktukProgram: any, ldProgram: Program<LazyDistributor>, roProgram: Program<RewardsOracle>, hemProgram: Program<HeliumEntityManager>, oracle: Keypair, db: Database, lazyDistributor: PublicKey, dao?: PublicKey);
|
|
22
|
+
constructor(tuktukProgram: any, ldProgram: Program<LazyDistributor>, roProgram: Program<RewardsOracle>, hemProgram: Program<HeliumEntityManager>, hplCronsProgram: any, oracle: Keypair, db: Database, lazyDistributor: PublicKey, dao?: PublicKey);
|
|
38
23
|
start(): Promise<void>;
|
|
39
24
|
close(): Promise<void>;
|
|
40
25
|
private addRoutes;
|
|
26
|
+
private getActiveIotDevicesHandler;
|
|
27
|
+
private getActiveMobileDevicesHandler;
|
|
41
28
|
private getActiveDevicesHandler;
|
|
42
29
|
private getCurrentRewardsHandler;
|
|
43
30
|
private getAllRewardsHandler;
|
|
44
31
|
private signTransaction;
|
|
45
32
|
private signHandler;
|
|
46
|
-
private
|
|
33
|
+
private tuktukKtaHandler;
|
|
34
|
+
private tuktukWalletHandler;
|
|
47
35
|
private signBulkTransactionsHandler;
|
|
48
36
|
private signTransactionHandler;
|
|
49
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/server.ts"],"names":[],"mappings":"AAUA,OAAO,EAML,OAAO,EAER,MAAM,mBAAmB,CAAC;AAS3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/server.ts"],"names":[],"mappings":"AAUA,OAAO,EAML,OAAO,EAER,MAAM,mBAAmB,CAAC;AAS3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAiBtE,OAAO,EAGL,OAAO,EAEP,SAAS,EAIV,MAAM,iBAAiB,CAAC;AACzB,OAAgB,EACd,eAAe,EAGhB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,QAAQ,EAAc,MAAM,YAAY,CAAC;AAIlD,cAAc,YAAY,CAAC;AAG3B,qBAAa,YAAY;IAOd,aAAa,EAAE,GAAG;IAClB,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC;IACnC,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC;IACjC,UAAU,EAAE,OAAO,CAAC,mBAAmB,CAAC;IACxC,eAAe,EAAE,GAAG;IAC3B,OAAO,CAAC,MAAM;IACP,EAAE,EAAE,QAAQ;IACnB,QAAQ,CAAC,eAAe,EAAE,SAAS;IACnC,QAAQ,CAAC,GAAG,EAAE,SAAS;IAdzB,GAAG,EAAE,eAAe,CAAC;IACrB,IAAI,SAAQ;IACZ,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;gBAIlB,aAAa,EAAE,GAAG,EAClB,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,EACnC,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,EACjC,UAAU,EAAE,OAAO,CAAC,mBAAmB,CAAC,EACxC,eAAe,EAAE,GAAG,EACnB,MAAM,EAAE,OAAO,EAChB,EAAE,EAAE,QAAQ,EACV,eAAe,EAAE,SAAS,EAC1B,GAAG,GAAE,SAAe;IA+BlB,KAAK;IAQL,KAAK;IAIlB,OAAO,CAAC,SAAS;YA0CH,0BAA0B;YAa1B,6BAA6B;YAa7B,uBAAuB;YAavB,wBAAwB;YAgDxB,oBAAoB;YAiBpB,eAAe;YAuSf,WAAW;YAgDX,gBAAgB;YAyLhB,mBAAmB;YA6GnB,2BAA2B;YAqC3B,sBAAsB;CAoBrC"}
|
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"registry": "https://registry.npmjs.org/"
|
|
6
6
|
},
|
|
7
7
|
"license": "Apache-2.0",
|
|
8
|
-
"version": "0.9.
|
|
8
|
+
"version": "0.9.32",
|
|
9
9
|
"description": "Oracle server for the lazy distributor",
|
|
10
10
|
"repository": {
|
|
11
11
|
"type": "git",
|
|
@@ -36,16 +36,18 @@
|
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"@coral-xyz/anchor": "^0.28.0",
|
|
38
38
|
"@fastify/cors": "^8.1.1",
|
|
39
|
-
"@helium/account-fetch-cache": "^0.9.
|
|
39
|
+
"@helium/account-fetch-cache": "^0.9.32",
|
|
40
40
|
"@helium/address": "^4.10.2",
|
|
41
|
-
"@helium/helium-entity-manager-sdk": "^0.9.
|
|
42
|
-
"@helium/helium-sub-daos-sdk": "^0.9.
|
|
43
|
-
"@helium/
|
|
44
|
-
"@helium/
|
|
45
|
-
"@helium/
|
|
46
|
-
"@helium/
|
|
47
|
-
"@helium/
|
|
41
|
+
"@helium/helium-entity-manager-sdk": "^0.9.32",
|
|
42
|
+
"@helium/helium-sub-daos-sdk": "^0.9.32",
|
|
43
|
+
"@helium/hpl-crons-sdk": "^0.10.0-alpha.13",
|
|
44
|
+
"@helium/idls": "^0.9.32",
|
|
45
|
+
"@helium/lazy-distributor-sdk": "^0.9.32",
|
|
46
|
+
"@helium/rewards-oracle-sdk": "^0.9.32",
|
|
47
|
+
"@helium/spl-utils": "^0.9.32",
|
|
48
|
+
"@helium/tuktuk-sdk": "^0.0.4",
|
|
48
49
|
"@metaplex-foundation/mpl-bubblegum": "^0.7.0",
|
|
50
|
+
"@solana/spl-memo": "^0.2.5",
|
|
49
51
|
"@solana/spl-token": "^0.3.8",
|
|
50
52
|
"@types/sequelize": "^4.28.14",
|
|
51
53
|
"aws-sdk": "^2.1344.0",
|
|
@@ -73,5 +75,5 @@
|
|
|
73
75
|
"ts-node": "^10.9.1",
|
|
74
76
|
"typescript": "^5.2.2"
|
|
75
77
|
},
|
|
76
|
-
"gitHead": "
|
|
78
|
+
"gitHead": "724e297a0f074fcbd633cbe3ae777ee58663c5d6"
|
|
77
79
|
}
|