@helium/helium-admin-cli 0.11.17 → 0.11.19
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.
- package/lib/cjs/close-council-fanout.js +142 -0
- package/lib/cjs/close-council-fanout.js.map +1 -0
- package/lib/cjs/create-council-fanout.js +69 -14
- package/lib/cjs/create-council-fanout.js.map +1 -1
- package/lib/cjs/end-epoch.js +34 -2
- package/lib/cjs/end-epoch.js.map +1 -1
- package/lib/cjs/hip149.js +13 -0
- package/lib/cjs/hip149.js.map +1 -0
- package/lib/cjs/mini-fanout-utils.js +57 -0
- package/lib/cjs/mini-fanout-utils.js.map +1 -0
- package/lib/cjs/queue-hotspot-claims.js +2 -6
- package/lib/cjs/queue-hotspot-claims.js.map +1 -1
- package/lib/cjs/queue-position-claims.js +1 -3
- package/lib/cjs/queue-position-claims.js.map +1 -1
- package/lib/cjs/requeue-hotspot-claims.js +1 -3
- package/lib/cjs/requeue-hotspot-claims.js.map +1 -1
- package/lib/cjs/reschedule-all-mini-fanouts.js +38 -14
- package/lib/cjs/reschedule-all-mini-fanouts.js.map +1 -1
- package/lib/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/cjs/update-council-fanout.js +177 -0
- package/lib/cjs/update-council-fanout.js.map +1 -0
- package/lib/cjs/update-data-credits.js +12 -12
- package/lib/esm/src/close-council-fanout.js +92 -0
- package/lib/esm/src/close-council-fanout.js.map +1 -0
- package/lib/esm/src/create-council-fanout.js +69 -14
- package/lib/esm/src/create-council-fanout.js.map +1 -1
- package/lib/esm/src/end-epoch.js +35 -3
- package/lib/esm/src/end-epoch.js.map +1 -1
- package/lib/esm/src/hip149.js +10 -0
- package/lib/esm/src/hip149.js.map +1 -0
- package/lib/esm/src/mini-fanout-utils.js +40 -0
- package/lib/esm/src/mini-fanout-utils.js.map +1 -0
- package/lib/esm/src/queue-hotspot-claims.js +2 -6
- package/lib/esm/src/queue-hotspot-claims.js.map +1 -1
- package/lib/esm/src/queue-position-claims.js +1 -3
- package/lib/esm/src/queue-position-claims.js.map +1 -1
- package/lib/esm/src/requeue-hotspot-claims.js +1 -3
- package/lib/esm/src/requeue-hotspot-claims.js.map +1 -1
- package/lib/esm/src/reschedule-all-mini-fanouts.js +39 -15
- package/lib/esm/src/reschedule-all-mini-fanouts.js.map +1 -1
- package/lib/esm/src/update-council-fanout.js +126 -0
- package/lib/esm/src/update-council-fanout.js.map +1 -0
- package/lib/esm/src/update-data-credits.js +18 -18
- package/lib/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/lib/types/src/close-council-fanout.d.ts +2 -0
- package/lib/types/src/close-council-fanout.d.ts.map +1 -0
- package/lib/types/src/create-council-fanout.d.ts.map +1 -1
- package/lib/types/src/end-epoch.d.ts.map +1 -1
- package/lib/types/src/hip149.d.ts +4 -0
- package/lib/types/src/hip149.d.ts.map +1 -0
- package/lib/types/src/mini-fanout-utils.d.ts +25 -0
- package/lib/types/src/mini-fanout-utils.d.ts.map +1 -0
- package/lib/types/src/queue-hotspot-claims.d.ts.map +1 -1
- package/lib/types/src/queue-position-claims.d.ts.map +1 -1
- package/lib/types/src/requeue-hotspot-claims.d.ts.map +1 -1
- package/lib/types/src/reschedule-all-mini-fanouts.d.ts.map +1 -1
- package/lib/types/src/update-council-fanout.d.ts +2 -0
- package/lib/types/src/update-council-fanout.d.ts.map +1 -0
- package/package.json +22 -22
|
@@ -0,0 +1,142 @@
|
|
|
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 () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
45
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
46
|
+
};
|
|
47
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
|
+
exports.run = run;
|
|
49
|
+
const anchor = __importStar(require("@coral-xyz/anchor"));
|
|
50
|
+
const mini_fanout_sdk_1 = require("@helium/mini-fanout-sdk");
|
|
51
|
+
const tuktuk_sdk_1 = require("@helium/tuktuk-sdk");
|
|
52
|
+
const spl_token_1 = require("@solana/spl-token");
|
|
53
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
54
|
+
const os_1 = __importDefault(require("os"));
|
|
55
|
+
const yargs_1 = __importDefault(require("yargs/yargs"));
|
|
56
|
+
const mini_fanout_utils_1 = require("./mini-fanout-utils");
|
|
57
|
+
const utils_1 = require("./utils");
|
|
58
|
+
// HIP 149 Decision 4: permanently stop and reclaim the Advisory Council
|
|
59
|
+
// compensation fanout created by create-council-fanout.ts. Closing:
|
|
60
|
+
// - sweeps any HNT still sitting in the fanout's own token account to the
|
|
61
|
+
// owner's HNT ATA (creating it if needed);
|
|
62
|
+
// - dequeues whatever distribution task is currently scheduled;
|
|
63
|
+
// - closes the fanout account itself, refunding its rent to `rent_refund`
|
|
64
|
+
// (the address recorded at creation time — see the fanout's own
|
|
65
|
+
// `rentRefund` field, not necessarily the current owner).
|
|
66
|
+
//
|
|
67
|
+
// This is a one-way operation: there is no "un-close". If the intent is only
|
|
68
|
+
// to change members, the schedule, or pause temporarily, use
|
|
69
|
+
// update-council-fanout.ts instead.
|
|
70
|
+
//
|
|
71
|
+
// The fanout's `owner` (the governance multisig vault) must sign this. Pass
|
|
72
|
+
// `--multisig <governance multisig address>` to route it through Squads V4 as
|
|
73
|
+
// a proposal instead of trying to send it directly.
|
|
74
|
+
//
|
|
75
|
+
// This instruction bakes in the fanout's *current* next_task/next_pre_task
|
|
76
|
+
// (has_one-checked on-chain) at build time, which can go stale while a Squads
|
|
77
|
+
// proposal sits waiting for approval -- the cron can self-reschedule to a new
|
|
78
|
+
// next_task in the meantime. That makes execution fail on-chain (has_one
|
|
79
|
+
// mismatch) rather than corrupt anything, but the proposal is then
|
|
80
|
+
// permanently dead and must be rebuilt. Get proposals approved promptly; if
|
|
81
|
+
// one sits for a while, re-run this script and re-propose.
|
|
82
|
+
function run() {
|
|
83
|
+
return __awaiter(this, arguments, void 0, function* (args = process.argv) {
|
|
84
|
+
const yarg = (0, yargs_1.default)(args).options({
|
|
85
|
+
wallet: {
|
|
86
|
+
alias: "k",
|
|
87
|
+
describe: "Anchor wallet keypair (payer; proposer if using --multisig)",
|
|
88
|
+
default: `${os_1.default.homedir()}/.config/solana/id.json`,
|
|
89
|
+
},
|
|
90
|
+
url: {
|
|
91
|
+
alias: "u",
|
|
92
|
+
default: "http://127.0.0.1:8899",
|
|
93
|
+
describe: "The solana url",
|
|
94
|
+
},
|
|
95
|
+
miniFanout: {
|
|
96
|
+
type: "string",
|
|
97
|
+
required: true,
|
|
98
|
+
describe: "Address of the mini fanout to close",
|
|
99
|
+
},
|
|
100
|
+
multisig: {
|
|
101
|
+
type: "string",
|
|
102
|
+
describe: "Address of the squads multisig to propose through. Required in practice, since the fanout owner is the governance multisig and must sign this.",
|
|
103
|
+
},
|
|
104
|
+
});
|
|
105
|
+
const argv = yield yarg.argv;
|
|
106
|
+
process.env.ANCHOR_WALLET = argv.wallet;
|
|
107
|
+
process.env.ANCHOR_PROVIDER_URL = argv.url;
|
|
108
|
+
anchor.setProvider(anchor.AnchorProvider.local(argv.url));
|
|
109
|
+
const provider = anchor.getProvider();
|
|
110
|
+
const wallet = new anchor.Wallet((0, utils_1.loadKeypair)(argv.wallet));
|
|
111
|
+
const program = yield (0, mini_fanout_sdk_1.init)(provider);
|
|
112
|
+
const tuktukProgram = yield (0, tuktuk_sdk_1.init)(provider);
|
|
113
|
+
const miniFanout = new web3_js_1.PublicKey(argv.miniFanout);
|
|
114
|
+
const miniFanoutAcc = yield program.account.miniFanoutV0.fetch(miniFanout);
|
|
115
|
+
const taskRentRefund = yield (0, mini_fanout_utils_1.resolveTaskRentRefund)(tuktukProgram, miniFanoutAcc.nextTask, miniFanout, program.programId, wallet.publicKey);
|
|
116
|
+
const ownerTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(miniFanoutAcc.mint, miniFanoutAcc.owner, true);
|
|
117
|
+
const closeIx = yield program.methods
|
|
118
|
+
.closeMiniFanoutV0()
|
|
119
|
+
.accountsPartial({
|
|
120
|
+
owner: miniFanoutAcc.owner,
|
|
121
|
+
miniFanout,
|
|
122
|
+
mint: miniFanoutAcc.mint,
|
|
123
|
+
rentRefund: miniFanoutAcc.rentRefund,
|
|
124
|
+
taskQueue: miniFanoutAcc.taskQueue,
|
|
125
|
+
tokenAccount: miniFanoutAcc.tokenAccount,
|
|
126
|
+
ownerTokenAccount,
|
|
127
|
+
taskRentRefund,
|
|
128
|
+
})
|
|
129
|
+
.instruction();
|
|
130
|
+
yield (0, utils_1.sendInstructionsOrSquadsV4)({
|
|
131
|
+
provider,
|
|
132
|
+
instructions: [closeIx],
|
|
133
|
+
multisig: argv.multisig ? new web3_js_1.PublicKey(argv.multisig) : undefined,
|
|
134
|
+
signers: [],
|
|
135
|
+
});
|
|
136
|
+
console.log("Council fanout closed.");
|
|
137
|
+
console.log(` mini fanout: ${miniFanout.toBase58()}`);
|
|
138
|
+
console.log(` HNT swept to: ${ownerTokenAccount.toBase58()}`);
|
|
139
|
+
console.log(` rent refunded: ${miniFanoutAcc.rentRefund.toBase58()}`);
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=close-council-fanout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"close-council-fanout.js","sourceRoot":"","sources":["../../src/close-council-fanout.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,8 +53,10 @@ const spl_utils_1 = require("@helium/spl-utils");
|
|
|
53
53
|
const tuktuk_sdk_1 = require("@helium/tuktuk-sdk");
|
|
54
54
|
const spl_token_1 = require("@solana/spl-token");
|
|
55
55
|
const web3_js_1 = require("@solana/web3.js");
|
|
56
|
+
const multisig = __importStar(require("@sqds/multisig"));
|
|
56
57
|
const os_1 = __importDefault(require("os"));
|
|
57
58
|
const yargs_1 = __importDefault(require("yargs/yargs"));
|
|
59
|
+
const hip149_1 = require("./hip149");
|
|
58
60
|
const utils_1 = require("./utils");
|
|
59
61
|
// HIP 149 Decision 4: create the Advisory Council compensation fanout. The supplement mint in
|
|
60
62
|
// helium-sub-daos splits off 1.25% to this fanout's HNT token account; the fanout's tuktuk
|
|
@@ -65,14 +67,19 @@ const utils_1 = require("./utils");
|
|
|
65
67
|
// patch-time edit that sets INFLATION_START), then set the cron's council_vault to it.
|
|
66
68
|
//
|
|
67
69
|
// Operational rules (see HIP 149 Decision 4):
|
|
68
|
-
// - `owner` MUST be the governance multisig, never the Receiving Entity. It is the
|
|
69
|
-
// authority that can edit the seated-member set; the community seats/removes members
|
|
70
|
-
// vote and the multisig executes the corresponding update.
|
|
70
|
+
// - `owner` MUST be the governance multisig's vault, never the Receiving Entity. It is the
|
|
71
|
+
// only authority that can edit the seated-member set; the community seats/removes members
|
|
72
|
+
// by vote and the multisig executes the corresponding update. Prefer --multisig over
|
|
73
|
+
// --owner: it derives the vault the same way update-council-fanout.ts and
|
|
74
|
+
// close-council-fanout.ts do, instead of relying on a manually-typed vault address.
|
|
71
75
|
// - On a seat change, CRANK before updating the member vec, so accrual maps to the set that
|
|
72
76
|
// was seated when it accrued (a vacant seat's share then redistributes to the seated
|
|
73
77
|
// members from that point forward, per the HIP).
|
|
74
78
|
// - Keep the fanout funded with lamports; it pays its own crank reward and silently
|
|
75
79
|
// unschedules itself if it runs dry.
|
|
80
|
+
// - Closing the fanout refunds its rent to whoever paid to create it, not to the owner:
|
|
81
|
+
// initialize_mini_fanout_v0 stores `ctx.accounts.payer.key()` as `rent_refund` and never
|
|
82
|
+
// reads the account passed under that name. Pick the payer accordingly.
|
|
76
83
|
function run() {
|
|
77
84
|
return __awaiter(this, arguments, void 0, function* (args = process.argv) {
|
|
78
85
|
const yarg = (0, yargs_1.default)(args).options({
|
|
@@ -88,8 +95,11 @@ function run() {
|
|
|
88
95
|
},
|
|
89
96
|
owner: {
|
|
90
97
|
type: "string",
|
|
91
|
-
|
|
92
|
-
|
|
98
|
+
describe: "Fanout owner = governance multisig (Squads vault) address directly. Edits the seated-member set. NEVER the Receiving Entity. Prefer --multisig, which derives this the same way update-council-fanout.ts and close-council-fanout.ts do; use --owner only to bypass that derivation.",
|
|
99
|
+
},
|
|
100
|
+
multisig: {
|
|
101
|
+
type: "string",
|
|
102
|
+
describe: "Address of the squads multisig whose vault (index 0) should own the fanout. Derives --owner for you, the same way update-council-fanout.ts and close-council-fanout.ts derive it from --multisig. Exactly one of --owner / --multisig is required.",
|
|
93
103
|
},
|
|
94
104
|
members: {
|
|
95
105
|
type: "string",
|
|
@@ -120,7 +130,16 @@ function run() {
|
|
|
120
130
|
const wallet = new anchor.Wallet((0, utils_1.loadKeypair)(argv.wallet));
|
|
121
131
|
const program = yield (0, mini_fanout_sdk_1.init)(provider);
|
|
122
132
|
const tuktukProgram = yield (0, tuktuk_sdk_1.init)(provider);
|
|
123
|
-
|
|
133
|
+
if (Boolean(argv.owner) === Boolean(argv.multisig)) {
|
|
134
|
+
throw new Error("exactly one of --owner / --multisig is required");
|
|
135
|
+
}
|
|
136
|
+
const owner = argv.multisig
|
|
137
|
+
? (yield multisig.getVaultPda({
|
|
138
|
+
multisigPda: new web3_js_1.PublicKey(argv.multisig),
|
|
139
|
+
index: 0,
|
|
140
|
+
programId: multisig.PROGRAM_ID,
|
|
141
|
+
}))[0]
|
|
142
|
+
: new web3_js_1.PublicKey(argv.owner); // validated above: exactly one of owner/multisig is set
|
|
124
143
|
const members = argv.members
|
|
125
144
|
.split(",")
|
|
126
145
|
.map((m) => m.trim())
|
|
@@ -147,11 +166,28 @@ function run() {
|
|
|
147
166
|
payer: wallet.publicKey,
|
|
148
167
|
owner,
|
|
149
168
|
taskQueue: hpl_crons_sdk_1.TASK_QUEUE_ID,
|
|
150
|
-
|
|
169
|
+
// The account required here does not decide where rent goes:
|
|
170
|
+
// initialize_mini_fanout_v0 stores `ctx.accounts.payer.key()` and never reads this one.
|
|
171
|
+
// Passing the payer keeps the argument honest about the refund destination, and keeps a
|
|
172
|
+
// vault that has no other role in this instruction out of the writable set. Change the
|
|
173
|
+
// payer to change where closing the fanout refunds its rent.
|
|
174
|
+
rentRefund: wallet.publicKey,
|
|
151
175
|
mint: spl_utils_1.HNT_MINT,
|
|
152
176
|
})
|
|
153
177
|
.prepare();
|
|
154
178
|
instructions.push(initIx);
|
|
179
|
+
// The fanout PDA is seeded by the `namespace` signer and `--seed`. Anchor resolves that
|
|
180
|
+
// signer to the provider wallet, so a different wallet, or a different seed, silently
|
|
181
|
+
// produces a different PDA, a different HNT associated token account, and a fanout that
|
|
182
|
+
// `issue_rewards_v0` rejects on its account pin. That would fail every epoch close inside a
|
|
183
|
+
// supplement window. Members, owner and schedule do not enter the derivation, so this only
|
|
184
|
+
// constrains the two inputs that have to stay fixed. Checked before anything is sent.
|
|
185
|
+
const tokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(spl_utils_1.HNT_MINT, miniFanout, true);
|
|
186
|
+
if (!tokenAccount.equals(hip149_1.COUNCIL_FANOUT_TOKEN_ACCOUNT)) {
|
|
187
|
+
throw new Error(`Derived fanout token account ${tokenAccount.toBase58()} does not match the ` +
|
|
188
|
+
`COUNCIL_FANOUT_TOKEN_ACCOUNT pinned in issue_rewards_v0 ` +
|
|
189
|
+
`(${hip149_1.COUNCIL_FANOUT_TOKEN_ACCOUNT.toBase58()}). Wrong signing wallet or wrong --seed.`);
|
|
190
|
+
}
|
|
155
191
|
// Fund the fanout so it can pay its own crank reward and stay scheduled.
|
|
156
192
|
instructions.push(web3_js_1.SystemProgram.transfer({
|
|
157
193
|
fromPubkey: wallet.publicKey,
|
|
@@ -159,29 +195,48 @@ function run() {
|
|
|
159
195
|
lamports: argv.fundingLamports,
|
|
160
196
|
}));
|
|
161
197
|
// Schedule the first distribution task; the fanout self-reschedules thereafter.
|
|
198
|
+
//
|
|
199
|
+
// `schedule_task_v0` declares `has_one = task_queue / next_task / next_pre_task` on the
|
|
200
|
+
// fanout, and Anchor's client resolver satisfies those by fetching it. The instruction
|
|
201
|
+
// above creates the fanout in this same transaction, so there is nothing on chain to fetch
|
|
202
|
+
// and resolution fails before anything is sent. Each of those accounts is known ahead of
|
|
203
|
+
// time instead: `initialize_mini_fanout_v0` stores the task queue it was handed, and sets
|
|
204
|
+
// `next_task` and `next_pre_task` to the fanout's own key, the "no next task" sentinel that
|
|
205
|
+
// the scheduling constraint accepts.
|
|
206
|
+
const [queueAuthority] = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("queue_authority", "utf-8")], program.programId);
|
|
207
|
+
const [taskQueueAuthority] = web3_js_1.PublicKey.findProgramAddressSync([
|
|
208
|
+
Buffer.from("task_queue_authority", "utf-8"),
|
|
209
|
+
hpl_crons_sdk_1.TASK_QUEUE_ID.toBuffer(),
|
|
210
|
+
queueAuthority.toBuffer(),
|
|
211
|
+
], tuktukProgram.programId);
|
|
162
212
|
const taskQueueAcc = yield tuktukProgram.account.taskQueueV0.fetch(hpl_crons_sdk_1.TASK_QUEUE_ID);
|
|
163
213
|
const [taskId, preTaskId] = (0, tuktuk_sdk_1.nextAvailableTaskIds)(taskQueueAcc.taskBitmap, 2);
|
|
164
214
|
instructions.push(yield program.methods
|
|
165
215
|
.scheduleTaskV0({ taskId, preTaskId })
|
|
166
|
-
.
|
|
216
|
+
.accountsPartial({
|
|
167
217
|
payer: wallet.publicKey,
|
|
168
218
|
miniFanout: miniFanout,
|
|
219
|
+
taskQueue: hpl_crons_sdk_1.TASK_QUEUE_ID,
|
|
220
|
+
queueAuthority,
|
|
221
|
+
taskQueueAuthority,
|
|
222
|
+
nextTask: miniFanout,
|
|
223
|
+
nextPreTask: miniFanout,
|
|
169
224
|
task: (0, tuktuk_sdk_1.taskKey)(hpl_crons_sdk_1.TASK_QUEUE_ID, taskId)[0],
|
|
170
225
|
preTask: (0, tuktuk_sdk_1.taskKey)(hpl_crons_sdk_1.TASK_QUEUE_ID, preTaskId)[0],
|
|
171
226
|
})
|
|
172
227
|
.instruction());
|
|
173
|
-
yield (0, spl_utils_1.sendInstructionsWithPriorityFee)(provider, instructions
|
|
174
|
-
computeUnitLimit: 500000,
|
|
175
|
-
});
|
|
176
|
-
const tokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(spl_utils_1.HNT_MINT, miniFanout, true);
|
|
228
|
+
yield (0, spl_utils_1.sendInstructionsWithPriorityFee)(provider, instructions);
|
|
177
229
|
console.log("Council fanout created.");
|
|
178
|
-
|
|
230
|
+
if (argv.multisig) {
|
|
231
|
+
console.log(` multisig: ${argv.multisig}`);
|
|
232
|
+
}
|
|
233
|
+
console.log(` owner (governance multisig vault): ${owner.toBase58()}`);
|
|
179
234
|
console.log(` mini fanout: ${miniFanout.toBase58()}`);
|
|
180
235
|
console.log(` schedule: ${argv.schedule}`);
|
|
181
236
|
console.log(` members (${members.length}):`);
|
|
182
237
|
members.forEach((m) => console.log(` - ${m.toBase58()}`));
|
|
183
238
|
console.log("");
|
|
184
|
-
console.log(" >>> Council fanout token account (
|
|
239
|
+
console.log(" >>> Council fanout token account (matches COUNCIL_FANOUT_TOKEN_ACCOUNT):");
|
|
185
240
|
console.log(` ${tokenAccount.toBase58()}`);
|
|
186
241
|
});
|
|
187
242
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-council-fanout.js","sourceRoot":"","sources":["../../src/create-council-fanout.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"create-council-fanout.js","sourceRoot":"","sources":["../../src/create-council-fanout.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/end-epoch.js
CHANGED
|
@@ -56,6 +56,7 @@ const rewards_oracle_sdk_1 = require("@helium/rewards-oracle-sdk");
|
|
|
56
56
|
const spl_utils_1 = require("@helium/spl-utils");
|
|
57
57
|
const web3_js_1 = require("@solana/web3.js");
|
|
58
58
|
const bn_js_1 = require("bn.js");
|
|
59
|
+
const hip149_1 = require("./hip149");
|
|
59
60
|
const bs58_1 = __importDefault(require("bs58"));
|
|
60
61
|
const os_1 = __importDefault(require("os"));
|
|
61
62
|
const yargs_1 = __importDefault(require("yargs/yargs"));
|
|
@@ -96,6 +97,16 @@ function run() {
|
|
|
96
97
|
type: "number",
|
|
97
98
|
describe: "The timestamp to start ending epochs from",
|
|
98
99
|
},
|
|
100
|
+
supplementVault: {
|
|
101
|
+
type: "string",
|
|
102
|
+
default: hip149_1.SUPPLEMENT_VAULT_TOKEN_ACCOUNT.toBase58(),
|
|
103
|
+
describe: "HIP 149 Decision 2 Receiving Entity vault HNT token account. Required to close an epoch inside a supplement window. Defaults to the address issue_rewards_v0 pins, which is the only value that can succeed while a window is open; a wrong value fails the instruction rather than misrouting the mint. Passing the system program id withholds it, which is what a dormant-supplement build expects.",
|
|
104
|
+
},
|
|
105
|
+
councilVault: {
|
|
106
|
+
type: "string",
|
|
107
|
+
default: hip149_1.COUNCIL_FANOUT_TOKEN_ACCOUNT.toBase58(),
|
|
108
|
+
describe: "HIP 149 Decision 4 Council fanout HNT token account. Same defaulting and same on-chain pinning as --supplementVault.",
|
|
109
|
+
},
|
|
99
110
|
});
|
|
100
111
|
const argv = yield yarg.argv;
|
|
101
112
|
process.env.ANCHOR_WALLET = argv.wallet;
|
|
@@ -108,6 +119,27 @@ function run() {
|
|
|
108
119
|
const unixNow = new Date().valueOf() / 1000;
|
|
109
120
|
const [dao] = (0, helium_sub_daos_sdk_1.daoKey)(hntMint);
|
|
110
121
|
const basePriorityFee = Number(argv.basePriorityFee || 1);
|
|
122
|
+
// The supplement follows crank time, not epoch time: issue_rewards_v0 sizes it from
|
|
123
|
+
// Clock::get() at execution, not from the epoch it is settling. So backfilling this loop
|
|
124
|
+
// through several stale epochs while a window is open mints a full per-epoch supplement for
|
|
125
|
+
// each one, on the day the backfill runs, and cranks that cross a window boundary late are
|
|
126
|
+
// paid at the later rate. The HNT mint circuit breaker is the backstop that bounds this: at
|
|
127
|
+
// a 350,000 HNT/day absolute threshold it admits roughly one supplement per day on top of
|
|
128
|
+
// normal emissions, so a multi-epoch backfill fails on the breaker rather than overminting
|
|
129
|
+
// without limit. Settle stale epochs one crank interval at a time while a window is open.
|
|
130
|
+
//
|
|
131
|
+
// Both destinations default to the pinned constants, so the permissionless fallback cannot
|
|
132
|
+
// silently omit them: a null vault during an open window makes issue_rewards_v0 fail, and
|
|
133
|
+
// this loop collects that into `errors` and advances rather than stopping. Pass the system
|
|
134
|
+
// program id to withhold one deliberately.
|
|
135
|
+
const asVault = (raw) => {
|
|
136
|
+
if (!raw)
|
|
137
|
+
return null;
|
|
138
|
+
const key = new web3_js_1.PublicKey(raw);
|
|
139
|
+
return key.equals(web3_js_1.SystemProgram.programId) ? null : key;
|
|
140
|
+
};
|
|
141
|
+
const supplementVault = asVault(argv.supplementVault);
|
|
142
|
+
const councilVault = asVault(argv.councilVault);
|
|
111
143
|
const subDaos = yield heliumSubDaosProgram.account.subDaoV0.all([
|
|
112
144
|
{
|
|
113
145
|
memcmp: {
|
|
@@ -195,8 +227,8 @@ function run() {
|
|
|
195
227
|
.issueRewardsV0({ epoch })
|
|
196
228
|
.accountsPartial({
|
|
197
229
|
subDao: subDao.publicKey,
|
|
198
|
-
supplementVault
|
|
199
|
-
councilVault
|
|
230
|
+
supplementVault,
|
|
231
|
+
councilVault,
|
|
200
232
|
})
|
|
201
233
|
.instruction(),
|
|
202
234
|
], {
|
package/lib/cjs/end-epoch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"end-epoch.js","sourceRoot":"","sources":["../../src/end-epoch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"end-epoch.js","sourceRoot":"","sources":["../../src/end-epoch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.COUNCIL_FANOUT_TOKEN_ACCOUNT = exports.SUPPLEMENT_VAULT_TOKEN_ACCOUNT = void 0;
|
|
4
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
5
|
+
// The HIP 149 supplement destinations, as pinned in `helium-sub-daos::supplement`.
|
|
6
|
+
//
|
|
7
|
+
// `issue_rewards_v0` requires whatever it is handed to equal these exact keys while a supplement
|
|
8
|
+
// window is open, so a value that disagrees with the program fails the instruction and can never
|
|
9
|
+
// misroute a mint. That pin is what makes it safe to default the `end-epoch` flags to them, and
|
|
10
|
+
// what `create-council-fanout` checks its derived fanout account against before sending.
|
|
11
|
+
exports.SUPPLEMENT_VAULT_TOKEN_ACCOUNT = new web3_js_1.PublicKey("AGPDcgpXan5RB2Y9usHvdJmmJHpyyYqcQm8KouRkK6f4");
|
|
12
|
+
exports.COUNCIL_FANOUT_TOKEN_ACCOUNT = new web3_js_1.PublicKey("EYbAXgLq1aRr9a9y55DbjfMdXNrZuMa69WXN9c1UR6eK");
|
|
13
|
+
//# sourceMappingURL=hip149.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hip149.js","sourceRoot":"","sources":["../../src/hip149.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE5C,mFAAmF;AACnF,EAAE;AACF,iGAAiG;AACjG,iGAAiG;AACjG,gGAAgG;AAChG,yFAAyF;AAC5E,QAAA,8BAA8B,GAAG,IAAI,mBAAS,CACzD,8CAA8C,CAC/C,CAAC;AAEW,QAAA,4BAA4B,GAAG,IAAI,mBAAS,CACvD,8CAA8C,CAC/C,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.allocateNextTasks = allocateNextTasks;
|
|
13
|
+
exports.resolveTaskRentRefund = resolveTaskRentRefund;
|
|
14
|
+
const tuktuk_sdk_1 = require("@helium/tuktuk-sdk");
|
|
15
|
+
// Shared helpers for admin scripts that create, update, reschedule, or close a
|
|
16
|
+
// mini-fanout (see create-council-fanout.ts, update-council-fanout.ts,
|
|
17
|
+
// close-council-fanout.ts). Kept separate from utils.ts because these only
|
|
18
|
+
// make sense in the context of the mini-fanout program's task-queue plumbing.
|
|
19
|
+
/**
|
|
20
|
+
* Allocate a fresh (task, preTask) id/pubkey pair from the given tuktuk task
|
|
21
|
+
* queue, for scheduling a mini-fanout's next distribution.
|
|
22
|
+
*/
|
|
23
|
+
function allocateNextTasks(tuktukProgram, taskQueue) {
|
|
24
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
const taskQueueAcc = yield tuktukProgram.account.taskQueueV0.fetch(taskQueue);
|
|
26
|
+
const [taskId, preTaskId] = (0, tuktuk_sdk_1.nextAvailableTaskIds)(taskQueueAcc.taskBitmap, 2);
|
|
27
|
+
return {
|
|
28
|
+
taskId,
|
|
29
|
+
preTaskId,
|
|
30
|
+
task: (0, tuktuk_sdk_1.taskKey)(taskQueue, taskId)[0],
|
|
31
|
+
preTask: (0, tuktuk_sdk_1.taskKey)(taskQueue, preTaskId)[0],
|
|
32
|
+
};
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* The tuktuk program's dequeue_task_v0 requires the passed-in rent_refund
|
|
37
|
+
* account to match the task's own `rent_refund` field exactly (it's a
|
|
38
|
+
* `has_one` constraint), which is set at queue time to whoever paid to queue
|
|
39
|
+
* it — not necessarily the wallet running this script. Resolve it from the
|
|
40
|
+
* on-chain task rather than assuming it's the current payer.
|
|
41
|
+
*
|
|
42
|
+
* A mini-fanout with nothing currently scheduled points `next_task` /
|
|
43
|
+
* `next_pre_task` back at itself (or at the program id, legacy); in that case
|
|
44
|
+
* there's nothing to dequeue, so the returned value is unused by the caller
|
|
45
|
+
* and any pubkey is safe to pass through.
|
|
46
|
+
*/
|
|
47
|
+
function resolveTaskRentRefund(tuktukProgram, taskPubkey, miniFanoutPubkey, miniFanoutProgramId, fallback) {
|
|
48
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
+
if (taskPubkey.equals(miniFanoutPubkey) ||
|
|
50
|
+
taskPubkey.equals(miniFanoutProgramId)) {
|
|
51
|
+
return fallback;
|
|
52
|
+
}
|
|
53
|
+
const task = yield tuktukProgram.account.taskV0.fetchNullable(taskPubkey);
|
|
54
|
+
return task ? task.rentRefund : fallback;
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=mini-fanout-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mini-fanout-utils.js","sourceRoot":"","sources":["../../src/mini-fanout-utils.ts"],"names":[],"mappings":";;;;;;;;;;;AAcA,8CAmBC;AAcD,sDAeC;AA5DD,mDAAmE;AAGnE,+EAA+E;AAC/E,uEAAuE;AACvE,2EAA2E;AAC3E,8EAA8E;AAE9E;;;GAGG;AACH,SAAsB,iBAAiB,CACrC,aAAkB,EAClB,SAAoB;;QAOpB,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAChE,SAAS,CACV,CAAC;QACF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,iCAAoB,EAAC,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAC7E,OAAO;YACL,MAAM;YACN,SAAS;YACT,IAAI,EAAE,IAAA,oBAAO,EAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;YACnC,OAAO,EAAE,IAAA,oBAAO,EAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;SAC1C,CAAC;IACJ,CAAC;CAAA;AAED;;;;;;;;;;;GAWG;AACH,SAAsB,qBAAqB,CACzC,aAAkB,EAClB,UAAqB,EACrB,gBAA2B,EAC3B,mBAA8B,EAC9B,QAAmB;;QAEnB,IACE,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC;YACnC,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC,EACtC,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC,CAAC,CAAE,IAAI,CAAC,UAAwB,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC1D,CAAC;CAAA"}
|
|
@@ -118,9 +118,7 @@ function run() {
|
|
|
118
118
|
toPubkey: cronJob,
|
|
119
119
|
lamports: BigInt(argv.fundingAmount),
|
|
120
120
|
}),
|
|
121
|
-
]
|
|
122
|
-
computeUnitLimit: 500000
|
|
123
|
-
});
|
|
121
|
+
]);
|
|
124
122
|
}
|
|
125
123
|
console.log("Cron job account", cronJob.toBase58());
|
|
126
124
|
const cronJobAcc = yield cronProgram.account.cronJobV0.fetch(cronJob);
|
|
@@ -136,9 +134,7 @@ function run() {
|
|
|
136
134
|
})
|
|
137
135
|
.prepare();
|
|
138
136
|
instructions.push(instruction);
|
|
139
|
-
yield (0, spl_utils_1.sendInstructionsWithPriorityFee)(provider, instructions
|
|
140
|
-
computeUnitLimit: 500000,
|
|
141
|
-
});
|
|
137
|
+
yield (0, spl_utils_1.sendInstructionsWithPriorityFee)(provider, instructions);
|
|
142
138
|
});
|
|
143
139
|
}
|
|
144
140
|
//# sourceMappingURL=queue-hotspot-claims.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue-hotspot-claims.js","sourceRoot":"","sources":["../../src/queue-hotspot-claims.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,
|
|
1
|
+
{"version":3,"file":"queue-hotspot-claims.js","sourceRoot":"","sources":["../../src/queue-hotspot-claims.ts"],"names":[],"mappings":"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"}
|
|
@@ -161,9 +161,7 @@ function run() {
|
|
|
161
161
|
.prepare();
|
|
162
162
|
console.log("Queue authority is", pubkeys.queueAuthority.toBase58());
|
|
163
163
|
instructions.push(instruction);
|
|
164
|
-
yield (0, spl_utils_1.sendInstructionsWithPriorityFee)(provider, instructions
|
|
165
|
-
computeUnitLimit: 500000,
|
|
166
|
-
});
|
|
164
|
+
yield (0, spl_utils_1.sendInstructionsWithPriorityFee)(provider, instructions);
|
|
167
165
|
});
|
|
168
166
|
}
|
|
169
167
|
//# sourceMappingURL=queue-position-claims.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue-position-claims.js","sourceRoot":"","sources":["../../src/queue-position-claims.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,
|
|
1
|
+
{"version":3,"file":"queue-position-claims.js","sourceRoot":"","sources":["../../src/queue-position-claims.ts"],"names":[],"mappings":"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"}
|