cryptum 0.0.271 → 0.0.273

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a2a99684100eded0f7b6ca6e94cd2b7afa4f1a46f4d173fcf8f6d23929f412ed
4
- data.tar.gz: d01f3f8a7de3c65f295785f5fb38d781e0e3f2c4694eb8fe90e9a9e792442bf7
3
+ metadata.gz: 448c1b3f990829ef87c5adc398ddcaea4b46c62acee1723785bf79572c6d2b89
4
+ data.tar.gz: 76fdd8d8e3258291eb3644417d9094a926cfa425c126ff7b3a2f7bb37d7fb31b
5
5
  SHA512:
6
- metadata.gz: 3323a2fd4c747bb7daf655eff588ab7bf2e5010eb9cc707e1f44157f62b328a9ee3866beb4785e1423eae08ff82adb8dfb0771c3fc733ce6f3baf775948d4e12
7
- data.tar.gz: c6de579395b53f951f12ef615aca7540b647d7d13a5bab05a27115ec88c8636a47b13df6e44edce7b8fd908ab81e889aeee6611e32529df9d0f2a8cbcebc0826
6
+ metadata.gz: 92418c47f83fe60acf22473eff5d72516e41d903f03f4484b6e67943287102758d24a1c08299f8a832136658a48876efdbc293b03adb323c10d2dcec0d2c4eed
7
+ data.tar.gz: 6150d6bdf97804e728a707cbdb06a93f174fae0da0f18a7883a0abbded5a6ba615377eff28dc68ace6004406a2867282b70dc3b1bdc641acd90cc6d0788fde3e
data/.rubocop_todo.yml CHANGED
@@ -1,6 +1,6 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2022-12-05 23:34:03 UTC using RuboCop version 1.39.0.
3
+ # on 2022-12-06 22:57:28 UTC using RuboCop version 1.39.0.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
@@ -87,11 +87,11 @@ Layout/TrailingWhitespace:
87
87
  - 'lib/cryptum/ui/order_plan.rb'
88
88
  - 'lib/cryptum/ui/order_timer.rb'
89
89
 
90
- # Offense count: 84
90
+ # Offense count: 87
91
91
  Lint/UselessAssignment:
92
92
  Enabled: false
93
93
 
94
- # Offense count: 48
94
+ # Offense count: 47
95
95
  # Configuration parameters: AllowedMethods, AllowedPatterns, IgnoredMethods, CountRepeatedAttributes.
96
96
  Metrics/AbcSize:
97
97
  Max: 405
@@ -100,14 +100,14 @@ Metrics/AbcSize:
100
100
  # Configuration parameters: CountComments, CountAsOne, ExcludedMethods, AllowedMethods, AllowedPatterns, IgnoredMethods.
101
101
  # AllowedMethods: refine
102
102
  Metrics/BlockLength:
103
- Max: 145
103
+ Max: 146
104
104
 
105
105
  # Offense count: 4
106
106
  # Configuration parameters: CountBlocks.
107
107
  Metrics/BlockNesting:
108
108
  Max: 4
109
109
 
110
- # Offense count: 19
110
+ # Offense count: 20
111
111
  # Configuration parameters: AllowedMethods, AllowedPatterns, IgnoredMethods.
112
112
  Metrics/CyclomaticComplexity:
113
113
  Max: 73
@@ -122,7 +122,7 @@ Metrics/MethodLength:
122
122
  Metrics/ModuleLength:
123
123
  Max: 538
124
124
 
125
- # Offense count: 19
125
+ # Offense count: 20
126
126
  # Configuration parameters: AllowedMethods, AllowedPatterns, IgnoredMethods.
127
127
  Metrics/PerceivedComplexity:
128
128
  Max: 76
@@ -218,7 +218,7 @@ Style/TrailingCommaInArrayLiteral:
218
218
  Exclude:
219
219
  - 'lib/cryptum/matrix.rb'
220
220
 
221
- # Offense count: 22
221
+ # Offense count: 21
222
222
  # This cop supports safe autocorrection (--autocorrect).
223
223
  # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns, IgnoredPatterns.
224
224
  # URISchemes: http, https
data/bin/cryptum CHANGED
@@ -28,6 +28,9 @@ begin
28
28
  # Exist and Initialize Automated Trading Parameters
