@helium/helium-admin-cli 0.9.0-alpha.2 → 0.9.0-alpha.3

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.
@@ -0,0 +1,119 @@
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 nft_proxy_sdk_1 = require("@helium/nft-proxy-sdk");
41
+ const spl_utils_1 = require("@helium/spl-utils");
42
+ const voter_stake_registry_sdk_1 = require("@helium/voter-stake-registry-sdk");
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
+ const utils_1 = require("./utils");
47
+ function run(args = process.argv) {
48
+ return __awaiter(this, void 0, void 0, function* () {
49
+ const yarg = (0, yargs_1.default)(args).options({
50
+ wallet: {
51
+ alias: "k",
52
+ describe: "Anchor wallet keypair",
53
+ default: `${os_1.default.homedir()}/.config/solana/id.json`,
54
+ },
55
+ url: {
56
+ alias: "u",
57
+ default: "http://127.0.0.1:8899",
58
+ describe: "The solana url",
59
+ },
60
+ });
61
+ const argv = yield yarg.argv;
62
+ process.env.ANCHOR_WALLET = argv.wallet;
63
+ process.env.ANCHOR_PROVIDER_URL = argv.url;
64
+ anchor.setProvider(anchor.AnchorProvider.local(argv.url));
65
+ const provider = anchor.getProvider();
66
+ const wallet = new anchor.Wallet((0, utils_1.loadKeypair)(argv.wallet));
67
+ const vsrProgram = yield (0, voter_stake_registry_sdk_1.init)(provider);
68
+ const nftProxyProgram = yield (0, nft_proxy_sdk_1.init)(provider);
69
+ const TOTAL_POS = 500;
70
+ let index = 0;
71
+ for (const i of new Array(TOTAL_POS).fill(0)) {
72
+ const mintKeypair = web3_js_1.Keypair.generate();
73
+ const position = (0, voter_stake_registry_sdk_1.positionKey)(mintKeypair.publicKey)[0];
74
+ const instructions = [];
75
+ const kind = { cliff: {} };
76
+ instructions.push(...(yield (0, spl_utils_1.createMintInstructions)(provider, 0, position, position, mintKeypair)));
77
+ const { pubkeys: { positionTokenAccount }, instruction: initPos, } = yield vsrProgram.methods
78
+ .initializePositionV0({
79
+ kind,
80
+ periods: 30,
81
+ })
82
+ .accounts({
83
+ // lock for 6 months
84
+ registrar: (0, voter_stake_registry_sdk_1.getRegistrarKey)(spl_utils_1.HNT_MINT),
85
+ mint: mintKeypair.publicKey,
86
+ depositMint: spl_utils_1.HNT_MINT,
87
+ recipient: wallet.publicKey,
88
+ })
89
+ .prepare();
90
+ instructions.push(initPos);
91
+ // deposit some hnt
92
+ instructions.push(yield vsrProgram.methods
93
+ .depositV0({ amount: new anchor.BN(10000) })
94
+ .accounts({
95
+ registrar: (0, voter_stake_registry_sdk_1.getRegistrarKey)(spl_utils_1.HNT_MINT),
96
+ position,
97
+ mint: spl_utils_1.HNT_MINT,
98
+ })
99
+ .instruction());
100
+ instructions.push(yield nftProxyProgram.methods
101
+ .assignProxyV0({
102
+ expirationTime: new anchor.BN(new Date().valueOf() / 1000 + 10000),
103
+ })
104
+ .accounts({
105
+ proxyConfig: (0, nft_proxy_sdk_1.proxyConfigKey)("Helium V1")[0],
106
+ asset: mintKeypair.publicKey,
107
+ recipient: new web3_js_1.PublicKey("exmrL4U6vk6VFoh3Q7fkrPbjpNLHPYFf1J8bqGypuiK"),
108
+ tokenAccount: positionTokenAccount,
109
+ voter: web3_js_1.PublicKey.default
110
+ })
111
+ .instruction());
112
+ yield (0, spl_utils_1.sendInstructions)(provider, instructions, [mintKeypair]);
113
+ index++;
114
+ console.log(`Sent ${index}/${TOTAL_POS}`);
115
+ }
116
+ });
117
+ }
118
+ exports.run = run;
119
+ //# sourceMappingURL=test-many-proxies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-many-proxies.js","sourceRoot":"","sources":["../../src/test-many-proxies.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4C;AAC5C,yDAA6E;AAC7E,iDAAuF;AACvF,+EAAiG;AACjG,6CAA6E;AAC7E,4CAAoB;AACpB,wDAAgC;AAChC,mCAAsC;AAEtC,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;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,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,IAAA,mBAAW,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,MAAM,IAAA,+BAAO,EAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,eAAe,GAAG,MAAM,IAAA,oBAAY,EAAC,QAAQ,CAAC,CAAC;QAErD,MAAM,SAAS,GAAG,GAAG,CAAC;QACtB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YAC5C,MAAM,WAAW,GAAG,iBAAO,CAAC,QAAQ,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,IAAA,sCAAW,EAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,MAAM,YAAY,GAA6B,EAAE,CAAC;YAClD,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;YAC1B,YAAY,CAAC,IAAI,CACf,GAAG,CAAC,MAAM,IAAA,kCAAsB,EAC9B,QAAQ,EACR,CAAC,EACD,QAAQ,EACR,QAAQ,EACR,WAAW,CACZ,CAAC,CACH,CAAC;YACF,MAAM,EACJ,OAAO,EAAE,EAAE,oBAAoB,EAAE,EACjC,WAAW,EAAE,OAAO,GACrB,GAAG,MAAM,UAAU,CAAC,OAAO;iBACzB,oBAAoB,CAAC;gBACpB,IAAI;gBACJ,OAAO,EAAE,EAAE;aACZ,CAAC;iBACD,QAAQ,CAAC;gBACR,oBAAoB;gBACpB,SAAS,EAAE,IAAA,0CAAe,EAAC,oBAAQ,CAAC;gBACpC,IAAI,EAAE,WAAW,CAAC,SAAS;gBAC3B,WAAW,EAAE,oBAAQ;gBACrB,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B,CAAC;iBACD,OAAO,EAAE,CAAC;YACb,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAE3B,mBAAmB;YACnB,YAAY,CAAC,IAAI,CACf,MAAM,UAAU,CAAC,OAAO;iBACrB,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;iBAC3C,QAAQ,CAAC;gBACR,SAAS,EAAE,IAAA,0CAAe,EAAC,oBAAQ,CAAC;gBACpC,QAAQ;gBACR,IAAI,EAAE,oBAAQ;aACf,CAAC;iBACD,WAAW,EAAE,CACjB,CAAC;YACF,YAAY,CAAC,IAAI,CACf,MAAM,eAAe,CAAC,OAAO;iBAC1B,aAAa,CAAC;gBACb,cAAc,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,GAAG,KAAK,CAAC;aACnE,CAAC;iBACD,QAAQ,CAAC;gBACR,WAAW,EAAE,IAAA,8BAAc,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBAC3C,KAAK,EAAE,WAAW,CAAC,SAAS;gBAC5B,SAAS,EAAE,IAAI,mBAAS,CACtB,6CAA6C,CAC9C;gBACD,YAAY,EAAE,oBAAoB;gBAClC,KAAK,EAAE,mBAAS,CAAC,OAAO;aACzB,CAAC;iBACD,WAAW,EAAE,CACjB,CAAC;YACF,MAAM,IAAA,4BAAgB,EAAC,QAAQ,EAAE,YAAY,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;YAC9D,KAAK,EAAE,CAAC;YACR,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,IAAI,SAAS,EAAE,CAAC,CAAC;SAC3C;IACH,CAAC;CAAA;AAvFD,kBAuFC"}
@@ -0,0 +1,78 @@
1
+ import * as anchor from "@coral-xyz/anchor";
2
+ import { init as initNftProxy, proxyConfigKey } from "@helium/nft-proxy-sdk";
3
+ import { HNT_MINT, createMintInstructions, sendInstructions } from "@helium/spl-utils";
4
+ import { getRegistrarKey, init as initVsr, positionKey } from "@helium/voter-stake-registry-sdk";
5
+ import { Keypair, PublicKey } from "@solana/web3.js";
6
+ import os from "os";
7
+ import yargs from "yargs/yargs";
8
+ import { loadKeypair } from "./utils";
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
+ });
22
+ const argv = await yarg.argv;
23
+ process.env.ANCHOR_WALLET = argv.wallet;
24
+ process.env.ANCHOR_PROVIDER_URL = argv.url;
25
+ anchor.setProvider(anchor.AnchorProvider.local(argv.url));
26
+ const provider = anchor.getProvider();
27
+ const wallet = new anchor.Wallet(loadKeypair(argv.wallet));
28
+ const vsrProgram = await initVsr(provider);
29
+ const nftProxyProgram = await initNftProxy(provider);
30
+ const TOTAL_POS = 500;
31
+ let index = 0;
32
+ for (const i of new Array(TOTAL_POS).fill(0)) {
33
+ const mintKeypair = Keypair.generate();
34
+ const position = positionKey(mintKeypair.publicKey)[0];
35
+ const instructions = [];
36
+ const kind = { cliff: {} };
37
+ instructions.push(...(await createMintInstructions(provider, 0, position, position, mintKeypair)));
38
+ const { pubkeys: { positionTokenAccount }, instruction: initPos, } = await vsrProgram.methods
39
+ .initializePositionV0({
40
+ kind,
41
+ periods: 30,
42
+ })
43
+ .accounts({
44
+ // lock for 6 months
45
+ registrar: getRegistrarKey(HNT_MINT),
46
+ mint: mintKeypair.publicKey,
47
+ depositMint: HNT_MINT,
48
+ recipient: wallet.publicKey,
49
+ })
50
+ .prepare();
51
+ instructions.push(initPos);
52
+ // deposit some hnt
53
+ instructions.push(await vsrProgram.methods
54
+ .depositV0({ amount: new anchor.BN(10000) })
55
+ .accounts({
56
+ registrar: getRegistrarKey(HNT_MINT),
57
+ position,
58
+ mint: HNT_MINT,
59
+ })
60
+ .instruction());
61
+ instructions.push(await nftProxyProgram.methods
62
+ .assignProxyV0({
63
+ expirationTime: new anchor.BN(new Date().valueOf() / 1000 + 10000),
64
+ })
65
+ .accounts({
66
+ proxyConfig: proxyConfigKey("Helium V1")[0],
67
+ asset: mintKeypair.publicKey,
68
+ recipient: new PublicKey("exmrL4U6vk6VFoh3Q7fkrPbjpNLHPYFf1J8bqGypuiK"),
69
+ tokenAccount: positionTokenAccount,
70
+ voter: PublicKey.default
71
+ })
72
+ .instruction());
73
+ await sendInstructions(provider, instructions, [mintKeypair]);
74
+ index++;
75
+ console.log(`Sent ${index}/${TOTAL_POS}`);
76
+ }
77
+ }
78
+ //# sourceMappingURL=test-many-proxies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-many-proxies.js","sourceRoot":"","sources":["../../../src/test-many-proxies.ts"],"names":[],"mappings":"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"}