@helium/helium-admin-cli 0.2.19 → 0.2.21

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.
@@ -46,7 +46,9 @@ const spl_utils_1 = require("@helium/spl-utils");
46
46
  const web3_js_1 = require("@solana/web3.js");
47
47
  const os_1 = __importDefault(require("os"));
48
48
  const yargs_1 = __importDefault(require("yargs/yargs"));
49
+ const bn_js_1 = __importDefault(require("bn.js"));
49
50
  const IOT_OPERATIONS_FUND = 'iot_operations_fund';
51
+ const MAX_CLAIM_AMOUNT = new bn_js_1.default('207020547945205');
50
52
  function run(args = process.argv) {
51
53
  return __awaiter(this, void 0, void 0, function* () {
52
54
  const yarg = (0, yargs_1.default)(args).options({
@@ -94,6 +96,14 @@ function run(args = process.argv) {
94
96
  yield method.rpc({ skipPreflight: true });
95
97
  }
96
98
  const rewards = yield client.getCurrentRewards(lazyProgram, lazyDistributor, assetId);
99
+ const pending = yield client.getPendingRewards(lazyProgram, lazyDistributor, (0, helium_sub_daos_sdk_1.daoKey)(spl_utils_1.HNT_MINT)[0], [IOT_OPERATIONS_FUND], 'utf8');
100
+ // Avoid claiming too much and tripping the breaker
101
+ if (new bn_js_1.default(pending[IOT_OPERATIONS_FUND]).gt(MAX_CLAIM_AMOUNT)) {
102
+ rewards[0].currentRewards = new bn_js_1.default(rewards[0].currentRewards)
103
+ .sub(new bn_js_1.default(pending[IOT_OPERATIONS_FUND]))
104
+ .add(MAX_CLAIM_AMOUNT)
105
+ .toString();
106
+ }
97
107
  const tx = yield client.formTransaction({
98
108
  program: lazyProgram,
99
109
  rewardsOracleProgram: rewardsOracleProgram,
@@ -1 +1 @@
1
- {"version":3,"file":"distribute-iot-operations-fund.js","sourceRoot":"","sources":["../../src/distribute-iot-operations-fund.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"distribute-iot-operations-fund.js","sourceRoot":"","sources":["../../src/distribute-iot-operations-fund.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,9 @@ import { HNT_MINT, IOT_MINT, sendAndConfirmWithRetry } from '@helium/spl-utils';
8
8
  import { PublicKey } from '@solana/web3.js';
9
9
  import os from 'os';
10
10
  import yargs from 'yargs/yargs';
11
+ import BN from 'bn.js';
11
12
  const IOT_OPERATIONS_FUND = 'iot_operations_fund';
13
+ const MAX_CLAIM_AMOUNT = new BN('207020547945205');
12
14
  export async function run(args = process.argv) {
13
15
  const yarg = yargs(args).options({
14
16
  wallet: {
@@ -55,6 +57,14 @@ export async function run(args = process.argv) {
55
57
  await method.rpc({ skipPreflight: true });
56
58
  }
57
59
  const rewards = await client.getCurrentRewards(lazyProgram, lazyDistributor, assetId);
60
+ const pending = await client.getPendingRewards(lazyProgram, lazyDistributor, daoKey(HNT_MINT)[0], [IOT_OPERATIONS_FUND], 'utf8');
61
+ // Avoid claiming too much and tripping the breaker
62
+ if (new BN(pending[IOT_OPERATIONS_FUND]).gt(MAX_CLAIM_AMOUNT)) {
63
+ rewards[0].currentRewards = new BN(rewards[0].currentRewards)
64
+ .sub(new BN(pending[IOT_OPERATIONS_FUND]))
65
+ .add(MAX_CLAIM_AMOUNT)
66
+ .toString();
67
+ }
58
68
  const tx = await client.formTransaction({
59
69
  program: lazyProgram,
60
70
  rewardsOracleProgram: rewardsOracleProgram,
@@ -1 +1 @@
1
- {"version":3,"file":"distribute-iot-operations-fund.js","sourceRoot":"","sources":["../../../src/distribute-iot-operations-fund.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,EACL,IAAI,IAAI,OAAO,EACf,aAAa,GACd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,IAAI,IAAI,QAAQ,EAChB,kBAAkB,EAClB,YAAY,GACb,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,KAAK,MAAM,aAAa,CAAC;AAEhC,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,OAAY,OAAO,CAAC,IAAI;IAChD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;QAC/B,MAAM,EAAE;YACN,KAAK,EAAE,GAAG;YACV,QAAQ,EAAE,uBAAuB;YACjC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,yBAAyB;SAClD;QACD,GAAG,EAAE;YACH,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,uBAAuB;YAChC,QAAQ,EAAE,gBAAgB;SAC3B;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,4BAA4B;YACtC,OAAO,EAAE,QAAQ,CAAC,QAAQ,EAAE;SAC7B;QACD,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,qBAAqB;YAC/B,OAAO,EAAE,QAAQ,CAAC,QAAQ,EAAE;SAC7B;KACF,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC;IAC3C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAE1D,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAA2B,CAAC;IAC/D,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,oBAAoB,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;IAEzD,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,MAAM,CAAC,eAAe,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,GAAG,EAAE,mBAAmB,EAAE,MAAM,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;SACtE,KAAK,CAAC;IAET,MAAM,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAC3D,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE;QAC1D,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,QAAQ,CAAC;YAClE,eAAe;YACf,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;KAC3C;IAED,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAC5C,WAAW,EACX,eAAe,EACf,OAAO,CACR,CAAC;IAEF,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC;QACtC,OAAO,EAAE,WAAW;QACpB,oBAAoB,EAAE,oBAAoB;QAC1C,QAAQ;QACR,OAAO;QACP,KAAK,EAAE,OAAO;QACd,eAAe;KAChB,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IACzD,MAAM,uBAAuB,CAC3B,QAAQ,CAAC,UAAU,EACnB,MAAM,CAAC,SAAS,EAAE,EAClB,EAAE,aAAa,EAAE,IAAI,EAAE,EACvB,WAAW,CACZ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"distribute-iot-operations-fund.js","sourceRoot":"","sources":["../../../src/distribute-iot-operations-fund.ts"],"names":[],"mappings":"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"}