Sha256: 4ca34f2c74c6e8794fc8575f11dce8fec81e2ef5d3820fdd60dcaad57f76e85c
Contents?: true
Size: 1.94 KB
Versions: 3
Compression:
Stored size: 1.94 KB
Contents
# frozen_string_literal: true require_relative 'base/base' require 'json' # - Making Payments Via Lightning class Lightning < Base # Create Lightning invoice # # - Required Function Parameters: # # # data: { # description: string, # customerEmail: string, # tokens: number, # expires_at: string # } def create_invoice(data) required_parameters = %w[description customerEmail tokens expires_at] check_passed_parameters(required_parameters, data) payload = data.to_json post_request("#{base_url}#{BaseEndpoints::LN}/createinvoice", payload) end # Pay Lightning invoice # # - Required Function Parameters: # # # data: { # description: string, # customerEmail: string, # request: string, # } def pay_invoice(data) required_parameters = %w[request customerEmail description] check_passed_parameters(required_parameters, data) payload = data.to_json post_request("#{base_url}#{BaseEndpoints::LN}/pay", payload) end # Initiate payment is advised to be run before paying an invoice to calculate fees and check if an invoice has expired. # # - Required Function Parameters: # # request: string def initiate_payment(request) body = { request: request } payload = body.to_json post_request("#{base_url}#{BaseEndpoints::LN}/initiatepayment", payload) end # Decode a BOLT 11 compliant payment request # # - Required Function Parameters: # # request: string def decode_payment_request(request) body = { request: request } payload = body.to_json post_request("#{base_url}#{BaseEndpoints::LN}/decodepaymentrequest", payload) end # Getting Lightning invoice data # # - Required Function Parameters: # # invoice_id: string def get_invoice(invoice_id) body = { id: invoice_id } payload = body.to_json post_request("#{base_url}#{BaseEndpoints::LN}/getinvoice", payload) end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
bitnob-0.0.4.1 | lib/bitnob/objects/lightning.rb |
bitnob-0.0.4 | lib/bitnob/objects/lightning.rb |
bitnob-0.0.3 | lib/bitnob/objects/lightning.rb |