@helium/helium-admin-cli 0.11.6 → 0.11.8

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 (40) hide show
  1. package/lib/cjs/close-auto-topoff.js +122 -0
  2. package/lib/cjs/close-auto-topoff.js.map +1 -0
  3. package/lib/cjs/close-legacy-auto-topoff.js +16 -11
  4. package/lib/cjs/close-legacy-auto-topoff.js.map +1 -1
  5. package/lib/cjs/extend-common-lut.js +20 -17
  6. package/lib/cjs/extend-common-lut.js.map +1 -1
  7. package/lib/cjs/issue-service-rewards-nft.js +112 -0
  8. package/lib/cjs/issue-service-rewards-nft.js.map +1 -0
  9. package/lib/cjs/reschedule-all-mini-fanouts.js +3 -5
  10. package/lib/cjs/reschedule-all-mini-fanouts.js.map +1 -1
  11. package/lib/cjs/setup-dc-auto-topoff.js +112 -49
  12. package/lib/cjs/setup-dc-auto-topoff.js.map +1 -1
  13. package/lib/cjs/utils.js +34 -18
  14. package/lib/cjs/utils.js.map +1 -1
  15. package/lib/esm/src/close-auto-topoff.js +81 -0
  16. package/lib/esm/src/close-auto-topoff.js.map +1 -0
  17. package/lib/esm/src/close-legacy-auto-topoff.js +19 -14
  18. package/lib/esm/src/close-legacy-auto-topoff.js.map +1 -1
  19. package/lib/esm/src/extend-common-lut.js +21 -18
  20. package/lib/esm/src/extend-common-lut.js.map +1 -1
  21. package/lib/esm/src/issue-service-rewards-nft.js +71 -0
  22. package/lib/esm/src/issue-service-rewards-nft.js.map +1 -0
  23. package/lib/esm/src/reschedule-all-mini-fanouts.js +3 -5
  24. package/lib/esm/src/reschedule-all-mini-fanouts.js.map +1 -1
  25. package/lib/esm/src/setup-dc-auto-topoff.js +121 -57
  26. package/lib/esm/src/setup-dc-auto-topoff.js.map +1 -1
  27. package/lib/esm/src/utils.js +35 -19
  28. package/lib/esm/src/utils.js.map +1 -1
  29. package/lib/esm/tsconfig.esm.tsbuildinfo +1 -1
  30. package/lib/types/src/close-auto-topoff.d.ts +2 -0
  31. package/lib/types/src/close-auto-topoff.d.ts.map +1 -0
  32. package/lib/types/src/close-legacy-auto-topoff.d.ts.map +1 -1
  33. package/lib/types/src/extend-common-lut.d.ts.map +1 -1
  34. package/lib/types/src/issue-service-rewards-nft.d.ts +2 -0
  35. package/lib/types/src/issue-service-rewards-nft.d.ts.map +1 -0
  36. package/lib/types/src/reschedule-all-mini-fanouts.d.ts.map +1 -1
  37. package/lib/types/src/setup-dc-auto-topoff.d.ts.map +1 -1
  38. package/lib/types/src/utils.d.ts +2 -1
  39. package/lib/types/src/utils.d.ts.map +1 -1
  40. package/package.json +15 -15
