@helium/helium-admin-cli 0.2.11 → 0.2.14-next.112
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/bin/helium-admin.js +5 -2
- package/lib/cjs/approve-carrier.js +18 -17
- package/lib/cjs/approve-carrier.js.map +1 -1
- package/lib/cjs/approve-program.js +21 -20
- package/lib/cjs/approve-program.js.map +1 -1
- package/lib/cjs/claim-rewards.js.map +1 -1
- package/lib/cjs/close-buffers.js +15 -14
- package/lib/cjs/close-buffers.js.map +1 -1
- package/lib/cjs/close-canopy.js +21 -17
- package/lib/cjs/close-canopy.js.map +1 -1
- package/lib/cjs/close-lazy-transaction-markers.js +143 -0
- package/lib/cjs/close-lazy-transaction-markers.js.map +1 -0
- package/lib/cjs/create-carrier.js +29 -28
- package/lib/cjs/create-carrier.js.map +1 -1
- package/lib/cjs/create-dao.js +73 -78
- package/lib/cjs/create-dao.js.map +1 -1
- package/lib/cjs/create-data-only-config.js +175 -0
- package/lib/cjs/create-data-only-config.js.map +1 -0
- package/lib/cjs/create-maker.js +45 -43
- package/lib/cjs/create-maker.js.map +1 -1
- package/lib/cjs/create-price-oracle.js +28 -22
- package/lib/cjs/create-price-oracle.js.map +1 -1
- package/lib/cjs/create-subdao.js +110 -132
- package/lib/cjs/create-subdao.js.map +1 -1
- package/lib/cjs/distribute-iot-operations-fund.js +120 -0
- package/lib/cjs/distribute-iot-operations-fund.js.map +1 -0
- package/lib/cjs/end-epoch.js +1 -1
- package/lib/cjs/end-epoch.js.map +1 -1
- package/lib/cjs/issue-iot-operations-fund.js +17 -16
- package/lib/cjs/issue-iot-operations-fund.js.map +1 -1
- package/lib/cjs/issue-test-hotspot.js.map +1 -1
- package/lib/cjs/log-hotspot.js +9 -4
- package/lib/cjs/log-hotspot.js.map +1 -1
- package/lib/cjs/mint-dc.js.map +1 -1
- package/lib/cjs/reset-vsr-max-voter-record.js +24 -23
- package/lib/cjs/reset-vsr-max-voter-record.js.map +1 -1
- package/lib/cjs/reset-vsr-voting-mint.js +24 -23
- package/lib/cjs/reset-vsr-voting-mint.js.map +1 -1
- package/lib/cjs/setup-hst.js +33 -85
- package/lib/cjs/setup-hst.js.map +1 -1
- package/lib/cjs/submit-price.js.map +1 -1
- package/lib/cjs/{create-active-device-aggregator.js → take-snapshot.js} +7 -49
- package/lib/cjs/take-snapshot.js.map +1 -0
- package/lib/cjs/temp-claim-failed-claims.js +149 -0
- package/lib/cjs/temp-claim-failed-claims.js.map +1 -0
- package/lib/cjs/update-account-circuit-breaker.js +21 -18
- package/lib/cjs/update-account-circuit-breaker.js.map +1 -1
- package/lib/cjs/update-dao.js +47 -34
- package/lib/cjs/update-dao.js.map +1 -1
- package/lib/cjs/update-data-credits.js +19 -18
- package/lib/cjs/update-data-credits.js.map +1 -1
- package/lib/cjs/update-delegated-dc-subdao.js +18 -17
- package/lib/cjs/update-delegated-dc-subdao.js.map +1 -1
- package/lib/cjs/update-lazy-distributor.js +25 -24
- package/lib/cjs/update-lazy-distributor.js.map +1 -1
- package/lib/cjs/update-lazy-transactions.js +16 -14
- package/lib/cjs/update-lazy-transactions.js.map +1 -1
- package/lib/cjs/update-mint-circuit-breaker.js +18 -17
- package/lib/cjs/update-mint-circuit-breaker.js.map +1 -1
- package/lib/cjs/update-registrar-authorities.js +15 -11
- package/lib/cjs/update-registrar-authorities.js.map +1 -1
- package/lib/cjs/update-rewardable-entity-config.js +48 -5
- package/lib/cjs/update-rewardable-entity-config.js.map +1 -1
- package/lib/cjs/update-subdao-vehnt.js +35 -34
- package/lib/cjs/update-subdao-vehnt.js.map +1 -1
- package/lib/cjs/update-subdao.js +54 -61
- package/lib/cjs/update-subdao.js.map +1 -1
- package/lib/cjs/upgrade-idl.js +18 -17
- package/lib/cjs/upgrade-idl.js.map +1 -1
- package/lib/cjs/utils.js +7 -52
- package/lib/cjs/utils.js.map +1 -1
- package/lib/cjs/{repair-iot-operations-fund.js → write-merkle-canopy-depths.js} +11 -49
- package/lib/cjs/write-merkle-canopy-depths.js.map +1 -0
- package/lib/esm/src/approve-carrier.js +27 -26
- package/lib/esm/src/approve-carrier.js.map +1 -1
- package/lib/esm/src/approve-program.js +30 -29
- package/lib/esm/src/approve-program.js.map +1 -1
- package/lib/esm/src/claim-rewards.js.map +1 -1
- package/lib/esm/src/close-buffers.js +23 -22
- package/lib/esm/src/close-buffers.js.map +1 -1
- package/lib/esm/src/close-canopy.js +28 -24
- package/lib/esm/src/close-canopy.js.map +1 -1
- package/lib/esm/src/close-lazy-transaction-markers.js +102 -0
- package/lib/esm/src/close-lazy-transaction-markers.js.map +1 -0
- package/lib/esm/src/create-carrier.js +40 -39
- package/lib/esm/src/create-carrier.js.map +1 -1
- package/lib/esm/src/create-dao.js +87 -92
- package/lib/esm/src/create-dao.js.map +1 -1
- package/lib/esm/src/create-data-only-config.js +132 -0
- package/lib/esm/src/create-data-only-config.js.map +1 -0
- package/lib/esm/src/create-maker.js +59 -57
- package/lib/esm/src/create-maker.js.map +1 -1
- package/lib/esm/src/create-price-oracle.js +37 -31
- package/lib/esm/src/create-price-oracle.js.map +1 -1
- package/lib/esm/src/create-subdao.js +126 -148
- package/lib/esm/src/create-subdao.js.map +1 -1
- package/lib/esm/src/distribute-iot-operations-fund.js +79 -0
- package/lib/esm/src/distribute-iot-operations-fund.js.map +1 -0
- package/lib/esm/src/end-epoch.js +1 -1
- package/lib/esm/src/end-epoch.js.map +1 -1
- package/lib/esm/src/issue-iot-operations-fund.js +27 -26
- package/lib/esm/src/issue-iot-operations-fund.js.map +1 -1
- package/lib/esm/src/issue-test-hotspot.js.map +1 -1
- package/lib/esm/src/log-hotspot.js +9 -4
- package/lib/esm/src/log-hotspot.js.map +1 -1
- package/lib/esm/src/mint-dc.js.map +1 -1
- package/lib/esm/src/reset-vsr-max-voter-record.js +32 -31
- package/lib/esm/src/reset-vsr-max-voter-record.js.map +1 -1
- package/lib/esm/src/reset-vsr-voting-mint.js +32 -31
- package/lib/esm/src/reset-vsr-voting-mint.js.map +1 -1
- package/lib/esm/src/setup-hst.js +41 -92
- package/lib/esm/src/setup-hst.js.map +1 -1
- package/lib/esm/src/submit-price.js.map +1 -1
- package/lib/esm/src/take-snapshot.js +29 -0
- package/lib/esm/src/take-snapshot.js.map +1 -0
- package/lib/esm/src/temp-claim-failed-claims.js +107 -0
- package/lib/esm/src/temp-claim-failed-claims.js.map +1 -0
- package/lib/esm/src/update-account-circuit-breaker.js +29 -26
- package/lib/esm/src/update-account-circuit-breaker.js.map +1 -1
- package/lib/esm/src/update-dao.js +55 -42
- package/lib/esm/src/update-dao.js.map +1 -1
- package/lib/esm/src/update-data-credits.js +26 -25
- package/lib/esm/src/update-data-credits.js.map +1 -1
- package/lib/esm/src/update-delegated-dc-subdao.js +27 -26
- package/lib/esm/src/update-delegated-dc-subdao.js.map +1 -1
- package/lib/esm/src/update-lazy-distributor.js +32 -31
- package/lib/esm/src/update-lazy-distributor.js.map +1 -1
- package/lib/esm/src/update-lazy-transactions.js +23 -21
- package/lib/esm/src/update-lazy-transactions.js.map +1 -1
- package/lib/esm/src/update-mint-circuit-breaker.js +26 -25
- package/lib/esm/src/update-mint-circuit-breaker.js.map +1 -1
- package/lib/esm/src/update-registrar-authorities.js +22 -18
- package/lib/esm/src/update-registrar-authorities.js.map +1 -1
- package/lib/esm/src/update-rewardable-entity-config.js +49 -6
- package/lib/esm/src/update-rewardable-entity-config.js.map +1 -1
- package/lib/esm/src/update-subdao-vehnt.js +45 -44
- package/lib/esm/src/update-subdao-vehnt.js.map +1 -1
- package/lib/esm/src/update-subdao.js +64 -71
- package/lib/esm/src/update-subdao.js.map +1 -1
- package/lib/esm/src/upgrade-idl.js +24 -23
- package/lib/esm/src/upgrade-idl.js.map +1 -1
- package/lib/esm/src/utils.js +4 -46
- package/lib/esm/src/utils.js.map +1 -1
- package/lib/esm/src/write-merkle-canopy-depths.js +34 -0
- package/lib/esm/src/write-merkle-canopy-depths.js.map +1 -0
- package/lib/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/lib/types/src/approve-carrier.d.ts.map +1 -1
- package/lib/types/src/approve-program.d.ts.map +1 -1
- package/lib/types/src/close-buffers.d.ts.map +1 -1
- package/lib/types/src/close-canopy.d.ts.map +1 -1
- package/lib/types/src/close-lazy-transaction-markers.d.ts +2 -0
- package/lib/types/src/close-lazy-transaction-markers.d.ts.map +1 -0
- package/lib/types/src/create-carrier.d.ts.map +1 -1
- package/lib/types/src/create-dao.d.ts.map +1 -1
- package/lib/types/src/{update-aggregator.d.ts → create-data-only-config.d.ts} +1 -1
- package/lib/types/src/create-data-only-config.d.ts.map +1 -0
- package/lib/types/src/create-maker.d.ts.map +1 -1
- package/lib/types/src/create-price-oracle.d.ts.map +1 -1
- package/lib/types/src/create-subdao.d.ts.map +1 -1
- package/lib/types/src/distribute-iot-operations-fund.d.ts +2 -0
- package/lib/types/src/distribute-iot-operations-fund.d.ts.map +1 -0
- package/lib/types/src/issue-iot-operations-fund.d.ts.map +1 -1
- package/lib/types/src/log-hotspot.d.ts.map +1 -1
- package/lib/types/src/reset-vsr-max-voter-record.d.ts.map +1 -1
- package/lib/types/src/reset-vsr-voting-mint.d.ts.map +1 -1
- package/lib/types/src/setup-hst.d.ts +0 -2
- package/lib/types/src/setup-hst.d.ts.map +1 -1
- package/lib/types/src/{reset-clockwork.d.ts → take-snapshot.d.ts} +1 -1
- package/lib/types/src/take-snapshot.d.ts.map +1 -0
- package/lib/types/src/{repair-iot-operations-fund.d.ts → temp-claim-failed-claims.d.ts} +1 -1
- package/lib/types/src/temp-claim-failed-claims.d.ts.map +1 -0
- package/lib/types/src/update-dao.d.ts.map +1 -1
- package/lib/types/src/update-data-credits.d.ts.map +1 -1
- package/lib/types/src/update-delegated-dc-subdao.d.ts.map +1 -1
- package/lib/types/src/update-lazy-distributor.d.ts.map +1 -1
- package/lib/types/src/update-lazy-transactions.d.ts.map +1 -1
- package/lib/types/src/update-mint-circuit-breaker.d.ts.map +1 -1
- package/lib/types/src/update-rewardable-entity-config.d.ts.map +1 -1
- package/lib/types/src/update-subdao-vehnt.d.ts.map +1 -1
- package/lib/types/src/update-subdao.d.ts.map +1 -1
- package/lib/types/src/upgrade-idl.d.ts.map +1 -1
- package/lib/types/src/utils.d.ts +1 -11
- package/lib/types/src/utils.d.ts.map +1 -1
- package/lib/types/src/write-merkle-canopy-depths.d.ts +2 -0
- package/lib/types/src/write-merkle-canopy-depths.d.ts.map +1 -0
- package/package.json +27 -30
- package/lib/cjs/create-active-device-aggregator.js.map +0 -1
- package/lib/cjs/repair-iot-operations-fund.js.map +0 -1
- package/lib/cjs/reset-clockwork.js +0 -143
- package/lib/cjs/reset-clockwork.js.map +0 -1
- package/lib/cjs/update-aggregator.js +0 -115
- package/lib/cjs/update-aggregator.js.map +0 -1
- package/lib/esm/src/create-active-device-aggregator.js +0 -71
- package/lib/esm/src/create-active-device-aggregator.js.map +0 -1
- package/lib/esm/src/repair-iot-operations-fund.js +0 -72
- package/lib/esm/src/repair-iot-operations-fund.js.map +0 -1
- package/lib/esm/src/reset-clockwork.js +0 -102
- package/lib/esm/src/reset-clockwork.js.map +0 -1
- package/lib/esm/src/update-aggregator.js +0 -74
- package/lib/esm/src/update-aggregator.js.map +0 -1
- package/lib/types/src/create-active-device-aggregator.d.ts +0 -2
- package/lib/types/src/create-active-device-aggregator.d.ts.map +0 -1
- package/lib/types/src/repair-iot-operations-fund.d.ts.map +0 -1
- package/lib/types/src/reset-clockwork.d.ts.map +0 -1
- package/lib/types/src/update-aggregator.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claim-rewards.js","sourceRoot":"","sources":["../../../src/claim-rewards.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,EACL,IAAI,IAAI,OAAO,EACf,aAAa,EACd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EACL,IAAI,IAAI,QAAQ,EAChB,kBAAkB,EACnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,IAAI,IAAI,WAAW,GACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AACtE,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,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;QACrC,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,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,4BAA4B;SACvC;QACD,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,mCAAmC;SAC9C;QACD,SAAS,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,qCAAqC;SAChD;QACD,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,QAAQ;SAClB;KACF,CAAC,CAAC,IAAI,CAAC;IAER,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,WAAW,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,oBAAoB,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;IAEzD,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"claim-rewards.js","sourceRoot":"","sources":["../../../src/claim-rewards.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,48 +1,49 @@
|
|
|
1
|
-
import * as anchor from
|
|
2
|
-
import { PublicKey } from
|
|
3
|
-
import Squads from
|
|
4
|
-
import os from
|
|
5
|
-
import yargs from
|
|
6
|
-
import { createCloseBufferInstruction, sendInstructionsOrSquads } from
|
|
7
|
-
import { BPF_UPGRADE_LOADER_ID } from
|
|
8
|
-
import bs58 from
|
|
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 { createCloseBufferInstruction, loadKeypair, sendInstructionsOrSquads, } from './utils';
|
|
7
|
+
import { BPF_UPGRADE_LOADER_ID } from '@solana/spl-governance';
|
|
8
|
+
import bs58 from 'bs58';
|
|
9
9
|
export async function run(args = process.argv) {
|
|
10
10
|
const yarg = yargs(args).options({
|
|
11
11
|
wallet: {
|
|
12
|
-
alias:
|
|
13
|
-
describe:
|
|
12
|
+
alias: 'k',
|
|
13
|
+
describe: 'Anchor wallet keypair',
|
|
14
14
|
default: `${os.homedir()}/.config/solana/id.json`,
|
|
15
15
|
},
|
|
16
16
|
url: {
|
|
17
|
-
alias:
|
|
18
|
-
default:
|
|
19
|
-
describe:
|
|
17
|
+
alias: 'u',
|
|
18
|
+
default: 'http://127.0.0.1:8899',
|
|
19
|
+
describe: 'The solana url',
|
|
20
20
|
},
|
|
21
21
|
executeTransaction: {
|
|
22
|
-
type:
|
|
22
|
+
type: 'boolean',
|
|
23
23
|
},
|
|
24
24
|
multisig: {
|
|
25
|
-
type:
|
|
26
|
-
describe:
|
|
25
|
+
type: 'string',
|
|
26
|
+
describe: 'Address of the squads multisig to be authority. If not provided, your wallet will be the authority',
|
|
27
27
|
},
|
|
28
28
|
authorityIndex: {
|
|
29
|
-
type:
|
|
30
|
-
describe:
|
|
29
|
+
type: 'number',
|
|
30
|
+
describe: 'Authority index for squads. Defaults to 1',
|
|
31
31
|
default: 1,
|
|
32
32
|
},
|
|
33
33
|
programId: {
|
|
34
|
-
type:
|
|
34
|
+
type: 'string',
|
|
35
35
|
required: true,
|
|
36
|
-
}
|
|
36
|
+
},
|
|
37
37
|
});
|
|
38
38
|
const argv = await yarg.argv;
|
|
39
39
|
process.env.ANCHOR_WALLET = argv.wallet;
|
|
40
40
|
process.env.ANCHOR_PROVIDER_URL = argv.url;
|
|
41
41
|
anchor.setProvider(anchor.AnchorProvider.local(argv.url));
|
|
42
42
|
const provider = anchor.getProvider();
|
|
43
|
+
const wallet = new anchor.Wallet(loadKeypair(argv.wallet));
|
|
43
44
|
const connection = provider.connection;
|
|
44
|
-
const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL,
|
|
45
|
-
commitmentOrConfig:
|
|
45
|
+
const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, wallet, {
|
|
46
|
+
commitmentOrConfig: 'finalized',
|
|
46
47
|
});
|
|
47
48
|
let authority = provider.wallet.publicKey;
|
|
48
49
|
let multisig = argv.multisig ? new PublicKey(argv.multisig) : null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"close-buffers.js","sourceRoot":"","sources":["../../../src/close-buffers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,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,
|
|
1
|
+
{"version":3,"file":"close-buffers.js","sourceRoot":"","sources":["../../../src/close-buffers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
import * as anchor from
|
|
2
|
-
import { PublicKey } from
|
|
3
|
-
import Squads from
|
|
4
|
-
import os from
|
|
5
|
-
import yargs from
|
|
6
|
-
import { sendInstructionsOrSquads } from
|
|
7
|
-
import { init, lazyTransactionsKey } from
|
|
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 { loadKeypair, sendInstructionsOrSquads, } from './utils';
|
|
7
|
+
import { init, lazyTransactionsKey } from '@helium/lazy-transactions-sdk';
|
|
8
8
|
export async function run(args = process.argv) {
|
|
9
9
|
const yarg = yargs(args).options({
|
|
10
10
|
wallet: {
|
|
11
|
-
alias:
|
|
12
|
-
describe:
|
|
11
|
+
alias: 'k',
|
|
12
|
+
describe: 'Anchor wallet keypair',
|
|
13
13
|
default: `${os.homedir()}/.config/solana/id.json`,
|
|
14
14
|
},
|
|
15
15
|
url: {
|
|
16
|
-
alias:
|
|
17
|
-
default:
|
|
18
|
-
describe:
|
|
16
|
+
alias: 'u',
|
|
17
|
+
default: 'http://127.0.0.1:8899',
|
|
18
|
+
describe: 'The solana url',
|
|
19
19
|
},
|
|
20
20
|
name: {
|
|
21
21
|
required: true,
|
|
22
|
-
type:
|
|
23
|
-
describe:
|
|
22
|
+
type: 'string',
|
|
23
|
+
describe: 'Lazy dist name',
|
|
24
24
|
},
|
|
25
25
|
executeTransaction: {
|
|
26
|
-
type:
|
|
26
|
+
type: 'boolean',
|
|
27
27
|
},
|
|
28
28
|
multisig: {
|
|
29
|
-
type:
|
|
30
|
-
describe:
|
|
29
|
+
type: 'string',
|
|
30
|
+
describe: 'Address of the squads multisig to be authority. If not provided, your wallet will be the authority',
|
|
31
31
|
},
|
|
32
32
|
authorityIndex: {
|
|
33
|
-
type:
|
|
34
|
-
describe:
|
|
33
|
+
type: 'number',
|
|
34
|
+
describe: 'Authority index for squads. Defaults to 1',
|
|
35
35
|
default: 1,
|
|
36
36
|
},
|
|
37
37
|
});
|
|
@@ -40,15 +40,19 @@ export async function run(args = process.argv) {
|
|
|
40
40
|
process.env.ANCHOR_PROVIDER_URL = argv.url;
|
|
41
41
|
anchor.setProvider(anchor.AnchorProvider.local(argv.url));
|
|
42
42
|
const provider = anchor.getProvider();
|
|
43
|
+
const wallet = new anchor.Wallet(loadKeypair(argv.wallet));
|
|
43
44
|
const program = await init(provider);
|
|
44
45
|
const instructions = [];
|
|
45
46
|
const lazyTransactions = lazyTransactionsKey(argv.name)[0];
|
|
46
|
-
instructions.push(await program.methods
|
|
47
|
+
instructions.push(await program.methods
|
|
48
|
+
.closeCanopyV0()
|
|
49
|
+
.accounts({
|
|
47
50
|
lazyTransactions,
|
|
48
|
-
refund: provider.wallet.publicKey
|
|
49
|
-
})
|
|
50
|
-
|
|
51
|
-
|
|
51
|
+
refund: provider.wallet.publicKey,
|
|
52
|
+
})
|
|
53
|
+
.instruction());
|
|
54
|
+
const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, wallet, {
|
|
55
|
+
commitmentOrConfig: 'finalized',
|
|
52
56
|
});
|
|
53
57
|
await sendInstructionsOrSquads({
|
|
54
58
|
provider,
|
|
@@ -1 +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,
|
|
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,EAA0B,MAAM,iBAAiB,CAAC;AACpE,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,KAAK,MAAM,aAAa,CAAC;AAChC,OAAO,EACL,WAAW,EAEX,wBAAwB,GACzB,MAAM,SAAS,CAAC;AACjB,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,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;IAErC,MAAM,YAAY,GAA6B,EAAE,CAAC;IAElD,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,YAAY,CAAC,IAAI,CACf,MAAM,OAAO,CAAC,OAAO;SAClB,aAAa,EAAE;SACf,QAAQ,CAAC;QACR,gBAAgB;QAChB,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS;KAClC,CAAC;SACD,WAAW,EAAE,CACjB,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,MAAM,EAAE;QACtE,kBAAkB,EAAE,WAAW;KAChC,CAAC,CAAC;IACH,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,102 @@
|
|
|
1
|
+
import * as anchor from "@coral-xyz/anchor";
|
|
2
|
+
import { blockKey, getBitmapLen, init as initLazy, lazyTransactionsKey, } from "@helium/lazy-transactions-sdk";
|
|
3
|
+
import os from "os";
|
|
4
|
+
import yargs from "yargs/yargs";
|
|
5
|
+
import { bulkSendTransactions, chunks } from "@helium/spl-utils";
|
|
6
|
+
import { Keypair, PublicKey, SystemProgram, Transaction, } from "@solana/web3.js";
|
|
7
|
+
export async function run(args = process.argv) {
|
|
8
|
+
const yarg = yargs(args).options({
|
|
9
|
+
wallet: {
|
|
10
|
+
alias: "k",
|
|
11
|
+
describe: "Anchor wallet keypair",
|
|
12
|
+
default: `${os.homedir()}/.config/solana/id.json`,
|
|
13
|
+
},
|
|
14
|
+
url: {
|
|
15
|
+
alias: "u",
|
|
16
|
+
default: "http://127.0.0.1:8899",
|
|
17
|
+
describe: "The solana url",
|
|
18
|
+
},
|
|
19
|
+
name: {
|
|
20
|
+
default: "nJWGUMOK",
|
|
21
|
+
describe: "The lazy transactions instance name",
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
const argv = await yarg.argv;
|
|
25
|
+
process.env.ANCHOR_WALLET = argv.wallet;
|
|
26
|
+
process.env.ANCHOR_PROVIDER_URL = argv.url;
|
|
27
|
+
anchor.setProvider(anchor.AnchorProvider.local(argv.url));
|
|
28
|
+
const provider = anchor.getProvider();
|
|
29
|
+
const lazyProgram = await initLazy(provider);
|
|
30
|
+
const ltKey = lazyTransactionsKey(argv.name)[0];
|
|
31
|
+
const lt = await lazyProgram.account.lazyTransactionsV0.fetch(ltKey);
|
|
32
|
+
const blocks = await lazyProgram.account.block.all();
|
|
33
|
+
const blocksByKey = new Set(blocks.map((b) => b.publicKey.toString()));
|
|
34
|
+
const allIndices = new Array(1 << lt.maxDepth)
|
|
35
|
+
.fill(0)
|
|
36
|
+
.map((_, i) => i)
|
|
37
|
+
.map((bi) => ({
|
|
38
|
+
index: bi,
|
|
39
|
+
block: blockKey(ltKey, bi)[0],
|
|
40
|
+
}));
|
|
41
|
+
const blockIndices = allIndices.filter((bi) => blocksByKey.has(bi.block.toBase58()));
|
|
42
|
+
if (lt.executedTransactions.equals(PublicKey.default)) {
|
|
43
|
+
const executedTransactions = Keypair.generate();
|
|
44
|
+
const executedTransactionsSize = 1 + getBitmapLen(lt.maxDepth);
|
|
45
|
+
const executedTransactionsRent = await provider.connection.getMinimumBalanceForRentExemption(executedTransactionsSize);
|
|
46
|
+
await lazyProgram.methods
|
|
47
|
+
.updateLazyTransactionsV0({
|
|
48
|
+
root: null,
|
|
49
|
+
authority: null,
|
|
50
|
+
})
|
|
51
|
+
.preInstructions([
|
|
52
|
+
SystemProgram.createAccount({
|
|
53
|
+
fromPubkey: provider.wallet.publicKey,
|
|
54
|
+
newAccountPubkey: executedTransactions.publicKey,
|
|
55
|
+
space: executedTransactionsSize,
|
|
56
|
+
lamports: executedTransactionsRent,
|
|
57
|
+
programId: lazyProgram.programId,
|
|
58
|
+
}),
|
|
59
|
+
])
|
|
60
|
+
.accounts({
|
|
61
|
+
lazyTransactions: ltKey,
|
|
62
|
+
executedTransactions: executedTransactions.publicKey,
|
|
63
|
+
})
|
|
64
|
+
.signers([executedTransactions])
|
|
65
|
+
.rpc({ skipPreflight: true });
|
|
66
|
+
lt.executedTransactions = executedTransactions.publicKey;
|
|
67
|
+
}
|
|
68
|
+
// Do in chunks so we don't create too many promises
|
|
69
|
+
let instructions = [];
|
|
70
|
+
let i = 0;
|
|
71
|
+
for (const chunk of chunks(blockIndices, 10)) {
|
|
72
|
+
if (i % 1000 === 0) {
|
|
73
|
+
console.log(`Forming txns ${i * 10}/${blockIndices.length}`);
|
|
74
|
+
}
|
|
75
|
+
i++;
|
|
76
|
+
instructions.push(...(await Promise.all(chunk.map((bi) => lazyProgram.methods
|
|
77
|
+
.closeMarkerV0({
|
|
78
|
+
index: bi.index,
|
|
79
|
+
})
|
|
80
|
+
.accountsStrict({
|
|
81
|
+
refund: provider.wallet.publicKey,
|
|
82
|
+
lazyTransactions: ltKey,
|
|
83
|
+
authority: provider.wallet.publicKey,
|
|
84
|
+
block: bi.block,
|
|
85
|
+
executedTransactions: lt.executedTransactions,
|
|
86
|
+
})
|
|
87
|
+
.instruction()))));
|
|
88
|
+
}
|
|
89
|
+
console.log(`${blocks.length} blocks to close`);
|
|
90
|
+
const txns = chunks(instructions, 10).map((chunk) => {
|
|
91
|
+
const tx = new Transaction({
|
|
92
|
+
feePayer: provider.wallet.publicKey,
|
|
93
|
+
});
|
|
94
|
+
tx.add(...chunk);
|
|
95
|
+
return tx;
|
|
96
|
+
});
|
|
97
|
+
await bulkSendTransactions(provider, txns, (status) => {
|
|
98
|
+
console.log(`Sending ${status.currentBatchProgress} / ${status.currentBatchSize} batch. ${status.totalProgress} / ${txns.length}`);
|
|
99
|
+
});
|
|
100
|
+
console.log("Done");
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=close-lazy-transaction-markers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"close-lazy-transaction-markers.js","sourceRoot":"","sources":["../../../src/close-lazy-transaction-markers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,66 +1,67 @@
|
|
|
1
|
-
import * as anchor from
|
|
2
|
-
import { init as initHem, keyToAssetKey, } from
|
|
3
|
-
import { daoKey, subDaoKey } from
|
|
4
|
-
import { carrierKey, init as initMem } from
|
|
5
|
-
import { HNT_MINT, MOBILE_MINT, humanReadable, sendInstructions, } from
|
|
6
|
-
import { SPL_ACCOUNT_COMPRESSION_PROGRAM_ID, getConcurrentMerkleTreeAccountSize, } from
|
|
7
|
-
import { ComputeBudgetProgram, Keypair, PublicKey, SystemProgram, } from
|
|
8
|
-
import fs from
|
|
9
|
-
import os from
|
|
10
|
-
import yargs from
|
|
11
|
-
import { exists, loadKeypair, merkleSizes } from
|
|
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, humanReadable, sendInstructions, } from "@helium/spl-utils";
|
|
6
|
+
import { SPL_ACCOUNT_COMPRESSION_PROGRAM_ID, getConcurrentMerkleTreeAccountSize, } from "@solana/spl-account-compression";
|
|
7
|
+
import { ComputeBudgetProgram, Keypair, PublicKey, SystemProgram, } from "@solana/web3.js";
|
|
8
|
+
import fs from "fs";
|
|
9
|
+
import os from "os";
|
|
10
|
+
import yargs from "yargs/yargs";
|
|
11
|
+
import { exists, loadKeypair, merkleSizes } from "./utils";
|
|
12
|
+
const path = require("path");
|
|
12
13
|
export async function run(args = process.argv) {
|
|
13
14
|
const yarg = yargs(args).options({
|
|
14
15
|
wallet: {
|
|
15
|
-
alias:
|
|
16
|
-
describe:
|
|
16
|
+
alias: "k",
|
|
17
|
+
describe: "Anchor wallet keypair",
|
|
17
18
|
default: `${os.homedir()}/.config/solana/id.json`,
|
|
18
19
|
},
|
|
19
20
|
url: {
|
|
20
|
-
alias:
|
|
21
|
-
default:
|
|
22
|
-
describe:
|
|
21
|
+
alias: "u",
|
|
22
|
+
default: "http://127.0.0.1:8899",
|
|
23
|
+
describe: "The solana url",
|
|
23
24
|
},
|
|
24
25
|
hntMint: {
|
|
25
26
|
default: HNT_MINT.toBase58(),
|
|
26
27
|
},
|
|
27
28
|
dntMint: {
|
|
28
29
|
default: MOBILE_MINT.toBase58(),
|
|
29
|
-
describe:
|
|
30
|
-
type:
|
|
30
|
+
describe: "Public Key of the subdao mint",
|
|
31
|
+
type: "string",
|
|
31
32
|
},
|
|
32
33
|
name: {
|
|
33
|
-
alias:
|
|
34
|
-
type:
|
|
34
|
+
alias: "n",
|
|
35
|
+
type: "string",
|
|
35
36
|
required: true,
|
|
36
|
-
describe:
|
|
37
|
+
describe: "The name of the carrier",
|
|
37
38
|
},
|
|
38
39
|
metadataUrl: {
|
|
39
40
|
required: true,
|
|
40
|
-
type:
|
|
41
|
-
describe:
|
|
41
|
+
type: "string",
|
|
42
|
+
describe: "Json metadata for the collection",
|
|
42
43
|
},
|
|
43
44
|
issuingAuthority: {
|
|
44
|
-
alias:
|
|
45
|
-
type:
|
|
46
|
-
describe:
|
|
45
|
+
alias: "m",
|
|
46
|
+
type: "string",
|
|
47
|
+
describe: "The pubkey that will approve issuance",
|
|
47
48
|
required: true,
|
|
48
49
|
},
|
|
49
50
|
recipient: {
|
|
50
|
-
describe:
|
|
51
|
-
type:
|
|
51
|
+
describe: "Recipient of the rewardable carrier nft, default to this wallet",
|
|
52
|
+
type: "string",
|
|
52
53
|
required: false,
|
|
53
54
|
},
|
|
54
55
|
count: {
|
|
55
|
-
alias:
|
|
56
|
-
type:
|
|
57
|
-
describe:
|
|
56
|
+
alias: "c",
|
|
57
|
+
type: "number",
|
|
58
|
+
describe: "Estimated number of entities this carrier will have",
|
|
58
59
|
required: true,
|
|
59
60
|
},
|
|
60
61
|
merkleBasePath: {
|
|
61
|
-
type:
|
|
62
|
-
describe:
|
|
63
|
-
default:
|
|
62
|
+
type: "string",
|
|
63
|
+
describe: "Base path for merkle keypair",
|
|
64
|
+
default: path.join(__dirname, "..", "..", "keypairs"),
|
|
64
65
|
},
|
|
65
66
|
});
|
|
66
67
|
const argv = await yarg.argv;
|
|
@@ -100,7 +101,7 @@ export async function run(args = process.argv) {
|
|
|
100
101
|
throw new Error(`Space ${space} more than 10mb for tree ${size}, ${buffer}, ${canopy}}`);
|
|
101
102
|
}
|
|
102
103
|
if (!(await exists(conn, carrier))) {
|
|
103
|
-
console.log(
|
|
104
|
+
console.log("Creating carrier");
|
|
104
105
|
console.log(await memProgram.methods
|
|
105
106
|
.initializeCarrierV0({
|
|
106
107
|
name,
|
|
@@ -117,7 +118,7 @@ export async function run(args = process.argv) {
|
|
|
117
118
|
.rpc({ skipPreflight: true }));
|
|
118
119
|
}
|
|
119
120
|
if (!(await exists(conn, merkle.publicKey))) {
|
|
120
|
-
console.log(
|
|
121
|
+
console.log("Creating tree");
|
|
121
122
|
await sendInstructions(provider, [
|
|
122
123
|
SystemProgram.createAccount({
|
|
123
124
|
fromPubkey: provider.wallet.publicKey,
|
|
@@ -142,13 +143,13 @@ export async function run(args = process.argv) {
|
|
|
142
143
|
const recipient = argv.recipient
|
|
143
144
|
? new PublicKey(argv.recipient)
|
|
144
145
|
: provider.wallet.publicKey;
|
|
145
|
-
const [keyToAssetK] = keyToAssetKey(daoKey(hntMint)[0], Buffer.from(name,
|
|
146
|
+
const [keyToAssetK] = keyToAssetKey(daoKey(hntMint)[0], Buffer.from(name, "utf-8"));
|
|
146
147
|
const keyToAsset = await hemProgram.account.keyToAssetV0.fetchNullable(keyToAssetK);
|
|
147
148
|
if (!keyToAsset && issuingAuthority.equals(provider.wallet.publicKey)) {
|
|
148
|
-
console.log(
|
|
149
|
+
console.log("Minting carrier NFT");
|
|
149
150
|
console.log(await memProgram.methods
|
|
150
151
|
.issueCarrierNftV0({
|
|
151
|
-
metadataUrl:
|
|
152
|
+
metadataUrl: `https://entities.nft.helium.io/${name}`,
|
|
152
153
|
})
|
|
153
154
|
.preInstructions([
|
|
154
155
|
ComputeBudgetProgram.setComputeUnitLimit({ units: 500000 }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-carrier.js","sourceRoot":"","sources":["../../../src/create-carrier.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,EACL,QAAQ,EACR,WAAW,EACX,aAAa,EACb,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,kCAAkC,EAClC,kCAAkC,GACnC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,oBAAoB,EACpB,OAAO,EACP,SAAS,EACT,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,KAAK,MAAM,aAAa,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"create-carrier.js","sourceRoot":"","sources":["../../../src/create-carrier.ts"],"names":[],"mappings":"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"}
|