Module: BSV::Wallet

Defined in:
lib/bsv/wallet.rb,
lib/bsv/wallet/wire.rb,
lib/bsv/wallet/errors.rb,
lib/bsv/wallet/interface.rb,
lib/bsv/wallet/serializer.rb,
lib/bsv/wallet/wire/calls.rb,
lib/bsv/wallet/wire/frame.rb,
lib/bsv/wallet/wallet_wire.rb,
lib/bsv/wallet/proto_wallet.rb,
lib/bsv/wallet/wire/validation.rb,
lib/bsv/wallet/interface/brc100.rb,
lib/bsv/wallet/serializer/common.rb,
lib/bsv/wallet/serializer/status.rb,
lib/bsv/wallet/serializer/decrypt.rb,
lib/bsv/wallet/serializer/encrypt.rb,
lib/bsv/wallet/wire/reader_writer.rb,
lib/bsv/wallet/serializer/get_height.rb,
lib/bsv/wallet/wallet_wire_processor.rb,
lib/bsv/wallet/serializer/certificate.rb,
lib/bsv/wallet/serializer/create_hmac.rb,
lib/bsv/wallet/serializer/get_network.rb,
lib/bsv/wallet/serializer/get_version.rb,
lib/bsv/wallet/serializer/verify_hmac.rb,
lib/bsv/wallet/proto_wallet/validators.rb,
lib/bsv/wallet/serializer/abort_action.rb,
lib/bsv/wallet/serializer/list_actions.rb,
lib/bsv/wallet/serializer/list_outputs.rb,
lib/bsv/wallet/wallet_wire_transceiver.rb,
lib/bsv/wallet/proto_wallet/key_deriver.rb,
lib/bsv/wallet/serializer/get_public_key.rb,
lib/bsv/wallet/serializer/create_signature.rb,
lib/bsv/wallet/serializer/sign_action_args.rb,
lib/bsv/wallet/serializer/verify_signature.rb,
lib/bsv/wallet/substrates/http_wallet_json.rb,
lib/bsv/wallet/substrates/http_wallet_wire.rb,
lib/bsv/wallet/serializer/list_certificates.rb,
lib/bsv/wallet/serializer/prove_certificate.rb,
lib/bsv/wallet/serializer/relinquish_output.rb,
lib/bsv/wallet/serializer/create_action_args.rb,
lib/bsv/wallet/serializer/internalize_action.rb,
lib/bsv/wallet/serializer/sign_action_result.rb,
lib/bsv/wallet/serializer/acquire_certificate.rb,
lib/bsv/wallet/serializer/create_action_result.rb,
lib/bsv/wallet/serializer/get_header_for_height.rb,
lib/bsv/wallet/serializer/discover_by_attributes.rb,
lib/bsv/wallet/serializer/relinquish_certificate.rb,
lib/bsv/wallet/serializer/discover_by_identity_key.rb,
lib/bsv/wallet/serializer/reveal_specific_key_linkage.rb,
lib/bsv/wallet/serializer/discover_certificates_result.rb,
lib/bsv/wallet/serializer/reveal_counterparty_key_linkage.rb

Defined Under Namespace

Modules: Interface, Serializer, Substrates, WalletWire, Wire Classes: Error, InsufficientFundsError, InvalidHmacError, InvalidParameterError, InvalidSignatureError, ProtoWallet, ReviewActionsError, UnsupportedActionError, WalletWireProcessor, WalletWireTransceiver

Class Method Summary collapse

Class Method Details

.error_from_wire(code, message, stack = '') ⇒ Error

Rehydrate a wire error frame into the appropriate subclass.

Parameters:

  • code (Integer)

    error code byte from the result frame

  • message (String)

    error message from the frame

  • stack (String) (defaults to: '')

    stack trace from the frame (may be empty)

Returns:

  • (Error)

    an instance of the matching subclass



79
80
81
82
83
84
85
86
87
88
89
# File 'lib/bsv/wallet/errors.rb', line 79

def self.error_from_wire(code, message, stack = '')
  case code
  when 2 then UnsupportedActionError.new(message, stack: stack)
  when 3 then InvalidHmacError.new(message, stack: stack)
  when 4 then InvalidSignatureError.new(message, stack: stack)
  when 5 then InsufficientFundsError.new(message, stack: stack)
  when 6 then InvalidParameterError.new(message, nil, stack: stack)
  when 7 then ReviewActionsError.new(message, stack: stack)
  else        Error.new(message, code: code, stack: stack)
  end
end