update-bag-limit.ts 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import ApiCommandBase from '../../command-base/ApiCommandBase'
  2. import { updateStorageBucketsPerBagLimit } from '../../services/runtime/extrinsics'
  3. import { flags } from '@oclif/command'
  4. import logger from '../../services/logger'
  5. /**
  6. * CLI command:
  7. * Sets new storage-buckets-per-bag limit.
  8. *
  9. * @remarks
  10. * Storage working group leader command. Requires storage WG leader priviliges.
  11. * Shell command: "leader:update-bag-limit"
  12. */
  13. export default class LeaderUpdateBagLimit extends ApiCommandBase {
  14. static description = 'Update StorageBucketsPerBagLimit variable in the Joystream node storage.'
  15. static flags = {
  16. limit: flags.integer({
  17. char: 'l',
  18. required: true,
  19. description: 'New StorageBucketsPerBagLimit value',
  20. }),
  21. ...ApiCommandBase.flags,
  22. }
  23. async run(): Promise<void> {
  24. const { flags } = this.parse(LeaderUpdateBagLimit)
  25. logger.info('Update "Storage buckets per bag" number limit....')
  26. if (flags.dev) {
  27. await this.ensureDevelopmentChain()
  28. }
  29. const account = this.getAccount(flags)
  30. const limit = flags.limit
  31. const api = await this.getApi()
  32. const success = await updateStorageBucketsPerBagLimit(api, account, limit)
  33. this.exitAfterRuntimeCall(success)
  34. }
  35. }