@nftgo/gorarity
Version:
An algorithm to calculate rarity of NFT(how special it is), based on Jaccard Distance.
32 lines (31 loc) • 1.01 kB
JavaScript
import { EVMContractTokenIdentifier } from './token-identifier';
import { TokenMetadata } from './token-metadata';
import { TokenStandard } from './token-standard';
export class Token {
_tokenIdentifier;
_tokenStandard;
_metadata;
constructor(tokenIdentifier, tokenStandard, metadata) {
this._tokenIdentifier = tokenIdentifier;
this._tokenStandard = tokenStandard;
this._metadata = metadata;
}
get tokenIdentifier() {
return this._tokenIdentifier;
}
get tokenStandard() {
return this._tokenStandard;
}
get metadata() {
return this._metadata;
}
static fromErc721(contractAddress, tokenId, traits) {
return new Token(new EVMContractTokenIdentifier(contractAddress, tokenId), TokenStandard.ERC721, TokenMetadata.fromTokenTraits(traits));
}
hasTrait(traitName) {
return this.metadata.traitExists(traitName);
}
traitCount() {
return this._metadata.stringTraits.size;
}
}