Skip to content

Commit

Permalink
feat(cli): Add wallet:lock (#5330)
Browse files Browse the repository at this point in the history
  • Loading branch information
rohanjadvani committed Aug 26, 2024
1 parent b463f60 commit a1c7df2
Showing 1 changed file with 40 additions and 0 deletions.
40 changes: 40 additions & 0 deletions ironfish-cli/src/commands/wallet/lock.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
import { RpcRequestError } from '@ironfish/sdk'
import { IronfishCommand } from '../../command'
import { RemoteFlags } from '../../flags'

export class LockCommand extends IronfishCommand {
static hidden = true

static description = 'lock accounts in the wallet'

static flags = {
...RemoteFlags,
}

async start(): Promise<void> {
const client = await this.connectRpc()

const response = await client.wallet.getAccountsStatus()
if (!response.content.encrypted) {
this.log('Wallet is decrypted')
this.exit(1)
}

try {
await client.wallet.lock()
} catch (e) {
if (e instanceof RpcRequestError) {
this.log('Wallet lock failed')
this.exit(1)
}

throw e
}

this.log('Locked the wallet')
this.exit(0)
}
}

0 comments on commit a1c7df2

Please sign in to comment.