@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 @@
1
+ {"version":3,"file":"update-delegated-dc-subdao.js","sourceRoot":"","sources":["../../src/update-delegated-dc-subdao.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ import * as anchor from "@coral-xyz/anchor";
2
+ import { PublicKey } from "@solana/web3.js";
3
+ import Squads from "@sqds/sdk";
4
+ import os from "os";
5
+ import yargs from "yargs/yargs";
6
+ import { sendInstructionsOrSquads } from "./utils";
7
+ import { init, lazyTransactionsKey } from "@helium/lazy-transactions-sdk";
8
+ export async function run(args = process.argv) {
9
+ const yarg = yargs(args).options({
10
+ wallet: {
11
+ alias: "k",
12
+ describe: "Anchor wallet keypair",
13
+ default: `${os.homedir()}/.config/solana/id.json`,
14
+ },
15
+ url: {
16
+ alias: "u",
17
+ default: "http://127.0.0.1:8899",
18
+ describe: "The solana url",
19
+ },
20
+ name: {
21
+ required: true,
22
+ type: "string",
23
+ describe: "Lazy dist name",
24
+ },
25
+ executeTransaction: {
26
+ type: "boolean",
27
+ },
28
+ multisig: {
29
+ type: "string",
30
+ describe: "Address of the squads multisig to be authority. If not provided, your wallet will be the authority",
31
+ },
32
+ authorityIndex: {
33
+ type: "number",
34
+ describe: "Authority index for squads. Defaults to 1",
35
+ default: 1,
36
+ },
37
+ });
38
+ const argv = await yarg.argv;
39
+ process.env.ANCHOR_WALLET = argv.wallet;
40
+ process.env.ANCHOR_PROVIDER_URL = argv.url;
41
+ anchor.setProvider(anchor.AnchorProvider.local(argv.url));
42
+ const provider = anchor.getProvider();
43
+ const program = await init(provider);
44
+ const instructions = [];
45
+ const lazyTransactions = lazyTransactionsKey(argv.name)[0];
46
+ instructions.push(await program.methods.closeCanopyV0().accounts({
47
+ lazyTransactions,
48
+ refund: provider.wallet.publicKey
49
+ }).instruction());
50
+ const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, provider.wallet, {
51
+ commitmentOrConfig: "finalized",
52
+ });
53
+ await sendInstructionsOrSquads({
54
+ provider,
55
+ instructions,
56
+ executeTransaction: argv.executeTransaction,
57
+ squads,
58
+ multisig: argv.multisig ? new PublicKey(argv.multisig) : undefined,
59
+ authorityIndex: argv.authorityIndex,
60
+ signers: [],
61
+ });
62
+ }
63
+ //# sourceMappingURL=close-canopy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"close-canopy.js","sourceRoot":"","sources":["../../../src/close-canopy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,KAAK,MAAM,aAAa,CAAC;AAChC,OAAO,EAA0B,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAE1E,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,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,gBAAgB;SAC3B;QACD,kBAAkB,EAAE;YAClB,IAAI,EAAE,SAAS;SAChB;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,QAAQ,EACN,oGAAoG;SACvG;QACD,cAAc,EAAE;YACd,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,2CAA2C;YACrD,OAAO,EAAE,CAAC;SACX;KACF,CAAC,CAAC;IACH,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;IAC1D,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAA2B,CAAC;IAC/D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;IAErC,MAAM,YAAY,GAAG,EAAE,CAAC;IAExB,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,YAAY,CAAC,IAAI,CACf,MAAM,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC;QAC7C,gBAAgB;QAChB,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS;KAClC,CAAC,CAAC,WAAW,EAAE,CACjB,CAAA;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAC5B,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAC/B,QAAQ,CAAC,MAAM,EACf;QACE,kBAAkB,EAAE,WAAW;KAChC,CACF,CAAC;IACF,MAAM,wBAAwB,CAAC;QAC7B,QAAQ;QACR,YAAY;QACZ,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;QAC3C,MAAM;QACN,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;QAClE,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,OAAO,EAAE,EAAE;KACZ,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,108 @@
1
+ import * as anchor from "@coral-xyz/anchor";
2
+ import Address from "@helium/address";
3
+ import { ED25519_KEY_TYPE } from "@helium/address/build/KeyTypes";
4
+ import { delegatedDataCreditsKey, escrowAccountKey, init as initDataCredits, } from "@helium/data-credits-sdk";
5
+ import { subDaoKey } from "@helium/helium-sub-daos-sdk";
6
+ import { DC_MINT, IOT_MINT } from "@helium/spl-utils";
7
+ import { getAccount, } from "@solana/spl-token";
8
+ import { PublicKey } from "@solana/web3.js";
9
+ import fs from "fs";
10
+ import os from "os";
11
+ import yargs from "yargs/yargs";
12
+ export async function run(args = process.argv) {
13
+ const yarg = yargs(args).options({
14
+ wallet: {
15
+ alias: "k",
16
+ describe: "Anchor wallet keypair",
17
+ default: `${os.homedir()}/.config/solana/id.json`,
18
+ },
19
+ url: {
20
+ alias: "u",
21
+ default: "http://127.0.0.1:8899",
22
+ describe: "The solana url",
23
+ },
24
+ state: {
25
+ type: "string",
26
+ alias: "s",
27
+ default: "./export.json",
28
+ },
29
+ });
30
+ const argv = await yarg.argv;
31
+ process.env.ANCHOR_WALLET = argv.wallet;
32
+ process.env.ANCHOR_PROVIDER_URL = argv.url;
33
+ anchor.setProvider(anchor.AnchorProvider.local(argv.url));
34
+ const provider = anchor.getProvider();
35
+ const program = await initDataCredits(provider);
36
+ let state = JSON.parse(fs.readFileSync(argv.state).toString());
37
+ const routers = Object.entries(state.routers);
38
+ const [subdao] = subDaoKey(IOT_MINT);
39
+ for (const [routerKey, { owner }] of routers) {
40
+ const [delegatedDataCreditsK] = delegatedDataCreditsKey(subdao, routerKey);
41
+ const [escrowKey] = escrowAccountKey(delegatedDataCreditsK);
42
+ let amount = BigInt(0);
43
+ try {
44
+ amount = (await getAccount(provider.connection, escrowKey)).amount;
45
+ }
46
+ catch (e) {
47
+ if (!e.toString().includes("TokenAccountNotFoundError")) {
48
+ throw e;
49
+ }
50
+ }
51
+ const ownerBalance = new anchor.BN(amount.toString());
52
+ const ownerIsRouter = owner === routerKey;
53
+ if (!ownerIsRouter) {
54
+ console.log(`Router: ${routerKey}`);
55
+ const account = state.accounts[routerKey];
56
+ if (account) {
57
+ const actualRouterBalance = new anchor.BN(account.dc);
58
+ const toSend = actualRouterBalance.sub(ownerBalance);
59
+ console.log(` Balance is ${ownerBalance}, balance should be ${actualRouterBalance}, difference is ${toSend}`);
60
+ if (actualRouterBalance.gt(ownerBalance)) {
61
+ console.log(` Delegating ${toSend}`);
62
+ const sig = await program.methods
63
+ .delegateDataCreditsV0({
64
+ amount: toSend,
65
+ routerKey,
66
+ })
67
+ .accounts({
68
+ subDao: subdao,
69
+ dcMint: DC_MINT,
70
+ })
71
+ .rpc({ skipPreflight: true });
72
+ console.log(sig);
73
+ }
74
+ // If the router has more than it should have gotten,
75
+ // deduct that from the users data credit balance.
76
+ let negativeBalance = new anchor.BN(0);
77
+ if (toSend.lt(new anchor.BN(0))) {
78
+ negativeBalance = toSend.mul(new anchor.BN(-1));
79
+ }
80
+ const toRefund = ownerBalance.sub(negativeBalance);
81
+ const ownerSolAddr = toSolana(owner);
82
+ if (ownerSolAddr) {
83
+ console.log(` Refunding ${toRefund}`);
84
+ const sig = await program.methods
85
+ .issueDataCreditsV0({
86
+ amount: toRefund,
87
+ })
88
+ .accounts({
89
+ dcMint: DC_MINT,
90
+ to: ownerSolAddr,
91
+ });
92
+ console.log(sig);
93
+ }
94
+ }
95
+ }
96
+ }
97
+ }
98
+ function toSolana(address) {
99
+ try {
100
+ const addr = Address.fromB58(address);
101
+ if (addr.keyType === ED25519_KEY_TYPE)
102
+ return new PublicKey(addr.publicKey);
103
+ }
104
+ catch (e) {
105
+ return undefined;
106
+ }
107
+ }
108
+ //# 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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"}
@@ -2,7 +2,7 @@ import * as anchor from "@coral-xyz/anchor";
2
2
  import { init } from "@helium/helium-entity-manager-sdk";
3
3
  import { init as initHsd } from "@helium/helium-sub-daos-sdk";
4
4
  import { daoKey } from "@helium/helium-sub-daos-sdk";
5
- import { createMintInstructions } from "@helium/spl-utils";
5
+ import { createMintInstructions, sendInstructions } from "@helium/spl-utils";
6
6
  import { PublicKey, Keypair } from "@solana/web3.js";
7
7
  import Squads from "@sqds/sdk";
8
8
  import os from "os";
@@ -55,16 +55,16 @@ export async function run(args = process.argv) {
55
55
  const [dao] = daoKey(hnt);
56
56
  const instructions = [];
57
57
  const daoAcc = await hsdProgram.account.daoV0.fetch(dao);
58
+ await sendInstructions(provider, await createMintInstructions(provider, 0, daoAcc.authority, daoAcc.authority, mint), [mint]);
58
59
  instructions.push(await hemProgram.methods
59
60
  .issueIotOperationsFundV0()
60
- .preInstructions(await createMintInstructions(provider, 0, daoAcc.authority, daoAcc.authority, mint))
61
61
  .accounts({
62
62
  dao,
63
63
  recipient: new PublicKey(argv.recipient),
64
64
  mint: mint.publicKey,
65
65
  authority: daoAcc.authority,
66
66
  })
67
- .signers([mint]));
67
+ .instruction());
68
68
  const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, provider.wallet, {
69
69
  commitmentOrConfig: "finalized"
70
70
  });