29
29
  bot_conf = Cryptum::BotConf.read(option_choice: option_choice)
30
30
 
31
+ # Initialize Curses UI
32
+ terminal_win = Cryptum::UI.init
33
+
31
34
  # Generate an Order Book for Session Tracking
32
35
  # Load previous order_book_justification from
33
36
  # Order Book File (if it exists) to preserve
@@ -37,11 +40,10 @@ begin
37
40
  start_time: start_time,
38
41
  option_choice: option_choice,
39
42
  env: env,
40
- bot_conf: bot_conf
43
+ bot_conf: bot_conf,
44
+ terminal_win: terminal_win
41
45
  )
42
-
43
- # Initialize Curses UI
44
- terminal_win = Cryptum::UI.init
46
+ terminal_win.key_press_event.key_w = true
45
47
 
46
48
  # Connect to WebSocket
47
49
  # Trigger Events as Event Data
@@ -9,8 +9,10 @@ module Cryptum
9
9
  # )
10
10
  public_class_method def self.reload(opts = {})
11
11
  terminal_win = opts[:terminal_win]
12
+ event_history = opts[:event_history]
12
13
  option_choice = opts[:option_choice]
13
14
 
15
+ event_history.recalculate_order_plan = true
14
16
  terminal_win.key_press_event.key_r = false
15
17
  Cryptum.read_bot_conf(option_choice: option_choice)
16
18
  rescue StandardError => e
@@ -35,7 +35,8 @@ module Cryptum
35
35
  :order_execute_index_offset,
36
36
  :order_execute_max_rows_to_display,
37
37
  :order_execute_row_to_select,
38
- :order_execute_selected_data
38
+ :order_execute_selected_data,
39
+ :recalculate_order_plan
39
40
 
40
41
  def initialize(opts = {})
41
42
  # option_choice = opts[:option_choice]
@@ -48,7 +49,7 @@ module Cryptum
48
49
  self.order_submitted = false
49
50
  self.order_ready = false
50
51
  self.order_book = order_book
51
- self.plan_no = 0
52
+ self.plan_no = 1
52
53
  self.start_time = start_time
53
54
  self.reconnected = false
54
55
  self.red_pill = false
@@ -64,6 +65,7 @@ module Cryptum
64
65
  self.order_execute_max_rows_to_display = 6
65
66
  self.order_execute_row_to_select = order_execute_index_offset
66
67
  self.order_execute_selected_data = { color: :white }
68
+ self.recalculate_order_plan = false
67
69
 
68
70
  # TODO: Implement market_trend_reset / 144
69
71
  # Default = 10 minutes
@@ -14,9 +14,11 @@ module Cryptum
14
14
 
15
15
  terminal_win.key_press_event.key_w = false
16
16
  order_book_file = event_history.order_book[:path]
17
- File.open(order_book_file, 'w') do |f|
18
- f.puts event_history.order_book.to_json
19
- end
17
+
18
+ File.write(
19
+ order_book_file,
20
+ JSON.pretty_generate(event_history.order_book)
21
+ )
20
22
  rescue StandardError => e
21
23
  raise e
22
24
  end
data/lib/cryptum/event.rb CHANGED
@@ -122,6 +122,7 @@ module Cryptum
122
122
  bot_conf: bot_conf,
123
123
  fiat_portfolio_file: fiat_portfolio_file
124
124
  )
125
+ # event_history.recalculate_order_plan = false
125
126
  end
126
127
 
127
128
  if event_history.order_plan_details_win_active
@@ -56,7 +56,7 @@ module Cryptum
56
56
  options.on(
57
57
  '-tSECONDS',
58
58
  '--time-between-market-trend-reset=SECONDS',
59
- '<Optional - Seconds Between Market Trend Reset (Default 3_600 i.e. 1 hour)>'
59
+ '<Optional - Seconds Between Market Trend Reset (Default 60 i.e. 1 hour)>'
60
60
  ) { |t| option_choice.market_trend_reset = t.to_i }
61
61
  end.parse!
62
62
 
@@ -89,7 +89,7 @@ module Cryptum
89
89
  reason = :repo_root
90
90
  end
