mixin_bot 1.0.0 → 1.2.0

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.
@@ -8,14 +8,12 @@ module MixinBot
8
8
 
9
9
  if key.match?(/\A[\h]{64,}\z/i)
10
10
  [key].pack('H*')
11
- elsif key.match?(/\A[a-zA-Z0-9\-\_=]{43,}\z/)
12
- Base64.urlsafe_decode64 key
13
11
  elsif key.match?(/^-----BEGIN RSA PRIVATE KEY-----/)
14
12
  key.gsub('\\r\\n', "\n").gsub("\r\n", "\n")
15
13
  elsif key.match?(/\d{6}/) || (key.size % 32).zero?
16
14
  key
17
15
  else
18
- raise ArgumentError, "Invalid key #{key}"
16
+ Base64.urlsafe_decode64 key
19
17
  end
20
18
  end
21
19
 
@@ -23,19 +21,19 @@ module MixinBot
23
21
  MixinBot::Transaction.new(hex:).decode.to_h
24
22
  end
25
23
 
26
- def decode_uint_16(bytes)
24
+ def decode_uint16(bytes)
27
25
  raise ArgumentError, "only support bytes #{bytes}" unless bytes.is_a?(Array)
28
26
 
29
27
  bytes.reverse.pack('C*').unpack1('S*')
30
28
  end
31
29
 
32
- def decode_uint_32(bytes)
30
+ def decode_uint32(bytes)
33
31
  raise ArgumentError, "only support bytes #{bytes}" unless bytes.is_a?(Array)
34
32
 
35
33
  bytes.reverse.pack('C*').unpack1('L*')
36
34
  end
37
35
 
38
- def decode_uint_64(bytes)
36
+ def decode_uint64(bytes)
39
37
  raise ArgumentError, "only support bytes #{bytes}" unless bytes.is_a?(Array)
40
38
 
41
39
  bytes.reverse.pack('C*').unpack1('Q*')
@@ -3,35 +3,35 @@
3
3
  module MixinBot
4
4
  module Utils
5
5
  module Encoder
6
- def encode_raw_transaction(tx)
7
- if tx.is_a? String
6
+ def encode_raw_transaction(txn)
7
+ if txn.is_a? String
8
8
  begin
9
- tx = JSON.parse tx
9
+ txn = JSON.parse txn
10
10
  rescue JSON::ParserError
11
- tx
11
+ txn
12
12
  end
13
13
  end
14
14
 
15
- raise ArgumentError, "#{tx} is not a valid json" unless tx.is_a? Hash
15
+ raise ArgumentError, "#{txn} is not a valid json" unless txn.is_a? Hash
16
16
 
17
- tx = tx.with_indifferent_access
17
+ txn = txn.with_indifferent_access
18
18
 
19
- MixinBot::Transaction.new(**tx).encode.hex
19
+ MixinBot::Transaction.new(**txn).encode.hex
20
20
  end
21
21
 
22
- def encode_uint_16(int)
22
+ def encode_uint16(int)
23
23
  raise ArgumentError, "only support int #{int}" unless int.is_a?(Integer)
24
24
 
25
25
  [int].pack('S*').bytes.reverse
26
26
  end
27
27
 
28
- def encode_uint_32(int)
28
+ def encode_uint32(int)
29
29
  raise ArgumentError, "only support int #{int}" unless int.is_a?(Integer)
30
30
 
31
31
  [int].pack('L*').bytes.reverse
32
32
  end
33
33
 
34
- def encode_uint_64(int)
34
+ def encode_uint64(int)
35
35
  raise ArgumentError, "only support int #{int}" unless int.is_a?(Integer)
36
36
 
37
37
  [int].pack('Q*').bytes.reverse
@@ -42,7 +42,7 @@ module MixinBot
42
42
 
43
43
  bytes = []
44
44
  loop do
45
- break if int === 0
45
+ break if int.zero?
46
46
 
47
47
  bytes.push int & 255
48
48
  int = (int / (2**8)) | 0
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MixinBot
4
- VERSION = '1.0.0'
4
+ VERSION = '1.2.0'
5
5
  end
data/lib/mvm/client.rb CHANGED
@@ -17,12 +17,12 @@ module MVM
17
17
  end
18
18
  end
19
19
 
20
- def get(path, **options)
21
- @conn.get(path, **options).body
20
+ def get(path, **)
21
+ @conn.get(path, **).body
22
22
  end
23
23
 
24
- def post(path, **options)
25
- @conn.post(path, **options).body
24
+ def post(path, **)
25
+ @conn.post(path, **).body
26
26
  end
27
27
  end
28
28
  end
data/lib/mvm/registry.rb CHANGED
@@ -52,9 +52,9 @@ module MVM
52
52
 
53
53
  def contract_from_multisig(user_ids, threshold)
54
54
  bytes = []
55
- bytes += MixinBot.utils.encode_uint_16(user_ids.length)
55
+ bytes += MixinBot.utils.encode_uint16(user_ids.length)
56
56
  bytes += [user_ids.sort.join.gsub('-', '')].pack('H*').bytes
57
- bytes += MixinBot.utils.encode_uint_16(threshold)
57
+ bytes += MixinBot.utils.encode_uint16(threshold)
58
58
 
59
59
  hash = Eth::Util.bin_to_prefixed_hex(Eth::Util.keccak256(bytes.pack('C*')))
60
60
  @rpc.call @registry, 'contracts', hash.to_i(16)
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mixin_bot
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - an-lee
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-12-29 00:00:00.000000000 Z
11
+ date: 2024-08-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '5'
19
+ version: '7'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '5'
26
+ version: '7'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: awesome_print
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -112,56 +112,56 @@ dependencies:
112
112
  name: faraday
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ">="
115
+ - - "~>"
116
116
  - !ruby/object:Gem::Version
117
117
  version: '2'
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ">="
122
+ - - "~>"
123
123
  - !ruby/object:Gem::Version
124
124
  version: '2'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: faraday-multipart
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - ">="
129
+ - - "~>"
130
130
  - !ruby/object:Gem::Version
131
131
  version: '1'
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - ">="
136
+ - - "~>"
137
137
  - !ruby/object:Gem::Version
138
138
  version: '1'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: faraday-retry
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - ">="
143
+ - - "~>"
144
144
  - !ruby/object:Gem::Version
145
145
  version: '2'
146
146
  type: :runtime
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - ">="
150
+ - - "~>"
151
151
  - !ruby/object:Gem::Version
152
152
  version: '2'
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: faye-websocket
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - ">="
157
+ - - "~>"
158
158
  - !ruby/object:Gem::Version
159
159
  version: '0.11'
160
160
  type: :runtime
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
- - - ">="
164
+ - - "~>"
165
165
  - !ruby/object:Gem::Version
166
166
  version: '0.11'
167
167
  - !ruby/object:Gem::Dependency
@@ -234,90 +234,6 @@ dependencies:
234
234
  - - "~>"
235
235
  - !ruby/object:Gem::Version
236
236
  version: '1.0'
237
- - !ruby/object:Gem::Dependency
238
- name: fastimage
239
- requirement: !ruby/object:Gem::Requirement
240
- requirements:
241
- - - "~>"
242
- - !ruby/object:Gem::Version
243
- version: 2.2.5
244
- type: :development
245
- prerelease: false
246
- version_requirements: !ruby/object:Gem::Requirement
247
- requirements:
248
- - - "~>"
249
- - !ruby/object:Gem::Version
250
- version: 2.2.5
251
- - !ruby/object:Gem::Dependency
252
- name: minitest-reporters
253
- requirement: !ruby/object:Gem::Requirement
254
- requirements:
255
- - - "~>"
256
- - !ruby/object:Gem::Version
257
- version: '1.6'
258
- type: :development
259
- prerelease: false
260
- version_requirements: !ruby/object:Gem::Requirement
261
- requirements:
262
- - - "~>"
263
- - !ruby/object:Gem::Version
264
- version: '1.6'
265
- - !ruby/object:Gem::Dependency
266
- name: pry
267
- requirement: !ruby/object:Gem::Requirement
268
- requirements:
269
- - - "~>"
270
- - !ruby/object:Gem::Version
271
- version: '0.14'
272
- type: :development
273
- prerelease: false
274
- version_requirements: !ruby/object:Gem::Requirement
275
- requirements:
276
- - - "~>"
277
- - !ruby/object:Gem::Version
278
- version: '0.14'
279
- - !ruby/object:Gem::Dependency
280
- name: rake
281
- requirement: !ruby/object:Gem::Requirement
282
- requirements:
283
- - - "~>"
284
- - !ruby/object:Gem::Version
285
- version: '13.0'
286
- type: :development
287
- prerelease: false
288
- version_requirements: !ruby/object:Gem::Requirement
289
- requirements:
290
- - - "~>"
291
- - !ruby/object:Gem::Version
292
- version: '13.0'
293
- - !ruby/object:Gem::Dependency
294
- name: rubocop
295
- requirement: !ruby/object:Gem::Requirement
296
- requirements:
297
- - - "~>"
298
- - !ruby/object:Gem::Version
299
- version: '1'
300
- type: :development
301
- prerelease: false
302
- version_requirements: !ruby/object:Gem::Requirement
303
- requirements:
304
- - - "~>"
305
- - !ruby/object:Gem::Version
306
- version: '1'
307
- - !ruby/object:Gem::Dependency
308
- name: simplecov
309
- requirement: !ruby/object:Gem::Requirement
310
- requirements:
311
- - - "~>"
312
- - !ruby/object:Gem::Version
313
- version: '0.22'
314
- type: :development
315
- prerelease: false
316
- version_requirements: !ruby/object:Gem::Requirement
317
- requirements:
318
- - - "~>"
319
- - !ruby/object:Gem::Version
320
- version: '0.22'
321
237
  description: An API wrapper for Mixin Nexwork
322
238
  email:
323
239
  - an.lee.work@gmail.com
@@ -336,9 +252,10 @@ files:
336
252
  - lib/mixin_bot/api/attachment.rb
337
253
  - lib/mixin_bot/api/auth.rb
338
254
  - lib/mixin_bot/api/blaze.rb
339
- - lib/mixin_bot/api/collectible.rb
340
255
  - lib/mixin_bot/api/conversation.rb
341
256
  - lib/mixin_bot/api/encrypted_message.rb
257
+ - lib/mixin_bot/api/inscription.rb
258
+ - lib/mixin_bot/api/legacy_collectible.rb
342
259
  - lib/mixin_bot/api/legacy_multisig.rb
343
260
  - lib/mixin_bot/api/legacy_output.rb
344
261
  - lib/mixin_bot/api/legacy_payment.rb
@@ -397,15 +314,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
397
314
  requirements:
398
315
  - - ">="
399
316
  - !ruby/object:Gem::Version
400
- version: 2.6.0
317
+ version: 3.2.0
401
318
  required_rubygems_version: !ruby/object:Gem::Requirement
402
319
  requirements:
403
320
  - - ">="
404
321
  - !ruby/object:Gem::Version
405
322
  version: '0'
406
323
  requirements: []
407
- rubygems_version: 3.4.21
324
+ rubygems_version: 3.5.10
408
325
  signing_key:
409
326
  specification_version: 4
410
- summary: An API wrapper for Mixin Nexwork
327
+ summary: A Ruby SDK for Mixin Nexwork
411
328
  test_files: []