contract GeometerToken is ERC721, Ownable {
    string public GEOMETER_PROVENANCE = "";
    uint public constant MAX_MEMBERSHIPS = 10;
    constructor() ERC721("GeometerToken", "GEOMETER") {}

    function mint() public onlyOwner {
        require(totalSupply() < MAX_MEMBERSHIPS, "Mint was already completed");

        _safeMint(address(0xEd7d5608b85546300e12526BA688cb4F6A5641E4), 0);
        _safeMint(address(0x8C367e29756573285075746185b384D148Ee0f68), 1);
        _safeMint(address(0x0D3Ada2A0E63631e1515C208998bF63AD4882cEE), 2);
        _safeMint(address(0xAfb9F3A1CF4A91AE113029b5E74151dC1c4f03B5), 3);
        _safeMint(address(0x89b7F3c7B61Ca77CDf515095Ff194dF82636F2F5), 4);
        _safeMint(address(0x4c5f3D38b38117449C59aaF60BEDC35c753728FF), 5);
        _safeMint(address(0x4c5f3D38b38117449C59aaF60BEDC35c753728FF), 6);
        _safeMint(address(0x4c5f3D38b38117449C59aaF60BEDC35c753728FF), 7);
        _safeMint(address(0x4c5f3D38b38117449C59aaF60BEDC35c753728FF), 8);
        _safeMint(address(0x4c5f3D38b38117449C59aaF60BEDC35c753728FF), 9);
    }
    
    /*     
    * Set baseURI
    */
    function setBaseURI(string memory baseURI) public onlyOwner {
        _setBaseURI(baseURI);
    }

    /*     
    * Set provenance once it's calculated
    */
    function setProvenanceHash(string memory provenanceHash) public onlyOwner {
        GEOMETER_PROVENANCE = provenanceHash;
    }
}
function setProvenanceHash(string memory provenanceHash) public onlyOwner {
    GEOMETER_PROVENANCE = provenanceHash;
}

/*     
 * Set provenance once it's calculated
 */