Skip to content

Class BSV::Wallet::Store::File

Inherits: BSV::Wallet::Store::Memory

JSON file-backed storage adapter.

Persists actions, outputs, and certificates as JSON files in a configurable directory (default: +~/.bsv-wallet/+). Data survives process restarts.

Inherits all filtering and pagination logic from {Store::Memory} and adds load-on-init / save-on-mutation.

@example Default location

store = BSV::Wallet::Store::File.new
# Data written to ~/.bsv-wallet/

@example Custom directory

store = BSV::Wallet::Store::File.new(dir: '/var/lib/my-app/wallet')

Constants

DEFAULT_DIR

Not documented.

Attributes

dir [R]

  • @return [String] the storage directory path

Public Instance Methods

delete_action(txid)

Not documented.

delete_certificate(type:, serial_number:, certifier:)

Not documented.

delete_output(outpoint)

Not documented.

initialize(dir: = nil, logger: = nil)

  • @param dir [String] directory for JSON files (default: +~/.bsv-wallet/+ or +BSV_WALLET_DIR+ env var)
  • @param logger [Logger, nil] logger for permission warnings (default: Logger to STDERR)
  • @return [File] a new instance of File

lock_utxos(outpoints, reference:, no_send: = false)

Not documented.

store_action(action_data)

--- Mutations: delegate to super, then persist ---

store_certificate(cert_data)

Not documented.

store_output(output_data)

Not documented.

store_proof(txid, bump_hex)

Not documented.

store_setting(key, value)

Not documented.

store_transaction(txid, tx_hex)

Not documented.

update_action_status(txid, new_status)

Not documented.

update_output_basket(outpoint, new_basket)

Not documented.

update_output_state(outpoint, new_state, pending_reference: = nil, no_send: = nil)

Not documented.