Class: Onchain

Inherits:
Base
  • Object
show all
Defined in:
lib/bitnob/objects/onchain.rb

Overview

Handles all transactions via Onchain

Instance Attribute Summary

Attributes inherited from Base

#production, #secret_key, #url

Instance Method Summary collapse

Methods inherited from Base

#base_url, #check_parameters, #get_request, #initialize, #post_request, #put_request

Constructor Details

This class inherits a constructor from Base

Instance Method Details

#generate_address(customer_email) ⇒ Object

Generates a temporary address for onchain transaction

  • Required Function Parameters: customer_email



33
34
35
36
37
# File 'lib/bitnob/objects/onchain.rb', line 33

def generate_address(customer_email)
  body = { customerEmail: customer_email }
  payload = body.to_json
  post_request("#{base_url}#{BaseEndpoints::ADDRESS}/generate", payload)
end

#list_addresses(page_number = 1, limit = 10) ⇒ Object

Returns a JSON data containing list of addresses

  • Required Function Parameters: page_number limit

    default: <tt>page_number => 1, limit => 10</tt>
    


45
46
47
# File 'lib/bitnob/objects/onchain.rb', line 45

def list_addresses(page_number=1, limit=10)
  get_request("#{base_url}#{BaseEndpoints::ADDRESS}order=ASC&page=#{page_number}&take=#{limit}")
end

#send_bitcoin(data) ⇒ Object

Onchain sending of bitcoin

  • Required Function Parameters:

       data: {
    satoshis: number,
    customerEmail: string,
    address: string,
    priorityLevel: string
     }
    
  • Priority level is used to detect how long a transaction would take. Its default is regular



22
23
24
25
26
27
28
# File 'lib/bitnob/objects/onchain.rb', line 22

def send_bitcoin(data)
  required_parameters = %w[satoshis customerEmail address]

  checked_passed_parameters(required_parameters, data)
  payload = data.to_json
  post_request("#{base_url}#{BaseEndpoints::ONCHAIN}/send_bitcoin", payload)
end