Add commands for authority operations
This commit is contained in:
parent
72c98e14a1
commit
fe739c325f
27
src/cmds/cns-cmds/authority-cmds/bond-cmds/set.ts
Normal file
27
src/cmds/cns-cmds/authority-cmds/bond-cmds/set.ts
Normal file
@ -0,0 +1,27 @@
|
||||
import { Arguments } from 'yargs';
|
||||
import assert from 'assert';
|
||||
import { Registry } from 'chiba-clonk-client';
|
||||
|
||||
import { getConfig, getConnectionInfo, getGasAndFees } from '../../../../util';
|
||||
|
||||
export const command = 'set [name] [bond-id]';
|
||||
|
||||
export const desc = 'Set bond for authority.';
|
||||
|
||||
export const handler = async (argv: Arguments) => {
|
||||
const name = argv.name as string;
|
||||
const bondId = argv.bondId as string;
|
||||
assert(name, 'Invalid authority name.');
|
||||
|
||||
const { services: { cns: cnsConfig } } = getConfig(argv.config as string)
|
||||
const { restEndpoint, gqlEndpoint, privateKey, chainId } = getConnectionInfo(argv, cnsConfig);
|
||||
assert(restEndpoint, 'Invalid CNS REST endpoint.');
|
||||
assert(gqlEndpoint, 'Invalid CNS GQL endpoint.');
|
||||
assert(privateKey, 'Invalid Transaction Key.');
|
||||
assert(chainId, 'Invalid CNS Chain ID.');
|
||||
|
||||
const registry = new Registry(restEndpoint, gqlEndpoint, chainId);
|
||||
const fee = getGasAndFees(argv, cnsConfig);
|
||||
const result = await registry.setAuthorityBond({ name, bondId }, privateKey, fee);
|
||||
console.log(JSON.stringify(result, undefined, 2));
|
||||
}
|
10
src/cmds/cns-cmds/authority-cmds/bond.ts
Normal file
10
src/cmds/cns-cmds/authority-cmds/bond.ts
Normal file
@ -0,0 +1,10 @@
|
||||
import yargs from 'yargs';
|
||||
|
||||
export const command = 'bond';
|
||||
|
||||
export const desc = 'Authority bond operations.';
|
||||
|
||||
exports.builder = (yargs: yargs.Argv) => {
|
||||
return yargs.commandDir('bond-cmds')
|
||||
.demandCommand();
|
||||
}
|
35
src/cmds/cns-cmds/authority-cmds/reserve.ts
Normal file
35
src/cmds/cns-cmds/authority-cmds/reserve.ts
Normal file
@ -0,0 +1,35 @@
|
||||
import { Arguments } from 'yargs';
|
||||
import assert from 'assert';
|
||||
import { Registry } from 'chiba-clonk-client';
|
||||
|
||||
import { getConfig, getConnectionInfo, getGasAndFees } from '../../../util';
|
||||
|
||||
export const command = 'reserve [name]';
|
||||
|
||||
export const desc = 'Reserve authority/name.';
|
||||
|
||||
export const builder = {
|
||||
owner: {
|
||||
type: 'string',
|
||||
default: ''
|
||||
}
|
||||
}
|
||||
|
||||
export const handler = async (argv: Arguments) => {
|
||||
const name = argv.name as string;
|
||||
const owner = argv.owner as string;
|
||||
assert(name, 'Invalid authority name.');
|
||||
|
||||
const { services: { cns: cnsConfig } } = getConfig(argv.config as string)
|
||||
const { restEndpoint, gqlEndpoint, privateKey, chainId } = getConnectionInfo(argv, cnsConfig);
|
||||
assert(restEndpoint, 'Invalid CNS REST endpoint.');
|
||||
assert(gqlEndpoint, 'Invalid CNS GQL endpoint.');
|
||||
assert(privateKey, 'Invalid Transaction Key.');
|
||||
assert(chainId, 'Invalid CNS Chain ID.');
|
||||
|
||||
const registry = new Registry(restEndpoint, gqlEndpoint, chainId);
|
||||
const fee = getGasAndFees(argv, cnsConfig);
|
||||
const result = await registry.reserveAuthority({ name, owner }, privateKey, fee);
|
||||
|
||||
console.log(JSON.stringify(result, undefined, 2));
|
||||
}
|
25
src/cmds/cns-cmds/authority-cmds/whois.ts
Normal file
25
src/cmds/cns-cmds/authority-cmds/whois.ts
Normal file
@ -0,0 +1,25 @@
|
||||
import { Arguments } from 'yargs';
|
||||
import assert from 'assert';
|
||||
import { Registry } from 'chiba-clonk-client';
|
||||
|
||||
import { getConfig, getConnectionInfo } from '../../../util';
|
||||
|
||||
export const command = 'whois [name]';
|
||||
|
||||
export const desc = 'Lookup authority information.';
|
||||
|
||||
export const handler = async (argv: Arguments) => {
|
||||
const name = argv.name as string;
|
||||
assert(name, 'Invalid authority name.');
|
||||
|
||||
const { services: { cns: cnsConfig } } = getConfig(argv.config as string)
|
||||
const { restEndpoint, gqlEndpoint, chainId } = getConnectionInfo(argv, cnsConfig);
|
||||
assert(restEndpoint, 'Invalid CNS REST endpoint.');
|
||||
assert(gqlEndpoint, 'Invalid CNS GQL endpoint.');
|
||||
assert(chainId, 'Invalid CNS Chain ID.');
|
||||
|
||||
const registry = new Registry(restEndpoint, gqlEndpoint, chainId);
|
||||
const result = await registry.lookupAuthorities([name], true);
|
||||
|
||||
console.log(JSON.stringify(result, undefined, 2));
|
||||
}
|
10
src/cmds/cns-cmds/authority.ts
Normal file
10
src/cmds/cns-cmds/authority.ts
Normal file
@ -0,0 +1,10 @@
|
||||
import yargs from 'yargs';
|
||||
|
||||
export const command = 'authority';
|
||||
|
||||
export const desc = 'Name authority operations.';
|
||||
|
||||
exports.builder = (yargs: yargs.Argv) => {
|
||||
return yargs.commandDir('authority-cmds')
|
||||
.demandCommand();
|
||||
}
|
Loading…
Reference in New Issue
Block a user