☰
DFK Developers

Profiles

Contracts

Addresses

DFK Chain

NameMainnetTestnet
Profiles0xC4cD8C09D1A90b21Be417be91A81603B03993E810x8BCa36AA967b7ab0158D1eE1453A9de47Af71D78
Stylist0xf697D08Fba8db26EA8B9868aB3214f9E072F8f1c0xCdeCB1A8B17de0b3C8D1D1a3AB50232d0c39275E
IdentityTokenRouter0xD598F17d4Bcdf30E6fBE6f7dCF7A45c3ee6628500xD598F17d4Bcdf30E6fBE6f7dCF7A45c3ee662850

Kaia

NameMainnetTestnet
Profiles0xe1b8C354BE50357c2ab90A962254526d08aF0D2D0x8Bb052D91895868a13fde5698814Bbbbc497497F
Stylist0x2dB164A65BB10BBbde7Aa441EAfDAED67AbE08EE0x5Ee8F510c1C7E82c48b22915016f3F70fEbff3C0
IdentityTokenRouter0x15D9833EfcEce2E7877aca20f4140AE71c9e23940xDD1EC3228e854D6B159a3438F9D65c6c42Cf4cc7

Metis

NameMainnetTestnet
Profiles0x5477D7f1539aDC67787AEA54306700196B81E7c40xa06E6c2c4Ac7163e9c5beC56aF79ae483177d1bC
IdentityTokenRouter0xDB850023dDc7E086D6f09c77C546cd867E872ecB0x091cfc85d2e20b110Cd754c6c410A67c925C55ED

Interfaces

interface IProfiles {

    event ProfileCreated(address owner, string name, uint64 created, uint256 nftId, uint256 collectionId);
    event ProfileUpdated(address owner, string name, uint256 nftId, uint256 collectionId);
    
    function addressToProfile(address) view returns (address owner, string name, uint64 created, uint256 nftId, uint256 collectionId, string picUri);
    function changeName(address _profileAddress, string _name);
    function changePic(address _profileAddress, uint256 _nftId, uint256 _collectionId);
    function createProfile(string _name, uint256 _nftId, uint256 _collectionId);
    function getNames(address[] _addresses) view returns (string[]);
    function getProfile(address _profileAddress) view returns (tuple(address owner, string name, uint64 created, uint256 nftId, uint256 collectionId, string picUri));
    function getProfileByAddress(address _profileAddress) view returns (uint256 _id, address _owner, string _name, uint64 _created, uint8 _picId, uint256 _heroId, uint256 _points);
    function getProfileByName(string _name) view returns (tuple(address owner, string name, uint64 created, uint256 nftId, uint256 collectionId, string picUri));
    function getTokenUrisHeldByAddress(address _profileAddress, uint256 _collectionId) view returns (string[]);
    function heroesNftContract() view returns (address);
    function identityTokenRouter() view returns (address);
    function maxChar() view returns (uint8);
    function maxPic() view returns (uint8);
    function minChar() view returns (uint8);
    function nameToAddress(string) view returns (address);
    function picUris(uint256) view returns (string);

}
interface IStylist {

    event FeeAddressAdded(address indexed feeAddress, uint256 indexed feePercent);
    event FeeDisbursed(address indexed source, address indexed from, address indexed to, address token, uint256 amount, uint64 timestamp);
    event NameChange(address profileAddress, string oldName, string newName);
    event PicChange(address profileAddress, uint256 nftId, uint256 collectionId);
    
    function changeName(string _name);
    function changePic(uint256 _nftId, uint256 _collectionId);
    function feeAddresses(uint256) view returns (address);
    function feePercents(uint256) view returns (uint256);
    function nameChangeFee() view returns (uint256);
    function paused() view returns (bool);
    function picChangeFee() view returns (uint256);
    function powerToken() view returns (address);
    function profilesContract() view returns (address);

}
interface IIdentityTokenRouter {

    event CollectionSet(uint256 collectionId, string collectionName, address externalTokenContract);
    
    function collections(uint256) view returns (uint256 collectionId, string collectionName, address collectionContract);
    function getTokenUrisHeldByAddress(address _owner, uint256 _collectionId) view returns (string[]);
    function ownerOf(uint256 _tokenId, uint256 _collectionId) view returns (address);
    function paused() view returns (bool);
    function tokenURI(uint256 _tokenId, uint256 _collectionId) view returns (string)

}

ABIs

Profiles.json

Stylist.json

IdentityTokenRouter.json

Historical Contracts

These contracts have been deprecated and should not be used. They are listed here for data analysis and tracking purposes only.

The ProfilesV2 contract on Harmony was introduced on 2/15/2022.

Addresses

Harmony

NameMainnetTestnet
Profiles (V2)0x6391F796D56201D279a42fD3141aDa7e26A3B4A50x729Fcb5f7C17Def718BC2D96b779742e1818fd06
Profiles (V1)0xabD4741948374b1f5DD5Dd7599AC1f85A34cAcDD0xC9e3D669E51b9a77e214F94156DAB9B33Faadd08
Stylist0x8f1CeD3ABa6893E65DE59452C466B2CBb7Cd690b0x703cadA8b820A0C7e22B424DAd7B2937A7afFD68
IdentityTokenRouter0x51887a8271D50Ff1bc90C3c6befd47c65aeAa6C60xC9e3D669E51b9a77e214F94156DAB9B33Faadd08

Interfaces

interface IProfilesV1 {

    event ProfileCreated(uint256 profileId, address owner, string name, uint64 created, uint8 picId);
    event ProfileUpdated(uint256 profileId, address owner, string name, uint64 created, uint8 picId, uint256 heroId);
    
    function addressToIndex(address) view returns (uint256);
    function addresses(uint256) view returns (address);
    function changeHeroPic(uint256 profileId, uint256 _heroId) returns (bool success);
    function changeName(uint256 profileId, string _name) returns (bool success);
    function changePic(uint256 profileId, uint8 _picId) returns (bool success);
    function createProfile(string _name, uint8 _picId) returns (bool success);
    function getAddressByName(string name) view returns (address profileAddress);
    function getProfileByAddress(address profileAddress) view returns (uint256 _id, address _owner, string _name, uint64 _created, uint8 _picId, uint256 _heroId);
    function getProfileByName(string name) view returns (uint256 _id, address _owner, string _name, uint64 _created, uint8 _picId, uint256 _heroId);
    function getProfileCount() view returns (uint256 count);
    function heroesNftContract() view returns (address);
    function nameTaken(string name) view returns (bool taken);
    function nameToIndex(string) view returns (uint256);
    function profileExists(address profileAddress) view returns (bool exists);
    function profiles(uint256) view returns (uint256 id, address owner, string name, uint64 created, uint8 picId, uint256 heroId, bool set);

}
interface IStylistHarmony {

    event NameChange(address profileAddress, string oldName, string newName);
    event PicChange(address profileAddress, uint256 nftId, uint256 collectionId);
    
    function changeName(string _name); // Currently Unavailable
    function changePic(uint256 _nftId, uint256 _collectionId);
    function jewelToken() view returns (address);
    function nameChangeFee() view returns (uint256);
    function paused() view returns (bool);
    function picChangeFee() view returns (uint256);
    function profilesContract() view returns (address);

}

ABIs

ProfilesV1.json

Stylist.json