Module: BSV::Wallet::Interface
- Defined in:
- lib/bsv/wallet_interface/interface.rb
Overview
BRC-100 Wallet Interface
Defines the 28 methods of the standard BSV wallet-to-application interface. Include this module and override the methods your implementation supports. Unimplemented methods raise UnsupportedActionError.
Instance Method Summary collapse
-
#abort_action(args, originator: nil) ⇒ Hash
Aborts an incomplete transaction.
-
#acquire_certificate(args, originator: nil) ⇒ Hash
Acquires an identity certificate.
-
#create_action(args, originator: nil) ⇒ Hash
Creates a new Bitcoin transaction with metadata and labels.
-
#create_hmac(args, originator: nil) ⇒ Hash
Creates an HMAC using a derived symmetric key.
-
#create_signature(args, originator: nil) ⇒ Hash
Creates a digital signature using a derived private key.
-
#decrypt(args, originator: nil) ⇒ Hash
Decrypts data using a derived symmetric key.
-
#discover_by_attributes(args, originator: nil) ⇒ Hash
Discovers certificates by attributes.
-
#discover_by_identity_key(args, originator: nil) ⇒ Hash
Discovers certificates by identity key.
-
#encrypt(args, originator: nil) ⇒ Hash
Encrypts data using a derived symmetric key.
-
#get_header_for_height(args, originator: nil) ⇒ Hash
Returns the block header at a given height.
-
#get_height(args = {}, originator: nil) ⇒ Hash
Returns the current blockchain height.
-
#get_network(args = {}, originator: nil) ⇒ Hash
Returns the network (mainnet or testnet).
-
#get_public_key(args, originator: nil) ⇒ Hash
Retrieves a derived or identity public key.
-
#get_version(args = {}, originator: nil) ⇒ Hash
Returns the wallet version string.
-
#internalize_action(args, originator: nil) ⇒ Hash
Accepts an incoming transaction for internalization.
-
#is_authenticated(args = {}, originator: nil) ⇒ Hash
Checks if the user is authenticated.
-
#list_actions(args, originator: nil) ⇒ Hash
Lists transactions matching the specified labels.
-
#list_certificates(args, originator: nil) ⇒ Hash
Lists identity certificates.
-
#list_outputs(args, originator: nil) ⇒ Hash
Lists spendable outputs in a basket.
-
#prove_certificate(args, originator: nil) ⇒ Hash
Proves select fields of a certificate to a verifier.
-
#relinquish_certificate(args, originator: nil) ⇒ Hash
Removes a certificate from the wallet.
-
#relinquish_output(args, originator: nil) ⇒ Hash
Releases an output from basket tracking.
-
#reveal_counterparty_key_linkage(args, originator: nil) ⇒ Hash
Reveals key linkage between self and a counterparty to a verifier.
-
#reveal_specific_key_linkage(args, originator: nil) ⇒ Hash
Reveals specific key linkage for a particular interaction.
-
#sign_action(args, originator: nil) ⇒ Hash
Signs a previously created transaction.
-
#verify_hmac(args, originator: nil) ⇒ Hash
Verifies an HMAC using a derived symmetric key.
-
#verify_signature(args, originator: nil) ⇒ Hash
Verifies a digital signature using a derived public key.
-
#wait_for_authentication(args = {}, originator: nil) ⇒ Hash
Waits until the user is authenticated.
Instance Method Details
#abort_action(args, originator: nil) ⇒ Hash
Aborts an incomplete transaction.
50 51 52 |
# File 'lib/bsv/wallet_interface/interface.rb', line 50 def abort_action(args, originator: nil) raise UnsupportedActionError, 'abort_action' end |
#acquire_certificate(args, originator: nil) ⇒ Hash
Acquires an identity certificate.
257 258 259 |
# File 'lib/bsv/wallet_interface/interface.rb', line 257 def acquire_certificate(args, originator: nil) raise UnsupportedActionError, 'acquire_certificate' end |
#create_action(args, originator: nil) ⇒ Hash
Creates a new Bitcoin transaction with metadata and labels.
28 29 30 |
# File 'lib/bsv/wallet_interface/interface.rb', line 28 def create_action(args, originator: nil) raise UnsupportedActionError, 'create_action' end |
#create_hmac(args, originator: nil) ⇒ Hash
Creates an HMAC using a derived symmetric key.
195 196 197 |
# File 'lib/bsv/wallet_interface/interface.rb', line 195 def create_hmac(args, originator: nil) raise UnsupportedActionError, 'create_hmac' end |
#create_signature(args, originator: nil) ⇒ Hash
Creates a digital signature using a derived private key.
225 226 227 |
# File 'lib/bsv/wallet_interface/interface.rb', line 225 def create_signature(args, originator: nil) raise UnsupportedActionError, 'create_signature' end |
#decrypt(args, originator: nil) ⇒ Hash
Decrypts data using a derived symmetric key.
181 182 183 |
# File 'lib/bsv/wallet_interface/interface.rb', line 181 def decrypt(args, originator: nil) raise UnsupportedActionError, 'decrypt' end |
#discover_by_attributes(args, originator: nil) ⇒ Hash
Discovers certificates by attributes.
318 319 320 |
# File 'lib/bsv/wallet_interface/interface.rb', line 318 def discover_by_attributes(args, originator: nil) raise UnsupportedActionError, 'discover_by_attributes' end |
#discover_by_identity_key(args, originator: nil) ⇒ Hash
Discovers certificates by identity key.
306 307 308 |
# File 'lib/bsv/wallet_interface/interface.rb', line 306 def discover_by_identity_key(args, originator: nil) raise UnsupportedActionError, 'discover_by_identity_key' end |
#encrypt(args, originator: nil) ⇒ Hash
Encrypts data using a derived symmetric key.
167 168 169 |
# File 'lib/bsv/wallet_interface/interface.rb', line 167 def encrypt(args, originator: nil) raise UnsupportedActionError, 'encrypt' end |
#get_header_for_height(args, originator: nil) ⇒ Hash
Returns the block header at a given height.
339 340 341 |
# File 'lib/bsv/wallet_interface/interface.rb', line 339 def get_header_for_height(args, originator: nil) raise UnsupportedActionError, 'get_header_for_height' end |
#get_height(args = {}, originator: nil) ⇒ Hash
Returns the current blockchain height.
329 330 331 |
# File 'lib/bsv/wallet_interface/interface.rb', line 329 def get_height(args = {}, originator: nil) raise UnsupportedActionError, 'get_height' end |
#get_network(args = {}, originator: nil) ⇒ Hash
Returns the network (mainnet or testnet).
348 349 350 |
# File 'lib/bsv/wallet_interface/interface.rb', line 348 def get_network(args = {}, originator: nil) raise UnsupportedActionError, 'get_network' end |
#get_public_key(args, originator: nil) ⇒ Hash
Retrieves a derived or identity public key.
123 124 125 |
# File 'lib/bsv/wallet_interface/interface.rb', line 123 def get_public_key(args, originator: nil) raise UnsupportedActionError, 'get_public_key' end |
#get_version(args = {}, originator: nil) ⇒ Hash
Returns the wallet version string.
357 358 359 |
# File 'lib/bsv/wallet_interface/interface.rb', line 357 def get_version(args = {}, originator: nil) raise UnsupportedActionError, 'get_version' end |
#internalize_action(args, originator: nil) ⇒ Hash
Accepts an incoming transaction for internalization.
79 80 81 |
# File 'lib/bsv/wallet_interface/interface.rb', line 79 def internalize_action(args, originator: nil) raise UnsupportedActionError, 'internalize_action' end |
#is_authenticated(args = {}, originator: nil) ⇒ Hash
Checks if the user is authenticated.
368 369 370 |
# File 'lib/bsv/wallet_interface/interface.rb', line 368 def is_authenticated(args = {}, originator: nil) raise UnsupportedActionError, 'is_authenticated' end |
#list_actions(args, originator: nil) ⇒ Hash
Lists transactions matching the specified labels.
66 67 68 |
# File 'lib/bsv/wallet_interface/interface.rb', line 66 def list_actions(args, originator: nil) raise UnsupportedActionError, 'list_actions' end |
#list_certificates(args, originator: nil) ⇒ Hash
Lists identity certificates.
270 271 272 |
# File 'lib/bsv/wallet_interface/interface.rb', line 270 def list_certificates(args, originator: nil) raise UnsupportedActionError, 'list_certificates' end |
#list_outputs(args, originator: nil) ⇒ Hash
Lists spendable outputs in a basket.
94 95 96 |
# File 'lib/bsv/wallet_interface/interface.rb', line 94 def list_outputs(args, originator: nil) raise UnsupportedActionError, 'list_outputs' end |
#prove_certificate(args, originator: nil) ⇒ Hash
Proves select fields of a certificate to a verifier.
282 283 284 |
# File 'lib/bsv/wallet_interface/interface.rb', line 282 def prove_certificate(args, originator: nil) raise UnsupportedActionError, 'prove_certificate' end |
#relinquish_certificate(args, originator: nil) ⇒ Hash
Removes a certificate from the wallet.
294 295 296 |
# File 'lib/bsv/wallet_interface/interface.rb', line 294 def relinquish_certificate(args, originator: nil) raise UnsupportedActionError, 'relinquish_certificate' end |
#relinquish_output(args, originator: nil) ⇒ Hash
Releases an output from basket tracking.
105 106 107 |
# File 'lib/bsv/wallet_interface/interface.rb', line 105 def relinquish_output(args, originator: nil) raise UnsupportedActionError, 'relinquish_output' end |
#reveal_counterparty_key_linkage(args, originator: nil) ⇒ Hash
Reveals key linkage between self and a counterparty to a verifier.
136 137 138 |
# File 'lib/bsv/wallet_interface/interface.rb', line 136 def reveal_counterparty_key_linkage(args, originator: nil) raise UnsupportedActionError, 'reveal_counterparty_key_linkage' end |
#reveal_specific_key_linkage(args, originator: nil) ⇒ Hash
Reveals specific key linkage for a particular interaction.
151 152 153 |
# File 'lib/bsv/wallet_interface/interface.rb', line 151 def reveal_specific_key_linkage(args, originator: nil) raise UnsupportedActionError, 'reveal_specific_key_linkage' end |
#sign_action(args, originator: nil) ⇒ Hash
Signs a previously created transaction.
40 41 42 |
# File 'lib/bsv/wallet_interface/interface.rb', line 40 def sign_action(args, originator: nil) raise UnsupportedActionError, 'sign_action' end |
#verify_hmac(args, originator: nil) ⇒ Hash
Verifies an HMAC using a derived symmetric key.
210 211 212 |
# File 'lib/bsv/wallet_interface/interface.rb', line 210 def verify_hmac(args, originator: nil) raise UnsupportedActionError, 'verify_hmac' end |
#verify_signature(args, originator: nil) ⇒ Hash
Verifies a digital signature using a derived public key.
242 243 244 |
# File 'lib/bsv/wallet_interface/interface.rb', line 242 def verify_signature(args, originator: nil) raise UnsupportedActionError, 'verify_signature' end |
#wait_for_authentication(args = {}, originator: nil) ⇒ Hash
Waits until the user is authenticated.
377 378 379 |
# File 'lib/bsv/wallet_interface/interface.rb', line 377 def wait_for_authentication(args = {}, originator: nil) raise UnsupportedActionError, 'wait_for_authentication' end |