diff --git a/lib/errors.rb b/lib/errors.rb index 6670dc4..68180c8 100644 --- a/lib/errors.rb +++ b/lib/errors.rb @@ -27,5 +27,8 @@ def initialize(message, payment_id, txid) @payment_id = payment_id @txid = txid end + + class WalletPrivateSeedNotFoundError < StandardError + end end end \ No newline at end of file diff --git a/lib/pi_network.rb b/lib/pi_network.rb index 398d732..a4c6e39 100644 --- a/lib/pi_network.rb +++ b/lib/pi_network.rb @@ -12,10 +12,12 @@ class PiNetwork attr_reader :base_url attr_reader :from_address - def initialize(api_key, wallet_private_key, options = {}) - validate_private_seed_format!(wallet_private_key) + def initialize(api_key, options = {}) + wallet_private_seed = options[:wallet_private_seed] + validate_private_seed_format!(wallet_private_seed) if wallet_private_seed.present? + @api_key = api_key - @account = load_account(wallet_private_key) + @account = load_account(wallet_private_seed) @base_url = options[:base_url] || "https://api.minepi.com" @open_payments = {} @@ -57,6 +59,10 @@ def create_payment(payment_data) end def submit_payment(payment_id) + raise Errors::WalletPrivateSeedNotFoundError.new( + "You need to initialize the SDK with wallet_private_seed to call this method." + ) if self.account.nil? + payment = @open_payments[payment_id] if payment.nil? || payment["identifier"] != payment_id diff --git a/pinetwork.gemspec b/pinetwork.gemspec index 221d1c1..9b305e4 100644 --- a/pinetwork.gemspec +++ b/pinetwork.gemspec @@ -1,6 +1,6 @@ Gem::Specification.new do |s| s.name = "pinetwork" - s.version = "0.1.2" + s.version = "0.2.0" s.summary = "Pi Network Ruby" s.description = "Pi Network backend library for Ruby-based webservers." s.authors = ["Pi Core Team"]