91
91
 
92
- option_choice.market_trend_reset = 3_600 if option_choice.market_trend_reset.to_i.zero?
92
+ option_choice.market_trend_reset = 60 if option_choice.market_trend_reset.to_i.zero?
93
93
  unless option_choice.market_trend_reset.to_i >= 60 &&
94
94
  option_choice.market_trend_reset <= 86_400
95
95
  usage = true
@@ -40,7 +40,7 @@ module Cryptum
40
40
  this_product_arr = products.select do |product|
41
41
  product if product[:id] == option_choice.symbol.to_s.gsub('_', '-').upcase
42
42
  end
43
- this_product = this_product_arr.first
43
+ this_product = this_product_arr.last
44
44
 
45
45
  order_book = {
46
46
  path: order_book_file,
@@ -84,11 +84,6 @@ module Cryptum
84
84
  order_book: order_book
85
85
  )
86
86
 
87
- # Write order_book to file at session initiation
88
- File.open(order_book_file, 'w') do |f|
89
- f.puts order_book.to_json
90
- end
91
-
92
87
  event_history.order_book = order_book
93
88
 
94
89
  event_history
@@ -18,59 +18,86 @@ module Cryptum
18
18
  indicator_status = opts[:indicator_status]
19
19
  key_press_event = opts[:key_press_event]
20
20
 
21
- order = event_history.order_execute_selected_data
22
- tpm = order[:tpm]
23
- autotrade_percent = order[:autotrade_percent]
24
- order_color = order[:color].to_sym
21
+ order_meta_data = event_history.order_execute_selected_data
22
+ tpm = order_meta_data[:tpm]
23
+ autotrade_percent = order_meta_data[:autotrade_percent]
24
+ order_color = order_meta_data[:color].to_sym
25
25
 
26
- order_plan_no = order[:plan_no]
26
+ order_plan_no = order_meta_data[:plan_no]
27
27
  case order_color
28
28
  when :cyan, :red
29
- order_id = order[:buy_order_id]
30
- order_type = 'Buy'
29
+ order_id = order_meta_data[:buy_order_id]
31
30
  when :green, :magenta, :yellow
32
- order_id = order[:sell_order_id]
33
- order_type = 'Sell'
31
+ order_id = order_meta_data[:sell_order_id]
34
32
  when :black
35
33
  order_id = 'Expired'
36
- order_type = 'Expired'
37
34
  else
38
35
  order_id = 'N/A'
39
- order_type = 'N/A'
36
+ end
37
+
38
+ order_id_details = "- ID: #{order_id}"
39
+
40
+ order_history_arr = event_history.order_book[:order_history].select do |order|
41
+ order if order[:id] == order_id
42
+ end
43
+
44
+ order_type_ln = '- Type: N/A'
45
+ order_status_ln = '- Status: N/A'
46
+ order_hist_created_ln = '- Creation Date: N/A'
47
+ order_hist_finished_ln = '- Finished Date: N/A'
48
+ if order_history_arr.any?
49
+ order_history = order_history_arr.first
50
+ order_type = order_history[:type].capitalize
51
+ time_in_force = order_history[:time_in_force].upcase
52
+ order_status = order_history[:status].upcase
53
+ created_at = order_history[:created_at]
54
+ order_hist_created_ln = "- Creation Date: #{created_at}"
55
+
56
+ order_side = order_history[:side].capitalize
57
+ case order_side.to_sym
58
+ when :Buy
59
+ expire_time = order_history[:expire_time]
60
+ done_at = order_history[:done_at]
61
+ order_hist_finished_ln = "- Expiring Date: #{expire_time}"
62
+ when :Sell
63
+ done_at = order_history[:done_at]
64
+ end
65
+ order_hist_finished_ln = "- Finished Date: #{done_at}" if done_at
66
+
67
+ order_type_ln = "- Type: #{order_type} #{order_side} #{time_in_force}"
68
+ order_status_ln = "- Status: #{order_status}"
40
69
  end
41
70
 
42
71
  risk_alloc_out = Cryptum.beautify_large_number(
43
- value: order[:risk_alloc]
72
+ value: order_meta_data[:risk_alloc]
44
73
  )
