Sha256: 190df5195012db8a57a5dca9d9a8e7702769b3b2915df1ed59a8410a2c5b76c0

Contents?: true

Size: 834 Bytes

Versions: 11

Compression:

Stored size: 834 Bytes

Contents

require 'cash_addr'

module CryptocoinPayable
  module Adapters
    class BitcoinCash < Bitcoin
      def self.coin_symbol
        'BCH'
      end

      def fetch_transactions(address)
        raise NetworkNotSupported if CryptocoinPayable.configuration.testnet

        url = "https://#{prefix}blockexplorer.com/api/txs/?address=#{legacy_address(address)}"
        parse_block_explorer_transactions(get_request(url).body, address)
      end

      def create_address(id)
        CashAddr::Converter.to_cash_address(super)
      end

      private

      def legacy_address(address)
        CashAddr::Converter.to_legacy_address(address)
      rescue CashAddr::InvalidAddress
        raise ApiError
      end

      def prefix
        CryptocoinPayable.configuration.testnet ? 'bchtest.' : 'bitcoincash.'
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
cryptocoin_payable-1.4.5 lib/cryptocoin_payable/adapters/bitcoin_cash.rb
cryptocoin_payable-1.4.4 lib/cryptocoin_payable/adapters/bitcoin_cash.rb
cryptocoin_payable-1.4.3 lib/cryptocoin_payable/adapters/bitcoin_cash.rb
cryptocoin_payable-1.4.2 lib/cryptocoin_payable/adapters/bitcoin_cash.rb
cryptocoin_payable-1.4.1 lib/cryptocoin_payable/adapters/bitcoin_cash.rb
cryptocoin_payable-1.4.0 lib/cryptocoin_payable/adapters/bitcoin_cash.rb
cryptocoin_payable-1.3.0 lib/cryptocoin_payable/adapters/bitcoin_cash.rb
cryptocoin_payable-1.2.0 lib/cryptocoin_payable/adapters/bitcoin_cash.rb
cryptocoin_payable-1.1.0 lib/cryptocoin_payable/adapters/bitcoin_cash.rb
cryptocoin_payable-1.0.1 lib/cryptocoin_payable/adapters/bitcoin_cash.rb
cryptocoin_payable-1.0.0 lib/cryptocoin_payable/adapters/bitcoin_cash.rb