1#!/usr/bin/ruby
2# frozen_string_literal: true
3
4require "redis"
5require "dhall"
6require "set"
7require_relative "../lib/redis_addresses"
8require_relative "../lib/electrum"
9
10config =
11 Dhall::Coder
12 .new(safe: Dhall::Coder::JSON_LIKE + [Symbol, Proc])
13 .load(ARGV[0], transform_keys: :to_sym)
14
15redis = Redis.new
16electrum = Electrum.new(**config)
17
18addresses = Set.new(electrum.listaddresses)
19
20RedisAddresses.new(redis, config[:currency]).each_user do |_, addrs|
21 addresses.subtract(addrs)
22end
23
24unless addresses.empty?
25 redis.sadd("jmp_available_btc_addresses", addresses.to_a)
26end