@helium/helium-admin-cli 0.1.1 → 0.1.2

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.
Files changed (37) hide show
  1. package/lib/cjs/close-canopy.js +104 -0
  2. package/lib/cjs/close-canopy.js.map +1 -0
  3. package/lib/cjs/correct-router-dc.js +149 -0
  4. package/lib/cjs/correct-router-dc.js.map +1 -0
  5. package/lib/cjs/issue-iot-operations-fund.js +2 -2
  6. package/lib/cjs/issue-iot-operations-fund.js.map +1 -1
  7. package/lib/cjs/log-router-balance.js +89 -0
  8. package/lib/cjs/log-router-balance.js.map +1 -0
  9. package/lib/cjs/update-aggregator.js +115 -0
  10. package/lib/cjs/update-aggregator.js.map +1 -0
  11. package/lib/cjs/update-delegated-dc-subdao.js +135 -0
  12. package/lib/cjs/update-delegated-dc-subdao.js.map +1 -0
  13. package/lib/esm/src/close-canopy.js +63 -0
  14. package/lib/esm/src/close-canopy.js.map +1 -0
  15. package/lib/esm/src/correct-router-dc.js +108 -0
  16. package/lib/esm/src/correct-router-dc.js.map +1 -0
  17. package/lib/esm/src/issue-iot-operations-fund.js +3 -3
  18. package/lib/esm/src/issue-iot-operations-fund.js.map +1 -1
  19. package/lib/esm/src/log-router-balance.js +48 -0
  20. package/lib/esm/src/log-router-balance.js.map +1 -0
  21. package/lib/esm/src/update-aggregator.js +74 -0
  22. package/lib/esm/src/update-aggregator.js.map +1 -0
  23. package/lib/esm/src/update-delegated-dc-subdao.js +94 -0
  24. package/lib/esm/src/update-delegated-dc-subdao.js.map +1 -0
  25. package/lib/esm/tsconfig.esm.tsbuildinfo +1 -1
  26. package/lib/types/src/close-canopy.d.ts +2 -0
  27. package/lib/types/src/close-canopy.d.ts.map +1 -0
  28. package/lib/types/src/correct-router-dc.d.ts +2 -0
  29. package/lib/types/src/correct-router-dc.d.ts.map +1 -0
  30. package/lib/types/src/issue-iot-operations-fund.d.ts.map +1 -1
  31. package/lib/types/src/log-router-balance.d.ts +2 -0
  32. package/lib/types/src/log-router-balance.d.ts.map +1 -0
  33. package/lib/types/src/update-aggregator.d.ts +2 -0
  34. package/lib/types/src/update-aggregator.d.ts.map +1 -0
  35. package/lib/types/src/update-delegated-dc-subdao.d.ts +2 -0
  36. package/lib/types/src/update-delegated-dc-subdao.d.ts.map +1 -0
  37. package/package.json +11 -11
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.run = void 0;
39
+ const anchor = __importStar(require("@coral-xyz/anchor"));
40
+ const web3_js_1 = require("@solana/web3.js");
41
+ const sdk_1 = __importDefault(require("@sqds/sdk"));
42
+ const os_1 = __importDefault(require("os"));
43
+ const yargs_1 = __importDefault(require("yargs/yargs"));
44
+ const utils_1 = require("./utils");
45
+ const lazy_transactions_sdk_1 = require("@helium/lazy-transactions-sdk");
46
+ function run(args = process.argv) {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ const yarg = (0, yargs_1.default)(args).options({
49
+ wallet: {
50
+ alias: "k",
51
+ describe: "Anchor wallet keypair",
52
+ default: `${os_1.default.homedir()}/.config/solana/id.json`,
53
+ },
54
+ url: {
55
+ alias: "u",
56
+ default: "http://127.0.0.1:8899",
57
+ describe: "The solana url",
58
+ },
59
+ name: {
60
+ required: true,
61
+ type: "string",
62
+ describe: "Lazy dist name",
63
+ },
64
+ executeTransaction: {
65
+ type: "boolean",
66
+ },
67
+ multisig: {
68
+ type: "string",
69
+ describe: "Address of the squads multisig to be authority. If not provided, your wallet will be the authority",
70
+ },
71
+ authorityIndex: {
72
+ type: "number",
73
+ describe: "Authority index for squads. Defaults to 1",
74
+ default: 1,
75
+ },
76
+ });
77
+ const argv = yield yarg.argv;
78
+ process.env.ANCHOR_WALLET = argv.wallet;
79
+ process.env.ANCHOR_PROVIDER_URL = argv.url;
80
+ anchor.setProvider(anchor.AnchorProvider.local(argv.url));
81
+ const provider = anchor.getProvider();
82
+ const program = yield (0, lazy_transactions_sdk_1.init)(provider);
83
+ const instructions = [];
84
+ const lazyTransactions = (0, lazy_transactions_sdk_1.lazyTransactionsKey)(argv.name)[0];
85
+ instructions.push(yield program.methods.closeCanopyV0().accounts({
86
+ lazyTransactions,
87
+ refund: provider.wallet.publicKey
88
+ }).instruction());
89
+ const squads = sdk_1.default.endpoint(process.env.ANCHOR_PROVIDER_URL, provider.wallet, {
90
+ commitmentOrConfig: "finalized",
91
+ });
92
+ yield (0, utils_1.sendInstructionsOrSquads)({
93
+ provider,
94
+ instructions,
95
+ executeTransaction: argv.executeTransaction,
96
+ squads,
97
+ multisig: argv.multisig ? new web3_js_1.PublicKey(argv.multisig) : undefined,
98
+ authorityIndex: argv.authorityIndex,
99
+ signers: [],
100
+ });
101
+ });
102
+ }
103
+ exports.run = run;
104
+ //# sourceMappingURL=close-canopy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"close-canopy.js","sourceRoot":"","sources":["../../src/close-canopy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4C;AAE5C,6CAA4C;AAC5C,oDAA+B;AAC/B,4CAAoB;AACpB,wDAAgC;AAChC,mCAA2E;AAC3E,yEAA0E;AAE1E,SAAsB,GAAG,CAAC,OAAY,OAAO,CAAC,IAAI;;QAChD,MAAM,IAAI,GAAG,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YAC/B,MAAM,EAAE;gBACN,KAAK,EAAE,GAAG;gBACV,QAAQ,EAAE,uBAAuB;gBACjC,OAAO,EAAE,GAAG,YAAE,CAAC,OAAO,EAAE,yBAAyB;aAClD;YACD,GAAG,EAAE;gBACH,KAAK,EAAE,GAAG;gBACV,OAAO,EAAE,uBAAuB;gBAChC,QAAQ,EAAE,gBAAgB;aAC3B;YACD,IAAI,EAAE;gBACJ,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,gBAAgB;aAC3B;YACD,kBAAkB,EAAE;gBAClB,IAAI,EAAE,SAAS;aAChB;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,QAAQ,EACN,oGAAoG;aACvG;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,2CAA2C;gBACrD,OAAO,EAAE,CAAC;aACX;SACF,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC;QAC3C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAA2B,CAAC;QAC/D,MAAM,OAAO,GAAG,MAAM,IAAA,4BAAI,EAAC,QAAQ,CAAC,CAAC;QAErC,MAAM,YAAY,GAAG,EAAE,CAAC;QAExB,MAAM,gBAAgB,GAAG,IAAA,2CAAmB,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,YAAY,CAAC,IAAI,CACf,MAAM,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC;YAC7C,gBAAgB;YAChB,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS;SAClC,CAAC,CAAC,WAAW,EAAE,CACjB,CAAA;QAED,MAAM,MAAM,GAAG,aAAM,CAAC,QAAQ,CAC5B,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAC/B,QAAQ,CAAC,MAAM,EACf;YACE,kBAAkB,EAAE,WAAW;SAChC,CACF,CAAC;QACF,MAAM,IAAA,gCAAwB,EAAC;YAC7B,QAAQ;YACR,YAAY;YACZ,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,MAAM;YACN,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,mBAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YAClE,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,OAAO,EAAE,EAAE;SACZ,CAAC,CAAC;IACL,CAAC;CAAA;AAhED,kBAgEC"}
@@ -0,0 +1,149 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.run = void 0;
39
+ const anchor = __importStar(require("@coral-xyz/anchor"));
40
+ const address_1 = __importDefault(require("@helium/address"));
41
+ const KeyTypes_1 = require("@helium/address/build/KeyTypes");
42
+ const data_credits_sdk_1 = require("@helium/data-credits-sdk");
43
+ const helium_sub_daos_sdk_1 = require("@helium/helium-sub-daos-sdk");
44
+ const spl_utils_1 = require("@helium/spl-utils");
45
+ const spl_token_1 = require("@solana/spl-token");
46
+ const web3_js_1 = require("@solana/web3.js");
47
+ const fs_1 = __importDefault(require("fs"));
48
+ const os_1 = __importDefault(require("os"));
49
+ const yargs_1 = __importDefault(require("yargs/yargs"));
50
+ function run(args = process.argv) {
51
+ return __awaiter(this, void 0, void 0, function* () {
52
+ const yarg = (0, yargs_1.default)(args).options({
53
+ wallet: {
54
+ alias: "k",
55
+ describe: "Anchor wallet keypair",
56
+ default: `${os_1.default.homedir()}/.config/solana/id.json`,
57
+ },
58
+ url: {
59
+ alias: "u",
60
+ default: "http://127.0.0.1:8899",
61
+ describe: "The solana url",
62
+ },
63
+ state: {
64
+ type: "string",
65
+ alias: "s",
66
+ default: "./export.json",
67
+ },
68
+ });
69
+ const argv = yield yarg.argv;
70
+ process.env.ANCHOR_WALLET = argv.wallet;
71
+ process.env.ANCHOR_PROVIDER_URL = argv.url;
72
+ anchor.setProvider(anchor.AnchorProvider.local(argv.url));
73
+ const provider = anchor.getProvider();
74
+ const program = yield (0, data_credits_sdk_1.init)(provider);
75
+ let state = JSON.parse(fs_1.default.readFileSync(argv.state).toString());
76
+ const routers = Object.entries(state.routers);
77
+ const [subdao] = (0, helium_sub_daos_sdk_1.subDaoKey)(spl_utils_1.IOT_MINT);
78
+ for (const [routerKey, { owner }] of routers) {
79
+ const [delegatedDataCreditsK] = (0, data_credits_sdk_1.delegatedDataCreditsKey)(subdao, routerKey);
80
+ const [escrowKey] = (0, data_credits_sdk_1.escrowAccountKey)(delegatedDataCreditsK);
81
+ let amount = BigInt(0);
82
+ try {
83
+ amount = (yield (0, spl_token_1.getAccount)(provider.connection, escrowKey)).amount;
84
+ }
85
+ catch (e) {
86
+ if (!e.toString().includes("TokenAccountNotFoundError")) {
87
+ throw e;
88
+ }
89
+ }
90
+ const ownerBalance = new anchor.BN(amount.toString());
91
+ const ownerIsRouter = owner === routerKey;
92
+ if (!ownerIsRouter) {
93
+ console.log(`Router: ${routerKey}`);
94
+ const account = state.accounts[routerKey];
95
+ if (account) {
96
+ const actualRouterBalance = new anchor.BN(account.dc);
97
+ const toSend = actualRouterBalance.sub(ownerBalance);
98
+ console.log(` Balance is ${ownerBalance}, balance should be ${actualRouterBalance}, difference is ${toSend}`);
99
+ if (actualRouterBalance.gt(ownerBalance)) {
100
+ console.log(` Delegating ${toSend}`);
101
+ const sig = yield program.methods
102
+ .delegateDataCreditsV0({
103
+ amount: toSend,
104
+ routerKey,
105
+ })
106
+ .accounts({
107
+ subDao: subdao,
108
+ dcMint: spl_utils_1.DC_MINT,
109
+ })
110
+ .rpc({ skipPreflight: true });
111
+ console.log(sig);
112
+ }
113
+ // If the router has more than it should have gotten,
114
+ // deduct that from the users data credit balance.
115
+ let negativeBalance = new anchor.BN(0);
116
+ if (toSend.lt(new anchor.BN(0))) {
117
+ negativeBalance = toSend.mul(new anchor.BN(-1));
118
+ }
119
+ const toRefund = ownerBalance.sub(negativeBalance);
120
+ const ownerSolAddr = toSolana(owner);
121
+ if (ownerSolAddr) {
122
+ console.log(` Refunding ${toRefund}`);
123
+ const sig = yield program.methods
124
+ .issueDataCreditsV0({
125
+ amount: toRefund,
126
+ })
127
+ .accounts({
128
+ dcMint: spl_utils_1.DC_MINT,
129
+ to: ownerSolAddr,
130
+ });
131
+ console.log(sig);
132
+ }
133
+ }
134
+ }
135
+ }
136
+ });
137
+ }
138
+ exports.run = run;
139
+ function toSolana(address) {
140
+ try {
141
+ const addr = address_1.default.fromB58(address);
142
+ if (addr.keyType === KeyTypes_1.ED25519_KEY_TYPE)
143
+ return new web3_js_1.PublicKey(addr.publicKey);
144
+ }
145
+ catch (e) {
146
+ return undefined;
147
+ }
148
+ }
149
+ //# sourceMappingURL=correct-router-dc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"correct-router-dc.js","sourceRoot":"","sources":["../../src/correct-router-dc.ts"],"names":[],"mappings":"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"}
@@ -94,16 +94,16 @@ function run(args = process.argv) {
94
94
  const [dao] = (0, helium_sub_daos_sdk_2.daoKey)(hnt);
95
95
  const instructions = [];
96
96
  const daoAcc = yield hsdProgram.account.daoV0.fetch(dao);
97
+ yield (0, spl_utils_1.sendInstructions)(provider, yield (0, spl_utils_1.createMintInstructions)(provider, 0, daoAcc.authority, daoAcc.authority, mint), [mint]);
97
98
  instructions.push(yield hemProgram.methods
98
99
  .issueIotOperationsFundV0()
99
- .preInstructions(yield (0, spl_utils_1.createMintInstructions)(provider, 0, daoAcc.authority, daoAcc.authority, mint))
100
100
  .accounts({
101
101
  dao,
102
102
  recipient: new web3_js_1.PublicKey(argv.recipient),
103
103
  mint: mint.publicKey,
104
104
  authority: daoAcc.authority,
105
105
  })
106
- .signers([mint]));
106
+ .instruction());
107
107
  const squads = sdk_1.default.endpoint(process.env.ANCHOR_PROVIDER_URL, provider.wallet, {
108
108
  commitmentOrConfig: "finalized"
109
109
  });
