Class BSV::Wallet::Substrates::HTTPWalletJSON ¶
Inherits: Object Includes: BSV::Wallet::Interface::BRC100
BRC-100 wallet substrate that delegates all Interface methods to a remote wallet server via JSON-over-HTTP (POST #{base_url}/#{camelCaseMethodName}).
Key conversion is handled by {BSV::WireFormat}: Ruby snake_case symbol keys in args are converted to camelCase strings before the request, and the camelCase JSON response is converted back to snake_case symbol keys.
@example
wallet = BSV::Wallet::Substrates::HTTPWalletJSON.new('http://localhost:3321',
originator: 'myapp.example.com')
result = wallet.get_public_key({ identity_key: true })
# => { public_key: '02abc...' }
Constants¶
METHOD_NAMES ¶
Maps the 28 BRC-100 Interface method symbols to their camelCase HTTP endpoint names. Derived from Wire::Serializer::CALL_CODES keys via BSV::WireFormat.snake_to_camel.
Public Instance Methods¶
abort_action(args, originator: = nil) ¶
Not documented.
acquire_certificate(args, originator: = nil) ¶
Not documented.
create_action(args, originator: = nil) ¶
Per-call originator is accepted for Interface conformance but not forwarded. The Origin header uses the constructor-level @originator for the lifetime of the connection — matching the TS SDK's HTTPWalletJSON, which also ignores per-call originator. WalletWireTransceiver supports per-call originator because the wire frame encodes it per-message; HTTP substrates identify by connection, not by call. rubocop:disable Lint/UnusedMethodArgument
create_hmac(args, originator: = nil) ¶
Not documented.
create_signature(args, originator: = nil) ¶
Not documented.
decrypt(args, originator: = nil) ¶
Not documented.
discover_by_attributes(args, originator: = nil) ¶
Not documented.
discover_by_identity_key(args, originator: = nil) ¶
Not documented.
encrypt(args, originator: = nil) ¶
Not documented.
get_header_for_height(args, originator: = nil) ¶
Not documented.
get_height(args = {}, originator: = nil) ¶
Not documented.
get_network(args = {}, originator: = nil) ¶
Not documented.
get_public_key(args, originator: = nil) ¶
Not documented.
get_version(args = {}, originator: = nil) ¶
Not documented.
initialize(base_url, originator: = nil, http_client: = nil) ¶
- @param
base_url[String] base URL of the remote wallet server (e.g. 'http://localhost:3321') - @param
originator[String, nil] FQDN of the originating application (sent as Origin/Originator headers) - @param
http_client[Object, nil] injectable HTTP client for testing; must respond tostart(uri, &block)returning a Net::HTTP-compatible response - @return [HTTPWalletJSON] a new instance of HTTPWalletJSON
internalize_action(args, originator: = nil) ¶
Not documented.
is_authenticated(args = {}, originator: = nil) ¶
Not documented.
list_actions(args, originator: = nil) ¶
Not documented.
list_certificates(args, originator: = nil) ¶
Not documented.
list_outputs(args, originator: = nil) ¶
Not documented.
prove_certificate(args, originator: = nil) ¶
Not documented.
relinquish_certificate(args, originator: = nil) ¶
Not documented.
relinquish_output(args, originator: = nil) ¶
Not documented.
reveal_counterparty_key_linkage(args, originator: = nil) ¶
Not documented.
reveal_specific_key_linkage(args, originator: = nil) ¶
Not documented.
sign_action(args, originator: = nil) ¶
Not documented.
verify_hmac(args, originator: = nil) ¶
Not documented.
verify_signature(args, originator: = nil) ¶
Not documented.
wait_for_authentication(args = {}, originator: = nil) ¶
Not documented.