Class: NftChecker::OpenSea
- Inherits:
-
Object
- Object
- NftChecker::OpenSea
- Defined in:
- lib/nft_checker/open_sea.rb
Overview
NFT Checker implementation for OpenSea
Instance Method Summary collapse
-
#in_collection?(collection_metadata, nft_metadata) ⇒ Boolean
Verify that the NFT is part of the referenced collection.
-
#initialize(testnet: false) ⇒ OpenSea
constructor
A new instance of OpenSea.
-
#list_nfts(collection_metadata, owner_address) ⇒ Object
List all NFTs in the collection owned by the given address.
-
#owner?(address, nft_metadata) ⇒ Boolean
Verify that the NFT is owned by the given address.
-
#verify_owner(nft_metadata, owner_address) ⇒ Object
- Deprecated
-
Verify that the NFT is owned by the given address.
Constructor Details
#initialize(testnet: false) ⇒ OpenSea
Returns a new instance of OpenSea.
11 12 13 |
# File 'lib/nft_checker/open_sea.rb', line 11 def initialize(testnet: false) @url_base = testnet ? "https://testnets-api.opensea.io/" : "https://api.opensea.io/" end |
Instance Method Details
#in_collection?(collection_metadata, nft_metadata) ⇒ Boolean
Verify that the NFT is part of the referenced collection
25 26 27 28 29 30 31 32 33 |
# File 'lib/nft_checker/open_sea.rb', line 25 def in_collection?(, ) nft = fetch_nft() return false if nft.nil? .each_key do |key| return false unless nft["collection"][key.to_s].casecmp([key]).zero? end true end |
#list_nfts(collection_metadata, owner_address) ⇒ Object
List all NFTs in the collection owned by the given address
45 46 47 48 49 50 |
# File 'lib/nft_checker/open_sea.rb', line 45 def list_nfts(, owner_address) rez = HTTParty.get("#{@url_base}assets", query: { owner: owner_address, collection: [:slug] }) handle_response_codes(rez, not_found: []) do rez.parsed_response["assets"] || [] end end |
#owner?(address, nft_metadata) ⇒ Boolean
Verify that the NFT is owned by the given address
18 19 20 |
# File 'lib/nft_checker/open_sea.rb', line 18 def owner?(address, ) !fetch_nft_for_owner(address, ).nil? end |
#verify_owner(nft_metadata, owner_address) ⇒ Object
- Deprecated
-
Verify that the NFT is owned by the given address
38 39 40 |
# File 'lib/nft_checker/open_sea.rb', line 38 def verify_owner(, owner_address) owner?(owner_address, ) end |