huginn_callisto_network_agent 0.1.65 → 0.1.66
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5ad5d958a5899bd266df53ff09fc4f61fbe0ef6544b4d8a5f755937178baa478
|
4
|
+
data.tar.gz: 3bd80217dd0e558ce3fba8f0fe2921276f40b0f7672ea27c7a51da34774173f8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1da5ce65e680ba2120b439db4e4c224a487f838a0519af7efc677c0c5c57a692d98ef885def3d0d4dadb4ea1b094f590cec7a16d0cd854b671b9315b8679d0c0
|
7
|
+
data.tar.gz: c48f5605abced1cf379cca22c2eb28712208002167f3f363aa1358c20efe4728cff6dfb2b70c4769977411bc3dda31d43a7f1670148243052066b51efdd96e14
|
@@ -61,7 +61,7 @@ module Agents
|
|
61
61
|
form_configurable :emit_events, type: :boolean
|
62
62
|
form_configurable :expected_receive_period_in_days, type: :string
|
63
63
|
form_configurable :changes_only, type: :boolean
|
64
|
-
form_configurable :type, type: :array, values: ['get_balance', 'net_peerCount', 'net_version', 'eth_protocolVersion', 'eth_gasPrice', 'eth_getTransactionCount', 'stake_reward_clo', 'get_tokens_balance', 'eth_getBlockByNumber', 'soy_farming_soy_clo_pending_rewards', 'soy_farming_soy_cloe_pending_rewards', 'stake_reward_soy', 'soy_farming_soy_btt_pending_rewards', 'soy_cs_pending_rewards', 'clo_sendtx', 'get_tx_by_address_with_filter', 'start_cs_clo', 'withdraw_cs_clo', 'get_tx_stats', 'callosha_slots']
|
64
|
+
form_configurable :type, type: :array, values: ['get_balance', 'net_peerCount', 'net_version', 'eth_protocolVersion', 'eth_gasPrice', 'eth_getTransactionCount', 'stake_reward_clo', 'get_tokens_balance', 'eth_getBlockByNumber', 'soy_farming_soy_clo_pending_rewards', 'soy_farming_soy_cloe_pending_rewards', 'stake_reward_soy', 'soy_farming_soy_btt_pending_rewards', 'soy_cs_pending_rewards', 'clo_sendtx', 'get_tx_by_address_with_filter', 'start_cs_clo', 'withdraw_cs_clo', 'get_tx_stats', 'callosha_slots', '2bears_check_order_by_id']
|
65
65
|
form_configurable :wallet, type: :string
|
66
66
|
form_configurable :rpc_server, type: :string
|
67
67
|
form_configurable :wallet_password, type: :string
|
@@ -72,13 +72,13 @@ module Agents
|
|
72
72
|
form_configurable :first_block, type: :string
|
73
73
|
form_configurable :last_block, type: :string
|
74
74
|
def validate_options
|
75
|
-
errors.add(:base, "type has invalid value: should be 'get_balance' 'net_peerCount' 'net_version' 'eth_protocolVersion' 'eth_gasPrice' 'eth_getTransactionCount' 'stake_reward_clo' 'get_tokens_balance' 'eth_getBlockByNumber' 'soy_farming_soy_clo_pending_rewards' 'soy_farming_soy_cloe_pending_rewards' 'stake_reward_soy' 'soy_farming_soy_btt_pending_rewards' 'soy_cs_pending_rewards' 'clo_sendtx' 'get_tx_by_address_with_filter' 'start_cs_clo' 'withdraw_cs_clo' 'get_tx_stats' 'callosha_slots'") if interpolated['type'].present? && !%w(get_balance net_peerCount net_version eth_protocolVersion eth_gasPrice eth_getTransactionCount stake_reward_clo get_tokens_balance eth_getBlockByNumber soy_farming_soy_clo_pending_rewards soy_farming_soy_cloe_pending_rewards stake_reward_soy soy_farming_soy_btt_pending_rewards soy_cs_pending_rewards clo_sendtx get_tx_by_address_with_filter start_cs_clo withdraw_cs_clo get_tx_stats callosha_slots).include?(interpolated['type'])
|
75
|
+
errors.add(:base, "type has invalid value: should be 'get_balance' 'net_peerCount' 'net_version' 'eth_protocolVersion' 'eth_gasPrice' 'eth_getTransactionCount' 'stake_reward_clo' 'get_tokens_balance' 'eth_getBlockByNumber' 'soy_farming_soy_clo_pending_rewards' 'soy_farming_soy_cloe_pending_rewards' 'stake_reward_soy' 'soy_farming_soy_btt_pending_rewards' 'soy_cs_pending_rewards' 'clo_sendtx' 'get_tx_by_address_with_filter' 'start_cs_clo' 'withdraw_cs_clo' 'get_tx_stats' 'callosha_slots' '2bears_check_order_by_id'") if interpolated['type'].present? && !%w(get_balance net_peerCount net_version eth_protocolVersion eth_gasPrice eth_getTransactionCount stake_reward_clo get_tokens_balance eth_getBlockByNumber soy_farming_soy_clo_pending_rewards soy_farming_soy_cloe_pending_rewards stake_reward_soy soy_farming_soy_btt_pending_rewards soy_cs_pending_rewards clo_sendtx get_tx_by_address_with_filter start_cs_clo withdraw_cs_clo get_tx_stats callosha_slots 2bears_check_order_by_id).include?(interpolated['type'])
|
76
76
|
|
77
77
|
unless options['wallet_password'].present? || !['clo_sendtx' 'start_cs_clo' 'withdraw_cs_clo'].include?(options['type'])
|
78
78
|
errors.add(:base, "wallet_password is a required field")
|
79
79
|
end
|
80
80
|
|
81
|
-
unless options['value'].present? || !['clo_sendtx' 'start_cs_clo' 'callosha_slots'].include?(options['type'])
|
81
|
+
unless options['value'].present? || !['clo_sendtx' 'start_cs_clo' 'callosha_slots' '2bears_check_order_by_id'].include?(options['type'])
|
82
82
|
errors.add(:base, "value is a required field")
|
83
83
|
end
|
84
84
|
|
@@ -295,6 +295,86 @@ module Agents
|
|
295
295
|
|
296
296
|
end
|
297
297
|
|
298
|
+
def twobears_check_order_by_id()
|
299
|
+
|
300
|
+
hex_value = sprintf("%064x", interpolated['value'].to_i)
|
301
|
+
uri = URI.parse("#{interpolated['rpc_server']}")
|
302
|
+
request = Net::HTTP::Post.new(uri)
|
303
|
+
request.content_type = "application/json"
|
304
|
+
request.body = JSON.dump({
|
305
|
+
"jsonrpc" => "2.0",
|
306
|
+
"id" => 1,
|
307
|
+
"method" => "eth_call",
|
308
|
+
"params" => [
|
309
|
+
{
|
310
|
+
"data" => "0x0e0578f5#{hex_value}",
|
311
|
+
"to" => "0x78afc46df1d3eb5cff7044d288a453fe43e17310"
|
312
|
+
},
|
313
|
+
"latest"
|
314
|
+
]
|
315
|
+
})
|
316
|
+
|
317
|
+
req_options = {
|
318
|
+
use_ssl: uri.scheme == "https",
|
319
|
+
}
|
320
|
+
|
321
|
+
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
|
322
|
+
http.request(request)
|
323
|
+
end
|
324
|
+
|
325
|
+
log_curl_output(response.code,response.body)
|
326
|
+
|
327
|
+
payload = JSON.parse(response.body)
|
328
|
+
|
329
|
+
if interpolated['changes_only'] == 'true'
|
330
|
+
if payload != memory['last_status']
|
331
|
+
create_event payload: decode_2bears_content(payload)
|
332
|
+
end
|
333
|
+
else
|
334
|
+
create_event payload: decode_2bears_content(payload)
|
335
|
+
end
|
336
|
+
memory['last_status'] = payload
|
337
|
+
|
338
|
+
end
|
339
|
+
|
340
|
+
def decode_2bears_content(data)
|
341
|
+
|
342
|
+
event = {}
|
343
|
+
power = (10 ** 18).to_i
|
344
|
+
hex_string = data['result'].gsub(/^0x/, '')
|
345
|
+
chunk_size = 64
|
346
|
+
chunks = hex_string.scan(/.{1,#{chunk_size}}/)
|
347
|
+
tokenin = decode_2bears_token(chunks[7])
|
348
|
+
tokenout = decode_2bears_token(chunks[8])
|
349
|
+
event['timestamp'] = chunks[0].to_i(16)
|
350
|
+
event['commission'] = "#{chunks[1].to_i(16)/ power.to_i.to_f} #{tokenout}"
|
351
|
+
event['value_in'] = "#{chunks[2].to_i(16) / power.to_i.to_f} #{tokenin}"
|
352
|
+
event['price'] = "#{chunks[3].to_i(16) / power.to_i.to_f} #{tokenin}"
|
353
|
+
event['value_out'] = "#{chunks[4].to_i(16) / power.to_i.to_f} #{tokenout}"
|
354
|
+
event['exec_in'] = "#{chunks[5].to_i(16) / power.to_i.to_f} #{tokenin}"
|
355
|
+
event['exec_out'] = "#{chunks[6].to_i(16) / power.to_i.to_f} #{tokenout}"
|
356
|
+
event['token_in'] = tokenin
|
357
|
+
event['token_out'] = tokenout
|
358
|
+
event['owner'] = "0x#{chunks[9]}"
|
359
|
+
event['order_type'] = (chunks[10].to_i(16) == 1) ? "Sell" : "Buy"
|
360
|
+
event['order_status'] = (chunks[11].to_i(16) == 1) ? "Active" : "Executed"
|
361
|
+
|
362
|
+
return event
|
363
|
+
|
364
|
+
end
|
365
|
+
|
366
|
+
def decode_2bears_token(token)
|
367
|
+
case token
|
368
|
+
when "0000000000000000000000000000000000000000000000000000000000000001"
|
369
|
+
return "CLO"
|
370
|
+
when "000000000000000000000000bf6c50889d3a620eb42c0f188b65ade90de958c4"
|
371
|
+
return "BUSDT"
|
372
|
+
else
|
373
|
+
return "IDK"
|
374
|
+
end
|
375
|
+
|
376
|
+
end
|
377
|
+
|
298
378
|
def get_tx_stats()
|
299
379
|
all_miners = ['0xf34eaf6e2cf4744b5e29734295135c4213d59149', '0xed15b7b7b5dc81daae277a081b47a04c3a8bea1b' ,'0xd125b3b146d21d058edac7a5b5f7481a571e4c46', '0xe683de43ccfbef16424ecb577f288cf343dfbc5a', '0x0073cf1b9230cf3ee8cab1971b8dbef21ea7b595', '0x40b67778d97a7d15a519d907ed991948e8ea486c', '0x8845ee5cae61b807678415bb8a68773df9d48f8e', '0x52f0458c70af5cdeb555cad800add5f82c3e59f7', '0xd06bb917c099acf24d43552b5aa760aeef7cd4aa', '0xf35074bbd0a9aee46f4ea137971feec024ab704e', '0xd144e30a0571aaf0d0c050070ac435deba461fab', '0x8057c50c6d72f4399862fefbc8d3b8a8757cde57', '0xfbf679d6ed0cb9747e05e7e8ae06e890e6bf2b66', '0x11905bd0863ba579023f662d1935e39d0c671933', '0xe4f3cab1f11d5a917ac73c80927e64ee4b1a445a', '0xae83a3e136e6714e6c1e5483950936d7872fb999', '0x39ec1c88a7a7c1a575e8c8f42eff7630d9278179', '0xd6d27255eaef8c3fcb5433acb5494bf04cb5f2c3', '0x004730417cd2b1d19f6be2679906ded4fa8a64e2', '0x89308111f17a395b82f1e5a2824bd01fd13a53b5', '0x800f25eb68a06ff9671605bd450c29e80f593e0a', '0xa5d9018f6c99ec3230633c1187c5cb607c704ed8', '0xfe59743b65f2afec200ce279a289cb4a43eb7eeb', '0x811bad1a4041a9f6ed8fc2f4e9d421dc82626f81', '0xbd12b4511ec9fd1cf481d5643f307252ae6f55e2', '0x5f7661e493d4f1a318c02e9383568597e8a09b5a', '0xe0bac765ca88706a12e4f5a9c0e92dc823fe6293', '0x40c48b386e15981df5a10552cb97ee6d232c8547', '0x458ddc6a7e924554756f95715a53bf948560ee38', '0x3c6b9edb1f8ec6c85436b7cb384eb607489c732f', '0x2a1efdf9f09869a82e5e6b0f3736aabcb5381206', '0xf30a30315d5214e490458d0511595e42b3d917d0', '0x8c2fdc530815eb4267c8b12f10adafc4ca73484a', '0x254b0e1dee486908345e608da64afe35caa02a1c']
|
300
380
|
shitty_wallets = ['0x7971d8defa89bf68ff4142b2bb1e1e3866927b36', '0x33344541086c709fe585caeabc83e5947e783333', '0xcbb8aaf930497c7bd0de6b19903410698e8adab4', '0xc352d245f25fec51ff15c77fc5bf767bf655276a', '0x9daa24510951bc0ac5d1e4f89de5efd89cc8e0b0', '0x941dab361e6d3f0b310f78c2c9eb6779608de0c3', '0x8877e6657f48aee236b47eb1c65be8e7a44f11f8', '0x1a146e329333919542cdb6d2d87de370275124c6', '0xf7d862d42976662d649cc356f4ca3854d595d53d', '0xd125b9d1415b77e0951d5b91dce3ce5d9e4375d0', '0xb94f03ad1b8ddddb82b08cd038b652cbfc47fbb4', '0x8832abcd7248ed2bd740d3eafdeb774ab8332623', '0x6dfb81b6945967e57052e4132a9ca328f8d12f7c', '0x11817fa65a9c2f68fc03bbbc9f2113d59b96908b']
|
@@ -1540,6 +1620,8 @@ module Agents
|
|
1540
1620
|
get_tx_stats()
|
1541
1621
|
when "callosha_slots"
|
1542
1622
|
callosha_slots()
|
1623
|
+
when "2bears_check_order_by_id"
|
1624
|
+
twobears_check_order_by_id()
|
1543
1625
|
else
|
1544
1626
|
log "Error: type has an invalid value (#{type})"
|
1545
1627
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: huginn_callisto_network_agent
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.66
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nicolas Germain
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-11-
|
11
|
+
date: 2023-11-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|