45
74
  invest_out = Cryptum.beautify_large_number(
46
- value: order[:invest]
75
+ value: order_meta_data[:invest]
47
76
  )
48
77
  price_out = Cryptum.beautify_large_number(
49
- value: order[:price]
78
+ value: order_meta_data[:price]
50
79
  )
51
80
  size_out = Cryptum.beautify_large_number(
52
- value: order[:size]
81
+ value: order_meta_data[:size]
53
82
  )
54
83
  target_price_out = Cryptum.beautify_large_number(
55
- value: order[:target_price]
84
+ value: order_meta_data[:target_price]
56
85
  )
57
86
  profit_out = Cryptum.beautify_large_number(
58
- value: order[:profit]
87
+ value: order_meta_data[:profit]
59
88
  )
60
- plan_no = "#{order[:plan_no]}|"
61
-
62
- created_at = order[:created_at]
89
+ plan_no = "#{order_meta_data[:plan_no]}|"
63
90
 
64
91
  invest = "$#{invest_out} @ "
65
92
  tick = "$#{price_out} = "
66
93
  size = "*#{size_out} + "
67
- tpm_out = "#{order[:tpm]}% = "
94
+ tpm_out = "#{order_meta_data[:tpm]}% = "
68
95
  targ_tick = "$#{target_price_out}"
69
- profit = "|Profit: $#{order[:profit]}"
96
+ profit = "|Profit: $#{order_meta_data[:profit]}"
70
97
 
71
- order_id_details = "#{order_type} Order ID: #{order_id}"
72
- order_plan_details = "Order Slice #: #{order_plan_no}"
73
- order_exec_ln = "Details: #{created_at}|#{invest}#{tick}#{size}#{tpm_out}#{targ_tick}#{profit}"
98
+ meta_ln = "- Metadata: #{invest}#{tick}#{size}#{tpm_out}#{targ_tick}#{profit}"
99
+ meta_ln = '- Metadata:'
100
+ meta_color_ln = " - Color: #{order_color}"
74
101
 
75
102
  # UI
76
103
  col_just1 = (Curses.cols - Cryptum::UI.col_first) - 1
@@ -102,7 +129,7 @@ module Cryptum
102
129
  string: ''.ljust(col_just1, ' ')
103
130
  )
104
131
 
105
- header_str = "- ORDER ##{order[:plan_no]} DETAILS -"
132
+ header_str = "- ORDER ##{order_meta_data[:plan_no]} DETAILS -"
106
133
  order_execute_details_win.setpos(
107
134
  out_line_no,
108
135
  Cryptum::UI.col_center(str: header_str)
@@ -127,6 +154,18 @@ module Cryptum
127
154
  string: order_id_details.ljust(col_just1, ' ')
128
155
  )
129
156
 
157
+ # ROW 4
158
+ out_line_no += 1
159
+ order_execute_details_win.setpos(out_line_no, Cryptum::UI.col_first)
160
+ order_execute_details_win.clrtoeol
161
+
162
+ Cryptum::UI.colorize(
163
+ ui_win: order_execute_details_win,
164
+ color: order_color,
165
+ style: style,
166
+ string: order_type_ln.ljust(col_just1, ' ')
167
+ )
168
+
130
169
  # ROW 5
131
170
  out_line_no += 1
132
171
  order_execute_details_win.setpos(out_line_no, Cryptum::UI.col_first)
@@ -136,10 +175,46 @@ module Cryptum
136
175
  ui_win: order_execute_details_win,
137
176
  color: order_color,
138
177
  style: style,
139
- string: order_plan_details.ljust(col_just1, ' ')
178
+ string: order_status_ln.ljust(col_just1, ' ')
140
179
  )
141
180
 
