1997 lines
121 KiB
JSON
1997 lines
121 KiB
JSON
{
|
|
"timestamp": "2/15/2023, 12:43:39 PM",
|
|
"address": "0x11Cd77Eac1a0883DE9435B5586474903A2a084cD",
|
|
"transactionHash": "0x5166318336c9e0bef146562d58e01ddbb937a61b721aca6b24d41b0a189fde39",
|
|
"gasPrice": 1500000021,
|
|
"abi": [
|
|
{
|
|
"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": "token",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bool",
|
|
"name": "settings",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "triggeredBy",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "ChangeAccessPointAutoApprovalSettings",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": false,
|
|
"internalType": "string",
|
|
"name": "apName",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bool",
|
|
"name": "verified",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "triggeredBy",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "ChangeAccessPointContentVerify",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": false,
|
|
"internalType": "string",
|
|
"name": "apName",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bool",
|
|
"name": "verified",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "triggeredBy",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "ChangeAccessPointNameVerify",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": false,
|
|
"internalType": "string",
|
|
"name": "apName",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "score",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "triggeredBy",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "ChangeAccessPointScore",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": false,
|
|
"internalType": "string",
|
|
"name": "apName",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "string",
|
|
"name": "status",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "triggeredBy",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "ChangeAccessPointStatus",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "enum FleekAccessControl.Roles",
|
|
"name": "role",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "toAddress",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "address",
|
|
"name": "byAddress",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "CollectionRoleGranted",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "enum FleekAccessControl.Roles",
|
|
"name": "role",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "toAddress",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "address",
|
|
"name": "byAddress",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "CollectionRoleRevoked",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint8",
|
|
"name": "version",
|
|
"type": "uint8"
|
|
}
|
|
],
|
|
"name": "Initialized",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": false,
|
|
"internalType": "string",
|
|
"name": "apName",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "owner",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "NewAccessPoint",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "string",
|
|
"name": "commitHash",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "triggeredBy",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "NewBuild",
|
|
"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": "description",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "string",
|
|
"name": "externalURL",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "string",
|
|
"name": "ENS",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "string",
|
|
"name": "commitHash",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "string",
|
|
"name": "gitRepository",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "string",
|
|
"name": "logo",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint24",
|
|
"name": "color",
|
|
"type": "uint24"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "bool",
|
|
"name": "accessPointAutoApprovalSettings",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "minter",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "owner",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "NewMint",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint24",
|
|
"name": "color",
|
|
"type": "uint24"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "triggeredBy",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "NewTokenColor",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "string",
|
|
"name": "description",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "triggeredBy",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "NewTokenDescription",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "string",
|
|
"name": "ENS",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "triggeredBy",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "NewTokenENS",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "string",
|
|
"name": "externalURL",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "triggeredBy",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "NewTokenExternalURL",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "string",
|
|
"name": "logo",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "triggeredBy",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "NewTokenLogo",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "string",
|
|
"name": "name",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "triggeredBy",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "NewTokenName",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": false,
|
|
"internalType": "string",
|
|
"name": "apName",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "owner",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "RemoveAccessPoint",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "enum FleekAccessControl.Roles",
|
|
"name": "role",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "toAddress",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "address",
|
|
"name": "byAddress",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "TokenRoleGranted",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "enum FleekAccessControl.Roles",
|
|
"name": "role",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "toAddress",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "address",
|
|
"name": "byAddress",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "TokenRoleRevoked",
|
|
"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"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "string",
|
|
"name": "apName",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"name": "addAccessPoint",
|
|
"outputs": [],
|
|
"stateMutability": "payable",
|
|
"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": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "burn",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "string",
|
|
"name": "apName",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"name": "decreaseAccessPointScore",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "string",
|
|
"name": "apName",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"name": "getAccessPointJSON",
|
|
"outputs": [
|
|
{
|
|
"internalType": "string",
|
|
"name": "",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"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": "enum FleekAccessControl.Roles",
|
|
"name": "role",
|
|
"type": "uint8"
|
|
}
|
|
],
|
|
"name": "getCollectionRoleMembers",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address[]",
|
|
"name": "",
|
|
"type": "address[]"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "enum FleekAccessControl.Roles",
|
|
"name": "role",
|
|
"type": "uint8"
|
|
}
|
|
],
|
|
"name": "getTokenRoleMembers",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address[]",
|
|
"name": "",
|
|
"type": "address[]"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "enum FleekAccessControl.Roles",
|
|
"name": "role",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "grantCollectionRole",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "enum FleekAccessControl.Roles",
|
|
"name": "role",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "grantTokenRole",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "enum FleekAccessControl.Roles",
|
|
"name": "role",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "hasCollectionRole",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "enum FleekAccessControl.Roles",
|
|
"name": "role",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "hasTokenRole",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "string",
|
|
"name": "apName",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"name": "increaseAccessPointScore",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "string",
|
|
"name": "_name",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"internalType": "string",
|
|
"name": "_symbol",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"name": "initialize",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "string",
|
|
"name": "apName",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"name": "isAccessPointNameVerified",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"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": "address",
|
|
"name": "to",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "string",
|
|
"name": "name",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"internalType": "string",
|
|
"name": "description",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"internalType": "string",
|
|
"name": "externalURL",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"internalType": "string",
|
|
"name": "ENS",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"internalType": "string",
|
|
"name": "commitHash",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"internalType": "string",
|
|
"name": "gitRepository",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"internalType": "string",
|
|
"name": "logo",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"internalType": "uint24",
|
|
"name": "color",
|
|
"type": "uint24"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "accessPointAutoApprovalSettings",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"name": "mint",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "payable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "name",
|
|
"outputs": [
|
|
{
|
|
"internalType": "string",
|
|
"name": "",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"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": "string",
|
|
"name": "apName",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"name": "removeAccessPoint",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "enum FleekAccessControl.Roles",
|
|
"name": "role",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "revokeCollectionRole",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "enum FleekAccessControl.Roles",
|
|
"name": "role",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "revokeTokenRole",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"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": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "_settings",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"name": "setAccessPointAutoApprovalSettings",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "string",
|
|
"name": "apName",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "verified",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"name": "setAccessPointContentVerify",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "string",
|
|
"name": "apName",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "verified",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"name": "setAccessPointNameVerify",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "string",
|
|
"name": "apName",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "approved",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"name": "setApprovalForAccessPoint",
|
|
"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": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "string",
|
|
"name": "_commitHash",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"internalType": "string",
|
|
"name": "_gitRepository",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"name": "setTokenBuild",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint24",
|
|
"name": "_tokenColor",
|
|
"type": "uint24"
|
|
}
|
|
],
|
|
"name": "setTokenColor",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "string",
|
|
"name": "_tokenDescription",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"name": "setTokenDescription",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "string",
|
|
"name": "_tokenENS",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"name": "setTokenENS",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "string",
|
|
"name": "_tokenExternalURL",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"name": "setTokenExternalURL",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "string",
|
|
"name": "_tokenLogo",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"name": "setTokenLogo",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "string",
|
|
"name": "_tokenLogo",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"internalType": "uint24",
|
|
"name": "_tokenColor",
|
|
"type": "uint24"
|
|
}
|
|
],
|
|
"name": "setTokenLogoAndColor",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "string",
|
|
"name": "_tokenName",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"name": "setTokenName",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"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": "tokenURI",
|
|
"outputs": [
|
|
{
|
|
"internalType": "string",
|
|
"name": "",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"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"
|
|
}
|
|
],
|
|
"bytecode": "0x6080806040523461001657614fb9908161001d8239f35b50600080fdfe6040608081526004361015610015575b50600080fd5b600090813560e01c806301468deb146106e557806301ffc9a7146106c957806306fdde03146106ad578063081812fc14610691578063095ea7b31461067957806323b872dd14610661578063246a908b1461064957806327dc5cec1461062d5780632d957aad146106155780632f1e8f0a146105b1578063353b07a41461058a5780633806f1521461057257806342842e0e1461055a57806342966c681461054357806342e44bbf1461052b5780634cd88b76146105135780635aa6ab3b146104fb5780636352211e146104c657806370a08231146104aa5780637469a03b1461049357806378278cca1461047b5780638a2e25be146104635780638b9ec977146104305780638c3c0a441461041857806394ec65c51461040157806395d89b41146103e5578063a22cb465146103cd578063a27d0b27146103b5578063a38617721461039d578063a397c83014610386578063b20b94f11461036e578063b30437a01461035b578063b42dbe381461033e578063b88d4fde14610323578063b948a3c51461030b578063c87b56dd146102e4578063cdb0e89e146102cc578063d7a75be1146102b0578063e944725014610293578063e985e9c514610226578063eb5fd26b1461020e5763f9315177146101f0575061000f565b3461020a576102076102013661098b565b90613204565b51f35b5080fd5b503461020a5761020761022036610e2c565b906138fd565b503461020a5761028f915061027e61027761026061024336610df9565b6001600160a01b039091166000908152606a602052604090209091565b9060018060a01b0316600052602052604060002090565b5460ff1690565b905190151581529081906020820190565b0390f35b503461020a5761028f915061027e6102aa366109e4565b90611cc1565b503461020a5761028f915061027e6102c7366109ba565b614302565b503461020a576102076102de3661098b565b906134d3565b503461020a5761028f91506103006102fb36610807565b612c27565b9051918291826107f6565b503461020a5761020761031d3661098b565b90613798565b503461020a5761020761033536610d89565b9291909161146c565b503461020a5761028f915061027e6103553661071b565b91611d5d565b506102076103683661098b565b90613cc9565b503461020a5761020761038036610ae9565b90614471565b503461020a57610207610398366109ba565b6143d2565b503461020a576102076103af36610d69565b9061315b565b503461020a576102076103c73661071b565b91611a86565b503461020a576102076103df36610d38565b906112b8565b503461020a5761028f91506103f93661078e565b6103006110bb565b503461020a57610207610413366109ba565b61432f565b503461020a5761020761042a366109e4565b90611b41565b5061028f915061045461044236610c21565b989790979691969592959493946127e2565b90519081529081906020820190565b503461020a5761020761047536610be1565b91613e21565b503461020a5761020761048d3661098b565b9061336e565b503461020a576102076104a5366109ba565b61400d565b503461020a5761028f91506104546104c136610bbe565b610e4f565b503461020a5761028f91506104e26104dd36610807565b610f15565b90516001600160a01b0390911681529081906020820190565b503461020a5761020761050d36610b7b565b916139a4565b503461020a5761020761052536610b24565b906121c5565b503461020a5761020761053d36610ae9565b9061451e565b503461020a5761020761055536610807565b614689565b503461020a5761020761056c36610840565b91611432565b503461020a5761020761058436610a92565b91614595565b503461020a5761028f91506105a66105a136610a77565b611de7565b905191829182610a33565b503461020a5761028f91506105a6600161060f61060a6105d036610a14565b91906105fb6105e9826000526099602052604060002090565b5491600052609a602052604060002090565b90600052602052604060002090565b611c75565b01611d8f565b503461020a57610207610627366109e4565b9061197d565b503461020a5761028f9150610300610644366109ba565b61416c565b503461020a5761020761065b3661098b565b90613635565b503461020a5761020761067336610840565b916113e4565b503461020a5761020761068b36610819565b90611154565b503461020a5761028f91506104e26106a836610807565b61127a565b503461020a5761028f91506106c13661078e565b610300611004565b503461020a5761028f915061027e6106e036610773565b61309c565b503461020a576102076106f73661071b565b91611bd3565b600435906001600160a01b03821682141561071457565b5050600080fd5b606090600319011261000f5760043590602435600281101561075857906044356001600160a01b03811681141561074f5790565b50505050600080fd5b505050600080fd5b6001600160e01b03198116141561000f57565b602090600319011261000f5760043561078b81610760565b90565b600090600319011261000f57565b918091926000905b8282106107bc5750116107b5575050565b6000910152565b915080602091830151818601520182916107a4565b906020916107ea8151809281855285808601910161079c565b601f01601f1916010190565b90602061078b9281815201906107d1565b602090600319011261000f5760043590565b604090600319011261000f576004356001600160a01b038116811415610714579060243590565b606090600319011261000f576001600160a01b03906004358281168114156107585791602435908116811415610758579060443590565b50634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b038211176108a957604052565b6108b1610877565b604052565b90601f801991011681019081106001600160401b038211176108a957604052565b604051906108e48261088e565b565b6040519060c082018281106001600160401b038211176108a957604052565b6020906001600160401b038111610922575b601f01601f19160190565b61092a610877565b610917565b92919261093b82610905565b9161094960405193846108b6565b829481845281830111610966578281602093846000960137010152565b5050505050600080fd5b9080601f830112156107585781602061078b9335910161092f565b9060406003198301126107145760043591602435906001600160401b03821161074f5761078b91600401610970565b602060031982011261071457600435906001600160401b0382116107585761078b91600401610970565b604090600319011261000f57600435600281101561071457906024356001600160a01b0381168114156107585790565b604090600319011261000f576004359060243560028110156107585790565b6020908160408183019282815285518094520193019160005b828110610a5a575050505090565b83516001600160a01b031685529381019392810192600101610a4c565b602090600319011261000f5760043560028110156107145790565b606060031982011261071457600435916001600160401b036024358181116109665783610ac191600401610970565b926044359182116109665761078b91600401610970565b610124359081151582141561071457565b604060031982011261071457600435906001600160401b03821161075857610b1391600401610970565b906024358015158114156107585790565b906040600319830112610714576001600160401b0360043581811161074f5783610b5091600401610970565b9260243591821161074f5761078b91600401610970565b610104359062ffffff821682141561071457565b9060606003198301126107145760043591602435906001600160401b03821161074f57610baa91600401610970565b9060443562ffffff811681141561074f5790565b602090600319011261000f576004356001600160a01b0381168114156107145790565b9060606003198301126107145760043591602435906001600160401b03821161074f57610c1091600401610970565b9060443580151581141561074f5790565b61014060031982011261071457610c366106fd565b916001600160401b039060243582811161096657610c58846004928301610970565b93604435848111610d2c5781610c6f918401610970565b93606435818111610d1f5782610c86918501610970565b93608435828111610d115783610c9d918601610970565b9360a435838111610d025784610cb4918301610970565b9360c435848111610cf25781610ccb918401610970565b9360e435908111610cf257610ce09201610970565b90610ce9610b67565b9061078b610ad8565b5050505050505050505050600080fd5b50505050505050505050600080fd5b505050505050505050600080fd5b5050505050505050600080fd5b50505050505050600080fd5b604090600319011261000f576004356001600160a01b03811681141561071457906024358015158114156107585790565b604090600319011261000f57600435906024358015158114156107585790565b906080600319830112610714576001600160a01b039160043583811681141561074f579260243590811681141561074f579160443591606435906001600160401b038211610dee5780602383011215610dee5781602461078b9360040135910161092f565b505050505050600080fd5b604090600319011261000f576001600160a01b039060043582811681141561075857916024359081168114156107585790565b604090600319011261000f576004359060243562ffffff81168114156107585790565b6001600160a01b03168015610e6f57600052606860205260406000205490565b505060405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608490fd5b15610ecf57565b5060405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152606760205260409020546001600160a01b031661078b811515610ec8565b90600182811c92168015610f6a575b6020831014610f5257565b5050634e487b7160e01b600052602260045260246000fd5b91607f1691610f47565b9060009291805491610f8583610f38565b918282526001938481169081600014610fe75750600114610fa7575b50505050565b90919394506000526020928360002092846000945b838610610fd3575050505001019038808080610fa1565b805485870183015294019385908201610fbc565b60ff19166020840152505060400193503891508190508080610fa1565b604051906000826065549161101883610f38565b8083529260019081811690811561109e575060011461103f575b506108e4925003836108b6565b6065600090815291507f8ff97419363ffd7000167f130ef7168fbea05faf9251824ca5043f113cc6a7c75b84831061108357506108e4935050810160200138611032565b81935090816020925483858a0101520191019091859261106a565b94505050505060ff191660208301526108e4826040810138611032565b60405190600082606654916110cf83610f38565b8083529260019081811690811561109e57506001146110f557506108e4925003836108b6565b6066600090815291507f46501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e943545b84831061113957506108e4935050810160200138611032565b81935090816020925483858a01015201910190918592611120565b9061115e81610f15565b6001600160a01b0381811690841681146112275733149081156111f9575b501561118b576108e491611756565b505060405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260849150fd5b6001600160a01b03166000908152606a6020526040902060ff915061121f903390610260565b54163861117c565b5050505050608460405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b60008181526067602052604090205461129d906001600160a01b03161515610ec8565b6000908152606960205260409020546001600160a01b031690565b6001600160a01b038116919033831461133957816112f86113099233600052606a60205260406000209060018060a01b0316600052602052604060002090565b9060ff801983541691151516179055565b60405190151581527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3565b50505050606460405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b1561138857565b5060405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b906108e492916113fc6113f78433611508565b611381565b6115db565b60405190602082018281106001600160401b03821117611425575b60405260008252565b61142d610877565b61141c565b90916108e49260405192602084018481106001600160401b0382111761145f575b6040526000845261146c565b611467610877565b611453565b906114909392916114806113f78433611508565b61148b8383836115db565b611862565b1561149757565b5060405162461bcd60e51b8152806114b1600482016114b5565b0390fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b6001600160a01b038061151a84610f15565b169281831692848414948515611550575b5050831561153a575b50505090565b6115469192935061127a565b1614388080611534565b6000908152606a602090815260408083206001600160a01b03949094168352929052205460ff169350388061152b565b1561158757565b5060405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b6115ff906115e884610f15565b6001600160a01b0382811693909182168414611580565b83169283156117005761167d8261161a87846116d7966130e0565b61163c8561163661162a8a610f15565b6001600160a01b031690565b14611580565b611663611653886000526069602052604060002090565b80546001600160a01b0319169055565b6001600160a01b0316600090815260686020526040902090565b80546000190190556001600160a01b0381166000908152606860205260409020600181540190556116b8856000526067602052604060002090565b80546001600160a01b0319166001600160a01b03909216919091179055565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000604051a4565b505050505050608460405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152fd5b600082815260696020526040902080546001600160a01b0319166001600160a01b0383161790556001600160a01b038061178f84610f15565b169116907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256000604051a4565b6000908152606760205260409020546108e4906001600160a01b03161515610ec8565b90816020910312610714575161078b81610760565b6001600160a01b03918216815291166020820152604081019190915260806060820181905261078b929101906107d1565b506040513d6000823e3d90fd5b3d1561185d573d9061184382610905565b9161185160405193846108b6565b82523d6000602084013e565b606090565b92909190823b1561191157611895926020926000604051809681958294630a85bd0160e11b9a8b855233600486016117f4565b03926001600160a01b03165af1600091816118f1575b506118e3575050506118bb611832565b805190816118de57505060405162461bcd60e51b8152806114b1600482016114b5565b602001fd5b6001600160e01b0319161490565b61190a9192506119013d826108b6565b3d8101906117df565b90386118ab565b50505050600190565b1561192157565b5060405162461bcd60e51b815260206004820152602d60248201527f466c65656b416363657373436f6e74726f6c3a206d757374206861766520636f60448201526c6c6c656374696f6e20726f6c6560981b6064820152608490fd5b61198633611c8d565b8015611a14575b6119969061191a565b60975460005260986020526119b8826119b3836040600020611c75565b611fbe565b60028110156119fb576040513381526001600160a01b03909216917fcf081ed2b728e3115904be00eb8927b2375ff3401839b37f7accfa1bb2bee15c90602090a3565b505050634e487b7160e01b600052602160045260246000fd5b50611996611a2133611c8d565b905061198d565b15611a2f57565b5060405162461bcd60e51b815260206004820152602860248201527f466c65656b416363657373436f6e74726f6c3a206d757374206861766520746f6044820152676b656e20726f6c6560c01b6064820152608490fd5b611a903382611cde565b8015611b2c575b611aa090611a28565b600081815260996020526040812054609a60205260408220908252602052611acf846119b38560408520611c75565b6002831015611b1357506040513381526001600160a01b03909316927f0bf5a13b362503fcc74b8b9b1598aba2f3a9af85d05ba7978f7e9f447f22c23990602090a4565b634e487b7160e01b815260216004526024945092505050fd5b50611aa0611b3a3383611cde565b9050611a97565b611b4a33611c8d565b8015611bbf575b611b5a9061191a565b6097546000526098602052611b7c82611b77836040600020611c75565b61208d565b60028110156119fb576040513381526001600160a01b03909216917faeff57f0f5e4d3d10a37d4a70fde8ed67a95e67b251d5c512c0ea98c380d2f9590602090a3565b50611b5a611bcc33611c8d565b9050611b51565b611bdd3382611cde565b8015611c60575b611bed90611a28565b600081815260996020526040812054609a60205260408220908252602052611c1c84611b778560408520611c75565b6002831015611b1357506040513381526001600160a01b03909316927fe52d746e4c78c98c6bfa291b273406905c3e8550b7d911a6bea686368c2dc79d90602090a4565b50611bed611c6e3383611cde565b9050611be4565b9060028110156119fb57600052602052604060002090565b609754600090815260986020908152604080832083805282528083206001600160a01b039094168352929052205b54151590565b90610260611cbb9260975460005260986020526040600020611c75565b600090815260996020908152604080832054609a8352818420908452825280832083805282528083206001600160a01b03909416835292905220611cbb565b600090815260996020908152604080832054609a835281842090845282528083206001845282528083206001600160a01b03909416835292905220611cbb565b611cbb9291610260916000526099602052604060002054609a6020526040600020906000526020526040600020611c75565b9060405191828154918282526020928383019160005283600020936000905b828210611dc4575050506108e4925003836108b6565b85546001600160a01b031684526001958601958895509381019390910190611dae565b611e07906097546000526020906098825260019283916040600020611c75565b01604051918293849382845491828152019360005282600020926000905b828210611e3d5750505050509061078b9103826108b6565b84546001600160a01b03168652879650948501949383019390830190611e25565b600081819282527f0bf5a13b362503fcc74b8b9b1598aba2f3a9af85d05ba7978f7e9f447f22c239602060998152604080852054609a8352818620908652825280852085805282528085208083528186205415611ebe575b5051338152a4565b60018101611ee08154600160401b811015611f04575b60018101835582611f98565b81549060018060a01b039060031b1b19169055549086805283528186205538611eb6565b611f0c610877565b611ed4565b60009080825260996020526040822054609a6020526040832090835260205260408220828052602052611f478360408420611fbe565b6040513381526001600160a01b03909316927f0bf5a13b362503fcc74b8b9b1598aba2f3a9af85d05ba7978f7e9f447f22c23990602090a4565b50634e487b7160e01b600052603260045260246000fd5b8054821015611fb1575b60005260206000200190600090565b611fb9611f81565b611fa2565b6001600160a01b03821660009081526020829052604090209091905415611fe3575050565b61204a90600183016120318261200d8354600160401b81101561204d575b60018101855584611f98565b90919082549060031b9160018060a01b039283811b93849216901b16911916179055565b54929060018060a01b0316600052602052604060002090565b55565b612055610877565b612001565b50634e487b7160e01b600052601160045260246000fd5b6002906002198111612081570190565b61208961205a565b0190565b6001600160a01b0382166000908152602082905260409020909190546120b1575050565b6001600160a01b03811660009081526020839052604090205490600182106121b8575b60001992838301600182019361213f6120f9878754600181106121ab575b0187611f98565b90546001600160a01b039460039290921b1c84169061211c8261200d838b611f98565b6001191061219e575b6001600160a01b0316600090815260208590526040902090565b5583549384156121815760009561204a95019161215c8383611f98565b909182549160031b1b19169055559060018060a01b0316600052602052604060002090565b50505050505050634e487b7160e01b600052603160045260246000fd5b6121a661205a565b612125565b6121b361205a565b6120f2565b6121c061205a565b6120d4565b6000549160ff8360081c1615809381946122e4575b81156122c4575b50156122655761220791836121fe600160ff196000541617600055565b61224c576122f2565b61220d57565b61221d61ff001960005416600055565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a1565b61226061010061ff00196000541617600055565b6122f2565b50505050608460405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b303b159150816122d6575b50386121e1565b6001915060ff1614386122cf565b600160ff82161091506121da565b9061230d60ff60005460081c166123088161241c565b61241c565b81516001600160401b03811161240f575b6123328161232d606554610f38565b612494565b602080601f831160011461237c5750819061236994600092612371575b50508160011b916000199060031b1c1916176065556125ad565b6108e4612780565b01519050388061234f565b919293601f1984166123b060656000527f8ff97419363ffd7000167f130ef7168fbea05faf9251824ca5043f113cc6a7c790565b936000905b8282106123f7575050916001939185612369979694106123de575b505050811b016065556125ad565b015160001960f88460031b161c191690553880806123d0565b806001869782949787015181550196019401906123b5565b612417610877565b61231e565b1561242357565b5060405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b818110612488575050565b6000815560010161247d565b90601f82116124a1575050565b6108e49160656000527f8ff97419363ffd7000167f130ef7168fbea05faf9251824ca5043f113cc6a7c7906020601f840160051c830193106124eb575b601f0160051c019061247d565b90915081906124de565b90601f8111612502575050565b6108e491600052601f6020600020910160051c81019061247d565b90601f821161252a575050565b6108e49160666000527f46501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e94354906020601f840160051c830193106124eb57601f0160051c019061247d565b9190601f811161258257505050565b6108e4926000526020600020906020601f840160051c830193106124eb57601f0160051c019061247d565b9081516001600160401b038111612697575b6125d3816125ce606654610f38565b61251d565b602080601f831160011461260f5750819293600092612604575b50508160011b916000199060031b1c191617606655565b0151905038806125ed565b90601f1983169461264260666000527f46501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e9435490565b926000905b87821061267f575050836001959610612666575b505050811b01606655565b015160001960f88460031b161c1916905538808061265b565b80600185968294968601518155019501930190612647565b61269f610877565b6125bf565b91909182516001600160401b038111612773575b6126cc816126c68454610f38565b84612573565b602080601f83116001146127085750819293946000926126fd575b50508160011b916000199060031b1c1916179055565b0151905038806126e7565b90601f1983169561271e85600052602060002090565b926000905b88821061275b57505083600195969710612742575b505050811b019055565b015160001960f88460031b161c19169055388080612738565b80600185968294968601518155019501930190612723565b61277b610877565b6126b8565b600061279260ff825460081c1661241c565b60975481526098602052604081208180526020526127b33360408320611fbe565b604051903382527fcf081ed2b728e3115904be00eb8927b2375ff3401839b37f7accfa1bb2bee15c60203393a3565b939495989196979092976127f533611c8d565b8015612917575b6128059061191a565b609b54998a976128158988612b07565b6128236001609b5401609b55565b61283789600052609c602052604060002090565b61284187826126a4565b61284e8b600183016126a4565b61285b8c600283016126a4565b61286889600383016126a4565b61287584600683016126a4565b60078101805463ff00000088151560181b1663ffffffff1990911662ffffff881617179055600060048201556128a96108d7565b908282528360208301526005016128c99060008052602052604060002090565b906128d39161292b565b604051978897600160a01b60019003169b339b6128f0988a612a22565b037f9a20c55b8a65284ed13ddf442c21215df16c2959509d6547b7c38832c9f9fa8591a490565b5061280561292433611c8d565b90506127fc565b9080519081516001600160401b038111612a15575b6129548161294e8654610f38565b86612573565b6020928390601f83116001146129a0579180600194926108e4979694600092612995575b5050600019600383901b1c191690841b1784555b015191016126a4565b015190503880612978565b90601f198316916129b687600052602060002090565b9260005b8181106129fe575092600195939285926108e49998968895106129e5575b505050811b01845561298c565b015160001960f88460031b161c191690553880806129d8565b9293876001819287860151815501950193016129ba565b612a1d610877565b612940565b979998959062ffffff95612a82612aac96612a748c6101009c98612a66612a9e99612a58612a90996101208087528601906107d1565b9084820360208601526107d1565b9160408184039101526107d1565b8c810360608e0152906107d1565b908a820360808c01526107d1565b9088820360a08a01526107d1565b9086820360c08801526107d1565b951660e08401521515910152565b15612ac157565b5060405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b6001600160a01b038116908115612bcc57600083815260676020526040902054612ba29190612b42906001600160a01b031615155b15612aba565b612b4c8185611f11565b600084815260676020526040902054612b6f906001600160a01b03161515612b3c565b6001600160a01b0381166000908152606860205260409020600181540190556116b8846000526067602052604060002090565b60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef81604051a4565b50505050606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b906120896020928281519485920161079c565b600081815260676020526040902054612c4a906001600160a01b03161515610ec8565b612c5381610f15565b90600052609c6020526040600020612ca960405192612c718461088e565b601d84527f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000060208501526001600160a01b0316614d74565b612ceb60038301600784016000612ccb612cc6835462ffffff1690565b614e6f565b6040518095819263891c235f60e01b835260068a01878b60048601614ac1565b038173__$ecf603b2c2aa531f37c90ec146d2a3e91a$__5af492831561308f575b60009361306c575b5054908160181c60ff16612d2790614e29565b90600586019060048701549282612d4985809590600052602052604060002090565b93612d5d9190600052602052604060002090565b60010193612d6a90614b85565b9462ffffff16612d7990614e6f565b604051607b60f81b602082015267113730b6b2911d1160c11b6021820152988998919791612daa60298b0183614b09565b61088b60f21b81526002016e113232b9b1b934b83a34b7b7111d1160891b8152600f01612dda9060018401614b09565b61088b60f21b8152600201681137bbb732b9111d1160b91b8152600901612e0091612c14565b61088b60f21b81526002016f1132bc3a32b93730b62fbab936111d1160811b8152601001612e3091600201614b09565b61088b60f21b8152600201681134b6b0b3b2911d1160b91b8152600901612e5691612c14565b61088b60f21b81526002017f226163636573735f706f696e745f6175746f5f617070726f76616c223a0000008152601d01612e9091612c14565b600b60fa1b81526001016e2261747472696275746573223a205b60881b8152600f017f7b2274726169745f74797065223a2022454e53222c202276616c7565223a22008152601f01612ee191614b09565b62089f4b60ea1b81526003017f7b2274726169745f74797065223a2022436f6d6d69742048617368222c20227681526630b63ab2911d1160c91b6020820152602701612f2c91614b09565b62089f4b60ea1b81526003017f7b2274726169745f74797065223a20225265706f7369746f7279222c20227661815265363ab2911d1160d11b6020820152602601612f7691614b09565b62089f4b60ea1b81526003017f7b2274726169745f74797065223a202256657273696f6e222c202276616c7565815262111d1160e91b6020820152602301612fbd91612c14565b62089f4b60ea1b81526003017f7b2274726169745f74797065223a2022436f6c6f72222c202276616c7565223a8152601160f91b602082015260210161300291612c14565b61227d60f01b8152600201605d60f81b8152600101607d60f81b81526001010390601f1991828101825261303690826108b6565b61303f90614988565b916040519283916020830161305391612c14565b61305c91612c14565b03908101825261078b90826108b6565b61308891933d90823e61307f3d826108b6565b3d810190614a63565b9138612d14565b613097611825565b612d0c565b63ffffffff60e01b166380ac58cd60e01b81149081156130cf575b81156130c1575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b811491506130b7565b6001600160a01b0390811615801580613150575b1561311e575050816131196108e4936000526099602052604060002060018154019055565b611f11565b1561312d57506108e491611f11565b16156131365750565b6108e4906000526099602052604060002060018154019055565b5081831615156130f4565b6131653382611d1d565b80156131ef575b61317590611a28565b600081815260676020526040902054613198906001600160a01b03161515610ec8565b6000818152609c60205260409020600701805463ff000000191683151560181b63ff0000001617905533911515907f55ecfbffc0e6fc0f81cff36a4ef89474616268981d3eb1090648c699cf0e5f8b6000604051a4565b506131756131fd3383611cde565b905061316c565b61320e3382611d1d565b8015613359575b61321e90611a28565b600081815260676020526040902054613241906001600160a01b03161515610ec8565b806000526020609c8152600260406000200190835180916001600160401b03821161334c575b6132758261294e8654610f38565b80601f83116001146132de57506000916132d3575b508160011b916000199060031b1c19161790555b7fedbf1209b3baa7c1b5c43052ce5c511e243b3241d9f67733141d14f1da88cba1604051806132ce3395826107f6565b0390a3565b90508401513861328a565b9150601f1983166132f485600052602060002090565b926000905b828210613334575050908360019493921061331b575b5050811b01905561329e565b86015160001960f88460031b161c19169055388061330f565b80600185968294968c015181550195019301906132f9565b613354610877565b613267565b5061321e6133673383611cde565b9050613215565b6133783382611d1d565b80156134be575b61338890611a28565b6000818152606760205260409020546133ab906001600160a01b03161515610ec8565b806000526020609c8152600360406000200190835180916001600160401b0382116134b1575b6133df8261294e8654610f38565b80601f83116001146134435750600091613438575b508160011b916000199060031b1c19161790555b7f91ce7fcd4462481791c3fe849f7049373c5b43ef44aed48e7f1ecce781586e15604051806132ce3395826107f6565b9050840151386133f4565b9150601f19831661345985600052602060002090565b926000905b8282106134995750509083600194939210613480575b5050811b019055613408565b86015160001960f88460031b161c191690553880613474565b80600185968294968c0151815501950193019061345e565b6134b9610877565b6133d1565b506133886134cc3383611cde565b905061337f565b6134dd3382611d1d565b8015613620575b6134ed90611a28565b600081815260676020526040902054613510906001600160a01b03161515610ec8565b806000526020609c8152604060002090835180916001600160401b038211613613575b6135418261294e8654610f38565b80601f83116001146135a5575060009161359a575b508160011b916000199060031b1c19161790555b7ffbbfca16a2770c7ca6e7063ab1a7eea5fe441ffef818325db51752066a6b128a604051806132ce3395826107f6565b905084015138613556565b9150601f1983166135bb85600052602060002090565b926000905b8282106135fb57505090836001949392106135e2575b5050811b01905561356a565b86015160001960f88460031b161c1916905538806135d6565b80600185968294968c015181550195019301906135c0565b61361b610877565b613533565b506134ed61362e3383611cde565b90506134e4565b61363f3382611d1d565b8015613783575b61364f90611a28565b600081815260676020526040902054613672906001600160a01b03161515610ec8565b806000526020609c8152600180604060002001918451906001600160401b038211613776575b6136a68261294e8654610f38565b80601f831160011461370b575081928291600093613700575b501b916000199060031b1c19161790555b7fd771eaa1c1382b0a9867125fcd921fdeddd211538b5381353a877abfbe3b50a4604051806132ce3395826107f6565b8701519250386136bf565b9082601f19811661372187600052602060002090565b936000905b8783831061375c5750505010613743575b5050811b0190556136d0565b86015160001960f88460031b161c191690553880613737565b8b8601518755909501949384019386935090810190613726565b61377e610877565b613698565b5061364f6137913383611cde565b9050613646565b6137a23382611d1d565b80156138e8575b6137b290611a28565b6000818152606760205260409020546137d5906001600160a01b03161515610ec8565b806000526020609c8152600660406000200190835180916001600160401b0382116138db575b6138098261294e8654610f38565b80601f831160011461386d5750600091613862575b508160011b916000199060031b1c19161790555b7fa3689e8cd9598b691876d4d1cd9d1f7b205523ec135b471359286d52229c5959604051806132ce3395826107f6565b90508401513861381e565b9150601f19831661388385600052602060002090565b926000905b8282106138c357505090836001949392106138aa575b5050811b019055613832565b86015160001960f88460031b161c19169055388061389e565b80600185968294968c01518155019501930190613888565b6138e3610877565b6137fb565b506137b26138f63383611cde565b90506137a9565b6139073382611d1d565b801561398f575b61391790611a28565b60008181526067602052604090205461393a906001600160a01b03161515610ec8565b6000818152609c60205260409020600701805462ffffff191662ffffff841617905562ffffff604051921682527f16815ee192fd8126dc2646e6bf09005f1556fe92c60700fe8d7a98ce4e09db3e60203393a3565b5061391761399d3383611cde565b905061390e565b929190926139b23382611d1d565b8015613b0a575b6139c290611a28565b6000818152606760205260409020546139e5906001600160a01b03161515610ec8565b80600052602093609c855260066040600020018151956001600160401b038711613afd575b613a18876126c68454610f38565b80601f8811600114613a8c575095806108e49697600091613a81575b508160011b916000199060031b1c19161790555b817fa3689e8cd9598b691876d4d1cd9d1f7b205523ec135b471359286d52229c595960405180613a793395826107f6565b0390a36138fd565b905083015138613a34565b90601f198816613aa184600052602060002090565b926000905b828210613ae55750509188916108e4989960019410613acc575b5050811b019055613a48565b85015160001960f88460031b161c191690553880613ac0565b80600185968294968a01518155019501930190613aa6565b613b05610877565b613a0a565b506139c2613b183383611cde565b90506139b9565b6020613b3891816040519382858094519384920161079c565b8101609d81520301902090565b15613b4c57565b5060405162461bcd60e51b815260206004820152601e60248201527f466c65656b4552433732313a20415020616c72656164792065786973747300006044820152606490fd5b60405190613b9f8261088e565b6005825264111490519560da1b6020830152565b600360a06108e493805184556020810151600185015560028401613be960408301511515829060ff801983541691151516179055565b6060820151815461ff00191690151560081b61ff00161781556080820151815462010000600160b01b03191660109190911b62010000600160b01b0316179055015191016126a4565b613c47604093926060835260608301906107d1565b916020820152828183039101526005815264111490519560da1b60208201520190565b60405190613c778261088e565b60088252671054141493d5915160c21b6020830152565b613ca3604093926060835260608301906107d1565b9160208201528281830391015260088152671054141493d5915160c21b60208201520190565b7fb5bf66f8f55e6a727267b4b02228bad57915ac165c182574d8d3df80f52b7ebe90613cf4816117bc565b613d256001600160a01b03613d1e6002613d0d87613b1f565b015460101c6001600160a01b031690565b1615613b45565b604051817f8140554c907b4ba66a04ea1f43b882cba992d3db4cd5c49298a56402d7b36ca2339280613d5788826107f6565b0390a3613d7e6007613d7383600052609c602052604060002090565b015460181c60ff1690565b15613dde57613dd990613dcb613d926108e6565b828152600060208201819052604082018190526060820152336080820152613db8613c6a565b60a0820152613dc686613b1f565b613bb3565b604051918291339583613c8e565b0390a2565b613dd990613e13613ded6108e6565b828152600060208201819052604082018190526060820152336080820152613db8613b92565b604051918291339583613c32565b919091613e2e3382611d1d565b8015613f2a575b613e3e90611a28565b613e4783613b1f565b908082541415613ea4577fb5bf66f8f55e6a727267b4b02228bad57915ac165c182574d8d3df80f52b7ebe9215613e8757613dcb6003613dd99301613fa0565b613e966003613dd99301613f3f565b604051918291339583613f65565b505050505060a460405162461bcd60e51b815260206004820152604e60248201527f466c65656b4552433732313a207468652070617373656420746f6b656e49642060448201527f6973206e6f74207468652073616d65206173207468652061636365737320706f60648201526d34b73a13b9903a37b5b2b724b21760911b6084820152fd5b50613e3e613f383383611cde565b9050613e35565b613f52613f4c8254610f38565b826124f5565b6010671491529150d5115160c21b019055565b613f7a604093926060835260608301906107d1565b9160208201528281830391015260088152671491529150d5115160c21b60208201520190565b613fad613f4c8254610f38565b6010671054141493d5915160c21b019055565b15613fc757565b5060405162461bcd60e51b815260206004820152601760248201527f466c65656b4552433732313a20696e76616c69642041500000000000000000006044820152606490fd5b6001600160a01b0361403181600261402485613b1f565b015460101c161515613fc0565b600261403c83613b1f565b015460101c163314156140cc5761405d600361405783613b1f565b01614113565b61406681613b1f565b546040517fb5bf66f8f55e6a727267b4b02228bad57915ac165c182574d8d3df80f52b7ebe339180614099858783614132565b0390a27fef2f6bed86b96d79b41799f5285f73b31274bb303ebe5d55a3cb48c567ab2db0604051806132ce3395826107f6565b505060405162461bcd60e51b815260206004820152601d60248201527f466c65656b4552433732313a206d757374206265204150206f776e65720000006044820152606490fd5b614120613f4c8254610f38565b600e6614915353d5915160ca1b019055565b614147604093926060835260608301906107d1565b91602082015282818303910152600781526614915353d5915160ca1b60208201520190565b6001600160a01b03908161417f82613b1f565b6002015460101c16151561419290613fc0565b61419b90613b1f565b80546141a690614b85565b9060018101546141b590614b85565b9260028201548060081c60ff166141cb90614e29565b916141d860ff8316614e29565b9160101c166141e690614d74565b604051607b60f81b60208201529586959193916021870169113a37b5b2b724b2111d60b11b8152600a0161421991612c14565b600b60fa1b8152600101671139b1b7b932911d60c11b815260080161423d91612c14565b600b60fa1b81526001016e113730b6b2ab32b934b334b2b2111d60891b8152600f0161426891612c14565b600b60fa1b8152600101711131b7b73a32b73a2b32b934b334b2b2111d60711b815260120161429691612c14565b600b60fa1b8152600101681137bbb732b9111d1160b91b81526009016142bb91612c14565b61088b60f21b8152600201691139ba30ba3ab9911d1160b11b8152600a016142e591600301614b09565b61227d60f01b815260020103601f198101825261078b90826108b6565b60ff90600290614326906143216001600160a01b038461402484613b1f565b613b1f565b015460081c1690565b6143456001600160a01b03600261402484613b1f565b600161435082613b1f565b0161435b81546143a6565b905561436681613b1f565b547f3ea1c0fcf71b86fca8f96ccac3cf26fba8983d3bbbe7bd720f1865d67fbaee436132ce600161439685613b1f565b01546040519182913396836143b6565b6001906000198114612081570190565b9291906143cd6020916040865260408601906107d1565b930152565b6143e86001600160a01b03600261402484613b1f565b60016143f382613b1f565b01541561441057600161440582613b1f565b0161435b8154614456565b5050606460405162461bcd60e51b815260206004820152602060248201527f466c65656b4552433732313a2073636f72652063616e74206265206c6f7765726044820152fd5b8015614464575b6000190190565b61446c61205a565b61445d565b6144876001600160a01b03600261402484613b1f565b6144ac61449382613b1f565b5461449e3382611d1d565b90811561450c575b50611a28565b6144cd8260026144bb84613b1f565b019060ff801983541691151516179055565b7fe2e598f7ff2dfd4bc3bd989635401b4c56846b7893cb7eace51d099f21e69bff6132ce6144fa83613b1f565b546040519182913396151595836143b6565b61451891503390611cde565b386144a6565b6145346001600160a01b03600261402484613b1f565b61454061449382613b1f565b61456882600261454f84613b1f565b019061ff00825491151560081b169061ff001916179055565b7f17bd9b465aa0cdc6b308874903e9c38b13f561ecb1f2edaa8bf3969fe603d11c6132ce6144fa83613b1f565b90917f73b929bf4db6be678cdbc6d41a5fe0a2cbb84ca95572062c4a978d8bd80a41b1906145c33384611d1d565b8015614674575b6145d390611a28565b6000838152606760205260409020546145f6906001600160a01b03161515610ec8565b6146526040918251908382018281106001600160401b03821117614667575b8452868252602082015284600052609c602052600583600020016004846000200161464081546143a6565b8091556000526020528260002061292b565b5160208152806132ce339560208301906107d1565b61466f610877565b614615565b506145d36146823385611cde565b90506145ca565b6146933382611cde565b80156147e7575b6146a390611a28565b806001600160a01b03806146b683610f15565b16158015806147df575b156147b257506146e0826000526099602052604060002060018154019055565b6146e982611e5e565b6146f282610f15565b600083815260696020526040812080546001600160a01b031916905591168082526068602052604082206000198154019055828252606760205261474a604083206bffffffffffffffffffffffff60a01b8154169055565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef82604051a461478f600261478983600052609c602052604060002090565b016147fc565b6147965750565b6147ad6108e491600052609c602052604060002090565b614877565b156147c5576147c082611e5e565b6146e9565b6147c0826000526099602052604060002060018154019055565b5060006146c0565b506146a36147f53383611cde565b905061469a565b61078b9054610f38565b6001600160fe1b03811160011661481e575b60021b90565b61482661205a565b614818565b6148358154610f38565b908161483f575050565b81601f60009311600114614851575055565b8183526020832061486d91601f0160051c81019060010161247d565b8160208120915555565b60076000916148858161482b565b6148916001820161482b565b61489d6002820161482b565b6148a96003820161482b565b8260048201556148bb6006820161482b565b0155565b60405190606082018281106001600160401b0382111761492f575b604052604082527f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f6040837f4142434445464748494a4b4c4d4e4f505152535455565758595a61626364656660208201520152565b614937610877565b6148da565b604051906149498261088e565b6008825260203681840137565b9061496082610905565b61496d60405191826108b6565b828152809261497e601f1991610905565b0190602036910137565b805115614a5a576149976148bf565b6149bb6149b66149b16149aa8551612071565b6003900490565b614806565b614956565b9160208301918182518301915b828210614a08575050506003905106806001146149f5576002146149ea575090565b603d90600019015390565b50603d9081600019820153600119015390565b9091936004906003809401938451600190603f9082828260121c16880101518553828282600c1c16880101518386015382828260061c16880101516002860153168501015190820153019391906149c8565b5061078b611401565b602081830312610758578051906001600160401b03821161074f570181601f82011215610758578051614a9581610905565b92614aa360405194856108b6565b8184526020828401011161074f5761078b916020808501910161079c565b92614aed61078b9593614adf614afb94608088526080880190610f74565b908682036020880152610f74565b908482036040860152610f74565b9160608184039101526107d1565b600092918154614b1881610f38565b92600191808316908115614b705750600114614b345750505050565b90919293945060005260209081600020906000915b858310614b5f5750505050019038808080610fa1565b805485840152918301918101614b49565b60ff1916845250505001915038808080610fa1565b806000917a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000080821015614cba575b506d04ee2d6d415b85acef810000000080831015614cab575b50662386f26fc1000080831015614c9c575b506305f5e10080831015614c8d575b5061271080831015614c7e575b506064821015614c6e575b600a80921015614c64575b600190816021614c1c828701614956565b95860101905b614c2e575b5050505090565b600019019083906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304918215614c5f57919082614c22565b614c27565b9160010191614c0b565b9190606460029104910191614c00565b60049193920491019138614bf5565b60089193920491019138614be8565b60109193920491019138614bd9565b60209193920491019138614bc7565b604093508104915038614bae565b60405190614cd58261088e565b6007825260203681840137565b602090805115614cf0570190565b612089611f81565b602190805160011015614cf0570190565b906020918051821015614d1b57010190565b614d23611f81565b010190565b15614d2f57565b50606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b60405190606082018281106001600160401b03821117614e1c575b604052602a825260403660208401376030614da983614ce2565b536078614db583614cf8565b536029905b60018211614dcd5761078b915015614d28565b80600f614e0992166010811015614e0f575b6f181899199a1a9b1b9c1cb0b131b232b360811b901a614dff8486614d09565b5360041c91614456565b90614dba565b614e17611f81565b614ddf565b614e24610877565b614d8f565b15614e4e57604051614e3a8161088e565b60048152637472756560e01b602082015290565b604051614e5a8161088e565b600581526466616c736560d81b602082015290565b62ffffff16614e7c61493c565b906030614e8883614ce2565b536078614e9483614cf8565b5360079081905b60018211614f3057614eae915015614d28565b614eb6614cc8565b91825115614f23575b60236020840153600190815b838110614ed9575050505090565b614f11906001198111614f16575b6001600160f81b0319614efc82860185614d09565b511660001a614f0b8288614d09565b536143a6565b614ecb565b614f1e61205a565b614ee7565b614f2b611f81565b614ebf565b80600f614f6292166010811015614f68575b6f181899199a1a9b1b9c1cb0b131b232b360811b901a614dff8487614d09565b90614e9b565b614f70611f81565b614f4256fea36469706673582212206ee8b7fe6be600a405fb060ab220346118b1e3de7778fc31f0c9a49c37c07a826c6578706572696d656e74616cf564736f6c634300080c0041",
|
|
"metadata": "{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"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\":\"token\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"settings\",\"type\":\"bool\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"triggeredBy\",\"type\":\"address\"}],\"name\":\"ChangeAccessPointAutoApprovalSettings\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"apName\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"verified\",\"type\":\"bool\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"triggeredBy\",\"type\":\"address\"}],\"name\":\"ChangeAccessPointContentVerify\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"apName\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"verified\",\"type\":\"bool\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"triggeredBy\",\"type\":\"address\"}],\"name\":\"ChangeAccessPointNameVerify\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"apName\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"triggeredBy\",\"type\":\"address\"}],\"name\":\"ChangeAccessPointScore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"apName\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"status\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"triggeredBy\",\"type\":\"address\"}],\"name\":\"ChangeAccessPointStatus\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"enum FleekAccessControl.Roles\",\"name\":\"role\",\"type\":\"uint8\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"byAddress\",\"type\":\"address\"}],\"name\":\"CollectionRoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"enum FleekAccessControl.Roles\",\"name\":\"role\",\"type\":\"uint8\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"byAddress\",\"type\":\"address\"}],\"name\":\"CollectionRoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"apName\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"NewAccessPoint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"commitHash\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"triggeredBy\",\"type\":\"address\"}],\"name\":\"NewBuild\",\"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\":\"description\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"externalURL\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"ENS\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"commitHash\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"gitRepository\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"logo\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint24\",\"name\":\"color\",\"type\":\"uint24\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"accessPointAutoApprovalSettings\",\"type\":\"bool\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"minter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"NewMint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint24\",\"name\":\"color\",\"type\":\"uint24\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"triggeredBy\",\"type\":\"address\"}],\"name\":\"NewTokenColor\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"triggeredBy\",\"type\":\"address\"}],\"name\":\"NewTokenDescription\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"ENS\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"triggeredBy\",\"type\":\"address\"}],\"name\":\"NewTokenENS\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"externalURL\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"triggeredBy\",\"type\":\"address\"}],\"name\":\"NewTokenExternalURL\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"logo\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"triggeredBy\",\"type\":\"address\"}],\"name\":\"NewTokenLogo\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"triggeredBy\",\"type\":\"address\"}],\"name\":\"NewTokenName\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"apName\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"RemoveAccessPoint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"enum FleekAccessControl.Roles\",\"name\":\"role\",\"type\":\"uint8\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"byAddress\",\"type\":\"address\"}],\"name\":\"TokenRoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"enum FleekAccessControl.Roles\",\"name\":\"role\",\"type\":\"uint8\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"byAddress\",\"type\":\"address\"}],\"name\":\"TokenRoleRevoked\",\"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\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"apName\",\"type\":\"string\"}],\"name\":\"addAccessPoint\",\"outputs\":[],\"stateMutability\":\"payable\",\"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\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"apName\",\"type\":\"string\"}],\"name\":\"decreaseAccessPointScore\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"apName\",\"type\":\"string\"}],\"name\":\"getAccessPointJSON\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"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\":\"enum FleekAccessControl.Roles\",\"name\":\"role\",\"type\":\"uint8\"}],\"name\":\"getCollectionRoleMembers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"enum FleekAccessControl.Roles\",\"name\":\"role\",\"type\":\"uint8\"}],\"name\":\"getTokenRoleMembers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum FleekAccessControl.Roles\",\"name\":\"role\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantCollectionRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"enum FleekAccessControl.Roles\",\"name\":\"role\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantTokenRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum FleekAccessControl.Roles\",\"name\":\"role\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasCollectionRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"enum FleekAccessControl.Roles\",\"name\":\"role\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasTokenRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"apName\",\"type\":\"string\"}],\"name\":\"increaseAccessPointScore\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"apName\",\"type\":\"string\"}],\"name\":\"isAccessPointNameVerified\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"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\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"externalURL\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"ENS\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"commitHash\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"gitRepository\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"logo\",\"type\":\"string\"},{\"internalType\":\"uint24\",\"name\":\"color\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"accessPointAutoApprovalSettings\",\"type\":\"bool\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"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\":\"string\",\"name\":\"apName\",\"type\":\"string\"}],\"name\":\"removeAccessPoint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum FleekAccessControl.Roles\",\"name\":\"role\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeCollectionRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"enum FleekAccessControl.Roles\",\"name\":\"role\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeTokenRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_settings\",\"type\":\"bool\"}],\"name\":\"setAccessPointAutoApprovalSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"apName\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"verified\",\"type\":\"bool\"}],\"name\":\"setAccessPointContentVerify\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"apName\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"verified\",\"type\":\"bool\"}],\"name\":\"setAccessPointNameVerify\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"apName\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAccessPoint\",\"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\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_commitHash\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_gitRepository\",\"type\":\"string\"}],\"name\":\"setTokenBuild\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint24\",\"name\":\"_tokenColor\",\"type\":\"uint24\"}],\"name\":\"setTokenColor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_tokenDescription\",\"type\":\"string\"}],\"name\":\"setTokenDescription\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_tokenENS\",\"type\":\"string\"}],\"name\":\"setTokenENS\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_tokenExternalURL\",\"type\":\"string\"}],\"name\":\"setTokenExternalURL\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_tokenLogo\",\"type\":\"string\"}],\"name\":\"setTokenLogo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_tokenLogo\",\"type\":\"string\"},{\"internalType\":\"uint24\",\"name\":\"_tokenColor\",\"type\":\"uint24\"}],\"name\":\"setTokenLogoAndColor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_tokenName\",\"type\":\"string\"}],\"name\":\"setTokenName\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"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\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"addAccessPoint(uint256,string)\":{\"details\":\"Add a new AccessPoint register for an app token. The AP name should be a DNS or ENS url and it should be unique. Anyone can add an AP but it should requires a payment. May emit a {NewAccessPoint} event. Requirements: - the tokenId must be minted and valid. IMPORTANT: The payment is not set yet\"},\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Burns a previously minted `tokenId`. May emit a {Transfer} event. Requirements: - the tokenId must be minted and valid. - the sender must have the `tokenOwner` role.\"},\"decreaseAccessPointScore(string)\":{\"details\":\"Decreases the score of a AccessPoint registry if is greater than 0. May emit a {ChangeAccessPointScore} event. Requirements: - the AP must exist.\"},\"getAccessPointJSON(string)\":{\"details\":\"A view function to gether information about an AccessPoint. It returns a JSON string representing the AccessPoint information. Requirements: - the AP must exist.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getCollectionRoleMembers(uint8)\":{\"details\":\"Returns an array of addresses that all have the collection role.\"},\"getTokenRoleMembers(uint256,uint8)\":{\"details\":\"Returns an array of addresses that all have the same token role for a certain tokenId.\"},\"grantCollectionRole(uint8,address)\":{\"details\":\"Grants the collection role to an address. Requirements: - the caller should have the collection role.\"},\"grantTokenRole(uint256,uint8,address)\":{\"details\":\"Grants the token role to an address. Requirements: - the caller should have the token role.\"},\"hasCollectionRole(uint8,address)\":{\"details\":\"Returns `True` if a certain address has the collection role.\"},\"hasTokenRole(uint256,uint8,address)\":{\"details\":\"Returns `True` if a certain address has the token role.\"},\"increaseAccessPointScore(string)\":{\"details\":\"Increases the score of a AccessPoint registry. May emit a {ChangeAccessPointScore} event. Requirements: - the AP must exist.\"},\"initialize(string,string)\":{\"details\":\"Initializes the contract by setting a `name` and a `symbol` to the token collection.\"},\"isAccessPointNameVerified(string)\":{\"details\":\"A view function to check if a AccessPoint is verified. Requirements: - the AP must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"mint(address,string,string,string,string,string,string,string,uint24,bool)\":{\"details\":\"Mints a token and returns a tokenId. If the `tokenId` has not been minted before, and the `to` address is not zero, emits a {Transfer} event. Requirements: - the caller must have ``collectionOwner``'s admin role.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"removeAccessPoint(string)\":{\"details\":\"Remove an AccessPoint registry for an app token. It will also remove the AP from the app token APs list. May emit a {RemoveAccessPoint} event. Requirements: - the AP must exist. - must be called by the AP owner.\"},\"revokeCollectionRole(uint8,address)\":{\"details\":\"Revokes the collection role of an address. Requirements: - the caller should have the collection role.\"},\"revokeTokenRole(uint256,uint8,address)\":{\"details\":\"Revokes the token role of an address. Requirements: - the caller should have the token role.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setAccessPointAutoApprovalSettings(uint256,bool)\":{\"details\":\"Updates the `accessPointAutoApproval` settings on minted `tokenId`. May emit a {ChangeAccessPointAutoApprovalSettings} event. Requirements: - the tokenId must be minted and valid. - the sender must have the `tokenController` role.\"},\"setAccessPointContentVerify(string,bool)\":{\"details\":\"Set the content verification of a AccessPoint registry. May emit a {ChangeAccessPointContentVerify} event. Requirements: - the AP must exist. - the sender must have the token controller role.\"},\"setAccessPointNameVerify(string,bool)\":{\"details\":\"Set the name verification of a AccessPoint registry. May emit a {ChangeAccessPointNameVerify} event. Requirements: - the AP must exist. - the sender must have the token controller role.\"},\"setApprovalForAccessPoint(uint256,string,bool)\":{\"details\":\"Set approval settings for an access point. It will add the access point to the token's AP list, if `approved` is true. May emit a {ChangeAccessPointApprovalStatus} event. Requirements: - the tokenId must exist and be the same as the tokenId that is set for the AP. - the AP must exist. - must be called by a token controller.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"setTokenBuild(uint256,string,string)\":{\"details\":\"Adds a new build to a minted `tokenId`'s builds mapping. May emit a {NewBuild} event. Requirements: - the tokenId must be minted and valid. - the sender must have the `tokenController` role.\"},\"setTokenColor(uint256,uint24)\":{\"details\":\"Updates the `color` metadata field of a minted `tokenId`. May emit a {NewTokenColor} event. Requirements: - the tokenId must be minted and valid. - the sender must have the `tokenController` role.\"},\"setTokenDescription(uint256,string)\":{\"details\":\"Updates the `description` metadata field of a minted `tokenId`. May emit a {NewTokenDescription} event. Requirements: - the tokenId must be minted and valid. - the sender must have the `tokenController` role.\"},\"setTokenENS(uint256,string)\":{\"details\":\"Updates the `ENS` metadata field of a minted `tokenId`. May emit a {NewTokenENS} event. Requirements: - the tokenId must be minted and valid. - the sender must have the `tokenController` role.\"},\"setTokenExternalURL(uint256,string)\":{\"details\":\"Updates the `externalURL` metadata field of a minted `tokenId`. May emit a {NewTokenExternalURL} event. Requirements: - the tokenId must be minted and valid. - the sender must have the `tokenController` role.\"},\"setTokenLogo(uint256,string)\":{\"details\":\"Updates the `logo` metadata field of a minted `tokenId`. May emit a {NewTokenLogo} event. Requirements: - the tokenId must be minted and valid. - the sender must have the `tokenController` role.\"},\"setTokenLogoAndColor(uint256,string,uint24)\":{\"details\":\"Updates the `logo` and `color` metadata fields of a minted `tokenId`. May emit a {NewTokenLogo} and a {NewTokenColor} event. Requirements: - the tokenId must be minted and valid. - the sender must have the `tokenController` role.\"},\"setTokenName(uint256,string)\":{\"details\":\"Updates the `name` metadata field of a minted `tokenId`. May emit a {NewTokenName} event. Requirements: - the tokenId must be minted and valid. - the sender must have the `tokenController` role.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"Returns the token metadata associated with the `tokenId`. Returns a based64 encoded string value of the URI. Requirements: - the tokenId must be minted and valid.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/FleekERC721.sol\":\"FleekERC721\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x037c334add4b033ad3493038c25be1682d78c00992e1acb0e2795caff3925271\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8a313cf42389440e2706837c91370323b85971c06afd6d056d21e2bc86459618\",\"dweb:/ipfs/QmT8XUrUvQ9aZaPKrqgRU2JVGWnaxBcUYJA7Q7K5KcLBSZ\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0x2a6a0b9fd2d316dcb4141159a9d13be92654066d6c0ae92757ed908ecdfecff0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c05d9be7ee043009eb9f2089b452efc0961345531fc63354a249d7337c69f3bb\",\"dweb:/ipfs/QmTXhzgaYrh6og76BP85i6exNFAv5NYw64uVWyworNogyG\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/IERC721ReceiverUpgradeable.sol\":{\"keccak256\":\"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a\",\"dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable.sol\":{\"keccak256\":\"0x2c0b89cef83f353c6f9488c013d8a5968587ffdd6dfc26aad53774214b97e229\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a68e662c2a82412308b1feb24f3d61a44b3b8772f44cbd440446237313c3195\",\"dweb:/ipfs/QmfBuWUE2TQef9hghDzzuVkDskw3UGAyPgLmPifTNV7K6g\"]},\"@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721MetadataUpgradeable.sol\":{\"keccak256\":\"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3\",\"dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB\"]},\"@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x2edcb41c121abc510932e8d83ff8b82cf9cdde35e7c297622f5c29ef0af25183\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72460c66cd1c3b1c11b863e0d8df0a1c56f37743019e468dc312c754f43e3b06\",\"dweb:/ipfs/QmPExYKiNb9PUsgktQBupPaM33kzDHxaYoVeJdLhv8s879\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0x6b9a5d35b744b25529a2856a8093e7c03fb35a34b1c4fb5499e560f8ade140da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://187b5c3a1c9e77678732a2cc5284237f9cfca6bc28ee8bc0a0f4f951d7b3a2f8\",\"dweb:/ipfs/Qmb2KFr7WuQu7btdCiftQG64vTzrG4UyzVmo53EYHcnHYA\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0xc1bd5b53319c68f84e3becd75694d941e8f4be94049903232cd8bc7c535aaa5a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056027a78e6f4b78a39be530983551651ee5a052e786ca2c1c6a3bb1222b03b4\",\"dweb:/ipfs/QmXRUpywAqNwAfXS89vrtiE2THRM9dX9pQ4QxAkV1Wx9kt\"]},\"@openzeppelin/contracts/utils/Base64.sol\":{\"keccak256\":\"0x5f3461639fe20794cfb4db4a6d8477388a15b2e70a018043084b7c4bedfa8136\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77e5309e2cc4cdc3395214edb0ff43ff5a5f7373f5a425383e540f6fab530f96\",\"dweb:/ipfs/QmTV8DZ9knJDa3b5NPBFQqjvTzodyZVjRUg5mx5A99JPLJ\"]},\"@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]},\"contracts/FleekAccessControl.sol\":{\"keccak256\":\"0x99b148a767f42ff1bfcee7ff68d8b11ece6aa78a96a5637c9b5e1ddc1cca7b34\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff6dd367c0f3894c2c3fcd28cd02ccce384bea6dc23baa7b03041be237cc64ae\",\"dweb:/ipfs/QmWGtcukpo1ApXiVxkAfMJ3u8Be9quLXBzExcXr6KJ4gmL\"]},\"contracts/FleekERC721.sol\":{\"keccak256\":\"0x73629b3810f53d1b52432d9039c4e5d5fb4ab2e5c58ad78f8d63cc5fb190535f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e5553085df9b7c2c93b50a08ef8a6773676e2b57b559b92690af34b15fbeadc\",\"dweb:/ipfs/QmSHZkGFtGUuB67uGZMJmj9mhMbpcyhiQbnvMC4XVCgHMP\"]},\"contracts/util/FleekSVG.sol\":{\"keccak256\":\"0x825f901fea144b1994171e060f996301a261a55a9c8482e5fdd31e21adab0e26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d2f7572678c540100ba8a08ec771e991493a4f6fd626765747e588fd7844892b\",\"dweb:/ipfs/QmWATHHJm8b7BvT8vprdJ9hUbFLsvLqkPe1jZh8qudoDc7\"]},\"contracts/util/FleekStrings.sol\":{\"keccak256\":\"0xa464563325a53e441b18dad85d35d50c41f98d598f3bf2f96291518be8d9fafb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c416cf0934598b8f5ba63f40dc0d4b9c2116bfbabbc8bb1621ad491fa7a15f5\",\"dweb:/ipfs/QmZDYDs8Lx18BYPwby4bKbrRg63T4ctNUBtvzrSG16SLMb\"]}},\"version\":1}",
|
|
"storageLayout": {
|
|
"storage": [
|
|
{
|
|
"astId": 6,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "_initialized",
|
|
"offset": 0,
|
|
"slot": "0",
|
|
"type": "t_uint8"
|
|
},
|
|
{
|
|
"astId": 9,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "_initializing",
|
|
"offset": 1,
|
|
"slot": "0",
|
|
"type": "t_bool"
|
|
},
|
|
{
|
|
"astId": 1624,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "__gap",
|
|
"offset": 0,
|
|
"slot": "1",
|
|
"type": "t_array(t_uint256)50_storage"
|
|
},
|
|
{
|
|
"astId": 1843,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "__gap",
|
|
"offset": 0,
|
|
"slot": "51",
|
|
"type": "t_array(t_uint256)50_storage"
|
|
},
|
|
{
|
|
"astId": 197,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "_name",
|
|
"offset": 0,
|
|
"slot": "101",
|
|
"type": "t_string_storage"
|
|
},
|
|
{
|
|
"astId": 199,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "_symbol",
|
|
"offset": 0,
|
|
"slot": "102",
|
|
"type": "t_string_storage"
|
|
},
|
|
{
|
|
"astId": 203,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "_owners",
|
|
"offset": 0,
|
|
"slot": "103",
|
|
"type": "t_mapping(t_uint256,t_address)"
|
|
},
|
|
{
|
|
"astId": 207,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "_balances",
|
|
"offset": 0,
|
|
"slot": "104",
|
|
"type": "t_mapping(t_address,t_uint256)"
|
|
},
|
|
{
|
|
"astId": 211,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "_tokenApprovals",
|
|
"offset": 0,
|
|
"slot": "105",
|
|
"type": "t_mapping(t_uint256,t_address)"
|
|
},
|
|
{
|
|
"astId": 217,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "_operatorApprovals",
|
|
"offset": 0,
|
|
"slot": "106",
|
|
"type": "t_mapping(t_address,t_mapping(t_address,t_bool))"
|
|
},
|
|
{
|
|
"astId": 1137,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "__gap",
|
|
"offset": 0,
|
|
"slot": "107",
|
|
"type": "t_array(t_uint256)44_storage"
|
|
},
|
|
{
|
|
"astId": 3946,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "_collectionRolesVersion",
|
|
"offset": 0,
|
|
"slot": "151",
|
|
"type": "t_struct(Counter)2774_storage"
|
|
},
|
|
{
|
|
"astId": 3954,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "_collectionRoles",
|
|
"offset": 0,
|
|
"slot": "152",
|
|
"type": "t_mapping(t_uint256,t_mapping(t_enum(Roles)3895,t_struct(Role)3943_storage))"
|
|
},
|
|
{
|
|
"astId": 3959,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "_tokenRolesVersion",
|
|
"offset": 0,
|
|
"slot": "153",
|
|
"type": "t_mapping(t_uint256,t_struct(Counter)2774_storage)"
|
|
},
|
|
{
|
|
"astId": 3969,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "_tokenRoles",
|
|
"offset": 0,
|
|
"slot": "154",
|
|
"type": "t_mapping(t_uint256,t_mapping(t_uint256,t_mapping(t_enum(Roles)3895,t_struct(Role)3943_storage)))"
|
|
},
|
|
{
|
|
"astId": 4743,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "_appIds",
|
|
"offset": 0,
|
|
"slot": "155",
|
|
"type": "t_struct(Counter)2774_storage"
|
|
},
|
|
{
|
|
"astId": 4748,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "_apps",
|
|
"offset": 0,
|
|
"slot": "156",
|
|
"type": "t_mapping(t_uint256,t_struct(App)4722_storage)"
|
|
},
|
|
{
|
|
"astId": 4753,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "_accessPoints",
|
|
"offset": 0,
|
|
"slot": "157",
|
|
"type": "t_mapping(t_string_memory_ptr,t_struct(AccessPoint)4740_storage)"
|
|
}
|
|
],
|
|
"types": {
|
|
"t_address": {
|
|
"encoding": "inplace",
|
|
"label": "address",
|
|
"numberOfBytes": "20"
|
|
},
|
|
"t_array(t_address)dyn_storage": {
|
|
"base": "t_address",
|
|
"encoding": "dynamic_array",
|
|
"label": "address[]",
|
|
"numberOfBytes": "32"
|
|
},
|
|
"t_array(t_uint256)44_storage": {
|
|
"base": "t_uint256",
|
|
"encoding": "inplace",
|
|
"label": "uint256[44]",
|
|
"numberOfBytes": "1408"
|
|
},
|
|
"t_array(t_uint256)50_storage": {
|
|
"base": "t_uint256",
|
|
"encoding": "inplace",
|
|
"label": "uint256[50]",
|
|
"numberOfBytes": "1600"
|
|
},
|
|
"t_bool": {
|
|
"encoding": "inplace",
|
|
"label": "bool",
|
|
"numberOfBytes": "1"
|
|
},
|
|
"t_enum(Roles)3895": {
|
|
"encoding": "inplace",
|
|
"label": "enum FleekAccessControl.Roles",
|
|
"numberOfBytes": "1"
|
|
},
|
|
"t_mapping(t_address,t_bool)": {
|
|
"encoding": "mapping",
|
|
"key": "t_address",
|
|
"label": "mapping(address => bool)",
|
|
"numberOfBytes": "32",
|
|
"value": "t_bool"
|
|
},
|
|
"t_mapping(t_address,t_mapping(t_address,t_bool))": {
|
|
"encoding": "mapping",
|
|
"key": "t_address",
|
|
"label": "mapping(address => mapping(address => bool))",
|
|
"numberOfBytes": "32",
|
|
"value": "t_mapping(t_address,t_bool)"
|
|
},
|
|
"t_mapping(t_address,t_uint256)": {
|
|
"encoding": "mapping",
|
|
"key": "t_address",
|
|
"label": "mapping(address => uint256)",
|
|
"numberOfBytes": "32",
|
|
"value": "t_uint256"
|
|
},
|
|
"t_mapping(t_enum(Roles)3895,t_struct(Role)3943_storage)": {
|
|
"encoding": "mapping",
|
|
"key": "t_enum(Roles)3895",
|
|
"label": "mapping(enum FleekAccessControl.Roles => struct FleekAccessControl.Role)",
|
|
"numberOfBytes": "32",
|
|
"value": "t_struct(Role)3943_storage"
|
|
},
|
|
"t_mapping(t_string_memory_ptr,t_struct(AccessPoint)4740_storage)": {
|
|
"encoding": "mapping",
|
|
"key": "t_string_memory_ptr",
|
|
"label": "mapping(string => struct FleekERC721.AccessPoint)",
|
|
"numberOfBytes": "32",
|
|
"value": "t_struct(AccessPoint)4740_storage"
|
|
},
|
|
"t_mapping(t_uint256,t_address)": {
|
|
"encoding": "mapping",
|
|
"key": "t_uint256",
|
|
"label": "mapping(uint256 => address)",
|
|
"numberOfBytes": "32",
|
|
"value": "t_address"
|
|
},
|
|
"t_mapping(t_uint256,t_mapping(t_enum(Roles)3895,t_struct(Role)3943_storage))": {
|
|
"encoding": "mapping",
|
|
"key": "t_uint256",
|
|
"label": "mapping(uint256 => mapping(enum FleekAccessControl.Roles => struct FleekAccessControl.Role))",
|
|
"numberOfBytes": "32",
|
|
"value": "t_mapping(t_enum(Roles)3895,t_struct(Role)3943_storage)"
|
|
},
|
|
"t_mapping(t_uint256,t_mapping(t_uint256,t_mapping(t_enum(Roles)3895,t_struct(Role)3943_storage)))": {
|
|
"encoding": "mapping",
|
|
"key": "t_uint256",
|
|
"label": "mapping(uint256 => mapping(uint256 => mapping(enum FleekAccessControl.Roles => struct FleekAccessControl.Role)))",
|
|
"numberOfBytes": "32",
|
|
"value": "t_mapping(t_uint256,t_mapping(t_enum(Roles)3895,t_struct(Role)3943_storage))"
|
|
},
|
|
"t_mapping(t_uint256,t_struct(App)4722_storage)": {
|
|
"encoding": "mapping",
|
|
"key": "t_uint256",
|
|
"label": "mapping(uint256 => struct FleekERC721.App)",
|
|
"numberOfBytes": "32",
|
|
"value": "t_struct(App)4722_storage"
|
|
},
|
|
"t_mapping(t_uint256,t_struct(Build)4727_storage)": {
|
|
"encoding": "mapping",
|
|
"key": "t_uint256",
|
|
"label": "mapping(uint256 => struct FleekERC721.Build)",
|
|
"numberOfBytes": "32",
|
|
"value": "t_struct(Build)4727_storage"
|
|
},
|
|
"t_mapping(t_uint256,t_struct(Counter)2774_storage)": {
|
|
"encoding": "mapping",
|
|
"key": "t_uint256",
|
|
"label": "mapping(uint256 => struct Counters.Counter)",
|
|
"numberOfBytes": "32",
|
|
"value": "t_struct(Counter)2774_storage"
|
|
},
|
|
"t_string_memory_ptr": {
|
|
"encoding": "bytes",
|
|
"label": "string",
|
|
"numberOfBytes": "32"
|
|
},
|
|
"t_string_storage": {
|
|
"encoding": "bytes",
|
|
"label": "string",
|
|
"numberOfBytes": "32"
|
|
},
|
|
"t_struct(AccessPoint)4740_storage": {
|
|
"encoding": "inplace",
|
|
"label": "struct FleekERC721.AccessPoint",
|
|
"members": [
|
|
{
|
|
"astId": 4729,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "tokenId",
|
|
"offset": 0,
|
|
"slot": "0",
|
|
"type": "t_uint256"
|
|
},
|
|
{
|
|
"astId": 4731,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "score",
|
|
"offset": 0,
|
|
"slot": "1",
|
|
"type": "t_uint256"
|
|
},
|
|
{
|
|
"astId": 4733,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "contentVerified",
|
|
"offset": 0,
|
|
"slot": "2",
|
|
"type": "t_bool"
|
|
},
|
|
{
|
|
"astId": 4735,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "nameVerified",
|
|
"offset": 1,
|
|
"slot": "2",
|
|
"type": "t_bool"
|
|
},
|
|
{
|
|
"astId": 4737,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "owner",
|
|
"offset": 2,
|
|
"slot": "2",
|
|
"type": "t_address"
|
|
},
|
|
{
|
|
"astId": 4739,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "status",
|
|
"offset": 0,
|
|
"slot": "3",
|
|
"type": "t_string_storage"
|
|
}
|
|
],
|
|
"numberOfBytes": "128"
|
|
},
|
|
"t_struct(App)4722_storage": {
|
|
"encoding": "inplace",
|
|
"label": "struct FleekERC721.App",
|
|
"members": [
|
|
{
|
|
"astId": 4702,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "name",
|
|
"offset": 0,
|
|
"slot": "0",
|
|
"type": "t_string_storage"
|
|
},
|
|
{
|
|
"astId": 4704,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "description",
|
|
"offset": 0,
|
|
"slot": "1",
|
|
"type": "t_string_storage"
|
|
},
|
|
{
|
|
"astId": 4706,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "externalURL",
|
|
"offset": 0,
|
|
"slot": "2",
|
|
"type": "t_string_storage"
|
|
},
|
|
{
|
|
"astId": 4708,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "ENS",
|
|
"offset": 0,
|
|
"slot": "3",
|
|
"type": "t_string_storage"
|
|
},
|
|
{
|
|
"astId": 4710,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "currentBuild",
|
|
"offset": 0,
|
|
"slot": "4",
|
|
"type": "t_uint256"
|
|
},
|
|
{
|
|
"astId": 4715,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "builds",
|
|
"offset": 0,
|
|
"slot": "5",
|
|
"type": "t_mapping(t_uint256,t_struct(Build)4727_storage)"
|
|
},
|
|
{
|
|
"astId": 4717,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "logo",
|
|
"offset": 0,
|
|
"slot": "6",
|
|
"type": "t_string_storage"
|
|
},
|
|
{
|
|
"astId": 4719,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "color",
|
|
"offset": 0,
|
|
"slot": "7",
|
|
"type": "t_uint24"
|
|
},
|
|
{
|
|
"astId": 4721,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "accessPointAutoApprovalSettings",
|
|
"offset": 3,
|
|
"slot": "7",
|
|
"type": "t_bool"
|
|
}
|
|
],
|
|
"numberOfBytes": "256"
|
|
},
|
|
"t_struct(Build)4727_storage": {
|
|
"encoding": "inplace",
|
|
"label": "struct FleekERC721.Build",
|
|
"members": [
|
|
{
|
|
"astId": 4724,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "commitHash",
|
|
"offset": 0,
|
|
"slot": "0",
|
|
"type": "t_string_storage"
|
|
},
|
|
{
|
|
"astId": 4726,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "gitRepository",
|
|
"offset": 0,
|
|
"slot": "1",
|
|
"type": "t_string_storage"
|
|
}
|
|
],
|
|
"numberOfBytes": "64"
|
|
},
|
|
"t_struct(Counter)2774_storage": {
|
|
"encoding": "inplace",
|
|
"label": "struct Counters.Counter",
|
|
"members": [
|
|
{
|
|
"astId": 2773,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "_value",
|
|
"offset": 0,
|
|
"slot": "0",
|
|
"type": "t_uint256"
|
|
}
|
|
],
|
|
"numberOfBytes": "32"
|
|
},
|
|
"t_struct(Role)3943_storage": {
|
|
"encoding": "inplace",
|
|
"label": "struct FleekAccessControl.Role",
|
|
"members": [
|
|
{
|
|
"astId": 3939,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "indexes",
|
|
"offset": 0,
|
|
"slot": "0",
|
|
"type": "t_mapping(t_address,t_uint256)"
|
|
},
|
|
{
|
|
"astId": 3942,
|
|
"contract": "contracts/FleekERC721.sol:FleekERC721",
|
|
"label": "members",
|
|
"offset": 0,
|
|
"slot": "1",
|
|
"type": "t_array(t_address)dyn_storage"
|
|
}
|
|
],
|
|
"numberOfBytes": "64"
|
|
},
|
|
"t_uint24": {
|
|
"encoding": "inplace",
|
|
"label": "uint24",
|
|
"numberOfBytes": "3"
|
|
},
|
|
"t_uint256": {
|
|
"encoding": "inplace",
|
|
"label": "uint256",
|
|
"numberOfBytes": "32"
|
|
},
|
|
"t_uint8": {
|
|
"encoding": "inplace",
|
|
"label": "uint8",
|
|
"numberOfBytes": "1"
|
|
}
|
|
}
|
|
}
|
|
} |