non-fungible-apps/contracts/deployments/goerli/FleekERC721.json

2391 lines
140 KiB
JSON

{
"timestamp": "3/17/2023, 3:01:31 PM",
"address": "0x8795608346Eb475E42e69F1281008AEAa522479D",
"transactionHash": "0x626662cdb0902646dd70d3ef50abb00c12614d8e572b175f2e45a40a73d4954e",
"gasPrice": 6790794151,
"abi": [
{
"inputs": [],
"name": "AccessPointAlreadyExists",
"type": "error"
},
{
"inputs": [],
"name": "AccessPointCreationStatusAlreadySet",
"type": "error"
},
{
"inputs": [],
"name": "AccessPointNotExistent",
"type": "error"
},
{
"inputs": [],
"name": "AccessPointScoreCannotBeLower",
"type": "error"
},
{
"inputs": [],
"name": "ContractIsNotPausable",
"type": "error"
},
{
"inputs": [],
"name": "ContractIsNotPaused",
"type": "error"
},
{
"inputs": [],
"name": "ContractIsPaused",
"type": "error"
},
{
"inputs": [],
"name": "InvalidTokenIdForAccessPoint",
"type": "error"
},
{
"inputs": [],
"name": "MustBeAccessPointOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "MustBeTokenOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "MustBeTokenVerifier",
"type": "error"
},
{
"inputs": [],
"name": "MustHaveAtLeastOneOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint8",
"name": "role",
"type": "uint8"
}
],
"name": "MustHaveCollectionRole",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"internalType": "uint8",
"name": "role",
"type": "uint8"
}
],
"name": "MustHaveTokenRole",
"type": "error"
},
{
"inputs": [
{
"internalType": "bool",
"name": "state",
"type": "bool"
}
],
"name": "PausableIsSetTo",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "requiredValue",
"type": "uint256"
}
],
"name": "RequiredPayment",
"type": "error"
},
{
"inputs": [],
"name": "RoleAlreadySet",
"type": "error"
},
{
"inputs": [],
"name": "ThereIsNoTokenMinted",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "approved",
"type": "address"
},
{
"indexed": true,
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"indexed": false,
"internalType": "bool",
"name": "approved",
"type": "bool"
}
],
"name": "ApprovalForAll",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "enum FleekBilling.Billing",
"name": "key",
"type": "uint8"
},
{
"indexed": false,
"internalType": "uint256",
"name": "price",
"type": "uint256"
}
],
"name": "BillingChanged",
"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": false,
"internalType": "enum FleekAccessPoints.AccessPointCreationStatus",
"name": "status",
"type": "uint8"
},
{
"indexed": true,
"internalType": "address",
"name": "triggeredBy",
"type": "address"
}
],
"name": "ChangeAccessPointCreationStatus",
"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": true,
"internalType": "enum FleekAccessControl.CollectionRoles",
"name": "role",
"type": "uint8"
},
{
"indexed": true,
"internalType": "address",
"name": "toAddress",
"type": "address"
},
{
"indexed": false,
"internalType": "bool",
"name": "status",
"type": "bool"
},
{
"indexed": false,
"internalType": "address",
"name": "byAddress",
"type": "address"
}
],
"name": "CollectionRoleChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint8",
"name": "version",
"type": "uint8"
}
],
"name": "Initialized",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "uint256",
"name": "_tokenId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "string",
"name": "key",
"type": "string"
},
{
"indexed": false,
"internalType": "address",
"name": "value",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "triggeredBy",
"type": "address"
}
],
"name": "MetadataUpdate",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "uint256",
"name": "_tokenId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "string",
"name": "key",
"type": "string"
},
{
"indexed": false,
"internalType": "string",
"name": "value",
"type": "string"
},
{
"indexed": true,
"internalType": "address",
"name": "triggeredBy",
"type": "address"
}
],
"name": "MetadataUpdate",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "uint256",
"name": "_tokenId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "string",
"name": "key",
"type": "string"
},
{
"indexed": false,
"internalType": "uint24",
"name": "value",
"type": "uint24"
},
{
"indexed": true,
"internalType": "address",
"name": "triggeredBy",
"type": "address"
}
],
"name": "MetadataUpdate",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "uint256",
"name": "_tokenId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "string",
"name": "key",
"type": "string"
},
{
"indexed": false,
"internalType": "string[2]",
"name": "value",
"type": "string[2]"
},
{
"indexed": true,
"internalType": "address",
"name": "triggeredBy",
"type": "address"
}
],
"name": "MetadataUpdate",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "uint256",
"name": "_tokenId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "string",
"name": "key",
"type": "string"
},
{
"indexed": false,
"internalType": "bool",
"name": "value",
"type": "bool"
},
{
"indexed": true,
"internalType": "address",
"name": "triggeredBy",
"type": "address"
}
],
"name": "MetadataUpdate",
"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": "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": "accessPointAutoApproval",
"type": "bool"
},
{
"indexed": true,
"internalType": "address",
"name": "minter",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "verifier",
"type": "address"
}
],
"name": "NewMint",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bool",
"name": "isPausable",
"type": "bool"
},
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "PausableStatusChange",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bool",
"name": "isPaused",
"type": "bool"
},
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "PauseStatusChange",
"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.TokenRoles",
"name": "role",
"type": "uint8"
},
{
"indexed": true,
"internalType": "address",
"name": "toAddress",
"type": "address"
},
{
"indexed": false,
"internalType": "bool",
"name": "status",
"type": "bool"
},
{
"indexed": false,
"internalType": "address",
"name": "byAddress",
"type": "address"
}
],
"name": "TokenRoleChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "address",
"name": "byAddress",
"type": "address"
}
],
"name": "TokenRolesCleared",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": true,
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"indexed": true,
"internalType": "address",
"name": "byAddress",
"type": "address"
}
],
"name": "Withdrawn",
"type": "event"
},
{
"inputs": [
{
"internalType": "enum FleekBilling.Billing",
"name": "",
"type": "uint8"
}
],
"name": "_billings",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"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 FleekBilling.Billing",
"name": "key",
"type": "uint8"
}
],
"name": "getBilling",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getLastTokenId",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "getToken",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
},
{
"internalType": "string",
"name": "",
"type": "string"
},
{
"internalType": "string",
"name": "",
"type": "string"
},
{
"internalType": "string",
"name": "",
"type": "string"
},
{
"internalType": "uint256",
"name": "",
"type": "uint256"
},
{
"internalType": "string",
"name": "",
"type": "string"
},
{
"internalType": "uint24",
"name": "",
"type": "uint24"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "getTokenVerifier",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "enum FleekAccessControl.CollectionRoles",
"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.TokenRoles",
"name": "role",
"type": "uint8"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "grantTokenRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "enum FleekAccessControl.CollectionRoles",
"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.TokenRoles",
"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"
},
{
"internalType": "uint256[]",
"name": "initialBillings",
"type": "uint256[]"
}
],
"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": [],
"name": "isPausable",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "isPaused",
"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": "accessPointAutoApproval",
"type": "bool"
},
{
"internalType": "address",
"name": "verifier",
"type": "address"
}
],
"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": [],
"name": "pause",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "apName",
"type": "string"
}
],
"name": "removeAccessPoint",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "enum FleekAccessControl.CollectionRoles",
"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.TokenRoles",
"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": "_apAutoApproval",
"type": "bool"
}
],
"name": "setAccessPointAutoApproval",
"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": "enum FleekBilling.Billing",
"name": "key",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "setBilling",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bool",
"name": "pausable",
"type": "bool"
}
],
"name": "setPausable",
"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": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"internalType": "address",
"name": "verifier",
"type": "address"
}
],
"name": "setTokenVerifier",
"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"
},
{
"inputs": [],
"name": "unpause",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "withdraw",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x608080604052346100175761562a90816200001e8239f35b50600080fdfe6040608081526004361015610015575b50600080fd5b600090813560e01c806301468deb1461088957806301ffc9a71461086d57806302dba24d146104f057806306fdde0314610851578063081812fc14610835578063095ea7b31461081d5780630a212d2f1461080557806323b872dd146107ed578063246a908b146107d557806327dc5cec146107b95780632d957aad146107a15780633806f152146107895780633ccfd60b146107725780633e2332051461075a5780633f4ba83a1461074357806342842e0e1461072b57806342966c681461071457806342e44bbf146106fc5780635aa6ab3b146106e45780636352211e146106c857806370a08231146106ac57806372c299c414610677578063736d323a146106605780637469a03b1461064957806378278cca1461063157806383c4c00d146106155780638456cb59146105fe5780638a2e25be146105e65780638c3c0a44146105ce57806394ec65c5146105b757806395d89b411461059b578063a09a16011461056b578063a22cb46514610553578063a27d0b271461053b578063a397c83014610524578063aad045a21461050c578063ac8cf285146104f0578063b187bd26146104c4578063b20b94f1146104ac578063b30437a014610499578063b42dbe3814610439578063b88d4fde1461041e578063b948a3c514610406578063ba4c458a146103ee578063c87b56dd146103c7578063cdb0e89e146103af578063d6c084ce1461037c578063d7a75be114610360578063e4b50cb814610330578063e94472501461030c578063e985e9c51461029f578063eb5fd26b146102875763f931517714610269575061000f565b346102835761028061027a36610b90565b90613348565b51f35b5080fd5b50346102835761028061029936611128565b90613b09565b50346102835761030891506102f76102f06102d96102bc366110f5565b6001600160a01b039091166000908152606a602052604090209091565b9060018060a01b0316600052602052604060002090565b5460ff1690565b905190151581529081906020820190565b0390f35b50346102835761030891506102f76102f06102d961032936610be9565b9190611c16565b503461028357610308915061034c610347366109e5565b61316e565b949795969390939291925197889788611085565b50346102835761030891506102f761037736610bbf565b611e70565b5061030891506103a061038e36610f72565b999890989791979692969593956127f2565b90519081529081906020820190565b5034610283576102806103c136610b90565b9061369c565b50346102835761030891506103e36103de366109e5565b612ceb565b9051918291826109d4565b50346102835761028061040036610ea4565b91611ffc565b50346102835761028061041836610b90565b90613990565b50346102835761028061043036610e34565b92919091611768565b50346102835761030891506102f76102f06104946102d9610459366108d7565b939091610485610473826000526099602052604060002090565b5491600052609a602052604060002090565b90600052602052604060002090565b611c52565b506102806104a636610b90565b906141ed565b5034610283576102806104be36610c8f565b90614732565b50346102835761030891506104d83661096c565b60cc54905160ff909116151581529081906020820190565b50346102835761030891506103a061050736610954565b610e1a565b50346102835761028061051e36610dd1565b9061458d565b50346102835761028061053636610bbf565b611f87565b50346102835761028061054d366108d7565b91614a5a565b50346102835761028061056536610da0565b906115b4565b503461028357610308915061057f3661096c565b60cc54905160089190911c60ff16151581529081906020820190565b50346102835761030891506105af3661096c565b6103e36113b7565b5034610283576102806105c936610bbf565b611eb8565b5034610283576102806105e036610be9565b90614b69565b5034610283576102806105f836610d60565b91614636565b50346102835761060d3661096c565b610280614d17565b50346102835761030891506106293661096c565b6103a061322c565b50346102835761028061064336610b90565b90613524565b50346102835761028061065b36610bbf565b6144a9565b50346102835761028061067236610d44565b614de0565b503461028357610308915061069361068e366109e5565b6141ae565b90516001600160a01b0390911681529081906020820190565b50346102835761030891506103a06106c336610d21565b61114b565b50346102835761030891506106936106df366109e5565b611211565b5034610283576102806106f636610cde565b91613bc6565b50346102835761028061070e36610c8f565b906148cb565b503461028357610280610726366109e5565b613e96565b50346102835761028061073d36610a45565b9161172e565b5034610283576107523661096c565b610280614d83565b50346102835761028061076c36610c5f565b90614e56565b5034610283576107813661096c565b610280614e68565b50346102835761028061079b36610c19565b91613d29565b5034610283576102806107b336610be9565b9061496b565b50346102835761030891506103e36107d036610bbf565b611cb6565b5034610283576102806107e736610b90565b90613812565b5034610283576102806107ff36610a45565b916116e0565b50346102835761028061081736610a1e565b9061409d565b50346102835761028061082f366109f7565b90611450565b503461028357610308915061069361084c366109e5565b611576565b50346102835761030891506108653661096c565b6103e3611300565b50346102835761030891506102f76108843661092f565b613259565b50346102835761028061089b366108d7565b91614c4e565b600435906001600160a01b0382168214156108b857565b5050600080fd5b61014435906001600160a01b0382168214156108b857565b606090600319011261000f5760043590602435600181101561091457906044356001600160a01b03811681141561090b5790565b50505050600080fd5b505050600080fd5b6001600160e01b03198116141561000f57565b602090600319011261000f576004356109478161091c565b90565b6002111561000f57565b602090600319011261000f576004356109478161094a565b600090600319011261000f57565b918091926000905b82821061099a575011610993575050565b6000910152565b91508060209183015181860152018291610982565b906020916109c88151809281855285808601910161097a565b601f01601f1916010190565b9060206109479281815201906109af565b602090600319011261000f5760043590565b604090600319011261000f576004356001600160a01b0381168114156108b8579060243590565b604090600319011261000f57600435906024356001600160a01b0381168114156109145790565b606090600319011261000f576001600160a01b03906004358281168114156109145791602435908116811415610914579060443590565b50634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b03821117610aae57604052565b610ab6610a7c565b604052565b90601f801991011681019081106001600160401b03821117610aae57604052565b60405190610ae982610a93565b565b6040519060c082018281106001600160401b03821117610aae57604052565b6020906001600160401b038111610b27575b601f01601f19160190565b610b2f610a7c565b610b1c565b929192610b4082610b0a565b91610b4e6040519384610abb565b829481845281830111610b6b578281602093846000960137010152565b5050505050600080fd5b9080601f830112156109145781602061094793359101610b34565b9060406003198301126108b85760043591602435906001600160401b03821161090b5761094791600401610b75565b60206003198201126108b857600435906001600160401b0382116109145761094791600401610b75565b604090600319011261000f57600435610c018161094a565b906024356001600160a01b0381168114156109145790565b60606003198201126108b857600435916001600160401b03602435818111610b6b5783610c4891600401610b75565b92604435918211610b6b5761094791600401610b75565b604090600319011261000f57600435610c778161094a565b9060243590565b61012435908115158214156108b857565b60406003198201126108b857600435906001600160401b03821161091457610cb991600401610b75565b906024358015158114156109145790565b610104359062ffffff82168214156108b857565b9060606003198301126108b85760043591602435906001600160401b03821161090b57610d0d91600401610b75565b9060443562ffffff811681141561090b5790565b602090600319011261000f576004356001600160a01b0381168114156108b85790565b602090600319011261000f576004358015158114156108b85790565b9060606003198301126108b85760043591602435906001600160401b03821161090b57610d8f91600401610b75565b9060443580151581141561090b5790565b604090600319011261000f576004356001600160a01b0381168114156108b857906024358015158114156109145790565b604090600319011261000f57600435906024358015158114156109145790565b50634e487b7160e01b600052602160045260246000fd5b60021115610e1257565b610ae9610df1565b610e2381610e08565b60005260fe60205260406000205490565b9060806003198301126108b8576001600160a01b039160043583811681141561090b579260243590811681141561090b579160443591606435906001600160401b038211610e995780602383011215610e995781602461094793600401359101610b34565b505050505050600080fd5b9060606003198301126108b8576001600160401b039060043582811161090b5783610ed191600401610b75565b92602435838111610b6b5781610ee991600401610b75565b9260443591818311610e995780602384011215610e99578260040135918211610f65575b8160051b60405193602093610f2485840187610abb565b8552602484860192820101928311610f5857602401905b828210610f49575050505090565b81358152908301908301610f3b565b5050505050505050600080fd5b610f6d610a7c565b610f0d565b6101606003198201126108b857610f876108a1565b916001600160401b0390602435828111610b6b57610fa9846004928301610b75565b936044358481116110795781610fc0918401610b75565b93606435818111610f585782610fd7918501610b75565b9360843582811161106b5783610fee918601610b75565b9360a43583811161105c5784611005918301610b75565b9360c43584811161104c578161101c918401610b75565b9360e43590811161104c576110319201610b75565b9061103a610cca565b90611043610c7e565b906109476108bf565b5050505050505050505050600080fd5b50505050505050505050600080fd5b505050505050505050600080fd5b50505050505050600080fd5b959062ffffff946110cd6110ee956110bf60c099966110b16110db969d9e9d60e08e81815201906109af565b8c810360208e0152906109af565b908a820360408c01526109af565b9088820360608a01526109af565b91608087015285820360a08701526109af565b9416910152565b604090600319011261000f576001600160a01b039060043582811681141561091457916024359081168114156109145790565b604090600319011261000f576004359060243562ffffff81168114156109145790565b6001600160a01b0316801561116b57600052606860205260406000205490565b505060405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608490fd5b156111cb57565b5060405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152606760205260409020546001600160a01b03166109478115156111c4565b90600182811c92168015611266575b602083101461124e57565b5050634e487b7160e01b600052602260045260246000fd5b91607f1691611243565b906000929180549161128183611234565b9182825260019384811690816000146112e357506001146112a3575b50505050565b90919394506000526020928360002092846000945b8386106112cf57505050500101903880808061129d565b8054858701830152940193859082016112b8565b60ff1916602084015250506040019350389150819050808061129d565b604051906000826065549161131483611234565b8083529260019081811690811561139a575060011461133b575b50610ae992500383610abb565b6065600090815291507f8ff97419363ffd7000167f130ef7168fbea05faf9251824ca5043f113cc6a7c75b84831061137f5750610ae993505081016020013861132e565b81935090816020925483858a01015201910190918592611366565b94505050505060ff19166020830152610ae982604081013861132e565b60405190600082606654916113cb83611234565b8083529260019081811690811561139a57506001146113f15750610ae992500383610abb565b6066600090815291507f46501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e943545b8483106114355750610ae993505081016020013861132e565b81935090816020925483858a0101520191019091859261141c565b9061145a81611211565b6001600160a01b0381811690841681146115235733149081156114f5575b501561148757610ae991611a52565b505060405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260849150fd5b6001600160a01b03166000908152606a6020526040902060ff915061151b9033906102d9565b541638611478565b5050505050608460405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b600081815260676020526040902054611599906001600160a01b031615156111c4565b6000908152606960205260409020546001600160a01b031690565b6001600160a01b038116919033831461163557816115f46116059233600052606a60205260406000209060018060a01b0316600052602052604060002090565b9060ff801983541691151516179055565b60405190151581527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3565b50505050606460405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b1561168457565b5060405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b90610ae992916116f86116f38433611804565b61167d565b6118d7565b60405190602082018281106001600160401b03821117611721575b60405260008252565b611729610a7c565b611718565b9091610ae99260405192602084018481106001600160401b0382111761175b575b60405260008452611768565b611763610a7c565b61174f565b9061178c93929161177c6116f38433611804565b6117878383836118d7565b611b5e565b1561179357565b5060405162461bcd60e51b8152806117ad600482016117b1565b0390fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b6001600160a01b038061181684611211565b16928183169284841494851561184c575b50508315611836575b50505090565b61184291929350611576565b1614388080611830565b6000908152606a602090815260408083206001600160a01b03949094168352929052205460ff1693503880611827565b1561188357565b5060405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b6118fb906118e484611211565b6001600160a01b038281169390918216841461187c565b83169283156119fc576119798261191687846119d39661329d565b611938856119326119268a611211565b6001600160a01b031690565b1461187c565b61195f61194f886000526069602052604060002090565b80546001600160a01b0319169055565b6001600160a01b0316600090815260686020526040902090565b80546000190190556001600160a01b0381166000908152606860205260409020600181540190556119b4856000526067602052604060002090565b80546001600160a01b0319166001600160a01b03909216919091179055565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000604051a4565b505050505050608460405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152fd5b600082815260696020526040902080546001600160a01b0319166001600160a01b0383161790556001600160a01b0380611a8b84611211565b169116907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256000604051a4565b600090815260676020526040902054610ae9906001600160a01b031615156111c4565b908160209103126108b857516109478161091c565b6001600160a01b039182168152911660208201526040810191909152608060608201819052610947929101906109af565b506040513d6000823e3d90fd5b3d15611b59573d90611b3f82610b0a565b91611b4d6040519384610abb565b82523d6000602084013e565b606090565b92909190823b15611c0d57611b91926020926000604051809681958294630a85bd0160e11b9a8b85523360048601611af0565b03926001600160a01b03165af160009181611bed575b50611bdf57505050611bb7611b2e565b80519081611bda57505060405162461bcd60e51b8152806117ad600482016117b1565b602001fd5b6001600160e01b0319161490565b611c06919250611bfd3d82610abb565b3d810190611adb565b9038611ba7565b50505050600190565b611c1f81610e08565b6000526098602052604060002090565b611c3881610e08565b6000526097602052604060002090565b60011115610e1257565b906001811015611c6b575b600052602052604060002090565b611c73610df1565b611c5d565b90611c8b6020928281519485920161097a565b0190565b6020611ca891816040519382858094519384920161097a565b810161013081520301902090565b6001600160a01b0390816002611ccb83611c8f565b015460101c1615611e5b57611cdf90611c8f565b908154611ceb906151d6565b906001830154611cfa906151d6565b92600201548060081c60ff16611d0f9061547a565b91611d1c60ff831661547a565b908260101c16611d2b906153c5565b9160b01c60ff16611d3b81614375565b611d44906151d6565b604051607b60f81b60208201529586959194916021870169113a37b5b2b724b2111d60b11b8152600a01611d7791611c78565b600b60fa1b8152600101671139b1b7b932911d60c11b8152600801611d9b91611c78565b600b60fa1b81526001016e113730b6b2ab32b934b334b2b2111d60891b8152600f01611dc691611c78565b600b60fa1b8152600101711131b7b73a32b73a2b32b934b334b2b2111d60711b8152601201611df491611c78565b600b60fa1b8152600101681137bbb732b9111d1160b91b8152600901611e1991611c78565b61088b60f21b8152600201681139ba30ba3ab9911d60b91b8152600901611e3f91611c78565b607d60f81b815260010103601f19810182526109479082610abb565b5050604051630d436c3560e21b815260049150fd5b6001600160a01b036002611e8383611c8f565b015460101c1615611ea4576002611e9b60ff92611c8f565b015460081c1690565b5050604051630d436c3560e21b8152600490fd5b6001600160a01b036002611ecb83611c8f565b015460101c1615611ea4576001611ee182611c8f565b01611eec8154611f53565b9055611ef781611c8f565b547f3ea1c0fcf71b86fca8f96ccac3cf26fba8983d3bbbe7bd720f1865d67fbaee43611f376001611f2785611c8f565b0154604051918291339683611f6b565b0390a3565b50634e487b7160e01b600052601160045260246000fd5b6001906000198114611f63570190565b611c8b611f3c565b929190611f826020916040865260408601906109af565b930152565b6001600160a01b036002611f9a83611c8f565b015460101c1615611ea4576001611fb082611c8f565b015415611fcd576001611fc282611c8f565b01611eec8154611fe1565b50506040516341f3125f60e11b8152600490fd5b8015611fef575b6000190190565b611ff7611f3c565b611fe8565b90916000549260ff8460081c16158094819561211e575b81156120fe575b501561209e576120409284612037600160ff196000541617600055565b6120855761212c565b61204657565b61205661ff001960005416600055565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a1565b61209961010061ff00196000541617600055565b61212c565b5050505050608460405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b303b15915081612110575b503861201a565b6001915060ff161438612109565b600160ff8216109150612013565b92919061214960ff60005460081c166121448161226e565b61226e565b83516001600160401b038111612261575b61216e81612169606554611234565b6122e6565b602080601f83116001146121cb575090806121ab93926121b896976000926121c0575b50508160011b916000199060031b1c1916176065556123d7565b6121b36125aa565b612724565b610ae9614ecf565b015190503880612191565b90601f198316966121fe60656000527f8ff97419363ffd7000167f130ef7168fbea05faf9251824ca5043f113cc6a7c790565b926000905b8982106122495750509183916001936121ab96956121b8999a10612230575b505050811b016065556123d7565b015160001960f88460031b161c19169055388080612222565b80600185968294968601518155019501930190612203565b612269610a7c565b61215a565b1561227557565b5060405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b8181106122da575050565b600081556001016122cf565b90601f82116122f3575050565b610ae99160656000527f8ff97419363ffd7000167f130ef7168fbea05faf9251824ca5043f113cc6a7c7906020601f840160051c8301931061233d575b601f0160051c01906122cf565b9091508190612330565b90601f8211612354575050565b610ae99160666000527f46501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e94354906020601f840160051c8301931061233d57601f0160051c01906122cf565b9190601f81116123ac57505050565b610ae9926000526020600020906020601f840160051c8301931061233d57601f0160051c01906122cf565b9081516001600160401b0381116124c1575b6123fd816123f8606654611234565b612347565b602080601f8311600114612439575081929360009261242e575b50508160011b916000199060031b1c191617606655565b015190503880612417565b90601f1983169461246c60666000527f46501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e9435490565b926000905b8782106124a9575050836001959610612490575b505050811b01606655565b015160001960f88460031b161c19169055388080612485565b80600185968294968601518155019501930190612471565b6124c9610a7c565b6123e9565b91909182516001600160401b03811161259d575b6124f6816124f08454611234565b8461239d565b602080601f8311600114612532575081929394600092612527575b50508160011b916000199060031b1c1916179055565b015190503880612511565b90601f1983169561254885600052602060002090565b926000905b8882106125855750508360019596971061256c575b505050811b019055565b015160001960f88460031b161c19169055388080612562565b8060018596829496860151815501950193019061254d565b6125a5610a7c565b6124e2565b60006125bc60ff825460081c1661226e565b808052609860209081526040808320336000908152908352819020549192909160ff166126f057808052609883528181203360009081526020919091526040902061260f905b805460ff19166001179055565b808052609783528181206126238154612704565b905581516001815233602082018190527faf048a30703f33a377518eb62cc39bd3a14d6d1a1bb8267dcc440f1bde67b61a949183908690604090a36001825260988152828220336000908152602091909152604090205460ff166126db579181609760019485849552609881526126b1612602338686209060018060a01b0316600052602052604060002090565b85835252206126c08154612704565b90555160018152336020820181905292908060408101611f37565b5050516397b705ed60e01b8152600492509050fd5b50516397b705ed60e01b8152600492509050fd5b6001906001198111611f63570190565b6002906002198111611f63570190565b9061273660ff60005460081c1661226e565b60005b8251811015612783578061274f61277192610e08565b8351811015612776575b61276c60208260051b860101518261279f565b611f53565b612739565b61277e612788565b612759565b509050565b50634e487b7160e01b600052603260045260246000fd5b6040907f6819853ffee8927169953e7bdc42aaba347fb03ff918a45bfccaf88626d90096926127cd82610e08565b8160005260fe6020528083600020558251916127e881610e08565b82526020820152a1565b92968a988a919b929397969b612806612c65565b6101639788549d8e996128198b8a612b36565b5461282390612704565b6101635561283c8a600052610164602052604060002090565b61284688826124ce565b6128538c600183016124ce565b6128608d600283016124ce565b61286d8a600383016124ce565b61287a84600483016124ce565b60058101805462ffffff191662ffffff87161790556000600682015561289e610adc565b908282528360208301526007016128be9060008052602052604060002090565b906128c891612945565b604051988998600160a01b60019003169c339c6128e5998b612a3c565b037fba754491b4e452f016c3b656dfb44a5933d928f4dabae3cf2d65f1a27e4b807291a461291e83600052610165602052604060002090565b80546001600160a01b0319166001600160a01b039092169190911790556109479082612c41565b9080519081516001600160401b038111612a2f575b61296e816129688654611234565b8661239d565b6020928390601f83116001146129ba57918060019492610ae99796946000926129af575b5050600019600383901b1c191690841b1784555b015191016124ce565b015190503880612992565b90601f198316916129d087600052602060002090565b9260005b818110612a1857509260019593928592610ae99998968895106129ff575b505050811b0184556129a6565b015160001960f88460031b161c191690553880806129f2565b9293876001819287860151815501950193016129d4565b612a37610a7c565b61295a565b95612aae610ae99a96612aa062ffffff979b9e9d9b612a92612aca98612a848d6101209f9a612a76612abc9b6101408085528401906109af565b9160208184039101526109af565b8d810360408f0152906109af565b908b820360608d01526109af565b9089820360808b01526109af565b9087820360a08901526109af565b9085820360c08701526109af565b971660e083015215156101008201526001600160a01b03909216910152565b15612af057565b5060405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b6001600160a01b038116908115612bf957600083815260676020526040902054612bcf9190612b71906001600160a01b031615155b15612ae9565b612b79614ef1565b600084815260676020526040902054612b9c906001600160a01b03161515612b6b565b6001600160a01b0381166000908152606860205260409020600181540190556119b4846000526067602052604060002090565b60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef81604051a4565b50505050606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b90610ae99160005261013160205260406000209060ff801983541691151516179055565b6000805260fe6020527f32796e36004994222362c2f9423d5e208bb848170964890784a8d59ed40f50af5434811415612c9b5750565b6024915060405190635f7e28df60e01b82526004820152fd5b600160005260fe6020527f457c8a48b4735f56b938837eb0a8a5f9c55f23c1a85767ce3b65c3e59d3d32b75434811415612c9b5750565b600081815260676020526040902054612d0e906001600160a01b031615156111c4565b612d1781611211565b90600090815261013160205260409160ff838320541661016460205283832092612d7e855193612d4685610a93565b601d85527f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000060208601526001600160a01b03166153c5565b91600385016005860191612dc184612da1612d9c865462ffffff1690565b6154c0565b8a518093819263891c235f60e01b83528c88600482019160048601615112565b038173__$ecf603b2c2aa531f37c90ec146d2a3e91a$__5af4948515613161575b8095613137575b5050612df49061547a565b90600787019060068801549282612e1685809590600052602052604060002090565b93612e2a9190600052602052604060002090565b60010193612e37906151d6565b945462ffffff16612e47906154c0565b8a51607b60f81b602082015267113730b6b2911d1160c11b6021820152998a98919791612e7760298b018361515a565b61088b60f21b81526002016e113232b9b1b934b83a34b7b7111d1160891b8152600f01612ea7906001840161515a565b61088b60f21b8152600201681137bbb732b9111d1160b91b8152600901612ecd91611c78565b61088b60f21b81526002016f1132bc3a32b93730b62fbab936111d1160811b8152601001612efd9160020161515a565b61088b60f21b8152600201681134b6b0b3b2911d1160b91b8152600901612f2391611c78565b61088b60f21b81526002017f226163636573735f706f696e745f6175746f5f617070726f76616c223a0000008152601d01612f5d91611c78565b600b60fa1b81526001016e2261747472696275746573223a205b60881b8152600f017f7b2274726169745f74797065223a2022454e53222c202276616c7565223a22008152601f01612fae9161515a565b62089f4b60ea1b81526003017f7b2274726169745f74797065223a2022436f6d6d69742048617368222c20227681526630b63ab2911d1160c91b6020820152602701612ff99161515a565b62089f4b60ea1b81526003017f7b2274726169745f74797065223a20225265706f7369746f7279222c20227661815265363ab2911d1160d11b60208201526026016130439161515a565b62089f4b60ea1b81526003017f7b2274726169745f74797065223a202256657273696f6e222c202276616c7565815262111d1160e91b602082015260230161308a91611c78565b62089f4b60ea1b81526003017f7b2274726169745f74797065223a2022436f6c6f72222c202276616c7565223a8152601160f91b60208201526021016130cf91611c78565b61227d60f01b8152600201605d60f81b8152600101607d60f81b81526001010391601f199283810182526131039082610abb565b61310c90614fd9565b92519283916020830161311e91611c78565b61312791611c78565b0390810182526109479082610abb565b612df492955090613159913d90823e6131503d82610abb565b3d8101906150b4565b939038612de9565b613169611b21565b612de2565b600081815260676020526040902054613191906001600160a01b031615156111c4565b60005261016460205260409081600020600681015462ffffff6005830154169380516131c8816131c18187611270565b0382610abb565b9481516131dc816131c18160018901611270565b94600461321984516131f5816131c18160028c01611270565b966131c1865161320c816131c18160038701611270565b9796518094819301611270565b9190565b60018110611fef576000190190565b6101635480156132455760018110611fef576000190190565b50506040516327e4ec1b60e21b8152600490fd5b63ffffffff60e01b166380ac58cd60e01b811490811561328c575b811561327e575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b81149150613274565b906132a6614ef1565b6001600160a01b03918216151580806132e6575b156132cb57505050610ae9906132f1565b6132d457505050565b16156132dd5750565b610ae9906132f1565b5082821615156132ba565b8060005260996020526040600020600181548119811161333b575b0190557f8c7eb22d1ba10f86d9249f2a8eb0e3e35b4f0b2f21f92dea9ec25a4d84b20fa06020604051338152a2565b613343611f3c565b61330c565b61335181611211565b6001600160a01b0316331415613487575b600081815260676020526040902054613385906001600160a01b031615156111c4565b8060005260206101648152600260406000200190835180916001600160401b03821161347a575b6133ba826129688654611234565b80601f831160011461340c5750600091613401575b508160011b916000199060031b1c19161790555b6000805160206155c783398151915260405180611f37339582613495565b9050840151386133cf565b9150601f19831661342285600052602060002090565b926000905b8282106134625750509083600194939210613449575b5050811b0190556133e3565b86015160001960f88460031b161c19169055388061343d565b80600185968294968c01518155019501930190613427565b613482610a7c565b6133ac565b613490816134c8565b613362565b9060806109479260408152600b60408201526a195e1d195c9b985b15549360aa1b606082015281602082015201906109af565b600081815260996020908152604080832054609a83528184209084528252808320838052825280832033845290915281205460ff1615613506575050565b604492506040519163158eff0360e21b835260048301526024820152fd5b61352d81611211565b6001600160a01b0316331415613663575b600081815260676020526040902054613561906001600160a01b031615156111c4565b8060005260206101648152600360406000200190835180916001600160401b038211613656575b613596826129688654611234565b80601f83116001146135e857506000916135dd575b508160011b916000199060031b1c19161790555b6000805160206155c783398151915260405180611f37339582613671565b9050840151386135ab565b9150601f1983166135fe85600052602060002090565b926000905b82821061363e5750509083600194939210613625575b5050811b0190556135bf565b86015160001960f88460031b161c191690553880613619565b80600185968294968c01518155019501930190613603565b61365e610a7c565b613588565b61366c816134c8565b61353e565b90608061094792604081526003604082015262454e5360e81b606082015281602082015201906109af565b6136a581611211565b6001600160a01b03163314156137d8575b6000818152606760205260409020546136d9906001600160a01b031615156111c4565b8060005260206101648152604060002090835180916001600160401b0382116137cb575b61370b826129688654611234565b80601f831160011461375d5750600091613752575b508160011b916000199060031b1c19161790555b6000805160206155c783398151915260405180611f373395826137e6565b905084015138613720565b9150601f19831661377385600052602060002090565b926000905b8282106137b3575050908360019493921061379a575b5050811b019055613734565b86015160001960f88460031b161c19169055388061378e565b80600185968294968c01518155019501930190613778565b6137d3610a7c565b6136fd565b6137e1816134c8565b6136b6565b906080610947926040815260046040820152636e616d6560e01b606082015281602082015201906109af565b61381b81611211565b6001600160a01b031633141561394f575b60008181526067602052604090205461384f906001600160a01b031615156111c4565b8060005260206101648152600180604060002001918451906001600160401b038211613942575b613884826129688654611234565b80601f83116001146138d75750819282916000936138cc575b501b916000199060031b1c19161790555b6000805160206155c783398151915260405180611f3733958261395d565b87015192503861389d565b9082601f1981166138ed87600052602060002090565b936000905b87838310613928575050501061390f575b5050811b0190556138ae565b86015160001960f88460031b161c191690553880613903565b8b86015187559095019493840193869350908101906138f2565b61394a610a7c565b613876565b613958816134c8565b61382c565b9060806109479260408152600b60408201526a3232b9b1b934b83a34b7b760a91b606082015281602082015201906109af565b61399981611211565b6001600160a01b0316331415613acf575b6000818152606760205260409020546139cd906001600160a01b031615156111c4565b8060005260206101648152600460406000200190835180916001600160401b038211613ac2575b613a02826129688654611234565b80601f8311600114613a545750600091613a49575b508160011b916000199060031b1c19161790555b6000805160206155c783398151915260405180611f37339582613add565b905084015138613a17565b9150601f198316613a6a85600052602060002090565b926000905b828210613aaa5750509083600194939210613a91575b5050811b019055613a2b565b86015160001960f88460031b161c191690553880613a85565b80600185968294968c01518155019501930190613a6f565b613aca610a7c565b6139f4565b613ad8816134c8565b6139aa565b906080610947926040815260046040820152636c6f676f60e01b606082015281602082015201906109af565b613b1281611211565b6001600160a01b0316331415613bb8575b600081815260676020526040902054613b46906001600160a01b031615156111c4565b600081815261016460205260409020600501805462ffffff191662ffffff841617905562ffffff6040519260408452600560408501526431b7b637b960d91b60608501521660208301527f7a3039988e102050cb4e0b6fe203e58afd9545e192ef2ca50df8d14ee2483e7e60803393a3565b613bc1816134c8565b613b23565b92919092613bd381611211565b6001600160a01b0316331415613d1b575b600081815260676020526040902054613c07906001600160a01b031615156111c4565b80600052602093610164855260046040600020018151956001600160401b038711613d0e575b613c3b876124f08454611234565b80601f8811600114613c9d57509580610ae99697600091613c92575b508160011b916000199060031b1c19161790555b816000805160206155c783398151915260405180613c8a339582613add565b0390a3613b09565b905083015138613c57565b90601f198816613cb284600052602060002090565b926000905b828210613cf6575050918891610ae9989960019410613cdd575b5050811b019055613c6b565b85015160001960f88460031b161c191690553880613cd1565b80600185968294968a01518155019501930190613cb7565b613d16610a7c565b613c2d565b613d24816134c8565b613be4565b90917f1df66319cf29e55bca75419e56e75507b2b443b0a062a59d4b06b8d4dd13ce6b90613d5683611211565b6001600160a01b0316331415613e1a575b600083815260676020526040902054613d8a906001600160a01b031615156111c4565b604090613df082518381018181106001600160401b03821117613e0d575b845286815282602082015285600052610164602052613deb600785600020016006866000200190613dd98254611f53565b80925590600052602052604060002090565b612945565b613df8610adc565b94855260208501525180611f37339582613e28565b613e15610a7c565b613da8565b613e23836134c8565b613d67565b604081526005604082015264189d5a5b1960da1b606082015260808101906020916080838301529160c0820193926000905b60028210613e6a57505050505090565b90919293948380613e87600193607f1989820301865289516109af565b97019201920190939291613e5a565b613e9f81611211565b6001600160a01b03908116331415613fc0576000818392613ebf84611211565b613ec7614ef1565b1615158080613fb9575b8314613fa25750613ee1836132f1565b613eea83611211565b613f0161194f856000526069602052604060002090565b6001600160a01b038116600090815260686020526040902083198154019055613f3761194f856000526067602052604060002090565b167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef82604051a4613f7e6002613f7883600052610164602052604060002090565b01613fda565b613f855750565b613f9d610ae991600052610164602052604060002090565b614055565b613fab57613ee1565b613fb4836132f1565b613ee1565b5082613ed1565b5060249150604051906355d2292f60e11b82526004820152fd5b6109479054611234565b6001600160fe1b038111600116613ffc575b60021b90565b614004611f3c565b613ff6565b6140138154611234565b908161401d575050565b81601f6000931160011461402f575055565b8183526020832061404b91601f0160051c8101906001016122cf565b8160208120915555565b600660009161406381614009565b61406f60018201614009565b61407b60028201614009565b61408760038201614009565b61409360048201614009565b8260058201550155565b6140a681611211565b6001600160a01b0316331415614193576001600160a01b03821660009081527fe66b7f18a15fed257e722ee4e0b46d479842712099771fae6234a4975b3be6fa602052604090205460ff1615614177576140ff81611ab8565b614118826119b483600052610165602052604060002090565b60408051818152600891810191909152673b32b934b334b2b960c11b60608201526001600160a01b03909216602083015233917f967cd1f911fe3c627b223c427ab2e2a18d89bef4a19ba762b552fd5fbc1033aa908060808101611f37565b505060405163070198dd60e51b81526001600482015260249150fd5b905060249150604051906355d2292f60e11b82526004820152fd5b6000818152606760205260409020546141d1906001600160a01b031615156111c4565b600090815261016560205260409020546001600160a01b031690565b6141f5614ef1565b6141fd612cb4565b600081815260676020526040902054614220906001600160a01b031615156111c4565b6001600160a01b03614247600261423685611c8f565b015460101c6001600160a01b031690565b16614360577fb3f4be48c43e81d71721c23e88ed2db7f6782bf8b181c690104db1e31f82bbe890604051817f8140554c907b4ba66a04ea1f43b882cba992d3db4cd5c49298a56402d7b36ca23392806142a088826109d4565b0390a36142bb6102f082600052610131602052604060002090565b1561431557614310906143026142cf610aeb565b828152600060208201819052604082018190526060820152336080820152600160a08201526142fd86611c8f565b61437f565b60405191829133958361445b565b0390a2565b61431090614352614324610aeb565b828152600060208201819052604082018190526060820152336080820152600060a08201526142fd86611c8f565b604051918291339583614437565b505060405163142d0c2f60e11b815260049150fd5b60041115610e1257565b600290825181556020830151600182015501906143ae60408201511515839060ff801983541691151516179055565b6060810151825461ff00191690151560081b61ff00161782556080810151825462010000600160b01b0319811660109290921b62010000600160b01b0316918217845560a09092015161440081614375565b600481101561442a575b62010000600160b81b03199092161760b09190911b60ff60b01b16179055565b614432610df1565b61440a565b6040906144516000939594956060835260608301906109af565b9460208201520152565b6040906144516001939594956060835260608301906109af565b6040906144516003939594956060835260608301906109af565b6040906144516002939594956060835260608301906109af565b6144b1614ef1565b6001600160a01b038060026144c584611c8f565b015460101c1615611e5b5760026144db83611c8f565b015460101c163314156145795761450a60026144f683611c8f565b01805460ff60b01b1916600360b01b179055565b61451381611c8f565b546040517fb3f4be48c43e81d71721c23e88ed2db7f6782bf8b181c690104db1e31f82bbe8339180614546858783614475565b0390a27fef2f6bed86b96d79b41799f5285f73b31274bb303ebe5d55a3cb48c567ab2db060405180611f373395826109d4565b5050604051631851b23d60e01b8152600490fd5b61459681611211565b6001600160a01b0316331415614193576000818152606760205260409020546145c9906001600160a01b031615156111c4565b6145d38282612c41565b6040519160408352601760408401527f616363657373506f696e744175746f417070726f76616c0000000000000000006060840152151560208301527e91a55492d3e3f4e2c9b36ff4134889d9118003521f9d531728503da510b11f60803393a3565b91909161464281611211565b6001600160a01b03163314156147165761465b83611c8f565b81815414156147005760020190614677825460ff9060b01c1690565b61468081614375565b6146ea577fb3f4be48c43e81d71721c23e88ed2db7f6782bf8b181c690104db1e31f82bbe892156146c657815460ff60b01b1916600160b01b1790915561431090614302565b815460ff60b01b1916600160b11b179091556143109060405191829133958361448f565b5050505050600460405163d9e5c51160e01b8152fd5b50505050506004604051636653b1a360e01b8152fd5b91505060249150604051906355d2292f60e11b82526004820152fd5b61473a6147fa565b614743816148a0565b600081815261016560205260409020546001600160a01b03919082163314156147dd5750600261477283611c8f565b015460101c1615611e5b5761479e82600261478c84611c8f565b019060ff801983541691151516179055565b7fe2e598f7ff2dfd4bc3bd989635401b4c56846b7893cb7eace51d099f21e69bff611f376147cb83611c8f565b54604051918291339615159583611f6b565b92505050602491506040519063926e6e9960e01b82526004820152fd5b3360009081527fe66b7f18a15fed257e722ee4e0b46d479842712099771fae6234a4975b3be6fa602052604090205460ff161561483357565b5060405163070198dd60e51b815260016004820152602490fd5b3360009081527fddaeee8e61001dbcfaf4f92c6943552c392a86665d734d3c1905d7b3c23b1b1e602052604090205460ff161561488657565b5060405163070198dd60e51b815260006004820152602490fd5b6001600160a01b0360026148b383611c8f565b015460101c1615611ea4576148c790611c8f565b5490565b6148d36147fa565b6148dc816148a0565b600081815261016560205260409020546001600160a01b03919082163314156147dd5750600261490b83611c8f565b015460101c1615611e5b5761493e82600261492584611c8f565b019061ff00825491151560081b169061ff001916179055565b7f17bd9b465aa0cdc6b308874903e9c38b13f561ecb1f2edaa8bf3969fe603d11c611f376147cb83611c8f565b614973614ef1565b61497b61484d565b61498481610e08565b60008181526098602090815260408083206001600160a01b038616845290915290205460ff16614a45576149b781610e08565b60008181526098602090815260408083206001600160a01b038616845290915290206149e290612602565b6149eb81611c2f565b6149f58154612704565b9055614a0081610e08565b60408051600181523360208201526001600160a01b03909316927faf048a30703f33a377518eb62cc39bd3a14d6d1a1bb8267dcc440f1bde67b61a9181908101611f37565b50506040516397b705ed60e01b815260049150fd5b614a62614ef1565b614a6b81611211565b6001600160a01b03908116331415614b4c57816000526099602052614ab36102f0856102d986610494604060002054609a602052604060002090600052602052604060002090565b614b36577fa4e6ad394cc40a3bae0d24623f88f7bb2e1463d19dab64bafd9985b0bc78211890614b10612602866102d987610494614afb896000526099602052604060002090565b546104858a600052609a602052604060002090565b614b1984611c48565b60408051600181523360208201529190951694819081015b0390a4565b505050505060046040516397b705ed60e01b8152fd5b5091505060249150604051906355d2292f60e11b82526004820152fd5b614b71614ef1565b614b7961484d565b614b90614b8c6102f0846102d985611c16565b1590565b614a4557614b9d81610e08565b801580614c3b575b614c2657614bc3614bb9836102d984611c16565b805460ff19169055565b614bcc81611c2f565b614bd6815461321d565b9055614be181610e08565b60408051600081523360208201526001600160a01b03909316927faf048a30703f33a377518eb62cc39bd3a14d6d1a1bb8267dcc440f1bde67b61a9181908101611f37565b50506040516360ed092b60e01b815260049150fd5b506001614c4782611c2f565b5414614ba5565b614c56614ef1565b614c5f81611211565b6001600160a01b03908116331415614b4c57816000526099602052614caa614b8c6102f0866102d987610494604060002054609a602052604060002090600052602052604060002090565b614b36577fa4e6ad394cc40a3bae0d24623f88f7bb2e1463d19dab64bafd9985b0bc78211890614cf2614bb9866102d987610494614afb896000526099602052604060002090565b614cfb84611c48565b6040805160008152336020820152919095169481908101614b31565b614d1f61484d565b614d27614ef1565b60cc5460ff8160081c1615614d6f5760019060ff19161760cc5560007f07e8f74f605213c41c1a057118d86bca5540e9cf52c351026d0d65e46421aa1a6020604051338152a2565b5050604051635970d9f560e11b8152600490fd5b614d8b61484d565b60cc5460ff811615614dcc5760ff191660cc5560007f07e8f74f605213c41c1a057118d86bca5540e9cf52c351026d0d65e46421aa1a6020604051338152a2565b50506040516355d413dd60e01b8152600490fd5b614de861484d565b60cc549015159060ff8160081c1615158214614e3c5761ff008260081b169061ff0019161760cc557f959581ef17eb8c8936ef9832169bc89dbcd1358765adca8ca81f28b416bb5efa6020604051338152a2565b506024915060405190632e15c5c160e21b82526004820152fd5b90610ae991614e6361484d565b61279f565b614e7061484d565b478060008115614ec6575b600080809381933390f115614eb9575b6040519081527f8c7cdad0d12a8db3e23561b42da6f10c8137914c97beff202213a410e1f520a360203392a2565b614ec1611b21565b614e8b565b506108fc614e7b565b614ee060ff60005460081c1661226e565b60cc805461ffff1916610100179055565b60ff60cc5416614efd57565b506040516306d39fcd60e41b8152600490fd5b60405190606082018281106001600160401b03821117614f80575b604052604082527f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f6040837f4142434445464748494a4b4c4d4e4f505152535455565758595a61626364656660208201520152565b614f88610a7c565b614f2b565b60405190614f9a82610a93565b6008825260203681840137565b90614fb182610b0a565b614fbe6040519182610abb565b8281528092614fcf601f1991610b0a565b0190602036910137565b8051156150ab57614fe8614f10565b61500c615007615002614ffb8551612714565b6003900490565b613fe4565b614fa7565b9160208301918182518301915b828210615059575050506003905106806001146150465760021461503b575090565b603d90600019015390565b50603d9081600019820153600119015390565b9091936004906003809401938451600190603f9082828260121c16880101518553828282600c1c16880101518386015382828260061c1688010151600286015316850101519082015301939190615019565b506109476116fd565b602081830312610914578051906001600160401b03821161090b570181601f820112156109145780516150e681610b0a565b926150f46040519485610abb565b8184526020828401011161090b57610947916020808501910161097a565b9261513e610947959361513061514c94608088526080880190611270565b908682036020880152611270565b908482036040860152611270565b9160608184039101526109af565b60009291815461516981611234565b926001918083169081156151c157506001146151855750505050565b90919293945060005260209081600020906000915b8583106151b0575050505001903880808061129d565b80548584015291830191810161519a565b60ff191684525050500191503880808061129d565b806000917a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008082101561530b575b506d04ee2d6d415b85acef8100000000808310156152fc575b50662386f26fc10000808310156152ed575b506305f5e100808310156152de575b50612710808310156152cf575b5060648210156152bf575b600a809210156152b5575b60019081602161526d828701614fa7565b95860101905b61527f575b5050505090565b600019019083906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a8353049182156152b057919082615273565b615278565b916001019161525c565b9190606460029104910191615251565b60049193920491019138615246565b60089193920491019138615239565b6010919392049101913861522a565b60209193920491019138615218565b6040935081049150386151ff565b6040519061532682610a93565b6007825260203681840137565b602090805115615341570190565b611c8b612788565b602190805160011015615341570190565b90602091805182101561536c57010190565b615374612788565b010190565b1561538057565b50606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b60405190606082018281106001600160401b0382111761546d575b604052602a8252604036602084013760306153fa83615333565b53607861540683615349565b536029905b6001821161541e57610947915015615379565b80600f61545a92166010811015615460575b6f181899199a1a9b1b9c1cb0b131b232b360811b901a615450848661535a565b5360041c91611fe1565b9061540b565b615468612788565b615430565b615475610a7c565b6153e0565b1561549f5760405161548b81610a93565b60048152637472756560e01b602082015290565b6040516154ab81610a93565b600581526466616c736560d81b602082015290565b62ffffff166154cd614f8d565b9060306154d983615333565b5360786154e583615349565b5360079081905b60018211615581576154ff915015615379565b615507615319565b91825115615574575b60236020840153600190815b83811061552a575050505090565b615562906001198111615567575b6001600160f81b031961554d8286018561535a565b511660001a61555c828861535a565b53611f53565b61551c565b61556f611f3c565b615538565b61557c612788565b615510565b80600f6155b3921660108110156155b9575b6f181899199a1a9b1b9c1cb0b131b232b360811b901a615450848761535a565b906154ec565b6155c1612788565b61559356fe0eef1ffa5f2982ad38bb9f5022d2ac4c29b22af1469b6ed4f49176c737d74a18a36469706673582212202f0779215aad43d1450e511f6c450bd364e85e6cc1862e13ca70e0ca80fcebb06c6578706572696d656e74616cf564736f6c634300080c0041",
"metadata": "{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AccessPointAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AccessPointCreationStatusAlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AccessPointNotExistent\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AccessPointScoreCannotBeLower\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ContractIsNotPausable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ContractIsNotPaused\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ContractIsPaused\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidTokenIdForAccessPoint\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MustBeAccessPointOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"MustBeTokenOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"MustBeTokenVerifier\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MustHaveAtLeastOneOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"role\",\"type\":\"uint8\"}],\"name\":\"MustHaveCollectionRole\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"role\",\"type\":\"uint8\"}],\"name\":\"MustHaveTokenRole\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"state\",\"type\":\"bool\"}],\"name\":\"PausableIsSetTo\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"requiredValue\",\"type\":\"uint256\"}],\"name\":\"RequiredPayment\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RoleAlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ThereIsNoTokenMinted\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"enum FleekBilling.Billing\",\"name\":\"key\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"name\":\"BillingChanged\",\"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\":false,\"internalType\":\"enum FleekAccessPoints.AccessPointCreationStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"triggeredBy\",\"type\":\"address\"}],\"name\":\"ChangeAccessPointCreationStatus\",\"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\":true,\"internalType\":\"enum FleekAccessControl.CollectionRoles\",\"name\":\"role\",\"type\":\"uint8\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"byAddress\",\"type\":\"address\"}],\"name\":\"CollectionRoleChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"triggeredBy\",\"type\":\"address\"}],\"name\":\"MetadataUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"triggeredBy\",\"type\":\"address\"}],\"name\":\"MetadataUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint24\",\"name\":\"value\",\"type\":\"uint24\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"triggeredBy\",\"type\":\"address\"}],\"name\":\"MetadataUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string[2]\",\"name\":\"value\",\"type\":\"string[2]\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"triggeredBy\",\"type\":\"address\"}],\"name\":\"MetadataUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"triggeredBy\",\"type\":\"address\"}],\"name\":\"MetadataUpdate\",\"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\":\"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\":\"accessPointAutoApproval\",\"type\":\"bool\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"minter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"}],\"name\":\"NewMint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"isPausable\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"PausableStatusChange\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"isPaused\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"PauseStatusChange\",\"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.TokenRoles\",\"name\":\"role\",\"type\":\"uint8\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"byAddress\",\"type\":\"address\"}],\"name\":\"TokenRoleChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"byAddress\",\"type\":\"address\"}],\"name\":\"TokenRolesCleared\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"byAddress\",\"type\":\"address\"}],\"name\":\"Withdrawn\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"enum FleekBilling.Billing\",\"name\":\"\",\"type\":\"uint8\"}],\"name\":\"_billings\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"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 FleekBilling.Billing\",\"name\":\"key\",\"type\":\"uint8\"}],\"name\":\"getBilling\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getToken\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"uint24\",\"name\":\"\",\"type\":\"uint24\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getTokenVerifier\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum FleekAccessControl.CollectionRoles\",\"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.TokenRoles\",\"name\":\"role\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantTokenRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum FleekAccessControl.CollectionRoles\",\"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.TokenRoles\",\"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\"},{\"internalType\":\"uint256[]\",\"name\":\"initialBillings\",\"type\":\"uint256[]\"}],\"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\":[],\"name\":\"isPausable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isPaused\",\"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\":\"accessPointAutoApproval\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"}],\"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\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"apName\",\"type\":\"string\"}],\"name\":\"removeAccessPoint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum FleekAccessControl.CollectionRoles\",\"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.TokenRoles\",\"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\":\"_apAutoApproval\",\"type\":\"bool\"}],\"name\":\"setAccessPointAutoApproval\",\"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\":\"enum FleekBilling.Billing\",\"name\":\"key\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"setBilling\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"pausable\",\"type\":\"bool\"}],\"name\":\"setPausable\",\"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\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"}],\"name\":\"setTokenVerifier\",\"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\"},{\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdraw\",\"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. - billing for add acess point may be applied. - the contract must be not paused.\"},\"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 be the owner of the token. - the contract must be not paused.\"},\"decreaseAccessPointScore(string)\":{\"details\":\"Decreases the score of a AccessPoint registry if is greater than 0.\"},\"getAccessPointJSON(string)\":{\"details\":\"A view function to gether information about an AccessPoint. It returns a JSON string representing the AccessPoint information.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getBilling(uint8)\":{\"details\":\"Returns the billing value for a given key.\"},\"getLastTokenId()\":{\"details\":\"Returns the last minted tokenId.\"},\"getToken(uint256)\":{\"details\":\"Returns the token metadata associated with the `tokenId`. Returns multiple string and uint values in relation to metadata fields of the App struct. Requirements: - the tokenId must be minted and valid.\"},\"getTokenVerifier(uint256)\":{\"details\":\"Returns the verifier of a token. Requirements: - the tokenId must be minted and valid.\"},\"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.\"},\"initialize(string,string,uint256[])\":{\"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.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"isPausable()\":{\"details\":\"Returns true if the contract is pausable, and false otherwise.\"},\"isPaused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"},\"mint(address,string,string,string,string,string,string,string,uint24,bool,address)\":{\"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. - billing for the minting may be applied. - the contract must be not paused.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"pause()\":{\"details\":\"Sets the contract to paused state. Requirements: - the sender must have the `controller` role. - the contract must be pausable. - the contract must be not paused.\"},\"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. - the contract must be not paused.\"},\"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}.\"},\"setAccessPointAutoApproval(uint256,bool)\":{\"details\":\"Updates the `accessPointAutoApproval` settings on minted `tokenId`. May emit a {MetadataUpdate} 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}.\"},\"setBilling(uint8,uint256)\":{\"details\":\"Sets the billing value for a given key. May emit a {BillingChanged} event. Requirements: - the sender must have the `collectionOwner` role.\"},\"setPausable(bool)\":{\"details\":\"Sets the contract to pausable state. Requirements: - the sender must have the `owner` role. - the contract must be in the oposite pausable state.\"},\"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.\"},\"setTokenVerifier(uint256,address)\":{\"details\":\"Sets an address as verifier of a token. The verifier must have `CollectionRoles.Verifier` role. May emit a {MetadataUpdate} event. Requirements: - the tokenId must be minted and valid. - the sender must be the owner of the token. - the verifier must have `CollectionRoles.Verifier` 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}.\"},\"unpause()\":{\"details\":\"Sets the contract to unpaused state. Requirements: - the sender must have the `controller` role. - the contract must be paused.\"},\"withdraw()\":{\"details\":\"Withdraws all the funds from contract. May emmit a {Withdrawn} event. Requirements: - the sender must have the `collectionOwner` role.\"}},\"version\":1},\"userdoc\":{\"events\":{\"MetadataUpdate(uint256,string,string,address)\":{\"notice\":\"Event emitted when a token's metadata is updated.\"}},\"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/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xab28a56179c1db258c9bf5235b382698cb650debecb51b23d12be9e241374b68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://daae589a9d6fa7e55f99f86c0a16796ca490f243fb3693632c3711c0646c1d56\",\"dweb:/ipfs/QmR3zpd7wNw3rcUdekwiv6FYHJqksuTCXLVioTxu6Fbxk3\"]},\"@openzeppelin/contracts/utils/Base64.sol\":{\"keccak256\":\"0x5f3461639fe20794cfb4db4a6d8477388a15b2e70a018043084b7c4bedfa8136\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77e5309e2cc4cdc3395214edb0ff43ff5a5f7373f5a425383e540f6fab530f96\",\"dweb:/ipfs/QmTV8DZ9knJDa3b5NPBFQqjvTzodyZVjRUg5mx5A99JPLJ\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]},\"contracts/FleekAccessControl.sol\":{\"keccak256\":\"0xdd0352b2e9e1a7393cb85a85efb7135cc5c0d5365ee156ca78eda2c82113b6f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb62245b17047d2261afb923ffb7592cc54c78cad599828deb3342e4e6de6c99\",\"dweb:/ipfs/QmRfsz1x2dh4fx78KizNXLMjfisgvzGkizbpAasqzZvggr\"]},\"contracts/FleekAccessPoints.sol\":{\"keccak256\":\"0xa74f4f1af3f7100dde68c4824784a93927191c72f00416f96dded39b36cd43cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6aee8dc6e13e77cec72fbfadee051aad02ab25848646cda7f5a57a89126ea729\",\"dweb:/ipfs/QmWk9raFrRkASBmmZ3Ng9a5HyHYUbjfxEJKhdqwfR2WmL9\"]},\"contracts/FleekBilling.sol\":{\"keccak256\":\"0x6fed8b7faba37011bd15b0bc395ca40e24a85499dec167de6942acabc5407d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a1f71b1173e8cd21e14e44e97a1add07d1f08115aa2a4053e40aacfbbc270a19\",\"dweb:/ipfs/QmSej6eRfhhL84SMMFrPJWesTUhMRc4HSTY85b2zAKzzhs\"]},\"contracts/FleekERC721.sol\":{\"keccak256\":\"0xa3983a828ea8b47ff27eb2739cd460f22b9e48b1b528352dc950175508ffd3cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98ae63d6535f37d78c5351d43d98675e5045c6217e478e13123bcd47506bf094\",\"dweb:/ipfs/Qma4BdEwAajK3tTTMGRJc9tvLN218wcsLoQfEu8M94mnLT\"]},\"contracts/FleekPausable.sol\":{\"keccak256\":\"0x4d172714ea6231b283f96cb8e355cc9f5825e01039aa5a521e7a29bcb3ccd1cb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f099c1af04b71bf43bb34fe8413dffb51a8962f91fd99d61693160c3272bd58\",\"dweb:/ipfs/QmWQe9XyVeD955es4fgbHJuSDNZuqsdTCSDMrfJvioZCdj\"]},\"contracts/IERCX.sol\":{\"keccak256\":\"0x7afe1e845aa2c43bb00b5d1612e913507a8ff98d973c52d9f3884896162bc60c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://add2ab3df569f36460b72b4dd465dc453c2dfd7e0cff38cec710b794d454bbdf\",\"dweb:/ipfs/QmXmK8cyUPKRH9Am9P85S9iw7KqMkh4dgp2DBagUJc5Hen\"]},\"contracts/util/FleekSVG.sol\":{\"keccak256\":\"0x9d52d0defd643999776563c3ac36f084ae5a04a22c76ec316a0aadf6666c3c9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87bc5cca5451b7b8f3986dec26087857fe0f09505116536efad370172fe731a3\",\"dweb:/ipfs/QmZmDxPG8BUUjrVD92T2dktcuFQBxvHgMEnWx5aPBcSfrA\"]},\"contracts/util/FleekStrings.sol\":{\"keccak256\":\"0x8e33068360a9dae2a7fc41f614ce463448a1ef8a9c01605408bb6df8ed456486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4b7392c591ef6cd1aa8fb018871717c204eb533bb61392f047a48e250b961c42\",\"dweb:/ipfs/Qmc3FAfBPj36egS9xKxsBYMeWMgAYNKtDAyw1eGbdZoZGN\"]}},\"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": 3999,
"contract": "contracts/FleekERC721.sol:FleekERC721",
"label": "_collectionRolesCounter",
"offset": 0,
"slot": "151",
"type": "t_mapping(t_enum(CollectionRoles)3958,t_uint256)"
},
{
"astId": 4007,
"contract": "contracts/FleekERC721.sol:FleekERC721",
"label": "_collectionRoles",
"offset": 0,
"slot": "152",
"type": "t_mapping(t_enum(CollectionRoles)3958,t_mapping(t_address,t_bool))"
},
{
"astId": 4012,
"contract": "contracts/FleekERC721.sol:FleekERC721",
"label": "_tokenRolesVersion",
"offset": 0,
"slot": "153",
"type": "t_mapping(t_uint256,t_uint256)"
},
{
"astId": 4024,
"contract": "contracts/FleekERC721.sol:FleekERC721",
"label": "_tokenRoles",
"offset": 0,
"slot": "154",
"type": "t_mapping(t_uint256,t_mapping(t_uint256,t_mapping(t_enum(TokenRoles)3960,t_mapping(t_address,t_bool))))"
},
{
"astId": 4357,
"contract": "contracts/FleekERC721.sol:FleekERC721",
"label": "__gap",
"offset": 0,
"slot": "155",
"type": "t_array(t_uint256)49_storage"
},
{
"astId": 6312,
"contract": "contracts/FleekERC721.sol:FleekERC721",
"label": "_paused",
"offset": 0,
"slot": "204",
"type": "t_bool"
},
{
"astId": 6314,
"contract": "contracts/FleekERC721.sol:FleekERC721",
"label": "_canPause",
"offset": 1,
"slot": "204",
"type": "t_bool"
},
{
"astId": 6465,
"contract": "contracts/FleekERC721.sol:FleekERC721",
"label": "__gap",
"offset": 0,
"slot": "205",
"type": "t_array(t_uint256)49_storage"
},
{
"astId": 4946,
"contract": "contracts/FleekERC721.sol:FleekERC721",
"label": "_billings",
"offset": 0,
"slot": "254",
"type": "t_mapping(t_enum(Billing)4925,t_uint256)"
},
{
"astId": 5074,
"contract": "contracts/FleekERC721.sol:FleekERC721",
"label": "__gap",
"offset": 0,
"slot": "255",
"type": "t_array(t_uint256)49_storage"
},
{
"astId": 4462,
"contract": "contracts/FleekERC721.sol:FleekERC721",
"label": "_accessPoints",
"offset": 0,
"slot": "304",
"type": "t_mapping(t_string_memory_ptr,t_struct(AccessPoint)4457_storage)"
},
{
"astId": 4466,
"contract": "contracts/FleekERC721.sol:FleekERC721",
"label": "_autoApproval",
"offset": 0,
"slot": "305",
"type": "t_mapping(t_uint256,t_bool)"
},
{
"astId": 4912,
"contract": "contracts/FleekERC721.sol:FleekERC721",
"label": "__gap",
"offset": 0,
"slot": "306",
"type": "t_array(t_uint256)49_storage"
},
{
"astId": 5163,
"contract": "contracts/FleekERC721.sol:FleekERC721",
"label": "_appIds",
"offset": 0,
"slot": "355",
"type": "t_uint256"
},
{
"astId": 5168,
"contract": "contracts/FleekERC721.sol:FleekERC721",
"label": "_apps",
"offset": 0,
"slot": "356",
"type": "t_mapping(t_uint256,t_struct(Token)6538_storage)"
},
{
"astId": 5172,
"contract": "contracts/FleekERC721.sol:FleekERC721",
"label": "_tokenVerifier",
"offset": 0,
"slot": "357",
"type": "t_mapping(t_uint256,t_address)"
}
],
"types": {
"t_address": {
"encoding": "inplace",
"label": "address",
"numberOfBytes": "20"
},
"t_array(t_uint256)44_storage": {
"base": "t_uint256",
"encoding": "inplace",
"label": "uint256[44]",
"numberOfBytes": "1408"
},
"t_array(t_uint256)49_storage": {
"base": "t_uint256",
"encoding": "inplace",
"label": "uint256[49]",
"numberOfBytes": "1568"
},
"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(AccessPointCreationStatus)4443": {
"encoding": "inplace",
"label": "enum FleekAccessPoints.AccessPointCreationStatus",
"numberOfBytes": "1"
},
"t_enum(Billing)4925": {
"encoding": "inplace",
"label": "enum FleekBilling.Billing",
"numberOfBytes": "1"
},
"t_enum(CollectionRoles)3958": {
"encoding": "inplace",
"label": "enum FleekAccessControl.CollectionRoles",
"numberOfBytes": "1"
},
"t_enum(TokenRoles)3960": {
"encoding": "inplace",
"label": "enum FleekAccessControl.TokenRoles",
"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(Billing)4925,t_uint256)": {
"encoding": "mapping",
"key": "t_enum(Billing)4925",
"label": "mapping(enum FleekBilling.Billing => uint256)",
"numberOfBytes": "32",
"value": "t_uint256"
},
"t_mapping(t_enum(CollectionRoles)3958,t_mapping(t_address,t_bool))": {
"encoding": "mapping",
"key": "t_enum(CollectionRoles)3958",
"label": "mapping(enum FleekAccessControl.CollectionRoles => mapping(address => bool))",
"numberOfBytes": "32",
"value": "t_mapping(t_address,t_bool)"
},
"t_mapping(t_enum(CollectionRoles)3958,t_uint256)": {
"encoding": "mapping",
"key": "t_enum(CollectionRoles)3958",
"label": "mapping(enum FleekAccessControl.CollectionRoles => uint256)",
"numberOfBytes": "32",
"value": "t_uint256"
},
"t_mapping(t_enum(TokenRoles)3960,t_mapping(t_address,t_bool))": {
"encoding": "mapping",
"key": "t_enum(TokenRoles)3960",
"label": "mapping(enum FleekAccessControl.TokenRoles => mapping(address => bool))",
"numberOfBytes": "32",
"value": "t_mapping(t_address,t_bool)"
},
"t_mapping(t_string_memory_ptr,t_struct(AccessPoint)4457_storage)": {
"encoding": "mapping",
"key": "t_string_memory_ptr",
"label": "mapping(string => struct FleekAccessPoints.AccessPoint)",
"numberOfBytes": "32",
"value": "t_struct(AccessPoint)4457_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_bool)": {
"encoding": "mapping",
"key": "t_uint256",
"label": "mapping(uint256 => bool)",
"numberOfBytes": "32",
"value": "t_bool"
},
"t_mapping(t_uint256,t_mapping(t_enum(TokenRoles)3960,t_mapping(t_address,t_bool)))": {
"encoding": "mapping",
"key": "t_uint256",
"label": "mapping(uint256 => mapping(enum FleekAccessControl.TokenRoles => mapping(address => bool)))",
"numberOfBytes": "32",
"value": "t_mapping(t_enum(TokenRoles)3960,t_mapping(t_address,t_bool))"
},
"t_mapping(t_uint256,t_mapping(t_uint256,t_mapping(t_enum(TokenRoles)3960,t_mapping(t_address,t_bool))))": {
"encoding": "mapping",
"key": "t_uint256",
"label": "mapping(uint256 => mapping(uint256 => mapping(enum FleekAccessControl.TokenRoles => mapping(address => bool))))",
"numberOfBytes": "32",
"value": "t_mapping(t_uint256,t_mapping(t_enum(TokenRoles)3960,t_mapping(t_address,t_bool)))"
},
"t_mapping(t_uint256,t_struct(Build)6518_storage)": {
"encoding": "mapping",
"key": "t_uint256",
"label": "mapping(uint256 => struct IERCX.Build)",
"numberOfBytes": "32",
"value": "t_struct(Build)6518_storage"
},
"t_mapping(t_uint256,t_struct(Token)6538_storage)": {
"encoding": "mapping",
"key": "t_uint256",
"label": "mapping(uint256 => struct IERCX.Token)",
"numberOfBytes": "32",
"value": "t_struct(Token)6538_storage"
},
"t_mapping(t_uint256,t_uint256)": {
"encoding": "mapping",
"key": "t_uint256",
"label": "mapping(uint256 => uint256)",
"numberOfBytes": "32",
"value": "t_uint256"
},
"t_string_memory_ptr": {
"encoding": "bytes",
"label": "string",
"numberOfBytes": "32"
},
"t_string_storage": {
"encoding": "bytes",
"label": "string",
"numberOfBytes": "32"
},
"t_struct(AccessPoint)4457_storage": {
"encoding": "inplace",
"label": "struct FleekAccessPoints.AccessPoint",
"members": [
{
"astId": 4445,
"contract": "contracts/FleekERC721.sol:FleekERC721",
"label": "tokenId",
"offset": 0,
"slot": "0",
"type": "t_uint256"
},
{
"astId": 4447,
"contract": "contracts/FleekERC721.sol:FleekERC721",
"label": "score",
"offset": 0,
"slot": "1",
"type": "t_uint256"
},
{
"astId": 4449,
"contract": "contracts/FleekERC721.sol:FleekERC721",
"label": "contentVerified",
"offset": 0,
"slot": "2",
"type": "t_bool"
},
{
"astId": 4451,
"contract": "contracts/FleekERC721.sol:FleekERC721",
"label": "nameVerified",
"offset": 1,
"slot": "2",
"type": "t_bool"
},
{
"astId": 4453,
"contract": "contracts/FleekERC721.sol:FleekERC721",
"label": "owner",
"offset": 2,
"slot": "2",
"type": "t_address"
},
{
"astId": 4456,
"contract": "contracts/FleekERC721.sol:FleekERC721",
"label": "status",
"offset": 22,
"slot": "2",
"type": "t_enum(AccessPointCreationStatus)4443"
}
],
"numberOfBytes": "96"
},
"t_struct(Build)6518_storage": {
"encoding": "inplace",
"label": "struct IERCX.Build",
"members": [
{
"astId": 6515,
"contract": "contracts/FleekERC721.sol:FleekERC721",
"label": "commitHash",
"offset": 0,
"slot": "0",
"type": "t_string_storage"
},
{
"astId": 6517,
"contract": "contracts/FleekERC721.sol:FleekERC721",
"label": "gitRepository",
"offset": 0,
"slot": "1",
"type": "t_string_storage"
}
],
"numberOfBytes": "64"
},
"t_struct(Token)6538_storage": {
"encoding": "inplace",
"label": "struct IERCX.Token",
"members": [
{
"astId": 6520,
"contract": "contracts/FleekERC721.sol:FleekERC721",
"label": "name",
"offset": 0,
"slot": "0",
"type": "t_string_storage"
},
{
"astId": 6522,
"contract": "contracts/FleekERC721.sol:FleekERC721",
"label": "description",
"offset": 0,
"slot": "1",
"type": "t_string_storage"
},
{
"astId": 6524,
"contract": "contracts/FleekERC721.sol:FleekERC721",
"label": "externalURL",
"offset": 0,
"slot": "2",
"type": "t_string_storage"
},
{
"astId": 6526,
"contract": "contracts/FleekERC721.sol:FleekERC721",
"label": "ENS",
"offset": 0,
"slot": "3",
"type": "t_string_storage"
},
{
"astId": 6528,
"contract": "contracts/FleekERC721.sol:FleekERC721",
"label": "logo",
"offset": 0,
"slot": "4",
"type": "t_string_storage"
},
{
"astId": 6530,
"contract": "contracts/FleekERC721.sol:FleekERC721",
"label": "color",
"offset": 0,
"slot": "5",
"type": "t_uint24"
},
{
"astId": 6532,
"contract": "contracts/FleekERC721.sol:FleekERC721",
"label": "currentBuild",
"offset": 0,
"slot": "6",
"type": "t_uint256"
},
{
"astId": 6537,
"contract": "contracts/FleekERC721.sol:FleekERC721",
"label": "builds",
"offset": 0,
"slot": "7",
"type": "t_mapping(t_uint256,t_struct(Build)6518_storage)"
}
],
"numberOfBytes": "256"
},
"t_uint24": {
"encoding": "inplace",
"label": "uint24",
"numberOfBytes": "3"
},
"t_uint256": {
"encoding": "inplace",
"label": "uint256",
"numberOfBytes": "32"
},
"t_uint8": {
"encoding": "inplace",
"label": "uint8",
"numberOfBytes": "1"
}
}
}
}