142
- # ROW 4
181
+ # ROW 6
182
+ out_line_no += 1
183
+ order_execute_details_win.setpos(out_line_no, Cryptum::UI.col_first)
184
+ order_execute_details_win.clrtoeol
185
+
186
+ Cryptum::UI.colorize(
187
+ ui_win: order_execute_details_win,
188
+ color: order_color,
189
+ style: style,
190
+ string: order_hist_created_ln.ljust(col_just1, ' ')
191
+ )
192
+
193
+ # ROW 7
194
+ out_line_no += 1
195
+ order_execute_details_win.setpos(out_line_no, Cryptum::UI.col_first)
196
+ order_execute_details_win.clrtoeol
197
+
198
+ Cryptum::UI.colorize(
199
+ ui_win: order_execute_details_win,
200
+ color: order_color,
201
+ style: style,
202
+ string: order_hist_finished_ln.ljust(col_just1, ' ')
203
+ )
204
+
205
+ # ROW 8
206
+ out_line_no += 1
207
+ order_execute_details_win.setpos(out_line_no, Cryptum::UI.col_first)
208
+ order_execute_details_win.clrtoeol
209
+
210
+ Cryptum::UI.colorize(
211
+ ui_win: order_execute_details_win,
212
+ color: order_color,
213
+ style: style,
214
+ string: meta_ln.ljust(col_just1, ' ')
215
+ )
216
+
217
+ # ROW 9
143
218
  out_line_no += 1
144
219
  order_execute_details_win.setpos(out_line_no, Cryptum::UI.col_first)
145
220
  order_execute_details_win.clrtoeol
@@ -148,7 +223,7 @@ module Cryptum
148
223
  ui_win: order_execute_details_win,
149
224
  color: order_color,
150
225
  style: style,
151
- string: order_exec_ln.ljust(col_just1, ' ')
226
+ string: meta_color_ln.ljust(col_just1, ' ')
152
227
  )
153
228
 
154
229
  # Clear to OK ROW
@@ -80,21 +80,27 @@ module Cryptum
80
80
 
81
81
  event_history.red_pill = true if crypto_invested_percent.to_f > autotrade_percent
82
82
 
