UNPKG

@settlemint/solidity-soulbound

Version:

Smart contract set to build an Soulbound token in SettleMint

258 lines 6.91 kB
{ "compiler": { "version": "0.8.27+commit.40a35a09" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "type": "error", "name": "AccessControlBadConfirmation" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bytes32", "name": "neededRole", "type": "bytes32" } ], "type": "error", "name": "AccessControlUnauthorizedAccount" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32", "indexed": true }, { "internalType": "bytes32", "name": "previousAdminRole", "type": "bytes32", "indexed": true }, { "internalType": "bytes32", "name": "newAdminRole", "type": "bytes32", "indexed": true } ], "type": "event", "name": "RoleAdminChanged", "anonymous": false }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32", "indexed": true }, { "internalType": "address", "name": "account", "type": "address", "indexed": true }, { "internalType": "address", "name": "sender", "type": "address", "indexed": true } ], "type": "event", "name": "RoleGranted", "anonymous": false }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32", "indexed": true }, { "internalType": "address", "name": "account", "type": "address", "indexed": true }, { "internalType": "address", "name": "sender", "type": "address", "indexed": true } ], "type": "event", "name": "RoleRevoked", "anonymous": false }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "stateMutability": "view", "type": "function", "name": "getRoleAdmin", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ] }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "grantRole" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "hasRole", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "callerConfirmation", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "renounceRole" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "revokeRole" } ], "devdoc": { "kind": "dev", "methods": { "getRoleAdmin(bytes32)": { "details": "Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {AccessControl-_setRoleAdmin}." }, "grantRole(bytes32,address)": { "details": "Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role." }, "hasRole(bytes32,address)": { "details": "Returns `true` if `account` has been granted `role`." }, "renounceRole(bytes32,address)": { "details": "Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`." }, "revokeRole(bytes32,address)": { "details": "Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role." } }, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@openzeppelin/=node_modules/@openzeppelin/", "erc721a/=node_modules/erc721a/", "forge-std/=lib/forge-std/src/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "enabled": true, "runs": 10000 }, "metadata": { "bytecodeHash": "ipfs" }, "compilationTarget": { "node_modules/@openzeppelin/contracts/access/IAccessControl.sol": "IAccessControl" }, "evmVersion": "cancun", "libraries": {}, "viaIR": true }, "sources": { "node_modules/@openzeppelin/contracts/access/IAccessControl.sol": { "keccak256": "0xbff9f59c84e5337689161ce7641c0ef8e872d6a7536fbc1f5133f128887aba3c", "urls": [ "bzz-raw://b308f882e796f7b79c9502deacb0a62983035c6f6f4e962b319ba6a1f4a77d3d", "dweb:/ipfs/QmaWCW7ahEQqFjwhSUhV7Ae7WhfNvzSpE7DQ58hvEooqPL" ], "license": "MIT" } }, "version": 1 }