Module: MixinBot::API::LegacyCollectible
- Included in:
- MixinBot::API
- Defined in:
- lib/mixin_bot/api/legacy_collectible.rb
Constant Summary collapse
- NFT_ASSET_MIXIN_ID =
'1700941284a95f31b25ec8c546008f208f88eee4419ccdcdbe6e3195e60128ca'- COLLECTABLE_REQUEST_ACTIONS =
%i[sign unlock].freeze
Instance Method Summary collapse
- #create_collectible_request(action, raw, access_token: nil) ⇒ Object
- #create_sign_collectible_request(raw, access_token: nil) ⇒ Object
- #create_unlock_collectible_request(raw, access_token: nil) ⇒ Object
- #legacy_collectible(id, access_token: nil) ⇒ Object
- #legacy_collectibles(**kwargs) ⇒ Object
- #legacy_collection(id, access_token: nil) ⇒ Object
- #sign_collectible_request(request_id, pin = nil) ⇒ Object
- #unlock_collectible_request(request_id, pin = nil) ⇒ Object
Instance Method Details
#create_collectible_request(action, raw, access_token: nil) ⇒ Object
46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/mixin_bot/api/legacy_collectible.rb', line 46 def create_collectible_request(action, raw, access_token: nil) warn_legacy_mixin_api!('LegacyCollectible#create_collectible_request') unless COLLECTABLE_REQUEST_ACTIONS.include? action.to_sym raise ArgumentError, "request action is limited in #{COLLECTABLE_REQUEST_ACTIONS.join(', ')}" end path = '/collectibles/requests' payload = { action:, raw: } client.post path, **payload, access_token: end |
#create_sign_collectible_request(raw, access_token: nil) ⇒ Object
61 62 63 64 |
# File 'lib/mixin_bot/api/legacy_collectible.rb', line 61 def create_sign_collectible_request(raw, access_token: nil) warn_legacy_mixin_api!('LegacyCollectible#create_sign_collectible_request') create_collectible_request 'sign', raw, access_token: end |
#create_unlock_collectible_request(raw, access_token: nil) ⇒ Object
66 67 68 69 |
# File 'lib/mixin_bot/api/legacy_collectible.rb', line 66 def create_unlock_collectible_request(raw, access_token: nil) warn_legacy_mixin_api!('LegacyCollectible#create_unlock_collectible_request') create_collectible_request 'unlock', raw, access_token: end |
#legacy_collectible(id, access_token: nil) ⇒ Object
8 9 10 11 12 |
# File 'lib/mixin_bot/api/legacy_collectible.rb', line 8 def legacy_collectible(id, access_token: nil) warn_legacy_mixin_api!('LegacyCollectible#legacy_collectible') path = "/collectibles/tokens/#{id}" client.get path, access_token: end |
#legacy_collectibles(**kwargs) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/mixin_bot/api/legacy_collectible.rb', line 20 def legacy_collectibles(**kwargs) warn_legacy_mixin_api!('LegacyCollectible#legacy_collectibles') limit = kwargs[:limit] || 100 offset = kwargs[:offset] || '' state = kwargs[:state] || '' member_ids = kwargs[:members] || [config.app_id] threshold = kwargs[:threshold] || member_ids.length members_hash = MixinBot.utils.hash_members(member_ids) access_token = kwargs[:access_token] path = '/collectibles/outputs' params = { limit:, offset:, state:, members: members_hash, threshold: } client.get path, **params, access_token: end |
#legacy_collection(id, access_token: nil) ⇒ Object
14 15 16 17 18 |
# File 'lib/mixin_bot/api/legacy_collectible.rb', line 14 def legacy_collection(id, access_token: nil) warn_legacy_mixin_api!('LegacyCollectible#legacy_collection') path = "/collectibles/collections/#{id}" client.get path, access_token: end |
#sign_collectible_request(request_id, pin = nil) ⇒ Object
71 72 73 74 75 76 77 78 79 80 |
# File 'lib/mixin_bot/api/legacy_collectible.rb', line 71 def sign_collectible_request(request_id, pin = nil) warn_legacy_mixin_api!('LegacyCollectible#sign_collectible_request') pin ||= config.pin raise ArgumentError, 'pin is needed for sign collectible request' if pin.blank? path = format('/collectibles/requests/%<request_id>s/sign', request_id:) payload = tip_or_legacy_pin_payload(pin, 'TIP:COLLECTIBLE:REQUEST:SIGN:', request_id) client.post path, **payload end |
#unlock_collectible_request(request_id, pin = nil) ⇒ Object
82 83 84 85 86 87 88 89 90 91 |
# File 'lib/mixin_bot/api/legacy_collectible.rb', line 82 def unlock_collectible_request(request_id, pin = nil) warn_legacy_mixin_api!('LegacyCollectible#unlock_collectible_request') pin ||= config.pin raise ArgumentError, 'pin is needed for sign collectible request' if pin.blank? path = format('/collectibles/requests/%<request_id>s/unlock', request_id:) payload = tip_or_legacy_pin_payload(pin, 'TIP:COLLECTIBLE:REQUEST:UNLOCK:', request_id) client.post path, **payload end |