mixin_bot 0.8.2 → 0.8.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e33af18983466579858bca5f2593e733d80a8038fc84b1e51e8ec21ed8ca592f
4
- data.tar.gz: 6e5d059a71f87c0c5926de5c08ddad64225d0594e1fe0b2a193b672451332b97
3
+ metadata.gz: 668a2577b6ceb0f2e78d47002062ff1f451006027a31b1bac2081864494cf9fe
4
+ data.tar.gz: 3c291ef3a6b7ed2c9ef9b6a56726c563639b575e05378e1ce15466cc00c23b15
5
5
  SHA512:
6
- metadata.gz: 6f710964c98112fccc42cde1fa0f16dbe6eaa171f3edafa8ad4584a4de2b0bf0897d13d543fb4e8709d52898e1f1f8b583dda4500c436380dcd3cb5bd2db0824
7
- data.tar.gz: ace503482d89be25331d47db1aa6649f50c9fff8fd79ffb0ecf788e187be31162af527d20972541fda580739f632e6d29bed3e01b80075e560df04c96bb9f030
6
+ metadata.gz: c8b2d87ca9ff0293aa0e63ce3d82986b30df7fcfe6197eb415b0eee16da6ac00104899e1431bd0975cb11e08a8f5f2e7fac431c02204b73bb0b5b0278525afa5
7
+ data.tar.gz: 7a50ecdb7d683ef493fb5a60fa042ba7b3bb904eaa3fec589b3e7fa10a33968936bc2495aef5325c3636dce30ac69c85dcf486fe0764c6d522c54766b012be19
@@ -16,9 +16,9 @@ module MixinBot
16
16
  @prefix = NFT_MEMO_PREFIX
17
17
  @version = NFT_MEMO_VERSION
18
18
  @mask = kwargs[:mask] || 0
19
- @chain = kwargs[:chain]
20
- @nm_class = kwargs[:nm_class]
21
- @collection = kwargs[:collection]
19
+ @chain = kwargs[:chain] || NFT_MEMO_DEFAULT_CHAIN
20
+ @nm_class = kwargs[:nm_class] || NFT_MEMO_DEFAULT_CLASS
21
+ @collection = kwargs[:collection] || NULL_UUID
22
22
  @token = kwargs[:token]
23
23
  @extra = kwargs[:extra]
24
24
  @memo = kwargs[:memo]
@@ -38,6 +38,25 @@ module MixinBot
38
38
  memo
39
39
  end
40
40
 
41
+ def unique_token_id
42
+ bytes = []
43
+ bytes += MixinBot::Utils::UUID.new(hex: chain).packed.bytes
44
+ bytes += [nm_class].pack('H*').bytes
45
+ bytes += MixinBot::Utils::UUID.new(hex: collection).packed.bytes
46
+ bytes += MixinBot::Utils.bytes_of token
47
+
48
+ md5 = Digest::MD5.new
49
+ md5.update bytes.pack('c*')
50
+ digest = [md5.hexdigest].pack('H*').bytes
51
+
52
+ digest[6] = (digest[6] & 0x0f) | 0x30
53
+ digest[8] = (digest[8] & 0x3f) | 0x80
54
+
55
+ hex = digest.pack('c*').unpack1('H*')
56
+
57
+ MixinBot::Utils::UUID.new(hex: hex).unpacked
58
+ end
59
+
41
60
  def mark(*indexes)
42
61
  indexes.map do |index|
43
62
  if index >= 64 || index < 0
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MixinBot
4
- VERSION = '0.8.2'
4
+ VERSION = '0.8.3'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mixin_bot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.2
4
+ version: 0.8.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - an-lee
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-22 00:00:00.000000000 Z
11
+ date: 2022-04-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport