[ { "inputs": [ { "internalType": "address", "name": "_brainERC20Implementation", "type": "address" }, { "internalType": "address", "name": "_metadataContractAddress", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "AlreadyInitialized", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "BrainAlreadyActivated", "type": "error" }, { "inputs": [ { "internalType": "uint8", "name": "code", "type": "uint8" } ], "name": "BrainOperationFailed", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "BrainTokenNotActivated", "type": "error" }, { "inputs": [], "name": "CloneCreationFailed", "type": "error" }, { "inputs": [], "name": "ERC1167FailedCreateClone", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "step", "type": "uint256" } ], "name": "ERC20InitializationFailed", "type": "error" }, { "inputs": [], "name": "ERC721EnumerableForbiddenBatchMint", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "address", "name": "owner", "type": "address" } ], "name": "ERC721IncorrectOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ERC721InsufficientApproval", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC721InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" } ], "name": "ERC721InvalidOperator", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "ERC721InvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC721InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC721InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ERC721NonexistentToken", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "ERC721OutOfBoundsIndex", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "provided", "type": "uint256" }, { "internalType": "uint256", "name": "required", "type": "uint256" } ], "name": "InsufficientAmount", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "required", "type": "uint256" } ], "name": "InsufficientBrainTokens", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "total", "type": "uint256" }, { "internalType": "uint256", "name": "required", "type": "uint256" } ], "name": "InsufficientContributions", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "InvalidAmount", "type": "error" }, { "inputs": [], "name": "InvalidBrainId", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "current", "type": "uint256" }, { "internalType": "uint256", "name": "max", "type": "uint256" } ], "name": "MaxSupplyExceeded", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "MetadataUpdateDisabled", "type": "error" }, { "inputs": [], "name": "MintingNotAllowed", "type": "error" }, { "inputs": [], "name": "NewOwnerIsZeroAddress", "type": "error" }, { "inputs": [], "name": "NoHandoverRequest", "type": "error" }, { "inputs": [], "name": "NoVotesToWithdraw", "type": "error" }, { "inputs": [], "name": "ProposalAlreadyExecuted", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "remainingTime", "type": "uint256" } ], "name": "StakeDurationNotMet", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "TokenNotMinted", "type": "error" }, { "inputs": [], "name": "Unauthorized", "type": "error" }, { "inputs": [], "name": "UnauthorizedAccess", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "votes", "type": "uint256" }, { "internalType": "uint256", "name": "required", "type": "uint256" } ], "name": "VotingThresholdNotMet", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "erc20Address", "type": "address" } ], "name": "BrainERC20Associated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "erc20Address", "type": "address" }, { "indexed": true, "internalType": "address", "name": "owner", "type": "address" } ], "name": "BrainERC20Deployed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "indexed": false, "internalType": "string", "name": "name", "type": "string" }, { "indexed": false, "internalType": "string", "name": "metadataUrl", "type": "string" }, { "indexed": false, "internalType": "string", "name": "imageUrl", "type": "string" } ], "name": "BrainMetadataUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "nftId", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "brainFather", "type": "address" } ], "name": "BrainMinted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "nftId", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "brainTokenAddress", "type": "address" } ], "name": "BrainTokenActivated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "name": "BrainTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "contributor", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "brainId", "type": "uint256" } ], "name": "ContributionReceived", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "proposalId", "type": "uint256" }, { "indexed": false, "internalType": "string", "name": "name", "type": "string" }, { "indexed": false, "internalType": "string", "name": "metadataUrl", "type": "string" }, { "indexed": false, "internalType": "string", "name": "imageUrl", "type": "string" } ], "name": "MetadataChangeProposed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "pendingOwner", "type": "address" } ], "name": "OwnershipHandoverCanceled", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "pendingOwner", "type": "address" } ], "name": "OwnershipHandoverRequested", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "oldOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "proposalId", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "voter", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "VoteCast", "type": "event" }, { "inputs": [], "name": "MAX_SUPPLY", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "PROPOSAL_THRESHOLD", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "activateBrain", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "activatedBrainIds", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "activatedBrainIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "brainCreditAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "brainERC20Implementation", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "brainToERC20", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "brainTotalContributions", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "cancelOwnershipHandover", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "brainId", "type": "uint256" } ], "name": "collectiveMint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pendingOwner", "type": "address" } ], "name": "completeOwnershipHandover", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "brainId", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "contributeBrainCredits", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "contributorInfo", "outputs": [ { "internalType": "uint256", "name": "totalContribution", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "contributorList", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "contributors", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getBrainERC20", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "brainId", "type": "uint256" } ], "name": "getCollectiveMintProgress", "outputs": [ { "internalType": "uint256", "name": "totalContributions", "type": "uint256" }, { "internalType": "uint256", "name": "contributorCount", "type": "uint256" }, { "internalType": "address[]", "name": "topContributors", "type": "address[]" }, { "internalType": "uint256[]", "name": "topContributions", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "staker", "type": "address" } ], "name": "getStakedAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getTimeUntilWithdrawal", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" } ], "name": "getUserActivatedBrains", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" } ], "name": "getUserBrainERC20Info", "outputs": [ { "components": [ { "internalType": "uint256", "name": "brainId", "type": "uint256" }, { "internalType": "address", "name": "erc20Address", "type": "address" }, { "internalType": "uint256", "name": "totalSupply", "type": "uint256" }, { "internalType": "uint256", "name": "userBalance", "type": "uint256" }, { "internalType": "uint256", "name": "userOwnershipPercentage", "type": "uint256" } ], "internalType": "struct Brains.BrainERC20Info[]", "name": "", "type": "tuple[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "brainId", "type": "uint256" }, { "internalType": "address", "name": "user", "type": "address" } ], "name": "getUserBrainShare", "outputs": [ { "internalType": "uint256", "name": "contributionAmount", "type": "uint256" }, { "internalType": "uint256", "name": "shareAmount", "type": "uint256" }, { "internalType": "uint256", "name": "sharePercentage", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" } ], "name": "getUserData", "outputs": [ { "internalType": "uint256[]", "name": "ownedTokenIds", "type": "uint256[]" }, { "internalType": "address[]", "name": "linkedERC20s", "type": "address[]" }, { "internalType": "uint256", "name": "stakedAmount", "type": "uint256" }, { "internalType": "uint256", "name": "contributionAmount", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "brainId", "type": "uint256" } ], "name": "isBrainActivated", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "metadataContract", "outputs": [ { "internalType": "contract BrainsMetadata", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256[]", "name": "tokenIds", "type": "uint256[]" } ], "name": "mintLabsBrain", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes[]", "name": "data", "type": "bytes[]" } ], "name": "multicall", "outputs": [ { "internalType": "bytes[]", "name": "results", "type": "bytes[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "name": "onERC721Received", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "result", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pendingOwner", "type": "address" } ], "name": "ownershipHandoverExpiresAt", "outputs": [ { "internalType": "uint256", "name": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pepecoinAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "metadataUrl", "type": "string" }, { "internalType": "string", "name": "imageUrl", "type": "string" } ], "name": "proposeMetadataChange", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "redeemBrain", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "requestOwnershipHandover", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_brainCreditAddress", "type": "address" } ], "name": "setBrainCredits", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_metadataContract", "type": "address" } ], "name": "setMetadataContract", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_pepecoinAddress", "type": "address" } ], "name": "setPepecoin", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "string", "name": "_tokenURI", "type": "string" } ], "name": "setTokenURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "stakePepecoin", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "stakes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "toggleBlockBrainUri", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokenCounter", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenOfOwnerByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "tokenStakeTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "unstakePepecoin", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "metadataUrl", "type": "string" }, { "internalType": "string", "name": "imageUrl", "type": "string" } ], "name": "updateBrainMetadata", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "proposalId", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "voteOnProposal", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "proposalId", "type": "uint256" } ], "name": "withdrawVotes", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60a060405234801561000f575f5ffd5b50604051614b71380380614b7183398101604081905261002e9161011f565b6040518060400160405280600e81526020016d4261736564414920427261696e7360901b81525060405180604001604052806006815260200165425241494e5360d01b815250815f908161008291906101e8565b50600161008f82826101e8565b50506001600a55506100a0336100c9565b5f600e55600b80546001600160a01b0319166001600160a01b03928316179055166080526102a2565b6001600160a01b0316638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b80516001600160a01b038116811461011a575f5ffd5b919050565b5f5f60408385031215610130575f5ffd5b61013983610104565b915061014760208401610104565b90509250929050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061017857607f821691505b60208210810361019657634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156101e357805f5260205f20601f840160051c810160208510156101c15750805b601f840160051c820191505b818110156101e0575f81556001016101cd565b50505b505050565b81516001600160401b0381111561020157610201610150565b6102158161020f8454610164565b8461019c565b6020601f821160018114610247575f83156102305750848201515b5f19600385901b1c1916600184901b1784556101e0565b5f84815260208120601f198516915b828110156102765787850151825560209485019460019092019101610256565b508482101561029357868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b6080516148b06102c15f395f81816107b9015261307401526148b05ff3fe6080604052600436106103c9575f3560e01c80637ca77d9f116101f4578063ac9650d811610113578063e5187f43116100a8578063f04e283e11610078578063f04e283e14610bff578063f2fde38b14610c12578063fa7f1db814610c25578063fee81cf414610c44578063ffc9896b14610c75575f5ffd5b8063e5187f4314610b60578063e7c3602314610b7f578063e985e9c514610bb5578063ee22319914610bd4575f5ffd5b8063c7182135116100e3578063c718213514610aee578063c87b56dd14610b0d578063d082e38114610b2c578063d196954314610b41575f5ffd5b8063ac9650d814610a65578063b51e629014610a91578063b88d4fde14610ab0578063c5db18c514610acf575f5ffd5b806397d7cef411610189578063a496975311610159578063a4969753146109de578063a65d489f14610a0a578063a6c2660314610a29578063a8ed1d4814610a46575f5ffd5b806397d7cef41461096257806398462b6814610981578063a22cb465146109a0578063a43275bd146109bf575f5ffd5b80638da5cb5b116101c45780638da5cb5b146108ec578063914ea69c1461090457806391bcbad01461092357806395d89b411461094e575f5ffd5b80637ca77d9f14610855578063818764181461087457806387d5ec8e146108ae578063890a5b95146108cd575f5ffd5b806342842e0e116102eb57806359d06ba11161028057806364c7d2081161025057806364c7d208146107a857806370a08231146107db578063715018a6146107fa57806377bc35571461080257806379e8a60414610821575f5ffd5b806359d06ba11461070f5780635d332e1c1461073e5780635ec43e4e1461075d5780636352211e14610789575f5ffd5b80634f6ccce7116102bb5780634f6ccce71461069e57806353917a4d146106bd57806354d1f13d146106dc578063562a8e53146106e4575f5ffd5b806342842e0e146106015780634b545f3a146106205780634da6a5561461064b5780634ddfb0f21461067f575f5ffd5b8063202c9bc9116103615780632f745c59116103315780632f745c591461058f57806332cb6b0c146105ae57806334ad3501146105c357806335209821146105e2575f5ffd5b8063202c9bc91461052a57806323b872dd1461054957806325692962146105685780632b3ae25c14610570575f5ffd5b8063150b7a021161039c578063150b7a021461047a578063162094c4146104be57806316934fc4146104dd57806318160ddd14610516575f5ffd5b806301ffc9a7146103cd57806306fdde0314610401578063081812fc14610422578063095ea7b314610459575b5f5ffd5b3480156103d8575f5ffd5b506103ec6103e7366004613be6565b610ca4565b60405190151581526020015b60405180910390f35b34801561040c575f5ffd5b50610415610cce565b6040516103f89190613c2f565b34801561042d575f5ffd5b5061044161043c366004613c41565b610d5d565b6040516001600160a01b0390911681526020016103f8565b348015610464575f5ffd5b50610478610473366004613c6c565b610d84565b005b348015610485575f5ffd5b506104a5610494366004613c96565b630a85bd0160e11b95945050505050565b6040516001600160e01b031990911681526020016103f8565b3480156104c9575f5ffd5b506104786104d8366004613e18565b610d93565b3480156104e8575f5ffd5b506105086104f7366004613e5b565b60146020525f908152604090205481565b6040519081526020016103f8565b348015610521575f5ffd5b50600e54610508565b348015610535575f5ffd5b50610478610544366004613c41565b610e9a565b348015610554575f5ffd5b50610478610563366004613e76565b61120b565b610478611294565b34801561057b575f5ffd5b5061050861058a366004613c41565b6112e0565b34801561059a575f5ffd5b506105086105a9366004613c6c565b61134e565b3480156105b9575f5ffd5b5061050861040081565b3480156105ce575f5ffd5b506104786105dd366004613c41565b6113b1565b3480156105ed575f5ffd5b50600b54610441906001600160a01b031681565b34801561060c575f5ffd5b5061047861061b366004613e76565b611415565b34801561062b575f5ffd5b5061050861063a366004613e5b565b60116020525f908152604090205481565b348015610656575f5ffd5b50610508610665366004613e5b565b6001600160a01b03165f9081526014602052604090205490565b34801561068a575f5ffd5b50610478610699366004613c41565b61142f565b3480156106a9575f5ffd5b506105086106b8366004613c41565b611615565b3480156106c8575f5ffd5b506104786106d7366004613e5b565b61166a565b610478611694565b3480156106ef575f5ffd5b506105086106fe366004613c41565b60196020525f908152604090205481565b34801561071a575f5ffd5b5061072e610729366004613c41565b6116cd565b6040516103f89493929190613f27565b348015610749575f5ffd5b50610441610758366004613f62565b611984565b348015610768575f5ffd5b5061077c610777366004613e5b565b6119b8565b6040516103f89190613f82565b348015610794575f5ffd5b506104416107a3366004613c41565b611c44565b3480156107b3575f5ffd5b506104417f000000000000000000000000000000000000000000000000000000000000000081565b3480156107e6575f5ffd5b506105086107f5366004613e5b565b611c4e565b610478611c93565b34801561080d575f5ffd5b5061050861081c366004613c41565b611ca6565b34801561082c575f5ffd5b5061044161083b366004613c41565b60136020525f90815260409020546001600160a01b031681565b348015610860575f5ffd5b50600d54610441906001600160a01b031681565b34801561087f575f5ffd5b5061089361088e366004613ffa565b611cc5565b604080519384526020840192909252908201526060016103f8565b3480156108b9575f5ffd5b506104786108c8366004613c41565b611e81565b3480156108d8575f5ffd5b506104786108e7366004614028565b6120b0565b3480156108f7575f5ffd5b50638b78c6d81954610441565b34801561090f575f5ffd5b506103ec61091e366004613c41565b61211c565b34801561092e575f5ffd5b5061050861093d366004613c41565b60176020525f908152604090205481565b348015610959575f5ffd5b5061041561219c565b34801561096d575f5ffd5b5061047861097c366004613c41565b6121ab565b34801561098c575f5ffd5b50600c54610441906001600160a01b031681565b3480156109ab575f5ffd5b506104786109ba36600461405e565b61227b565b3480156109ca575f5ffd5b506104786109d9366004613c41565b612286565b3480156109e9575f5ffd5b506109fd6109f8366004613e5b565b612432565b6040516103f8919061408a565b348015610a15575f5ffd5b50610478610a243660046140e3565b6124ea565b348015610a34575f5ffd5b506105086934f086f3b33b6840000081565b348015610a51575f5ffd5b50610478610a60366004614121565b612624565b348015610a70575f5ffd5b50610a84610a7f3660046140e3565b6126be565b6040516103f891906141b6565b348015610a9c575f5ffd5b50610478610aab366004614121565b612804565b348015610abb575f5ffd5b50610478610aca36600461420d565b61283a565b348015610ada575f5ffd5b50610441610ae9366004613c41565b612851565b348015610af9575f5ffd5b50610478610b08366004613f62565b6128bc565b348015610b18575f5ffd5b50610415610b27366004613c41565b612920565b348015610b37575f5ffd5b50610508600e5481565b348015610b4c575f5ffd5b50610478610b5b366004613f62565b6129f0565b348015610b6b575f5ffd5b50610478610b7a366004613e5b565b612c8d565b348015610b8a575f5ffd5b50610508610b99366004613ffa565b601260209081525f928352604080842090915290825290205481565b348015610bc0575f5ffd5b506103ec610bcf36600461427b565b612cb7565b348015610bdf575f5ffd5b50610508610bee366004613c41565b60156020525f908152604090205481565b610478610c0d366004613e5b565b612ce4565b610478610c20366004613e5b565b612d1e565b348015610c30575f5ffd5b50610478610c3f366004613e5b565b612d44565b348015610c4f575f5ffd5b50610508610c5e366004613e5b565b63389a75e1600c9081525f91909152602090205490565b348015610c80575f5ffd5b50610c94610c8f366004613e5b565b612d6e565b6040516103f894939291906142a7565b5f6001600160e01b0319821663780e9d6360e01b1480610cc85750610cc882612ec0565b92915050565b60605f8054610cdc906142df565b80601f0160208091040260200160405190810160405280929190818152602001828054610d08906142df565b8015610d535780601f10610d2a57610100808354040283529160200191610d53565b820191905f5260205f20905b815481529060010190602001808311610d3657829003601f168201915b5050505050905090565b5f610d6782612f0f565b505f828152600460205260409020546001600160a01b0316610cc8565b610d8f828233612f47565b5050565b33610d9d83611c44565b6001600160a01b031614610dc457604051631a27eac360e11b815260040160405180910390fd5b610dcd82612f54565b610df257604051634a4d002f60e01b8152600481018390526024015b60405180910390fd5b600b54604051630a4850f760e21b8152600481018490526001600160a01b039091169063292143dc90602401602060405180830381865afa158015610e39573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e5d9190614317565b15610e7e5760405163cf61550960e01b815260048101839052602401610de9565b5f828152601660205260409020610e958282614376565b505050565b610ea2612f72565b600b54604051632453a9a760e21b8152600481018390526001600160a01b039091169063914ea69c90602401602060405180830381865afa158015610ee9573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f0d9190614317565b15610f2e57604051632dae707160e01b815260048101829052602401610de9565b5f81815260196020526040902054683635c9adc5dea000001115610f87575f81815260196020526040908190205490516327fbe1bf60e21b81526004810191909152683635c9adc5dea000006024820152604401610de9565b610400600e5410610fba57600e54604051637502c12360e11b815260048101919091526104006024820152604401610de9565b5f610fc3612fcb565b604051909150309082905f5160206147fc5f395f51905f52905f90a3610fe93082613054565b5f610ff4308361306d565b90505f805b5f858152601860205260409020548110801561101d5750683635c9adc5dea0000082105b156111bb575f85815260186020526040812080548390811061104157611041614430565b5f9182526020808320909101548883526012825260408084206001600160a01b0390921680855291909252912054909150683635c9adc5dea000006110868286614458565b11156110a25761109f84683635c9adc5dea0000061446b565b90505b5f8781526012602090815260408083206001600160a01b0386168452909152812080548392906110d390849061446b565b909155506110e390508185614458565b93505f611101670de0b6b3a7640000683635c9adc5dea00000614492565b61110e83620f42406144a5565b6111189190614492565b60405163a9059cbb60e01b81526001600160a01b038581166004830152602482018390529192509087169063a9059cbb906044016020604051808303815f875af1158015611168573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061118c9190614317565b50683635c9adc5dea0000085036111a5575050506111bb565b50505080806111b3906144bc565b915050610ff9565b506040516001600160a01b0383169084907f44165505aa9de0a6966949bee8bf2595f4ee689a16dd65a62fe05aa3a67410d1905f90a36111fb84826131fb565b5050506112086001600a55565b50565b6001600160a01b03821661123457604051633250574960e11b81525f6004820152602401610de9565b5f6112408383336132e4565b9050836001600160a01b0316816001600160a01b03161461128e576040516364283d7b60e01b81526001600160a01b0380861660048301526024820184905282166044820152606401610de9565b50505050565b5f6202a3006001600160401b03164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f5fa250565b5f336112eb83611c44565b6001600160a01b03161461131257604051631a27eac360e11b815260040160405180910390fd5b5f8281526015602052604081205461132e906276a70090614458565b905042811161133d575f611347565b611347428261446b565b9392505050565b5f61135883611c4e565b82106113895760405163295f44f760e21b81526001600160a01b038416600482015260248101839052604401610de9565b506001600160a01b03919091165f908152600660209081526040808320938352929052205490565b6113b96133b7565b600b546040516334ad350160e01b8152600481018390526001600160a01b03909116906334ad3501906024015f604051808303815f87803b1580156113fc575f5ffd5b505af115801561140e573d5f5f3e3d5ffd5b5050505050565b610e9583838360405180602001604052805f81525061283a565b611437612f72565b3361144182611c44565b6001600160a01b03161461146857604051631a27eac360e11b815260040160405180910390fd5b5f81815260156020526040902054611484906276a70090614458565b4210156114cf575f8181526015602052604090205442906114a9906276a70090614458565b6114b3919061446b565b60405163ae54205560e01b8152600401610de991815260200190565b335f9081526014602052604090205469152d02c7e14af6800000111561152c57335f9081526014602052604090819020549051630da801c760e31b8152600481019190915269152d02c7e14af68000006024820152604401610de9565b335f908152601460205260408120805469152d02c7e14af6800000929061155490849061446b565b9091555050600d5461157a906001600160a01b03163369152d02c7e14af68000006133d1565b61158381613411565b600f80546001810182555f9182527f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac80201829055600c546040805163de0f2be160e01b815290516001600160a01b039092169263de0f2be19260048084019382900301818387803b1580156115f5575f5ffd5b505af1158015611607573d5f5f3e3d5ffd5b505050506112086001600a55565b5f61161f600e5490565b82106116475760405163295f44f760e21b81525f600482015260248101839052604401610de9565b6008828154811061165a5761165a614430565b905f5260205f2001549050919050565b6116726133b7565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f5fa2565b5f8181526019602090815260408083205460188352818420805483518186028101860190945280845291949360609384938693919283018282801561173957602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161171b575b50505050509050805193505f600a85116117535784611756565b600a5b9050806001600160401b0381111561177057611770613d2d565b604051908082528060200260200182016040528015611799578160200160208202803683370190505b509350806001600160401b038111156117b4576117b4613d2d565b6040519080825280602002602001820160405280156117dd578160200160208202803683370190505b5092505f5b8581101561197a575f8382815181106117fd576117fd614430565b6020908102919091018101515f8b81526012835260408082206001600160a01b038416835290935291822054909250905b8481101561196f5786818151811061184857611848614430565b6020026020010151821115611967575f61186360018761446b565b90505b8181111561190f578861187a60018361446b565b8151811061188a5761188a614430565b60200260200101518982815181106118a4576118a4614430565b6001600160a01b0390921660209283029190910190910152876118c860018361446b565b815181106118d8576118d8614430565b60200260200101518882815181106118f2576118f2614430565b602090810291909101015280611907816144d4565b915050611866565b508288828151811061192357611923614430565b60200260200101906001600160a01b031690816001600160a01b0316815250508187828151811061195657611956614430565b60200260200101818152505061196f565b60010161182e565b5050506001016117e2565b5050509193509193565b6018602052815f5260405f20818154811061199d575f80fd5b5f918252602090912001546001600160a01b03169150829050565b60605f6119c483611c4e565b90505f816001600160401b038111156119df576119df613d2d565b604051908082528060200260200182016040528015611a4657816020015b611a336040518060a001604052805f81526020015f6001600160a01b031681526020015f81526020015f81526020015f81525090565b8152602001906001900390816119fd5790505b5090505f5b82811015611c3c575f611a5e868361134e565b600b54604051630d2f9dc560e31b8152600481018390529192505f916001600160a01b039091169063697cee2890602401602060405180830381865afa158015611aaa573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ace91906144e9565b90506001600160a01b03811615611c32575f8190505f816001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b20573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b449190614504565b6040516370a0823160e01b81526001600160a01b038b811660048301529192505f918416906370a0823190602401602060405180830381865afa158015611b8d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bb19190614504565b90505f5f8311611bc1575f611bde565b82611bd483670de0b6b3a76400006144a5565b611bde9190614492565b90506040518060a00160405280878152602001866001600160a01b0316815260200184815260200183815260200182815250888881518110611c2257611c22614430565b6020026020010181905250505050505b5050600101611a4b565b509392505050565b5f610cc882612f0f565b5f6001600160a01b038216611c78576040516322718ad960e21b81525f6004820152602401610de9565b506001600160a01b03165f9081526003602052604090205490565b611c9b6133b7565b611ca45f613449565b565b60108181548110611cb5575f80fd5b5f91825260209091200154905081565b5f5f5f611cd185612f54565b611cee57604051635b36253960e01b815260040160405180910390fd5b600b54604051630d2f9dc560e31b8152600481018790525f916001600160a01b03169063697cee2890602401602060405180830381865afa158015611d35573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d5991906144e9565b5f8781526012602090815260408083206001600160a01b038a811680865291909352928190205490516370a0823160e01b81526004810193909352965091925082918216906370a0823190602401602060405180830381865afa158015611dc2573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611de69190614504565b93505f816001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e25573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e499190614504565b90505f8111611e58575f611e75565b80611e6b86670de0b6b3a76400006144a5565b611e759190614492565b93505050509250925092565b611e89612f72565b600d546001600160a01b0316611eb257604051631a27eac360e11b815260040160405180910390fd5b611ec669152d02c7e14af68000008261451b565b15611ee757604051633728b83d60e01b815260048101829052602401610de9565b5f611efc69152d02c7e14af680000083614492565b905061040081600e54611f0f9190614458565b1115611f485780600e54611f239190614458565b604051637502c12360e11b815260048101919091526104006024820152604401610de9565b600d546040516323b872dd60e01b8152336004820152306024820152604481018490526001600160a01b03909116906323b872dd906064016020604051808303815f875af1925050508015611fba575060408051601f3d908101601f19168201909252611fb791810190614317565b60015b611fd65760405162461bcd60e51b8152600401610de99061452e565b50335f9081526014602052604081208054849290611ff5908490614458565b9091555050600c54604080516390578ae160e01b815290516001600160a01b03909216916390578ae1916004808201925f9290919082900301818387803b15801561203e575f5ffd5b505af1158015612050573d5f5f3e3d5ffd5b505f925050505b818110156120a4575f612068612fcb565b90506120743382613054565b5f8181526015602052604080822042905551339183915f5160206147fc5f395f51905f529190a350600101612057565b50506112086001600a55565b600b5460405163890a5b9560e01b81526004810185905260248101849052604481018390526001600160a01b039091169063890a5b95906064015f604051808303815f87803b158015612101575f5ffd5b505af1158015612113573d5f5f3e3d5ffd5b50505050505050565b600b54604051630d2f9dc560e31b8152600481018390525f9182916001600160a01b039091169063697cee2890602401602060405180830381865afa158015612167573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061218b91906144e9565b6001600160a01b0316141592915050565b606060018054610cdc906142df565b336121b582611c44565b6001600160a01b0316146121df57604051631475091160e01b815260016004820152602401610de9565b5f818152601360205260409020546001600160a01b03161561221757604051631475091160e01b815260026004820152602401610de9565b5f612222338361306d565b5f8381526013602052604080822080546001600160a01b0319166001600160a01b03851690811790915590519293509184917f44165505aa9de0a6966949bee8bf2595f4ee689a16dd65a62fe05aa3a67410d191a35050565b610d8f338383613486565b61228e612f72565b600c546001600160a01b03166122b757604051631a27eac360e11b815260040160405180910390fd5b683635c9adc5dea000008110156122f357604051630da801c760e31b815260048101829052683635c9adc5dea000006024820152604401610de9565b612306683635c9adc5dea000008261451b565b1561232757604051633728b83d60e01b815260048101829052602401610de9565b5f61233b683635c9adc5dea0000083614492565b905061040081600e5461234e9190614458565b11156123625780600e54611f239190614458565b600c546040516323b872dd60e01b8152336004820152306024820152604481018490526001600160a01b03909116906323b872dd906064016020604051808303815f875af19250505080156123d4575060408051601f3d908101601f191682019092526123d191810190614317565b60015b6123f05760405162461bcd60e51b8152600401610de99061452e565b505f5b818110156120a4575f612404612fcb565b90506124103382613054565b604051339082905f5160206147fc5f395f51905f52905f90a3506001016123f3565b60605f61243e83611c4e565b90505f816001600160401b0381111561245957612459613d2d565b604051908082528060200260200182016040528015612482578160200160208202803683370190505b5090505f805b838110156124e0575f61249b878361134e565b90506124a68161211c565b156124d757808484815181106124be576124be614430565b6020908102919091010152826124d3816144bc565b9350505b50600101612488565b5081529392505050565b6124f26133b7565b600d546001600160a01b03161561251c57604051632ac9194b60e21b815260040160405180910390fd5b5f5b81811015610e95575f83838381811061253957612539614430565b905060200201359050610400811061256f57604051637502c12360e11b8152600481018290526104006024820152604401610de9565b604051339082905f5160206147fc5f395f51905f52905f90a3600c5f9054906101000a90046001600160a01b03166001600160a01b03166390578ae16040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156125d4575f5ffd5b505af11580156125e6573d5f5f3e3d5ffd5b505050506125f43382613054565b80602f1461261b57600e805460018101909155602f035f190161261b57600e805460010190555b5060010161251e565b3361262e85611c44565b6001600160a01b03161461265557604051631a27eac360e11b815260040160405180910390fd5b600b5460405163151da3a960e31b81526001600160a01b039091169063a8ed1d489061268b908790879087908790600401614557565b5f604051808303815f87803b1580156126a2575f5ffd5b505af11580156126b4573d5f5f3e3d5ffd5b5050505050505050565b6060816001600160401b038111156126d8576126d8613d2d565b60405190808252806020026020018201604052801561270b57816020015b60608152602001906001900390816126f65790505b5090505f5b828110156127fd575f803086868581811061272d5761272d614430565b905060200281019061273f9190614595565b60405161274d9291906145d7565b5f60405180830381855afa9150503d805f8114612785576040519150601f19603f3d011682016040523d82523d5f602084013e61278a565b606091505b5091509150816127d55760405162461bcd60e51b8152602060048201526016602482015275135d5b1d1a58d85b1b0e8818d85b1b0819985a5b195960521b6044820152606401610de9565b808484815181106127e8576127e8614430565b60209081029190910101525050600101612710565b5092915050565b600b54604051630b51e62960e41b81526001600160a01b039091169063b51e62909061268b908790879087908790600401614557565b61284584848461120b565b61128e84848484613524565b600b54604051630d2f9dc560e31b8152600481018390525f916001600160a01b03169063697cee2890602401602060405180830381865afa158015612898573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cc891906144e9565b600b5460405163c718213560e01b815260048101849052602481018390526001600160a01b039091169063c7182135906044015f604051808303815f87803b158015612906575f5ffd5b505af1158015612918573d5f5f3e3d5ffd5b505050505050565b606061292b82612f54565b61294b57604051634a4d002f60e01b815260048101839052602401610de9565b600b54604051636031680160e01b8152600481018490525f916001600160a01b0316906360316801906024015f60405180830381865afa158015612991573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526129b89190810190614633565b602081015151909150156129d0576020015192915050565b6040518060800160405280605f815260200161481c605f91399392505050565b6129f8612f72565b600b54604051632453a9a760e21b8152600481018490526001600160a01b039091169063914ea69c90602401602060405180830381865afa158015612a3f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a639190614317565b15612a8457604051632dae707160e01b815260048101839052602401610de9565b600c546001600160a01b0316612aad57604051631a27eac360e11b815260040160405180910390fd5b612ab682612f54565b612ad357604051635b36253960e01b815260040160405180910390fd5b600c546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303815f875af1925050508015612b45575060408051601f3d908101601f19168201909252612b4291810190614317565b60015b612b615760405162461bcd60e51b8152600401610de99061452e565b505f8281526012602090815260408083203384529091528120549003612baf575f8281526018602090815260408220805460018101825590835291200180546001600160a01b031916331790555b5f82815260126020908152604080832033845290915281208054839290612bd7908490614458565b90915550505f8281526019602052604081208054839290612bf9908490614458565b9091555050335f9081526011602052604081208054839290612c1c908490614458565b9091555050335f81815260116020908152604080832060019081018054918201815584529190922001849055518391907fd2dff949d20e874cc6ba1dcefb840fb8cf6000a4197bfb69accfea5a32443ff590612c7b9085815260200190565b60405180910390a3610d8f6001600a55565b612c956133b7565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205460ff1690565b612cec6133b7565b63389a75e1600c52805f526020600c208054421115612d1257636f5e88185f526004601cfd5b5f905561120881613449565b612d266133b7565b8060601b612d3b57637448fbae5f526004601cfd5b61120881613449565b612d4c6133b7565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6060805f5f5f612d7d86611c4e565b9050806001600160401b03811115612d9757612d97613d2d565b604051908082528060200260200182016040528015612dc0578160200160208202803683370190505b509450806001600160401b03811115612ddb57612ddb613d2d565b604051908082528060200260200182016040528015612e04578160200160208202803683370190505b5093505f5b81811015612e8f575f612e1c888361134e565b905080878381518110612e3157612e31614430565b6020908102919091018101919091525f8281526013909152604090205486516001600160a01b0390911690879084908110612e6e57612e6e614430565b6001600160a01b039092166020928302919091019091015250600101612e09565b5050506001600160a01b039093165f9081526014602090815260408083205460119092529091205492949193509190565b5f6001600160e01b031982166380ac58cd60e01b1480612ef057506001600160e01b03198216635b5e139f60e01b145b80610cc857506301ffc9a760e01b6001600160e01b0319831614610cc8565b5f818152600260205260408120546001600160a01b031680610cc857604051637e27328960e01b815260048101849052602401610de9565b610e958383836001613643565b5f8181526002602052604081205481906001600160a01b031661218b565b6002600a5403612fc45760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610de9565b6002600a55565b600f545f901561302e57600f80545f9190612fe89060019061446b565b81548110612ff857612ff8614430565b905f5260205f2001549050600f805480613014576130146146f1565b600190038181905f5260205f20015f905590558091505090565b600e8054600181019091555f19602f8290030161304f57600e805460010190555b919050565b610d8f828260405180602001604052805f815250613747565b5f5f6130987f000000000000000000000000000000000000000000000000000000000000000061375d565b90506001600160a01b0381166130c157604051636f0dfba160e01b815260040160405180910390fd5b5f6130cb846137c7565b6040516020016130db919061471c565b60405160208183030381529060405290505f6130f6856137c7565b604051602001613106919061473d565b60408051601f1981840301815290829052915069d3c21bcecceda1000000905f906001600160a01b03861690635e9d09fb60e11b9061314f908790879087908e90602401614753565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905161318d9190614799565b5f604051808303815f865af19150503d805f81146131c6576040519150601f19603f3d011682016040523d82523d5f602084013e6131cb565b606091505b50509050806131ef57604051633900014560e11b8152600481810152602401610de9565b50929695505050505050565b5f828152601960205260408120805483929061321890849061446b565b909155505f90505b5f838152601860205260409020548110156132cd575f83815260186020526040812080548390811061325457613254614430565b5f9182526020808320909101548683526012825260408084206001600160a01b039092168085529183528084205460119093528320805491945091929061329c90849061446b565b90915550505f8481526012602090815260408083206001600160a01b03909416835292905290812055600101613220565b505f828152601860205260408120610d8f91613ba3565b5f5f6132f1858585613809565b90506001600160a01b03811661334d5761334884600880545f838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b613370565b846001600160a01b0316816001600160a01b0316146133705761337081856138fb565b6001600160a01b03851661338c5761338784613988565b6133af565b846001600160a01b0316816001600160a01b0316146133af576133af8585613a2f565b949350505050565b638b78c6d819543314611ca4576382b429005f526004601cfd5b816014528060345263a9059cbb60601b5f5260205f604460105f875af13d1560015f51141716613408576390b8ec185f526004601cfd5b5f603452505050565b5f61341d5f835f6132e4565b90506001600160a01b038116610d8f57604051637e27328960e01b815260048101839052602401610de9565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b6001600160a01b0382166134b857604051630b61174360e31b81526001600160a01b0383166004820152602401610de9565b6001600160a01b038381165f81815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0383163b1561128e57604051630a85bd0160e11b81526001600160a01b0384169063150b7a02906135669033908890879087906004016147a4565b6020604051808303815f875af19250505080156135a0575060408051601f3d908101601f1916820190925261359d918101906147e0565b60015b613607573d8080156135cd576040519150601f19603f3d011682016040523d82523d5f602084013e6135d2565b606091505b5080515f036135ff57604051633250574960e11b81526001600160a01b0385166004820152602401610de9565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b1461140e57604051633250574960e11b81526001600160a01b0385166004820152602401610de9565b808061365757506001600160a01b03821615155b15613718575f61366684612f0f565b90506001600160a01b038316158015906136925750826001600160a01b0316816001600160a01b031614155b80156136a557506136a38184612cb7565b155b156136ce5760405163a9fbf51f60e01b81526001600160a01b0384166004820152602401610de9565b81156137165783856001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b50505f90815260046020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6137518383613a7d565b610e955f848484613524565b5f763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c175f526e5af43d82803e903d91602b57fd5bf38260781b17602052603760095ff090506001600160a01b03811661304f576040516330be1a3d60e21b815260040160405180910390fd5b60606080604051019050602081016040525f8152805f19835b928101926030600a8206018453600a9004806137e0575050819003601f19909101908152919050565b5f828152600260205260408120546001600160a01b039081169083161561383557613835818486613ade565b6001600160a01b0381161561386f576138505f855f5f613643565b6001600160a01b0381165f90815260036020526040902080545f190190555b6001600160a01b0385161561389d576001600160a01b0385165f908152600360205260409020805460010190555b5f8481526002602052604080822080546001600160a01b0319166001600160a01b0389811691821790925591518793918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4949350505050565b5f61390583611c4e565b5f83815260076020526040902054909150808214613956576001600160a01b0384165f9081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b505f9182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b6008545f906139999060019061446b565b5f83815260096020526040812054600880549394509092849081106139c0576139c0614430565b905f5260205f200154905080600883815481106139df576139df614430565b5f918252602080832090910192909255828152600990915260408082208490558582528120556008805480613a1657613a166146f1565b600190038181905f5260205f20015f9055905550505050565b5f6001613a3b84611c4e565b613a45919061446b565b6001600160a01b039093165f908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b6001600160a01b038216613aa657604051633250574960e11b81525f6004820152602401610de9565b5f613ab283835f6132e4565b90506001600160a01b03811615610e95576040516339e3563760e11b81525f6004820152602401610de9565b613ae9838383613b42565b610e95576001600160a01b038316613b1757604051637e27328960e01b815260048101829052602401610de9565b60405163177e802f60e01b81526001600160a01b038316600482015260248101829052604401610de9565b5f6001600160a01b038316158015906133af5750826001600160a01b0316846001600160a01b03161480613b7b5750613b7b8484612cb7565b806133af5750505f908152600460205260409020546001600160a01b03908116911614919050565b5080545f8255905f5260205f209081019061120891905b80821115613bcd575f8155600101613bba565b5090565b6001600160e01b031981168114611208575f5ffd5b5f60208284031215613bf6575f5ffd5b813561134781613bd1565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6113476020830184613c01565b5f60208284031215613c51575f5ffd5b5035919050565b6001600160a01b0381168114611208575f5ffd5b5f5f60408385031215613c7d575f5ffd5b8235613c8881613c58565b946020939093013593505050565b5f5f5f5f5f60808688031215613caa575f5ffd5b8535613cb581613c58565b94506020860135613cc581613c58565b93506040860135925060608601356001600160401b03811115613ce6575f5ffd5b8601601f81018813613cf6575f5ffd5b80356001600160401b03811115613d0b575f5ffd5b886020828401011115613d1c575f5ffd5b959894975092955050506020019190565b634e487b7160e01b5f52604160045260245ffd5b604051606081016001600160401b0381118282101715613d6357613d63613d2d565b60405290565b604051601f8201601f191681016001600160401b0381118282101715613d9157613d91613d2d565b604052919050565b5f6001600160401b03821115613db157613db1613d2d565b50601f01601f191660200190565b5f613dd1613dcc84613d99565b613d69565b9050828152838383011115613de4575f5ffd5b828260208301375f602084830101529392505050565b5f82601f830112613e09575f5ffd5b61134783833560208501613dbf565b5f5f60408385031215613e29575f5ffd5b8235915060208301356001600160401b03811115613e45575f5ffd5b613e5185828601613dfa565b9150509250929050565b5f60208284031215613e6b575f5ffd5b813561134781613c58565b5f5f5f60608486031215613e88575f5ffd5b8335613e9381613c58565b92506020840135613ea381613c58565b929592945050506040919091013590565b5f8151808452602084019350602083015f5b82811015613eed5781516001600160a01b0316865260209586019590910190600101613ec6565b5093949350505050565b5f8151808452602084019350602083015f5b82811015613eed578151865260209586019590910190600101613f09565b848152836020820152608060408201525f613f456080830185613eb4565b8281036060840152613f578185613ef7565b979650505050505050565b5f5f60408385031215613f73575f5ffd5b50508035926020909101359150565b602080825282518282018190525f918401906040840190835b81811015613fef578351805184526020808201516001600160a01b0316818601526040808301519086015260608083015190860152608091820151918501919091529093019260a090920191600101613f9b565b509095945050505050565b5f5f6040838503121561400b575f5ffd5b82359150602083013561401d81613c58565b809150509250929050565b5f5f5f6060848603121561403a575f5ffd5b505081359360208301359350604090920135919050565b8015158114611208575f5ffd5b5f5f6040838503121561406f575f5ffd5b823561407a81613c58565b9150602083013561401d81614051565b602081525f6113476020830184613ef7565b5f5f83601f8401126140ac575f5ffd5b5081356001600160401b038111156140c2575f5ffd5b6020830191508360208260051b85010111156140dc575f5ffd5b9250929050565b5f5f602083850312156140f4575f5ffd5b82356001600160401b03811115614109575f5ffd5b6141158582860161409c565b90969095509350505050565b5f5f5f5f60808587031215614134575f5ffd5b8435935060208501356001600160401b03811115614150575f5ffd5b61415c87828801613dfa565b93505060408501356001600160401b03811115614177575f5ffd5b61418387828801613dfa565b92505060608501356001600160401b0381111561419e575f5ffd5b6141aa87828801613dfa565b91505092959194509250565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156131ef57603f198786030184526141f8858351613c01565b945060209384019391909101906001016141dc565b5f5f5f5f60808587031215614220575f5ffd5b843561422b81613c58565b9350602085013561423b81613c58565b92506040850135915060608501356001600160401b0381111561425c575f5ffd5b8501601f8101871361426c575f5ffd5b6141aa87823560208401613dbf565b5f5f6040838503121561428c575f5ffd5b823561429781613c58565b9150602083013561401d81613c58565b608081525f6142b96080830187613ef7565b82810360208401526142cb8187613eb4565b604084019590955250506060015292915050565b600181811c908216806142f357607f821691505b60208210810361431157634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215614327575f5ffd5b815161134781614051565b601f821115610e9557805f5260205f20601f840160051c810160208510156143575750805b601f840160051c820191505b8181101561140e575f8155600101614363565b81516001600160401b0381111561438f5761438f613d2d565b6143a38161439d84546142df565b84614332565b6020601f8211600181146143d5575f83156143be5750848201515b5f19600385901b1c1916600184901b17845561140e565b5f84815260208120601f198516915b8281101561440457878501518255602094850194600190920191016143e4565b508482101561442157868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b80820180821115610cc857610cc8614444565b81810381811115610cc857610cc8614444565b634e487b7160e01b5f52601260045260245ffd5b5f826144a0576144a061447e565b500490565b8082028115828204841417610cc857610cc8614444565b5f600182016144cd576144cd614444565b5060010190565b5f816144e2576144e2614444565b505f190190565b5f602082840312156144f9575f5ffd5b815161134781613c58565b5f60208284031215614514575f5ffd5b5051919050565b5f826145295761452961447e565b500690565b6020808252600f908201526e151c985b9cd9995c8819985a5b1959608a1b604082015260600190565b848152608060208201525f61456f6080830186613c01565b82810360408401526145818186613c01565b90508281036060840152613f578185613c01565b5f5f8335601e198436030181126145aa575f5ffd5b8301803591506001600160401b038211156145c3575f5ffd5b6020019150368190038213156140dc575f5ffd5b818382375f9101908152919050565b5f82601f8301126145f5575f5ffd5b8151614603613dcc82613d99565b818152846020838601011115614617575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b5f60208284031215614643575f5ffd5b81516001600160401b03811115614658575f5ffd5b820160608185031215614669575f5ffd5b614671613d41565b81516001600160401b03811115614686575f5ffd5b614692868285016145e6565b82525060208201516001600160401b038111156146ad575f5ffd5b6146b9868285016145e6565b60208301525060408201516001600160401b038111156146d7575f5ffd5b6146e3868285016145e6565b604083015250949350505050565b634e487b7160e01b5f52603160045260245ffd5b5f81518060208401855e5f93019283525090919050565b6c425241494e20544f4b454e202360981b81525f611347600d830184614705565b61422360f01b81525f6113476002830184614705565b608081525f6147656080830187613c01565b82810360208401526147778187613c01565b604084019590955250506001600160a01b039190911660609091015292915050565b5f6113478284614705565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f906147d690830184613c01565b9695505050505050565b5f602082840312156147f0575f5ffd5b815161134781613bd156fe565d5be3c5d9b8fce8cebcd35e95027d3d05547e683e3d6fdb0f0e49d33db90d68747470733a2f2f6f7264696e616c732e636f6d2f636f6e74656e742f663462653739353138656262303238336564333730313262343231353264656463326264666532653761383932363763373434386162333665303262663939636930a2646970667358221220455fd71ca6cc0711f53804beaf4dd55fa11e75e82bfacf0840ab236a4bab580c64736f6c634300081c0033000000000000000000000000571a794795b4a9c92ee9356553fcaab8e5d06239000000000000000000000000df37984d256c76809f43aba364b25926b699a723
0x000000000000000000000000571a794795b4a9c92ee9356553fcaab8e5d06239000000000000000000000000df37984d256c76809f43aba364b25926b699a723
----Decoded View------------Arg [0] : _brainERC20Implementation (address): 0x571A794795b4a9c92eE9356553FCaAB8e5d06239Arg [1] : _metadataContractAddress (address): 0xdF37984d256C76809f43abA364b25926b699A723
----Encoded View------------Arg [0] : 0x000000000000000000000000571a794795b4a9c92ee9356553fcaab8e5d06239Arg [1] : 0x000000000000000000000000df37984d256c76809f43aba364b25926b699a723