@@ -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,48 @@
1
+ import * as anchor from "@coral-xyz/anchor";
2
+ import { delegatedDataCreditsKey, init, } from "@helium/data-credits-sdk";
3
+ import { subDaoKey } from "@helium/helium-sub-daos-sdk";
4
+ import { getAccount } from "@solana/spl-token";
5
+ import { PublicKey } from "@solana/web3.js";
6
+ import os from "os";
7
+ import yargs from "yargs/yargs";
8
+ export async function run(args = process.argv) {
9
+ const yarg = yargs(args).options({
10
+ wallet: {
11
+ alias: "k",
12
+ describe: "Anchor wallet keypair",
13
+ default: `${os.homedir()}/.config/solana/id.json`,
14
+ },
15
+ url: {
16
+ alias: "u",
17
+ default: "http://127.0.0.1:8899",
18
+ describe: "The solana url",
19
+ },
20
+ routerKey: {
21
+ alias: "r",
22
+ type: "string",
23
+ required: true,
24
+ describe: "Router key",
25
+ },
26
+ dntMint: {
27
+ alias: "m",
28
+ type: "string",
29
+ describe: "Mint id of the subdao DNT token",
30
+ required: true,
31
+ },
32
+ });
33
+ const argv = await yarg.argv;
34
+ process.env.ANCHOR_WALLET = argv.wallet;
35
+ process.env.ANCHOR_PROVIDER_URL = argv.url;
36
+ anchor.setProvider(anchor.AnchorProvider.local(argv.url));
37
+ const provider = anchor.getProvider();
38
+ const dcProgram = await init(provider);
39
+ const dntMint = new PublicKey(argv.dntMint);
40
+ const [subdao] = subDaoKey(dntMint);
41
+ const [delegatedDataCreditsK] = delegatedDataCreditsKey(subdao, argv.routerKey);
42
+ console.log("Delegated data credits key: ", delegatedDataCreditsK.toBase58());
43
+ const delegatedDataCredits = await dcProgram.account.delegatedDataCreditsV0.fetch(delegatedDataCreditsK);
44
+ console.log(delegatedDataCredits);
45
+ const account = await getAccount(provider.connection, delegatedDataCredits.escrowAccount);
46
+ console.log("Balance: ", account.amount.toString());
47
+ }
48
+ //# 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,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EACL,uBAAuB,EACvB,IAAI,GACL,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAExD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,KAAK,MAAM,aAAa,CAAC;AAEhC,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,SAAS,EAAE;YACT,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,YAAY;SACvB;QACD,OAAO,EAAE;YACP,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,iCAAiC;YAC3C,QAAQ,EAAE,IAAI;SACf;KACF,CAAC,CAAC;IACH,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,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;IAEnC,MAAM,CAAC,qBAAqB,CAAC,GAAG,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAChF,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,qBAAqB,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC7E,MAAM,oBAAoB,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;IACjC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC1F,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;AACtD,CAAC"}
@@ -0,0 +1,74 @@
1
+ import * as anchor from "@coral-xyz/anchor";
2
+ import { PublicKey } from "@solana/web3.js";
3
+ import Squads from "@sqds/sdk";
4
+ import { AggregatorAccount, SwitchboardProgram } from "@switchboard-xyz/solana.js";
5
+ import os from "os";
6
+ import yargs from "yargs/yargs";
7
+ import { loadKeypair, sendInstructionsOrSquads } from "./utils";
8
+ export async function run(args = process.argv) {
9
+ const yarg = yargs(args).options({
10
+ wallet: {
11
+ alias: "k",
12
+ describe: "Anchor wallet keypair",
13
+ default: `${os.homedir()}/.config/solana/id.json`,
14
+ },
15
+ url: {
16
+ alias: "u",
17
+ default: "http://127.0.0.1:8899",
18
+ describe: "The solana url",
19
+ },
20
+ executeTransaction: {
21
+ type: "boolean",
22
+ },
23
+ aggregatorKeypair: {
24
+ type: "string",
25
+ describe: "Keypair of the aggregtor",
26
+ },
27
+ switchboardNetwork: {
28
+ type: "string",
29
+ describe: "The switchboard network",
30
+ default: "mainnet-beta",
31
+ },
32
+ multisig: {
33
+ type: "string",
34
+ describe: "Address of the squads multisig to be authority. If not provided, your wallet will be the authority",
35
+ },
36
+ authorityIndex: {
37
+ type: "number",
38
+ describe: "Authority index for squads. Defaults to 1",
39
+ default: 1,
40
+ },
41
+ });
42
+ const argv = await yarg.argv;
43
+ console.log(argv.url);
44
+ process.env.ANCHOR_WALLET = argv.wallet;
45
+ process.env.ANCHOR_PROVIDER_URL = argv.url;
46
+ anchor.setProvider(anchor.AnchorProvider.local(argv.url));
47
+ const provider = anchor.getProvider();
48
+ const wallet = loadKeypair(argv.wallet);
49
+ const aggKeypair = await loadKeypair(argv.aggregatorKeypair);
50
+ const switchboard = await SwitchboardProgram.load("mainnet-beta", provider.connection, wallet);
51
+ const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, provider.wallet, {
52
+ commitmentOrConfig: "finalized",
53
+ });
54
+ let authority = provider.wallet.publicKey;
55
+ let multisig = argv.multisig ? new PublicKey(argv.multisig) : null;
56
+ if (multisig) {
57
+ authority = squads.getAuthorityPDA(multisig, argv.authorityIndex);
58
+ }
59
+ const [aggregator] = await AggregatorAccount.load(switchboard, aggKeypair.publicKey);
60
+ const ix = await aggregator.setConfigInstruction(authority, {
61
+ batchSize: 6,
62
+ minOracleResults: 5
63
+ });
64
+ await sendInstructionsOrSquads({
65
+ provider,
66
+ instructions: ix.ixns,
67
+ executeTransaction: argv.executeTransaction,
68
+ squads,
69
+ multisig: argv.multisig ? new PublicKey(argv.multisig) : undefined,
70
+ authorityIndex: argv.authorityIndex,
71
+ signers: [],
72
+ });
73
+ }
74
+ //# sourceMappingURL=update-aggregator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-aggregator.js","sourceRoot":"","sources":["../../../src/update-aggregator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,94 @@
1
+ import * as anchor from "@coral-xyz/anchor";
2
+ import { delegatedDataCreditsKey, init as initDc, } from "@helium/data-credits-sdk";
3
+ import { PublicKey } from "@solana/web3.js";
4
+ import Squads from "@sqds/sdk";
5
+ import { BN } from "bn.js";
6
+ import os from "os";
7
+ import yargs from "yargs/yargs";
8
+ import { sendInstructionsOrSquads } from "./utils";
9
+ import { subDaoKey, init as initHsd } from "@helium/helium-sub-daos-sdk";
10
+ export async function run(args = process.argv) {
11
+ const yarg = yargs(args).options({
12
+ wallet: {
13
+ alias: "k",
14
+ describe: "Anchor wallet keypair",
15
+ default: `${os.homedir()}/.config/solana/id.json`,
16
+ },
17
+ url: {
18
+ alias: "u",
19
+ default: "http://127.0.0.1:8899",
20
+ describe: "The solana url",
21
+ },
22
+ sourceDntMint: {
23
+ type: "string",
24
+ required: true,
25
+ },
26
+ destinationDntMint: {
27
+ type: "string",
28
+ required: true,
29
+ },
30
+ routerKey: {
31
+ type: "string",
32
+ required: true,
33
+ },
34
+ amount: {
35
+ type: "number",
36
+ required: true,
37
+ },
38
+ executeTransaction: {
39
+ type: "boolean",
40
+ },
41
+ multisig: {
42
+ type: "string",
43
+ describe: "Address of the squads multisig to be authority. If not provided, your wallet will be the authority",
44
+ },
45
+ authorityIndex: {
46
+ type: "number",
47
+ describe: "Authority index for squads. Defaults to 1",
48
+ default: 1,
49
+ },
50
+ });
51
+ const argv = await yarg.argv;
52
+ process.env.ANCHOR_WALLET = argv.wallet;
53
+ process.env.ANCHOR_PROVIDER_URL = argv.url;
54
+ anchor.setProvider(anchor.AnchorProvider.local(argv.url));
55
+ const provider = anchor.getProvider();
56
+ const program = await initDc(provider);
57
+ const hsdProgram = await initHsd(provider);
58
+ const instructions = [];
59
+ const sourceSubDao = subDaoKey(new PublicKey(argv.sourceDntMint))[0];
60
+ const destinationSubDao = subDaoKey(new PublicKey(argv.destinationDntMint))[0];
61
+ const sourceDelegatedDataCredits = delegatedDataCreditsKey(sourceSubDao, argv.routerKey)[0];
62
+ const destinationDelegatedDataCredits = delegatedDataCreditsKey(destinationSubDao, argv.routerKey)[0];
63
+ const subdao = await hsdProgram.account.subDaoV0.fetch(sourceSubDao);
64
+ const dao = await hsdProgram.account.daoV0.fetch(subdao.dao);
65
+ const authority = dao.authority;
66
+ const method = await program.methods
67
+ .changeDelegatedSubDaoV0({
68
+ amount: new BN(argv.amount),
69
+ routerKey: argv.routerKey,
70
+ })
71
+ .accounts({
72
+ delegatedDataCredits: sourceDelegatedDataCredits,
73
+ destinationDelegatedDataCredits,
74
+ subDao: sourceSubDao,
75
+ destinationSubDao,
76
+ authority
77
+ });
78
+ const { destinationEscrowAccount } = await method.pubkeys();
79
+ console.log(sourceDelegatedDataCredits.toString(), destinationDelegatedDataCredits.toString());
80
+ instructions.push(await method.instruction());
81
+ const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, provider.wallet, {
82
+ commitmentOrConfig: "finalized",
83
+ });
84
+ await sendInstructionsOrSquads({
85
+ provider,
86
+ instructions,
87
+ executeTransaction: argv.executeTransaction,
88
+ squads,
89
+ multisig: argv.multisig ? new PublicKey(argv.multisig) : undefined,
90
+ authorityIndex: argv.authorityIndex,
91
+ signers: [],
92
+ });
93
+ }
94
+ //# sourceMappingURL=update-delegated-dc-subdao.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-delegated-dc-subdao.js","sourceRoot":"","sources":["../../../src/update-delegated-dc-subdao.ts"],"names":[],"mappings":"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"}