@helium/helium-admin-cli 0.2.21 → 0.2.22-next.34
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/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/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 +108 -0
- package/lib/cjs/close-lazy-transaction-markers.js.map +1 -0
- package/lib/cjs/create-dao.js +72 -71
- package/lib/cjs/create-dao.js.map +1 -1
- package/lib/cjs/create-data-only-config.js +22 -21
- package/lib/cjs/create-data-only-config.js.map +1 -1
- package/lib/cjs/create-maker.js +44 -42
- 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 +96 -92
- package/lib/cjs/create-subdao.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/repair-iot-operations-fund.js +16 -15
- package/lib/cjs/repair-iot-operations-fund.js.map +1 -1
- package/lib/cjs/reset-clockwork.js +24 -23
- package/lib/cjs/reset-clockwork.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 +36 -35
- package/lib/cjs/setup-hst.js.map +1 -1
- 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-aggregator.js +21 -20
- package/lib/cjs/update-aggregator.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-iot-operations-fund-metadata.js +2 -1
- package/lib/cjs/update-iot-operations-fund-metadata.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 +15 -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 +25 -24
- 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 +56 -46
- 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/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/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 +67 -0
- package/lib/esm/src/close-lazy-transaction-markers.js.map +1 -0
- package/lib/esm/src/create-dao.js +90 -89
- package/lib/esm/src/create-dao.js.map +1 -1
- package/lib/esm/src/create-data-only-config.js +34 -33
- package/lib/esm/src/create-data-only-config.js.map +1 -1
- package/lib/esm/src/create-maker.js +58 -56
- 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 +112 -108
- package/lib/esm/src/create-subdao.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/repair-iot-operations-fund.js +24 -23
- package/lib/esm/src/repair-iot-operations-fund.js.map +1 -1
- package/lib/esm/src/reset-clockwork.js +31 -30
- package/lib/esm/src/reset-clockwork.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 +50 -49
- package/lib/esm/src/setup-hst.js.map +1 -1
- 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-aggregator.js +28 -27
- package/lib/esm/src/update-aggregator.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-iot-operations-fund-metadata.js +3 -2
- package/lib/esm/src/update-iot-operations-fund-metadata.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 +22 -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 +34 -33
- 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 +67 -57
- 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/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-dao.d.ts.map +1 -1
- package/lib/types/src/create-data-only-config.d.ts.map +1 -1
- 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/issue-iot-operations-fund.d.ts.map +1 -1
- package/lib/types/src/repair-iot-operations-fund.d.ts.map +1 -1
- package/lib/types/src/reset-clockwork.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 +1 -1
- package/lib/types/src/setup-hst.d.ts.map +1 -1
- package/lib/types/src/update-aggregator.d.ts.map +1 -1
- 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-iot-operations-fund-metadata.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/package.json +25 -25
|
@@ -1,44 +1,48 @@
|
|
|
1
|
-
import * as anchor from
|
|
2
|
-
import { init } from
|
|
3
|
-
import { PublicKey } from
|
|
4
|
-
import Squads from
|
|
5
|
-
import os from
|
|
6
|
-
import yargs from
|
|
7
|
-
import { sendInstructionsOrSquads } from
|
|
1
|
+
import * as anchor from '@coral-xyz/anchor';
|
|
2
|
+
import { init } from '@helium/voter-stake-registry-sdk';
|
|
3
|
+
import { PublicKey } from '@solana/web3.js';
|
|
4
|
+
import Squads from '@sqds/sdk';
|
|
5
|
+
import os from 'os';
|
|
6
|
+
import yargs from 'yargs/yargs';
|
|
7
|
+
import { loadKeypair, sendInstructionsOrSquads } from './utils';
|
|
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
|
registrar: {
|
|
21
|
-
type:
|
|
21
|
+
type: 'string',
|
|
22
22
|
required: true,
|
|
23
|
-
}
|
|
23
|
+
},
|
|
24
24
|
});
|
|
25
25
|
const argv = await yarg.argv;
|
|
26
26
|
process.env.ANCHOR_WALLET = argv.wallet;
|
|
27
27
|
process.env.ANCHOR_PROVIDER_URL = argv.url;
|
|
28
28
|
anchor.setProvider(anchor.AnchorProvider.local(argv.url));
|
|
29
29
|
const provider = anchor.getProvider();
|
|
30
|
+
const wallet = new anchor.Wallet(loadKeypair(argv.wallet));
|
|
30
31
|
const vsrProgram = await init(provider);
|
|
31
32
|
const registrar = new PublicKey(argv.registrar);
|
|
32
33
|
const registrarAcc = await vsrProgram.account.registrar.fetch(registrar);
|
|
33
34
|
const instructions = [
|
|
34
|
-
await vsrProgram.methods
|
|
35
|
+
await vsrProgram.methods
|
|
36
|
+
.updateRegistrarAuthorityV0()
|
|
37
|
+
.accounts({
|
|
35
38
|
registrar,
|
|
36
39
|
realm: registrarAcc.realm,
|
|
37
40
|
realmAuthority: registrarAcc.realmAuthority,
|
|
38
|
-
})
|
|
41
|
+
})
|
|
42
|
+
.instruction(),
|
|
39
43
|
];
|
|
40
|
-
const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL,
|
|
41
|
-
commitmentOrConfig:
|
|
44
|
+
const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, wallet, {
|
|
45
|
+
commitmentOrConfig: 'finalized',
|
|
42
46
|
});
|
|
43
47
|
await sendInstructionsOrSquads({
|
|
44
48
|
provider,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-registrar-authorities.js","sourceRoot":"","sources":["../../../src/update-registrar-authorities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AACxD,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,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"update-registrar-authorities.js","sourceRoot":"","sources":["../../../src/update-registrar-authorities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AACxD,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,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAEhE,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,OAAY,OAAO,CAAC,IAAI;IAChD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;QAC/B,MAAM,EAAE;YACN,KAAK,EAAE,GAAG;YACV,QAAQ,EAAE,uBAAuB;YACjC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,yBAAyB;SAClD;QACD,GAAG,EAAE;YACH,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,uBAAuB;YAChC,QAAQ,EAAE,gBAAgB;SAC3B;QACD,SAAS,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;SACf;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,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACzE,MAAM,YAAY,GAAG;QACnB,MAAM,UAAU,CAAC,OAAO;aACrB,0BAA0B,EAAE;aAC5B,QAAQ,CAAC;YACR,SAAS;YACT,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,cAAc,EAAE,YAAY,CAAC,cAAc;SAC5C,CAAC;aACD,WAAW,EAAE;KACjB,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;QACxB,MAAM;QACN,OAAO,EAAE,EAAE;KACZ,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,56 +1,56 @@
|
|
|
1
|
-
import * as anchor from
|
|
2
|
-
import { init as initHem, rewardableEntityConfigKey, } from
|
|
3
|
-
import { subDaoKey } from
|
|
4
|
-
import { PublicKey } from
|
|
5
|
-
import Squads from
|
|
6
|
-
import os from
|
|
7
|
-
import yargs from
|
|
8
|
-
import { sendInstructionsOrSquads } from
|
|
9
|
-
import BN from
|
|
1
|
+
import * as anchor from '@coral-xyz/anchor';
|
|
2
|
+
import { init as initHem, rewardableEntityConfigKey, } from '@helium/helium-entity-manager-sdk';
|
|
3
|
+
import { subDaoKey } from '@helium/helium-sub-daos-sdk';
|
|
4
|
+
import { PublicKey } from '@solana/web3.js';
|
|
5
|
+
import Squads from '@sqds/sdk';
|
|
6
|
+
import os from 'os';
|
|
7
|
+
import yargs from 'yargs/yargs';
|
|
8
|
+
import { loadKeypair, sendInstructionsOrSquads } from './utils';
|
|
9
|
+
import BN from 'bn.js';
|
|
10
10
|
export async function run(args = process.argv) {
|
|
11
11
|
const yarg = yargs(args).options({
|
|
12
12
|
wallet: {
|
|
13
|
-
alias:
|
|
14
|
-
describe:
|
|
13
|
+
alias: 'k',
|
|
14
|
+
describe: 'Anchor wallet keypair',
|
|
15
15
|
default: `${os.homedir()}/.config/solana/id.json`,
|
|
16
16
|
},
|
|
17
17
|
url: {
|
|
18
|
-
alias:
|
|
19
|
-
default:
|
|
20
|
-
describe:
|
|
18
|
+
alias: 'u',
|
|
19
|
+
default: 'http://127.0.0.1:8899',
|
|
20
|
+
describe: 'The solana url',
|
|
21
21
|
},
|
|
22
22
|
dntMint: {
|
|
23
23
|
required: true,
|
|
24
|
-
describe:
|
|
25
|
-
type:
|
|
24
|
+
describe: 'Public Key of the subdao mint',
|
|
25
|
+
type: 'string',
|
|
26
26
|
},
|
|
27
27
|
name: {
|
|
28
|
-
alias:
|
|
29
|
-
type:
|
|
28
|
+
alias: 'n',
|
|
29
|
+
type: 'string',
|
|
30
30
|
required: true,
|
|
31
|
-
describe:
|
|
31
|
+
describe: 'The name of the entity config',
|
|
32
32
|
},
|
|
33
33
|
executeTransaction: {
|
|
34
|
-
type:
|
|
34
|
+
type: 'boolean',
|
|
35
35
|
},
|
|
36
36
|
multisig: {
|
|
37
|
-
type:
|
|
38
|
-
describe:
|
|
37
|
+
type: 'string',
|
|
38
|
+
describe: 'Address of the squads multisig to be authority. If not provided, your wallet will be the authority',
|
|
39
39
|
},
|
|
40
40
|
authorityIndex: {
|
|
41
|
-
type:
|
|
42
|
-
describe:
|
|
41
|
+
type: 'number',
|
|
42
|
+
describe: 'Authority index for squads. Defaults to 1',
|
|
43
43
|
default: 1,
|
|
44
44
|
},
|
|
45
45
|
fullLocationStakingFee: {
|
|
46
|
-
type:
|
|
47
|
-
describe:
|
|
48
|
-
default:
|
|
46
|
+
type: 'number',
|
|
47
|
+
describe: 'The full hotspot location assert fee',
|
|
48
|
+
default: '1000000',
|
|
49
49
|
},
|
|
50
50
|
dataonlyLocationStakingFee: {
|
|
51
|
-
type:
|
|
52
|
-
describe:
|
|
53
|
-
default:
|
|
51
|
+
type: 'number',
|
|
52
|
+
describe: 'The full hotspot location assert fee',
|
|
53
|
+
default: '1000000',
|
|
54
54
|
},
|
|
55
55
|
});
|
|
56
56
|
const argv = await yarg.argv;
|
|
@@ -58,6 +58,7 @@ export async function run(args = process.argv) {
|
|
|
58
58
|
process.env.ANCHOR_PROVIDER_URL = argv.url;
|
|
59
59
|
anchor.setProvider(anchor.AnchorProvider.local(argv.url));
|
|
60
60
|
const provider = anchor.getProvider();
|
|
61
|
+
const wallet = new anchor.Wallet(loadKeypair(argv.wallet));
|
|
61
62
|
const name = argv.name;
|
|
62
63
|
const hemProgram = await initHem(provider);
|
|
63
64
|
const dntMint = new PublicKey(argv.dntMint);
|
|
@@ -65,11 +66,11 @@ export async function run(args = process.argv) {
|
|
|
65
66
|
const rewardableConfigKey = (await rewardableEntityConfigKey(subdao, name.toUpperCase()))[0];
|
|
66
67
|
const rewardableConfigAcc = await hemProgram.account.rewardableEntityConfigV0.fetch(rewardableConfigKey);
|
|
67
68
|
let payer = provider.wallet.publicKey;
|
|
68
|
-
const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL,
|
|
69
|
-
commitmentOrConfig:
|
|
69
|
+
const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, wallet, {
|
|
70
|
+
commitmentOrConfig: 'finalized',
|
|
70
71
|
});
|
|
71
72
|
let settings;
|
|
72
|
-
if (name.toUpperCase() ==
|
|
73
|
+
if (name.toUpperCase() == 'IOT') {
|
|
73
74
|
settings = {
|
|
74
75
|
iotConfig: {
|
|
75
76
|
minGain: 10,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-rewardable-entity-config.js","sourceRoot":"","sources":["../../../src/update-rewardable-entity-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EACL,IAAI,IAAI,OAAO,EACf,yBAAyB,GAC1B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,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,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"update-rewardable-entity-config.js","sourceRoot":"","sources":["../../../src/update-rewardable-entity-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,68 +1,68 @@
|
|
|
1
|
-
import * as anchor from
|
|
2
|
-
import { init as initHsd, subDaoKey } from
|
|
3
|
-
import { PublicKey } from
|
|
4
|
-
import Squads from
|
|
5
|
-
import AWS from
|
|
6
|
-
import { BN } from
|
|
7
|
-
import os from
|
|
8
|
-
import { Client } from
|
|
9
|
-
import yargs from
|
|
10
|
-
import { sendInstructionsOrSquads } from
|
|
1
|
+
import * as anchor from '@coral-xyz/anchor';
|
|
2
|
+
import { init as initHsd, subDaoKey } from '@helium/helium-sub-daos-sdk';
|
|
3
|
+
import { PublicKey } from '@solana/web3.js';
|
|
4
|
+
import Squads from '@sqds/sdk';
|
|
5
|
+
import AWS from 'aws-sdk';
|
|
6
|
+
import { BN } from 'bn.js';
|
|
7
|
+
import os from 'os';
|
|
8
|
+
import { Client } from 'pg';
|
|
9
|
+
import yargs from 'yargs/yargs';
|
|
10
|
+
import { loadKeypair, sendInstructionsOrSquads } from './utils';
|
|
11
11
|
export async function run(args = process.argv) {
|
|
12
12
|
const yarg = yargs(args).options({
|
|
13
13
|
wallet: {
|
|
14
|
-
alias:
|
|
15
|
-
describe:
|
|
14
|
+
alias: 'k',
|
|
15
|
+
describe: 'Anchor wallet keypair',
|
|
16
16
|
default: `${os.homedir()}/.config/solana/id.json`,
|
|
17
17
|
},
|
|
18
18
|
url: {
|
|
19
|
-
alias:
|
|
20
|
-
default:
|
|
21
|
-
describe:
|
|
19
|
+
alias: 'u',
|
|
20
|
+
default: 'http://127.0.0.1:8899',
|
|
21
|
+
describe: 'The solana url',
|
|
22
22
|
},
|
|
23
23
|
dntMint: {
|
|
24
24
|
required: true,
|
|
25
|
-
type:
|
|
26
|
-
describe:
|
|
25
|
+
type: 'string',
|
|
26
|
+
describe: 'DNT mint of the subdao to be updated',
|
|
27
27
|
},
|
|
28
28
|
name: {
|
|
29
|
-
alias:
|
|
30
|
-
type:
|
|
29
|
+
alias: 'n',
|
|
30
|
+
type: 'string',
|
|
31
31
|
required: false,
|
|
32
|
-
describe:
|
|
32
|
+
describe: 'The name of the entity config',
|
|
33
33
|
},
|
|
34
34
|
executeTransaction: {
|
|
35
|
-
type:
|
|
35
|
+
type: 'boolean',
|
|
36
36
|
},
|
|
37
37
|
multisig: {
|
|
38
|
-
type:
|
|
39
|
-
describe:
|
|
38
|
+
type: 'string',
|
|
39
|
+
describe: 'Address of the squads multisig to be authority. If not provided, your wallet will be the authority',
|
|
40
40
|
},
|
|
41
41
|
authorityIndex: {
|
|
42
|
-
type:
|
|
43
|
-
describe:
|
|
42
|
+
type: 'number',
|
|
43
|
+
describe: 'Authority index for squads. Defaults to 1',
|
|
44
44
|
default: 1,
|
|
45
45
|
},
|
|
46
46
|
pgUser: {
|
|
47
|
-
default:
|
|
47
|
+
default: 'postgres',
|
|
48
48
|
},
|
|
49
49
|
pgPassword: {
|
|
50
|
-
type:
|
|
50
|
+
type: 'string',
|
|
51
51
|
},
|
|
52
52
|
pgDatabase: {
|
|
53
|
-
type:
|
|
53
|
+
type: 'string',
|
|
54
54
|
},
|
|
55
55
|
pgHost: {
|
|
56
|
-
default:
|
|
56
|
+
default: 'localhost',
|
|
57
57
|
},
|
|
58
58
|
pgPort: {
|
|
59
|
-
default:
|
|
59
|
+
default: '5432',
|
|
60
60
|
},
|
|
61
61
|
awsRegion: {
|
|
62
|
-
default:
|
|
62
|
+
default: 'us-east-1',
|
|
63
63
|
},
|
|
64
64
|
noSsl: {
|
|
65
|
-
type:
|
|
65
|
+
type: 'boolean',
|
|
66
66
|
default: false,
|
|
67
67
|
},
|
|
68
68
|
});
|
|
@@ -71,9 +71,10 @@ export async function run(args = process.argv) {
|
|
|
71
71
|
process.env.ANCHOR_PROVIDER_URL = argv.url;
|
|
72
72
|
anchor.setProvider(anchor.AnchorProvider.local(argv.url));
|
|
73
73
|
const provider = anchor.getProvider();
|
|
74
|
+
const wallet = new anchor.Wallet(loadKeypair(argv.wallet));
|
|
74
75
|
const program = await initHsd(provider);
|
|
75
76
|
// configure pg connection
|
|
76
|
-
const isRds = argv.pgHost.includes(
|
|
77
|
+
const isRds = argv.pgHost.includes('rds.amazonaws.com');
|
|
77
78
|
let password = argv.pgPassword;
|
|
78
79
|
if (isRds && !password) {
|
|
79
80
|
const signer = new AWS.RDS.Signer({
|
|
@@ -111,7 +112,7 @@ export async function run(args = process.argv) {
|
|
|
111
112
|
CASE WHEN p.genesis_end > current_ts THEN cast(r.voting_mints[p.voting_mint_config_idx + 1]->>'genesisVotePowerMultiplier' as numeric) ELSE 1 END as genesis_multiplier,
|
|
112
113
|
GREATEST(
|
|
113
114
|
cast(
|
|
114
|
-
p.end_ts -
|
|
115
|
+
p.end_ts -
|
|
115
116
|
CASE WHEN lockup_kind = 'constant' THEN start_ts ELSE current_ts END
|
|
116
117
|
as numeric
|
|
117
118
|
),
|
|
@@ -125,7 +126,7 @@ export async function run(args = process.argv) {
|
|
|
125
126
|
cast(lockup->>'startTs' as numeric) as start_ts,
|
|
126
127
|
-- 1683727980 as current_ts
|
|
127
128
|
FLOOR(EXTRACT(EPOCH FROM CURRENT_TIMESTAMP)) as current_ts
|
|
128
|
-
FROM positions
|
|
129
|
+
FROM positions
|
|
129
130
|
) p
|
|
130
131
|
JOIN registrars r on p.registrar = r.address
|
|
131
132
|
),
|
|
@@ -141,9 +142,9 @@ export async function run(args = process.argv) {
|
|
|
141
142
|
amount_deposited_native,
|
|
142
143
|
ve_tokens,
|
|
143
144
|
initial_ve_tokens,
|
|
144
|
-
CASE WHEN lockup_kind = 'constant' THEN
|
|
145
|
+
CASE WHEN lockup_kind = 'constant' THEN
|
|
145
146
|
0
|
|
146
|
-
ELSE
|
|
147
|
+
ELSE
|
|
147
148
|
CASE WHEN current_ts < genesis_end THEN
|
|
148
149
|
-- genesis
|
|
149
150
|
(ve_tokens - (
|
|
@@ -159,7 +160,7 @@ export async function run(args = process.argv) {
|
|
|
159
160
|
) / (genesis_end - current_ts)
|
|
160
161
|
ELSE
|
|
161
162
|
-- normal
|
|
162
|
-
ve_tokens / (end_ts - current_ts)
|
|
163
|
+
ve_tokens / (end_ts - current_ts)
|
|
163
164
|
END
|
|
164
165
|
END as fall_rate,
|
|
165
166
|
start_ts,
|
|
@@ -210,7 +211,7 @@ export async function run(args = process.argv) {
|
|
|
210
211
|
WHERE (lockup_kind = 'constant' or end_ts > (floor(current_ts / (60 * 60 * 24)) * (60 * 60 * 24)) + 60 * 60 * 24)
|
|
211
212
|
GROUP BY s.dnt_mint, s.vehnt_fall_rate, s.vehnt_delegated, s.vehnt_last_calculated_ts, s.vehnt_last_calculated_ts
|
|
212
213
|
)
|
|
213
|
-
SELECT
|
|
214
|
+
SELECT
|
|
214
215
|
mint,
|
|
215
216
|
current_ts,
|
|
216
217
|
delegations,
|
|
@@ -225,20 +226,20 @@ export async function run(args = process.argv) {
|
|
|
225
226
|
const instructions = [];
|
|
226
227
|
const subDao = subDaoKey(new PublicKey(argv.dntMint))[0];
|
|
227
228
|
const subDaoAcc = await program.account.subDaoV0.fetch(subDao);
|
|
228
|
-
console.log(
|
|
229
|
+
console.log('Subdao', subDao.toBase58());
|
|
229
230
|
instructions.push(await program.methods
|
|
230
231
|
.updateSubDaoVehntV0({
|
|
231
|
-
vehntDelegated: new BN(row.real_ve_tokens.split(
|
|
232
|
+
vehntDelegated: new BN(row.real_ve_tokens.split('.')[0]),
|
|
232
233
|
vehntLastCalculatedTs: new BN(row.current_ts),
|
|
233
|
-
vehntFallRate: new BN(row.real_fall_rate.split(
|
|
234
|
+
vehntFallRate: new BN(row.real_fall_rate.split('.')[0]),
|
|
234
235
|
})
|
|
235
236
|
.accounts({
|
|
236
237
|
subDao,
|
|
237
238
|
authority: subDaoAcc.authority,
|
|
238
239
|
})
|
|
239
240
|
.instruction());
|
|
240
|
-
const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL,
|
|
241
|
-
commitmentOrConfig:
|
|
241
|
+
const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, wallet, {
|
|
242
|
+
commitmentOrConfig: 'finalized',
|
|
242
243
|
});
|
|
243
244
|
await sendInstructionsOrSquads({
|
|
244
245
|
provider,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-subdao-vehnt.js","sourceRoot":"","sources":["../../../src/update-subdao-vehnt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,
|
|
1
|
+
{"version":3,"file":"update-subdao-vehnt.js","sourceRoot":"","sources":["../../../src/update-subdao-vehnt.ts"],"names":[],"mappings":"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"}
|