#!/usr/bin/ruby # frozen_string_literal: true require "redis" require "dhall" require_relative "../lib/redis_addresses" require_relative "../lib/electrum" config = Dhall::Coder .new(safe: Dhall::Coder::JSON_LIKE + [Symbol, Proc]) .load(ARGV[0], transform_keys: :to_sym) redis = Redis.new electrum = Electrum.new(**config) addrs = RedisAddresses.new(redis, config[:currency]) addrs.get_addresses_with_users(redis).each do |addr, keys| match = keys.first.match(/.*-(\d+)$/) unless match puts "Can't understand key #{keys.first}, skipping" next end customer_id = match[1] url = "https://pay.jmp.chat/electrum_notify?" \ "address=#{addr}&customer_id=#{customer_id}" \ "¤cy=#{config[:currency]}" unless electrum.notify(addr, url) puts "Failed to setup #{addr} to notify #{url}. Skipping" end end