@@ -1 +1 @@
1
- {"version":3,"file":"issue-iot-operations-fund.js","sourceRoot":"","sources":["../../src/issue-iot-operations-fund.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"issue-iot-operations-fund.js","sourceRoot":"","sources":["../../src/issue-iot-operations-fund.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.run = void 0;
39
+ const anchor = __importStar(require("@coral-xyz/anchor"));
40
+ const data_credits_sdk_1 = require("@helium/data-credits-sdk");
41
+ const helium_sub_daos_sdk_1 = require("@helium/helium-sub-daos-sdk");
42
+ const spl_token_1 = require("@solana/spl-token");
43
+ const web3_js_1 = require("@solana/web3.js");
44
+ const os_1 = __importDefault(require("os"));
45
+ const yargs_1 = __importDefault(require("yargs/yargs"));
46
+ function run(args = process.argv) {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ const yarg = (0, yargs_1.default)(args).options({
49
+ wallet: {
50
+ alias: "k",
51
+ describe: "Anchor wallet keypair",
52
+ default: `${os_1.default.homedir()}/.config/solana/id.json`,
53
+ },
54
+ url: {
55
+ alias: "u",
56
+ default: "http://127.0.0.1:8899",
57
+ describe: "The solana url",
58
+ },
59
+ routerKey: {
60
+ alias: "r",
61
+ type: "string",
62
+ required: true,
63
+ describe: "Router key",
64
+ },
65
+ dntMint: {
66
+ alias: "m",
67
+ type: "string",
68
+ describe: "Mint id of the subdao DNT token",
69
+ required: true,
70
+ },
71
+ });
72
+ const argv = yield yarg.argv;
73
+ process.env.ANCHOR_WALLET = argv.wallet;
74
+ process.env.ANCHOR_PROVIDER_URL = argv.url;
75
+ anchor.setProvider(anchor.AnchorProvider.local(argv.url));
76
+ const provider = anchor.getProvider();
77
+ const dcProgram = yield (0, data_credits_sdk_1.init)(provider);
78
+ const dntMint = new web3_js_1.PublicKey(argv.dntMint);
79
+ const [subdao] = (0, helium_sub_daos_sdk_1.subDaoKey)(dntMint);
80
+ const [delegatedDataCreditsK] = (0, data_credits_sdk_1.delegatedDataCreditsKey)(subdao, argv.routerKey);
81
+ console.log("Delegated data credits key: ", delegatedDataCreditsK.toBase58());
82
+ const delegatedDataCredits = yield dcProgram.account.delegatedDataCreditsV0.fetch(delegatedDataCreditsK);
83
+ console.log(delegatedDataCredits);
84
+ const account = yield (0, spl_token_1.getAccount)(provider.connection, delegatedDataCredits.escrowAccount);
85
+ console.log("Balance: ", account.amount.toString());
86
+ });
87
+ }
88
+ exports.run = run;
89
+ //# sourceMappingURL=log-router-balance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-router-balance.js","sourceRoot":"","sources":["../../src/log-router-balance.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4C;AAC5C,+DAGkC;AAClC,qEAAwD;AAExD,iDAA+C;AAC/C,6CAA4C;AAC5C,4CAAoB;AACpB,wDAAgC;AAEhC,SAAsB,GAAG,CAAC,OAAY,OAAO,CAAC,IAAI;;QAChD,MAAM,IAAI,GAAG,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YAC/B,MAAM,EAAE;gBACN,KAAK,EAAE,GAAG;gBACV,QAAQ,EAAE,uBAAuB;gBACjC,OAAO,EAAE,GAAG,YAAE,CAAC,OAAO,EAAE,yBAAyB;aAClD;YACD,GAAG,EAAE;gBACH,KAAK,EAAE,GAAG;gBACV,OAAO,EAAE,uBAAuB;gBAChC,QAAQ,EAAE,gBAAgB;aAC3B;YACD,SAAS,EAAE;gBACT,KAAK,EAAE,GAAG;gBACV,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,YAAY;aACvB;YACD,OAAO,EAAE;gBACP,KAAK,EAAE,GAAG;gBACV,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,iCAAiC;gBAC3C,QAAQ,EAAE,IAAI;aACf;SACF,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC;QAC3C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAE1D,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAA2B,CAAC;QAC/D,MAAM,SAAS,GAAG,MAAM,IAAA,uBAAI,EAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,mBAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,GAAG,IAAA,+BAAS,EAAC,OAAO,CAAC,CAAA;QAEnC,MAAM,CAAC,qBAAqB,CAAC,GAAG,IAAA,0CAAuB,EAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAChF,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,qBAAqB,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC7E,MAAM,oBAAoB,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;QACjC,MAAM,OAAO,GAAG,MAAM,IAAA,sBAAU,EAAC,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;QAC1F,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IACtD,CAAC;CAAA;AAzCD,kBAyCC"}
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.run = void 0;
39
+ const anchor = __importStar(require("@coral-xyz/anchor"));
40
+ const web3_js_1 = require("@solana/web3.js");
41
+ const sdk_1 = __importDefault(require("@sqds/sdk"));
42
+ const solana_js_1 = require("@switchboard-xyz/solana.js");
43
+ const os_1 = __importDefault(require("os"));
44
+ const yargs_1 = __importDefault(require("yargs/yargs"));
45
+ const utils_1 = require("./utils");
46
+ function run(args = process.argv) {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ const yarg = (0, yargs_1.default)(args).options({
49
+ wallet: {
50
+ alias: "k",
51
+ describe: "Anchor wallet keypair",
52
+ default: `${os_1.default.homedir()}/.config/solana/id.json`,
53
+ },
54
+ url: {
55
+ alias: "u",
56
+ default: "http://127.0.0.1:8899",
57
+ describe: "The solana url",
58
+ },
59
+ executeTransaction: {
60
+ type: "boolean",
61
+ },
62
+ aggregatorKeypair: {
63
+ type: "string",
64
+ describe: "Keypair of the aggregtor",
65
+ },
66
+ switchboardNetwork: {
67
+ type: "string",
68
+ describe: "The switchboard network",
69
+ default: "mainnet-beta",
70
+ },
71
+ multisig: {
72
+ type: "string",
73
+ describe: "Address of the squads multisig to be authority. If not provided, your wallet will be the authority",
74
+ },
75
+ authorityIndex: {
76
+ type: "number",
77
+ describe: "Authority index for squads. Defaults to 1",
78
+ default: 1,
79
+ },
80
+ });
81
+ const argv = yield yarg.argv;
82
+ console.log(argv.url);
83
+ process.env.ANCHOR_WALLET = argv.wallet;
84
+ process.env.ANCHOR_PROVIDER_URL = argv.url;
85
+ anchor.setProvider(anchor.AnchorProvider.local(argv.url));
86
+ const provider = anchor.getProvider();
87
+ const wallet = (0, utils_1.loadKeypair)(argv.wallet);
88
+ const aggKeypair = yield (0, utils_1.loadKeypair)(argv.aggregatorKeypair);
89
+ const switchboard = yield solana_js_1.SwitchboardProgram.load("mainnet-beta", provider.connection, wallet);
90
+ const squads = sdk_1.default.endpoint(process.env.ANCHOR_PROVIDER_URL, provider.wallet, {
91
+ commitmentOrConfig: "finalized",
92
+ });
93
+ let authority = provider.wallet.publicKey;
94
+ let multisig = argv.multisig ? new web3_js_1.PublicKey(argv.multisig) : null;
95
+ if (multisig) {
96
+ authority = squads.getAuthorityPDA(multisig, argv.authorityIndex);
97
+ }
98
+ const [aggregator] = yield solana_js_1.AggregatorAccount.load(switchboard, aggKeypair.publicKey);
99
+ const ix = yield aggregator.setConfigInstruction(authority, {
100
+ batchSize: 6,
101
+ minOracleResults: 5
102
+ });
103
+ yield (0, utils_1.sendInstructionsOrSquads)({
104
+ provider,
105
+ instructions: ix.ixns,
106
+ executeTransaction: argv.executeTransaction,
107
+ squads,
108
+ multisig: argv.multisig ? new web3_js_1.PublicKey(argv.multisig) : undefined,
109
+ authorityIndex: argv.authorityIndex,
110
+ signers: [],
111
+ });
112
+ });
113
+ }
114
+ exports.run = run;
115
+ //# sourceMappingURL=update-aggregator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-aggregator.js","sourceRoot":"","sources":["../../src/update-aggregator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4C;AAC5C,6CAA4C;AAC5C,oDAA+B;AAC/B,0DAAmF;AAEnF,4CAAoB;AACpB,wDAAgC;AAChC,mCAAgE;AAEhE,SAAsB,GAAG,CAAC,OAAY,OAAO,CAAC,IAAI;;QAChD,MAAM,IAAI,GAAG,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YAC/B,MAAM,EAAE;gBACN,KAAK,EAAE,GAAG;gBACV,QAAQ,EAAE,uBAAuB;gBACjC,OAAO,EAAE,GAAG,YAAE,CAAC,OAAO,EAAE,yBAAyB;aAClD;YACD,GAAG,EAAE;gBACH,KAAK,EAAE,GAAG;gBACV,OAAO,EAAE,uBAAuB;gBAChC,QAAQ,EAAE,gBAAgB;aAC3B;YACD,kBAAkB,EAAE;gBAClB,IAAI,EAAE,SAAS;aAChB;YACD,iBAAiB,EAAE;gBACjB,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,0BAA0B;aACrC;YACD,kBAAkB,EAAE;gBAClB,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,yBAAyB;gBACnC,OAAO,EAAE,cAAc;aACxB;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,QAAQ,EACN,oGAAoG;aACvG;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,2CAA2C;gBACrD,OAAO,EAAE,CAAC;aACX;SACF,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC;QAC3C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAE1D,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAA2B,CAAC;QAE/D,MAAM,MAAM,GAAG,IAAA,mBAAW,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,MAAM,IAAA,mBAAW,EAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAE7D,MAAM,WAAW,GAAG,MAAM,8BAAkB,CAAC,IAAI,CAC/C,cAAc,EACd,QAAQ,CAAC,UAAU,EACnB,MAAM,CACP,CAAC;QAEF,MAAM,MAAM,GAAG,aAAM,CAAC,QAAQ,CAC5B,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAC/B,QAAQ,CAAC,MAAM,EACf;YACE,kBAAkB,EAAE,WAAW;SAChC,CACF,CAAC;QACF,IAAI,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;QAE1C,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,mBAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACnE,IAAI,QAAQ,EAAE;YACZ,SAAS,GAAG,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;SACnE;QACD,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,6BAAiB,CAAC,IAAI,CAC/C,WAAW,EACX,UAAU,CAAC,SAAS,CACrB,CAAA;QACD,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,oBAAoB,CAAC,SAAS,EAAE;YAC1D,SAAS,EAAE,CAAC;YACZ,gBAAgB,EAAE,CAAC;SACpB,CAAC,CAAC;QAEH,MAAM,IAAA,gCAAwB,EAAC;YAC7B,QAAQ;YACR,YAAY,EAAE,EAAE,CAAC,IAAI;YACrB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,MAAM;YACN,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,mBAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YAClE,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,OAAO,EAAE,EAAE;SACZ,CAAC,CAAC;IACL,CAAC;CAAA;AAnFD,kBAmFC"}
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.run = void 0;
39
+ const anchor = __importStar(require("@coral-xyz/anchor"));
40
+ const data_credits_sdk_1 = require("@helium/data-credits-sdk");
41
+ const web3_js_1 = require("@solana/web3.js");
42
+ const sdk_1 = __importDefault(require("@sqds/sdk"));
43
+ const bn_js_1 = require("bn.js");
44
+ const os_1 = __importDefault(require("os"));
45
+ const yargs_1 = __importDefault(require("yargs/yargs"));
46
+ const utils_1 = require("./utils");
47
+ const helium_sub_daos_sdk_1 = require("@helium/helium-sub-daos-sdk");
48
+ function run(args = process.argv) {
49
+ return __awaiter(this, void 0, void 0, function* () {
50
+ const yarg = (0, yargs_1.default)(args).options({
51
+ wallet: {
52
+ alias: "k",
53
+ describe: "Anchor wallet keypair",
54
+ default: `${os_1.default.homedir()}/.config/solana/id.json`,
55
+ },
56
+ url: {
57
+ alias: "u",
58
+ default: "http://127.0.0.1:8899",
59
+ describe: "The solana url",
60
+ },
61
+ sourceDntMint: {
62
+ type: "string",
63
+ required: true,
64
+ },
65
+ destinationDntMint: {
66
+ type: "string",
67
+ required: true,
68
+ },
69
+ routerKey: {
70
+ type: "string",
71
+ required: true,
72
+ },
73
+ amount: {
74
+ type: "number",
75
+ required: true,
76
+ },
77
+ executeTransaction: {
78
+ type: "boolean",
79
+ },
80
+ multisig: {
81
+ type: "string",
82
+ describe: "Address of the squads multisig to be authority. If not provided, your wallet will be the authority",
83
+ },
84
+ authorityIndex: {
85
+ type: "number",
86
+ describe: "Authority index for squads. Defaults to 1",
87
+ default: 1,
88
+ },
89
+ });
90
+ const argv = yield yarg.argv;
91
+ process.env.ANCHOR_WALLET = argv.wallet;
92
+ process.env.ANCHOR_PROVIDER_URL = argv.url;
93
+ anchor.setProvider(anchor.AnchorProvider.local(argv.url));
94
+ const provider = anchor.getProvider();
95
+ const program = yield (0, data_credits_sdk_1.init)(provider);
96
+ const hsdProgram = yield (0, helium_sub_daos_sdk_1.init)(provider);
97
+ const instructions = [];
98
+ const sourceSubDao = (0, helium_sub_daos_sdk_1.subDaoKey)(new web3_js_1.PublicKey(argv.sourceDntMint))[0];
99
+ const destinationSubDao = (0, helium_sub_daos_sdk_1.subDaoKey)(new web3_js_1.PublicKey(argv.destinationDntMint))[0];
100
+ const sourceDelegatedDataCredits = (0, data_credits_sdk_1.delegatedDataCreditsKey)(sourceSubDao, argv.routerKey)[0];
101
+ const destinationDelegatedDataCredits = (0, data_credits_sdk_1.delegatedDataCreditsKey)(destinationSubDao, argv.routerKey)[0];
102
+ const subdao = yield hsdProgram.account.subDaoV0.fetch(sourceSubDao);
103
+ const dao = yield hsdProgram.account.daoV0.fetch(subdao.dao);
104
+ const authority = dao.authority;
105
+ const method = yield program.methods
106
+ .changeDelegatedSubDaoV0({
107
+ amount: new bn_js_1.BN(argv.amount),
108
+ routerKey: argv.routerKey,
109
+ })
110
+ .accounts({
111
+ delegatedDataCredits: sourceDelegatedDataCredits,
112
+ destinationDelegatedDataCredits,
113
+ subDao: sourceSubDao,
114
+ destinationSubDao,
115
+ authority
116
+ });
117
+ const { destinationEscrowAccount } = yield method.pubkeys();
118
+ console.log(sourceDelegatedDataCredits.toString(), destinationDelegatedDataCredits.toString());
119
+ instructions.push(yield method.instruction());
120
+ const squads = sdk_1.default.endpoint(process.env.ANCHOR_PROVIDER_URL, provider.wallet, {
121
+ commitmentOrConfig: "finalized",
122
+ });
123
+ yield (0, utils_1.sendInstructionsOrSquads)({
124
+ provider,
125
+ instructions,
126
+ executeTransaction: argv.executeTransaction,
127
+ squads,
128
+ multisig: argv.multisig ? new web3_js_1.PublicKey(argv.multisig) : undefined,
129
+ authorityIndex: argv.authorityIndex,
130
+ signers: [],
131
+ });
132
+ });
133
+ }
134
+ exports.run = run;
135
+ //# sourceMappingURL=update-delegated-dc-subdao.js.map