class Peatio::Dash::Wallet
Constants
- DEFAULT_FEATURES
Public Class Methods
new(custom_features = {})
click to toggle source
# File lib/peatio/dash/wallet.rb, line 8 def initialize(custom_features = {}) @features = DEFAULT_FEATURES.merge(custom_features).slice(*SUPPORTED_FEATURES) @settings = {} end
Public Instance Methods
configure(settings={})
click to toggle source
# File lib/peatio/dash/wallet.rb, line 13 def configure(settings={}) # Clean client state during configure. @client = nil @settings.merge!(settings.slice(*SUPPORTED_SETTINGS)) @wallet = @settings.fetch(:wallet) { raise Peatio::Wallet::MissingSettingError, :wallet }.slice(:uri, :address) @currency = @settings.fetch(:currency) { raise Peatio::Wallet::MissingSettingError, :currency }.slice(:id, :base_factor, :options) end
create_address!(_options={})
click to toggle source
# File lib/peatio/dash/wallet.rb, line 28 def create_address!(_options={}) {address: client.json_rpc(:getnewaddress)} rescue Dash::Client::Error => e raise Peatio::Wallet::ClientError, e end
create_transaction!(transaction, options={})
click to toggle source
# File lib/peatio/dash/wallet.rb, line 34 def create_transaction!(transaction, options={}) txid = client.json_rpc(:sendtoaddress, [ transaction.to_address, transaction.amount, "", "", options[:subtract_fee].to_s == "true" # subtract fee from transaction amount. ]) transaction.hash = txid transaction rescue Dash::Client::Error => e raise Peatio::Wallet::ClientError, e end
load_balance!()
click to toggle source
# File lib/peatio/dash/wallet.rb, line 49 def load_balance! client.json_rpc(:getbalance).to_d rescue Dash::Client::Error => e raise Peatio::Wallet::ClientError, e end
Private Instance Methods
client()
click to toggle source
# File lib/peatio/dash/wallet.rb, line 57 def client uri = @wallet.fetch(:uri) { raise Peatio::Wallet::MissingSettingError, :uri } @client ||= Client.new(uri) end