@@ -0,0 +1,81 @@
1
+ import * as anchor from "@coral-xyz/anchor";
2
+ import { delegatedDataCreditsKey } from "@helium/data-credits-sdk";
3
+ import { autoTopOffKey, init as initDcAutoTopoff, } from "@helium/dc-auto-top-sdk";
4
+ import { subDaoKey } from "@helium/helium-sub-daos-sdk";
5
+ import { DC_MINT, HNT_MINT, MOBILE_MINT } from "@helium/spl-utils";
6
+ import { createAssociatedTokenAccountIdempotentInstruction, getAssociatedTokenAddressSync, } from "@solana/spl-token";
7
+ import { PublicKey } from "@solana/web3.js";
8
+ import * as multisig from "@sqds/multisig";
9
+ import os from "os";
10
+ import yargs from "yargs/yargs";
11
+ import { sendInstructionsOrSquadsV4 } from "./utils";
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
+ hntMint: {
25
+ type: "string",
26
+ describe: "Pubkey of the HNT token",
27
+ default: HNT_MINT.toBase58(),
28
+ },
29
+ dcMint: {
30
+ type: "string",
31
+ describe: "Pubkey of the Data Credit token",
32
+ default: DC_MINT.toBase58(),
33
+ },
34
+ routerKey: {
35
+ type: "string",
36
+ describe: "The router key for the delegated data credits",
37
+ required: true,
38
+ },
39
+ subDaoMint: {
40
+ type: "string",
41
+ describe: "The sub dao mint for the delegated data credits",
42
+ default: MOBILE_MINT.toBase58(),
43
+ },
44
+ multisig: {
45
+ type: "string",
46
+ describe: "Address of the squads multisig to be authority. If not provided, your wallet will be the authority",
47
+ },
48
+ });
49
+ const argv = await yarg.argv;
50
+ process.env.ANCHOR_WALLET = argv.wallet;
51
+ process.env.ANCHOR_PROVIDER_URL = argv.url;
52
+ anchor.setProvider(anchor.AnchorProvider.local(argv.url));
53
+ const subDaoMint = new PublicKey(argv.subDaoMint);
54
+ const subDao = subDaoKey(subDaoMint)[0];
55
+ const dcMint = new PublicKey(argv.dcMint);
56
+ const provider = anchor.getProvider();
57
+ const dcAutoTopoffProgram = await initDcAutoTopoff(provider);
58
+ let multisigPda = argv.multisig ? new PublicKey(argv.multisig) : null;
59
+ let authority = multisigPda
60
+ ? multisig.getVaultPda({ multisigPda, index: 0 })[0]
61
+ : provider.wallet.publicKey;
62
+ const routerKey = argv.routerKey;
63
+ const delegatedDc = delegatedDataCreditsKey(subDao, routerKey)[0];
64
+ const autoTopOff = autoTopOffKey(delegatedDc, authority)[0];
65
+ const createDcAtaIx = createAssociatedTokenAccountIdempotentInstruction(authority, getAssociatedTokenAddressSync(dcMint, authority, true), authority, dcMint);
66
+ const closeIx = await dcAutoTopoffProgram.methods
67
+ .closeAutoTopOffV0()
68
+ .accountsPartial({
69
+ autoTopOff,
70
+ rentRefund: authority,
71
+ authority,
72
+ })
73
+ .instruction();
74
+ await sendInstructionsOrSquadsV4({
75
+ provider,
76
+ instructions: [createDcAtaIx, closeIx],
77
+ multisig: argv.multisig ? new PublicKey(argv.multisig) : undefined,
78
+ signers: [],
79
+ });
80
+ }
81
+ //# sourceMappingURL=close-auto-topoff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"close-auto-topoff.js","sourceRoot":"","sources":["../../../src/close-auto-topoff.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  import * as anchor from "@coral-xyz/anchor";
2
2
  import { delegatedDataCreditsKey } from "@helium/data-credits-sdk";
3
- import { autoTopOffKey, init as initDcAutoTopoff } from "@helium/dc-auto-top-sdk";
3
+ import { autoTopOffKey, init as initDcAutoTopoff, } from "@helium/dc-auto-top-sdk";
4
4
  import { subDaoKey } from "@helium/helium-sub-daos-sdk";
5
5
  import { DC_MINT, HNT_MINT, MOBILE_MINT } from "@helium/spl-utils";
6
- import { getAssociatedTokenAddressSync } from "@solana/spl-token";
6
+ import { createAssociatedTokenAccountIdempotentInstruction, getAssociatedTokenAddressSync, } from "@solana/spl-token";
7
7
  import { PublicKey } from "@solana/web3.js";
8
- import * as multisig from '@sqds/multisig';
9
8
  import os from "os";
10
9
  import yargs from "yargs/yargs";