83
- if crypto_invested_percent.to_f <= autotrade_percent &&
84
- autotrade_percent.positive? && (
85
- order_plan.empty? || (
86
- indicator_status.action_signal == :buy &&
87
- indicator_status.last_action_signal == :sell
83
+ if event_history.recalculate_order_plan || (
84
+ crypto_invested_percent.to_f <= autotrade_percent &&
85
+ autotrade_percent.positive? && (
86
+ order_plan.empty? || (
87
+ indicator_status.action_signal == :buy &&
88
+ indicator_status.last_action_signal == :sell
89
+ )
88
90
  )
89
91
  )
90
92
 
91
93
  event_history.red_pill = false
92
- # Reset time between orders when generating new order plan
93
- event_history.time_between_orders = event_history.time_between_orders_reset if order_plan.empty?
94
+ if indicator_status.action_signal == :buy &&
95
+ indicator_status.last_action_signal == :sell
96
+
97
+ order_plan = []
98
+ # Reset time between orders
99
+ event_history.time_between_orders = event_history.time_between_orders_reset
100
+ event_history.plan_no += 1
101
+ end
94
102
 
95
- order_plan = []
96
103
  plan_no_slice = 1
97
- event_history.plan_no += 1
98
104
  plan_no = event_history.plan_no
99
105
  # Sum up currently invested amount so we don't
100
106
  # exceed autotrade % for next order plan generation
@@ -124,8 +130,14 @@ module Cryptum
124
130
  next unless fiat_budget >= min_market_funds.to_f
125
131
 
126
132
  slice_alloc = risk_alloc * allocation_decimal
127
- order_slice = {}
128
- order_slice[:plan_no] = "#{plan_no}.#{plan_no_slice}"
133
+ this_plan_no = "#{plan_no}.#{plan_no_slice}"
134
+ if event_history.recalculate_order_plan
135
+ order_slice = order_plan.find do |order|
136
+ order[:plan_no] == this_plan_no
137
+ end
138
+ end
139
+ order_slice ||= {}
140
+ order_slice[:plan_no] = this_plan_no
129
141
  order_slice[:fiat_available] = format('%0.2f', fiat_budget)
130
142
  order_slice[:risk_alloc] = format('%0.2f', risk_alloc)
131
143
  order_slice[:allocation_decimal] = format(
@@ -142,11 +154,12 @@ module Cryptum
142
154
  order_slice[:return] = format('%0.2f', fiat_returning)
143
155
  order_slice[:profit] = format('%0.2f', profit)
144
156
 
145
- order_plan.push(order_slice)
157
+ order_plan.push(order_slice) unless event_history.recalculate_order_plan
146
158
  fiat_budget -= fiat_investing
147
159
  plan_no_slice += 1
148
160
  end
149
161
  event_history.order_book[:order_plan] = order_plan
162
+ event_history.recalculate_order_plan = false
150
163
  end
151
164
 
152
165
  red_pill_alert = '| RED PILL ALERT |'
@@ -42,12 +42,11 @@ module Cryptum
42
42
  return_out = Cryptum.beautify_large_number(
43
43
  value: order[:return]
44
44
  )
45
- autotrade_details = "1. bot_conf[:autotrade_portfolio_percent] is set to #{autotrade_percent}% of $#{fiat_avail_out},"
46
- risk_alloc_details = " making $#{risk_alloc_out} available for this slice in the order plan cycle."
47
- slice_alloc_details = "2. With $#{risk_alloc_out} available and a slice allocation of #{order[:allocation_percent]}%, $#{slice_alloc_out} OR AN ORDER MINIMUM"
48
- invest_details = " of $#{invest_out} will be allocated for this slice (whichever is highest)."
49
- tpm_details = "3. With a slice allocation of $#{invest_out} plus bot_conf[:target_profit_margin_percent] (TPM)"
50
- profit = " equal to #{tpm_out}% $#{return_out} will be returned. With $#{invest_out} invested the profit equals $#{profit_out}."
45
+ autotrade_details = "1. Autotrade is set to #{autotrade_percent}% of $#{fiat_avail_out}, making $#{risk_alloc_out} available for this slice in the order plan."
46
+ slice_alloc_details = "2. With $#{risk_alloc_out} available and a slice allocation of #{order[:allocation_percent]}%, $#{slice_alloc_out} OR AN ORDER MINIMUM of $#{invest_out} will"
47
+ invest_details = ' be allocated for this slice (whichever is highest).'
48
+ tpm_details = "3. With a slice allocation of $#{invest_out}, plus a TPM equal to #{tpm_out}%, $#{return_out} will be returned once sold."
49
+ profit = " With $#{invest_out} invested the gross profit equals $#{profit_out}, minus any transaction fees."
51
50
 
52
51
  # UI
53
52
  col_just1 = (Curses.cols - Cryptum::UI.col_first) - 1
@@ -104,18 +103,6 @@ module Cryptum
104
103
  string: autotrade_details.ljust(col_just1, ' ')
105
104
  )
106
105
 
107
- # ROW 4
108
- out_line_no += 1
109
- order_plan_details_win.setpos(out_line_no, Cryptum::UI.col_first)
110
- order_plan_details_win.clrtoeol
111
-
112
- Cryptum::UI.colorize(
113
- ui_win: order_plan_details_win,
114
- color: order_color,
115
- style: style,
116
- string: risk_alloc_details.ljust(col_just1, ' ')
117
- )
118
-
119
106
  # ROW 5
120
107
  out_line_no += 1
121
108
  order_plan_details_win.setpos(out_line_no, Cryptum::UI.col_first)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Cryptum
4
- VERSION = '0.0.271'
4
+ VERSION = '0.0.273'
5
5
  end
@@ -104,6 +104,7 @@ module Cryptum
104
104
  if terminal_win.key_press_event.key_r
105
105
  bot_conf = Cryptum::Event::BotConf.reload(
106
106
  terminal_win: terminal_win,
107
+ event_history: event_history,
107
108
  option_choice: option_choice
108
109
  )
109
110
  end
data/lib/cryptum.rb CHANGED
@@ -158,10 +158,10 @@ module Cryptum
158
158
  # Cryptum Statistics Only Apply to
159
159
  # Live Sessions
160
160
  if event_history
161
- order_book_file = event_history.order_book[:path]
162
- File.open(order_book_file, 'w') do |f|
163
- f.puts event_history.order_book.to_json
164
- end
161
+ File.write(
162
+ order_book_file,
163
+ JSON.pretty_generate(event_history.order_book)
164
+ )
165
165
  end
166
166
 
167
167
  Curses.close_screen
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cryptum
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.271
4
+ version: 0.0.273
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-05 00:00:00.000000000 Z
11
+ date: 2022-12-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable