class Peatio::Bitcoincash::Wallet
Public Class Methods
new(settings = {})
click to toggle source
# File lib/peatio/bitcoincash/wallet.rb, line 6 def initialize(settings = {}) @settings = settings end
Public Instance Methods
configure(settings = {})
click to toggle source
# File lib/peatio/bitcoincash/wallet.rb, line 10 def configure(settings = {}) # Clean client state during configure. @client = nil @settings.merge!(settings.slice(*SUPPORTED_SETTINGS)) @wallet = @settings.fetch(:wallet) do raise Peatio::Wallet::MissingSettingError, :wallet end.slice(:uri, :address) @currency = @settings.fetch(:currency) do raise Peatio::Wallet::MissingSettingError, :currency end.slice(:id, :base_factor, :options) end
create_address!(_options = {})
click to toggle source
# File lib/peatio/bitcoincash/wallet.rb, line 25 def create_address!(_options = {}) { address: client.json_rpc(:getnewaddress) } rescue Bitcoincash::Client::Error => e raise Peatio::Wallet::ClientError, e end
create_transaction!(transaction, options = {})
click to toggle source
# File lib/peatio/bitcoincash/wallet.rb, line 31 def create_transaction!(transaction, options = {}) txid = client.json_rpc(:sendtoaddress, [ normalize_address(transaction.to_address), transaction.amount, '', '', options[:subtract_fee].to_s == 'true' # subtract fee from transaction amount. ]) transaction.hash = txid transaction rescue Bitcoincash::Client::Error => e raise Peatio::Wallet::ClientError, e end
load_balance!()
click to toggle source
# File lib/peatio/bitcoincash/wallet.rb, line 46 def load_balance! client.json_rpc(:getbalance).to_d rescue Bitcoincash::Client::Error => e raise Peatio::Wallet::ClientError, e end
Private Instance Methods
client()
click to toggle source
# File lib/peatio/bitcoincash/wallet.rb, line 55 def client uri = @wallet.fetch(:uri) { raise Peatio::Wallet::MissingSettingError, :uri } @client ||= Client.new(uri) end