11
- import { sendInstructionsOrSquadsV4 } from "./utils";
10
+ import { sendInstructionsOrSquads, } from "./utils";
11
+ import Squads from "@sqds/sdk";
12
12
  export async function run(args = process.argv) {
13
13
  const yarg = yargs(args).options({
14
14
  wallet: {
@@ -42,8 +42,8 @@ export async function run(args = process.argv) {
42
42
  default: MOBILE_MINT.toBase58(),
43
43
  },
44
44
  multisig: {
45
- type: 'string',
46
- describe: 'Address of the squads multisig to be authority. If not provided, your wallet will be the authority',
45
+ type: "string",
46
+ describe: "Address of the squads multisig to be authority. If not provided, your wallet will be the authority",
47
47
  },
48
48
  });
49
49
  const argv = await yarg.argv;
@@ -56,28 +56,33 @@ export async function run(args = process.argv) {
56
56
  const provider = anchor.getProvider();
57
57
  const dcAutoTopoffProgram = await initDcAutoTopoff(provider);
58
58
  let authority = provider.wallet.publicKey;
59
+ const squads = new Squads({
60
+ connection: provider.connection,
61
+ wallet: provider.wallet,
62
+ });
59
63
  let multisigPda = argv.multisig ? new PublicKey(argv.multisig) : null;
60
64
  if (multisigPda) {
61
- const [vaultPda] = multisig.getVaultPda({
62
- multisigPda,
63
- index: 0,
64
- });
65
- authority = vaultPda;
65
+ authority = squads.getAuthorityPDA(multisigPda, 1);
66
66
  }
67
67
  const routerKey = argv.routerKey;
68
68
  const delegatedDc = delegatedDataCreditsKey(subDao, routerKey)[0];
69
69
  const autoTopOff = autoTopOffKey(delegatedDc, authority)[0];
70
- const closeLegacyIx = await dcAutoTopoffProgram.methods.closeLegacyAutoTopOff()
70
+ const createDcAtaIx = createAssociatedTokenAccountIdempotentInstruction(authority, getAssociatedTokenAddressSync(dcMint, authority, true), authority, dcMint);
71
+ const closeLegacyIx = await dcAutoTopoffProgram.methods
72
+ .closeLegacyAutoTopOff()
71
73
  .accounts({
72
74
  delegatedDataCredits: delegatedDc,
73
75
  dcAccount: getAssociatedTokenAddressSync(dcMint, autoTopOff, true),
74
76
  })
75
77
  .instruction();
76
- await sendInstructionsOrSquadsV4({
78
+ await sendInstructionsOrSquads({
77
79
  provider,
78
- instructions: [closeLegacyIx],
80
+ instructions: [createDcAtaIx, closeLegacyIx],
79
81
  multisig: multisigPda,
80
82
  signers: [],
83
+ authorityIndex: 1,
84
+ executeTransaction: false,
85
+ squads,
81
86
  });
82
87
  }
83
88
  //# sourceMappingURL=close-legacy-auto-topoff.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"close-legacy-auto-topoff.js","sourceRoot":"","sources":["../../../src/close-legacy-auto-topoff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"close-legacy-auto-topoff.js","sourceRoot":"","sources":["../../../src/close-legacy-auto-topoff.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import * as anchor from "@coral-xyz/anchor";
2
2
  import { HELIUM_COMMON_LUT, chunks, truthy, withPriorityFees, } from "@helium/spl-utils";
3
3
  import { AddressLookupTableProgram, PublicKey, } from "@solana/web3.js";
4
- import * as multisig from '@sqds/multisig';
5
4
  import os from "os";
6
5
  import yargs from "yargs/yargs";
7
- import { loadKeypair, sendInstructionsOrSquadsV4 } from "./utils";
6
+ import { loadKeypair, sendInstructionsOrSquads, } from "./utils";
7
+ import Squads from "@sqds/sdk";
8
8
  export async function run(args = process.argv) {
9
9
  const yarg = yargs(args).options({
10
10
  wallet: {
@@ -34,34 +34,37 @@ export async function run(args = process.argv) {
34
34
  const provider = anchor.getProvider();
35
35
  const wallet = new anchor.Wallet(loadKeypair(argv.wallet));
36
36
  let authority = provider.wallet.publicKey;
37
+ const squads = new Squads({
38
+ connection: provider.connection,
39
+ wallet: wallet,
40
+ });
37
41
  let multisigPda = argv.multisig ? new PublicKey(argv.multisig) : null;
38
42
  if (multisigPda) {
39
- const [vaultPda] = multisig.getVaultPda({
40
- multisigPda,
41
- index: 0,
42
- });
43
- authority = vaultPda;
43
+ authority = squads.getAuthorityPDA(multisigPda, 1);
44
44
  }
45
45
  const accounts = [
46
- // HNT lazy distributor
47
- // "6gcZXjHgKUBMedc2V1aZLFPwh8M1rPVRw7kpo2KqNrFq",
48
- // HNT Circuit Breaker
49
- // "73zsmmqCXjvHHhNSib26Y8p3jYiH3UUuyKv71RJDnctW",
50
- // HNT Rewards pool
51
- // "BDs6RPnpJNzmuMNv1z8cDh9cxKFgCxEVDaCfoHZWyvqJ",
52
- // TaskQueueAuthorityV0 for welcome-pack
53
- "9hLWFGiit1ZpFHmopyacWqiVx8sQX9U86dnKqtDjkjnL",
54
- // Queue authority for welcome-pack
55
- "3HTSCuJGL8e5zPpf7rMhq42YgA7f3WdF5bm78YQ3HEBK"
46
+ // HNT lazy distributor
47
+ // "6gcZXjHgKUBMedc2V1aZLFPwh8M1rPVRw7kpo2KqNrFq",
48
+ // HNT Circuit Breaker
49
+ // "73zsmmqCXjvHHhNSib26Y8p3jYiH3UUuyKv71RJDnctW",
50
+ // HNT Rewards pool
51
+ // "BDs6RPnpJNzmuMNv1z8cDh9cxKFgCxEVDaCfoHZWyvqJ",
52
+ // TaskQueueAuthorityV0 for welcome-pack
53
+ // "9hLWFGiit1ZpFHmopyacWqiVx8sQX9U86dnKqtDjkjnL",
54
+ // Queue authority for welcome-pack
55
+ // "3HTSCuJGL8e5zPpf7rMhq42YgA7f3WdF5bm78YQ3HEBK"
56
56
  ].map((a) => {
57
57
  return new PublicKey(a);
58
58
  });
59
59
  const lookupTableAddress = new PublicKey(argv.lookupTable);
60
60
  for (const addresses of chunks(accounts, 20)) {
61
- await sendInstructionsOrSquadsV4({
61
+ await sendInstructionsOrSquads({
62
62
  provider,
63
63
  signers: [],
64
64
  multisig: multisigPda,
65
+ authorityIndex: 1,
66
+ executeTransaction: false,
67
+ squads,
65
68
  instructions: await withPriorityFees({
66
69
  connection: provider.connection,
67
70
  computeUnits: 200000,
@@ -1 +1 @@
1
- {"version":3,"file":"extend-common-lut.js","sourceRoot":"","sources":["../../../src/extend-common-lut.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EACL,iBAAiB,EACjB,MAAM,EACN,MAAM,EACN,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAEL,yBAAyB,EACzB,SAAS,GACV,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,KAAK,MAAM,aAAa,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAElE,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,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,QAAQ,EACN,oGAAoG;SACvG;QACD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,qCAAqC;YAC/C,OAAO,EAAE,iBAAiB,CAAC,QAAQ,EAAE;SACtC;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,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3D,IAAI,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;IAC1C,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtE,IAAI,WAAW,EAAE;QACf,MAAM,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC;YACtC,WAAW;YACX,KAAK,EAAE,CAAC;SACT,CAAC,CAAC;QACH,SAAS,GAAG,QAAQ,CAAC;KACtB;IAED,MAAM,QAAQ,GAAG;QACf,uBAAuB;QACvB,kDAAkD;QAClD,sBAAsB;QACtB,kDAAkD;QAClD,mBAAmB;QACnB,kDAAkD;QAClD,wCAAwC;QACxC,8CAA8C;QAC9C,mCAAmC;QACnC,8CAA8C;KAC/C,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACV,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,MAAM,kBAAkB,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3D,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE;QAC5C,MAAM,0BAA0B,CAAC;YAC/B,QAAQ;YACR,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,WAAY;YACtB,YAAY,EAAE,MAAM,gBAAgB,CAAC;gBACnC,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,YAAY,EAAE,MAAM;gBACpB,YAAY,EAAE;oBACZ,yBAAyB,CAAC,iBAAiB,CAAC;wBAC1C,KAAK,EAAE,SAAS;wBAChB,SAAS;wBACT,WAAW,EAAE,kBAAkB;wBAC/B,SAAS,EAAE,SAAS;qBACrB,CAAC;iBACH,CAAC,MAAM,CAAC,MAAM,CAAC;aACjB,CAAC;SACH,CAAC,CAAC;KACJ;IACD,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"extend-common-lut.js","sourceRoot":"","sources":["../../../src/extend-common-lut.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ import * as anchor from "@coral-xyz/anchor";
2
+ import { init as initHem, keyToAssetKey, } from "@helium/helium-entity-manager-sdk";
3
+ import { daoKey, subDaoKey } from "@helium/helium-sub-daos-sdk";
4
+ import { carrierKey, init as initMem } from "@helium/mobile-entity-manager-sdk";
5
+ import { HNT_MINT, MOBILE_MINT } from "@helium/spl-utils";
6
+ import { ComputeBudgetProgram, PublicKey } from "@solana/web3.js";
7
+ import os from "os";
8
+ import yargs from "yargs/yargs";
9
+ export async function run(args = process.argv) {
10
+ const yarg = yargs(args).options({
11
+ wallet: {
12
+ alias: "k",
13
+ describe: "Anchor wallet keypair",
14
+ default: `${os.homedir()}/.config/solana/id.json`,
15
+ },
16
+ url: {
17
+ alias: "u",
18
+ default: "http://127.0.0.1:8899",
19
+ describe: "The solana url",
20
+ },
21
+ hntMint: {
22
+ default: HNT_MINT.toBase58(),
23
+ },
24
+ dntMint: {
25
+ default: MOBILE_MINT.toBase58(),
26
+ describe: "Public Key of the subdao mint",
27
+ type: "string",
28
+ },
29
+ name: {
30
+ alias: "n",
31
+ type: "string",
32
+ required: true,
33
+ describe: "The name of the carrier",
34
+ },
35
+ recipient: {
36
+ describe: "Recipient of the rewardable mapping rewards nft, default to this wallet",
37
+ type: "string",
38
+ required: false,
39
+ },
40
+ });
41
+ const argv = await yarg.argv;
42
+ process.env.ANCHOR_WALLET = argv.wallet;
43
+ process.env.ANCHOR_PROVIDER_URL = argv.url;
44
+ anchor.setProvider(anchor.AnchorProvider.local(argv.url));
45
+ const provider = anchor.getProvider();
46
+ const name = "Helium Mobile Service Rewards";
47
+ const hemProgram = await initHem(provider);
48
+ const memProgram = await initMem(provider);
49
+ const dntMint = new PublicKey(argv.dntMint);
50
+ const subDao = (await subDaoKey(dntMint))[0];
51
+ const carrier = await carrierKey(subDao, argv.name)[0];
52
+ const hntMint = new PublicKey(argv.hntMint);
53
+ const recipient = argv.recipient
54
+ ? new PublicKey(argv.recipient)
55
+ : provider.wallet.publicKey;
56
+ const [keyToAssetK] = keyToAssetKey(daoKey(hntMint)[0], Buffer.from(name, "utf-8"));
57
+ const keyToAsset = await hemProgram.account.keyToAssetV0.fetchNullable(keyToAssetK);
58
+ if (!keyToAsset) {
59
+ console.log("Minting service rewards NFT");
60
+ console.log(await memProgram.methods
61
+ .issueServiceRewardsNftV0({
62
+ metadataUrl: `https://entities.nft.helium.io/Helium%20Mobile%20Service%20Rewards`,
63
+ })
64
+ .preInstructions([
65
+ ComputeBudgetProgram.setComputeUnitLimit({ units: 500000 }),
66
+ ])
67
+ .accountsPartial({ carrier, recipient, keyToAsset: keyToAssetK })
68
+ .rpc({ skipPreflight: false }));
69
+ }
70
+ }
71
+ //# sourceMappingURL=issue-service-rewards-nft.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"issue-service-rewards-nft.js","sourceRoot":"","sources":["../../../src/issue-service-rewards-nft.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EACL,IAAI,IAAI,OAAO,EACf,aAAa,GACd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAClE,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,OAAO,EAAE;YACP,OAAO,EAAE,QAAQ,CAAC,QAAQ,EAAE;SAC7B;QACD,OAAO,EAAE;YACP,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE;YAC/B,QAAQ,EAAE,+BAA+B;YACzC,IAAI,EAAE,QAAQ;SACf;QACD,IAAI,EAAE;YACJ,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,yBAAyB;SACpC;QACD,SAAS,EAAE;YACT,QAAQ,EACN,yEAAyE;YAC3E,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;SAChB;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;IAC1D,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAA2B,CAAC;IAC/D,MAAM,IAAI,GAAG,+BAA+B,CAAC;IAC7C,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,CAAC,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7C,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS;QAC9B,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;QAC/B,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;IAC9B,MAAM,CAAC,WAAW,CAAC,GAAG,aAAa,CACjC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAClB,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAC3B,CAAC;IACF,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,CACpE,WAAW,CACZ,CAAC;IAEF,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CACT,MAAM,UAAU,CAAC,OAAO;aACrB,wBAAwB,CAAC;YACxB,WAAW,EAAE,oEAAoE;SAClF,CAAC;aACD,eAAe,CAAC;YACf,oBAAoB,CAAC,mBAAmB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;SAC5D,CAAC;aACD,eAAe,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;aAChE,GAAG,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CACjC,CAAC;KACH;AACH,CAAC"}
@@ -3,7 +3,6 @@ import { TASK_QUEUE_ID } from "@helium/hpl-crons-sdk";
3
3
  import { init as initMfan } from "@helium/mini-fanout-sdk";
4
4
  import { batchInstructionsToTxsWithPriorityFee, bulkSendTransactions, truthy } from "@helium/spl-utils";
5
5
  import { init as initTuktuk, nextAvailableTaskIds, taskKey } from "@helium/tuktuk-sdk";
6
- import { PublicKey } from "@solana/web3.js";
7
6
  import os from "os";
8
7
  import yargs from "yargs/yargs";
9
8
  import { loadKeypair } from "./utils";
@@ -39,12 +38,11 @@ export async function run(args = process.argv) {
39
38
  console.log(`Processed ${i} mini fanouts`);
40
39
  }
41
40
  const batch = miniFanouts.slice(i, i + batchSize);
42
- await Promise.all(batch.map(async (delegation, j) => {
43
- const miniFanout = batch[j];
41
+ await Promise.all(batch.map(async (miniFanout) => {
44
42
  const nextTask = freeTasks.pop();
45
43
  const nextPreTask = freeTasks.pop();
46
- const nextTaskAcc = miniFanout.account.nextTask.equals(PublicKey.default) ? undefined : await tuktukProgram.account.taskV0.fetchNullable(miniFanout.account.nextTask);
47
- const nextPreTaskAcc = miniFanout.account.nextPreTask.equals(PublicKey.default) ? undefined : await tuktukProgram.account.taskV0.fetchNullable(miniFanout.account.nextPreTask);
44
+ const nextTaskAcc = miniFanout.account.nextTask.equals(program.programId) || miniFanout.account.nextTask.equals(miniFanout.publicKey) ? undefined : await tuktukProgram.account.taskV0.fetchNullable(miniFanout.account.nextTask);
45
+ const nextPreTaskAcc = miniFanout.account.nextPreTask.equals(program.programId) || miniFanout.account.nextPreTask.equals(miniFanout.publicKey) ? undefined : await tuktukProgram.account.taskV0.fetchNullable(miniFanout.account.nextPreTask);
48
46
  instructions.push([
49
47
  nextTaskAcc ? await tuktukProgram.methods.dequeueTaskV0().accounts({
50
48
  task: miniFanout.account.nextTask,
@@ -1 +1 @@
1
- {"version":3,"file":"reschedule-all-mini-fanouts.js","sourceRoot":"","sources":["../../../src/reschedule-all-mini-fanouts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reschedule-all-mini-fanouts.js","sourceRoot":"","sources":["../../../src/reschedule-all-mini-fanouts.ts"],"names":[],"mappings":"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"}