@goequitize/rwa-token-sdk
Version:
SDK for creating and managing RWA token transactions with compliance features
425 lines (424 loc) • 21.1 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "Whitelist",
"sourceName": "contracts/Whitelist.sol",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "admin",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "AccessControlBadConfirmation",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "bytes32",
"name": "neededRole",
"type": "bytes32"
}
],
"name": "AccessControlUnauthorizedAccount",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "OwnableInvalidOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "OwnableUnauthorizedAccount",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "AddressRemovedFromWhitelist",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "AddressWhitelisted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "previousAdminRole",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "newAdminRole",
"type": "bytes32"
}
],
"name": "RoleAdminChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "RoleGranted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "RoleRevoked",
"type": "event"
},
{
"inputs": [],
"name": "DEFAULT_ADMIN_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "WHITELIST_ADMIN",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "_whitelisted",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "addWhitelistAccount",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
}
],
"name": "getRoleAdmin",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "grantRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "hasRole",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "isWhitelisted",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "removeWhitelistAccount",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "callerConfirmation",
"type": "address"
}
],
"name": "renounceRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "revokeRole",
"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": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x608060405234801561001057600080fd5b506040516109f53803806109f583398101604081905261002f9161019a565b338061005557604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b61005e8161009c565b5061006a6000826100ee565b506100957f9cc798953f1657230a000cfd0cfb877f321fc37733bbdaba923c800c0f6f63b6826100ee565b50506101ca565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000828152602081815260408083206001600160a01b038516845290915281205460ff16610190576000838152602081815260408083206001600160a01b03861684529091529020805460ff191660011790556101483390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4506001610194565b5060005b92915050565b6000602082840312156101ac57600080fd5b81516001600160a01b03811681146101c357600080fd5b9392505050565b61081c806101d96000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063715018a611610097578063bbcb96cd11610066578063bbcb96cd1461021b578063d547741f1461022e578063f2fde38b14610241578063f58af7db1461025457600080fd5b8063715018a6146101dd5780638da5cb5b146101e557806391d1485414610200578063a217fddf1461021357600080fd5b8063248a9ca3116100d3578063248a9ca31461015a5780632f2ff15d1461018b57806336568abe1461019e5780633af32abf146101b157600080fd5b806301c4b316146100fa57806301ffc9a7146101325780631927fe1414610145575b600080fd5b61011d610108366004610755565b60026020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b61011d610140366004610777565b61027b565b610158610153366004610755565b6102b2565b005b61017d6101683660046107a1565b60009081526020819052604090206001015490565b604051908152602001610129565b6101586101993660046107ba565b610397565b6101586101ac3660046107ba565b6103c2565b61011d6101bf366004610755565b6001600160a01b031660009081526002602052604090205460ff1690565b6101586103fa565b6001546040516001600160a01b039091168152602001610129565b61011d61020e3660046107ba565b61040e565b61017d600081565b610158610229366004610755565b610437565b61015861023c3660046107ba565b610513565b61015861024f366004610755565b610538565b61017d7f9cc798953f1657230a000cfd0cfb877f321fc37733bbdaba923c800c0f6f63b681565b60006001600160e01b03198216637965db0b60e01b14806102ac57506301ffc9a760e01b6001600160e01b03198316145b92915050565b7f9cc798953f1657230a000cfd0cfb877f321fc37733bbdaba923c800c0f6f63b66102dc81610576565b6001600160a01b03821660009081526002602052604090205460ff161561034a5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420616c72656164792077686974656c6973746564000000000060448201526064015b60405180910390fd5b6001600160a01b038216600081815260026020526040808220805460ff19166001179055517f4f783c179409b4127238bc9c990bc99b9a651666a0d20b51d6c42849eb88466d9190a25050565b6000828152602081905260409020600101546103b281610576565b6103bc8383610580565b50505050565b6001600160a01b03811633146103eb5760405163334bd91960e11b815260040160405180910390fd5b6103f58282610612565b505050565b61040261067d565b61040c60006106aa565b565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b7f9cc798953f1657230a000cfd0cfb877f321fc37733bbdaba923c800c0f6f63b661046181610576565b6001600160a01b03821660009081526002602052604090205460ff166104c95760405162461bcd60e51b815260206004820152601760248201527f4163636f756e74206e6f742077686974656c69737465640000000000000000006044820152606401610341565b6001600160a01b038216600081815260026020526040808220805460ff19169055517f535611fb62fa2a833988f283b779e417e996813e44046f521d76c17b5943b08c9190a25050565b60008281526020819052604090206001015461052e81610576565b6103bc8383610612565b61054061067d565b6001600160a01b03811661056a57604051631e4fbdf760e01b815260006004820152602401610341565b610573816106aa565b50565b61057381336106fc565b600061058c838361040e565b61060a576000838152602081815260408083206001600160a01b03861684529091529020805460ff191660011790556105c23390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016102ac565b5060006102ac565b600061061e838361040e565b1561060a576000838152602081815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45060016102ac565b6001546001600160a01b0316331461040c5760405163118cdaa760e01b8152336004820152602401610341565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610706828261040e565b6107355760405163e2517d3f60e01b81526001600160a01b038216600482015260248101839052604401610341565b5050565b80356001600160a01b038116811461075057600080fd5b919050565b60006020828403121561076757600080fd5b61077082610739565b9392505050565b60006020828403121561078957600080fd5b81356001600160e01b03198116811461077057600080fd5b6000602082840312156107b357600080fd5b5035919050565b600080604083850312156107cd57600080fd5b823591506107dd60208401610739565b9050925092905056fea264697066735822122018863700254fee87cb243714b9322dff483a21a72e0607215bcba98415f22dae64736f6c63430008160033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c8063715018a611610097578063bbcb96cd11610066578063bbcb96cd1461021b578063d547741f1461022e578063f2fde38b14610241578063f58af7db1461025457600080fd5b8063715018a6146101dd5780638da5cb5b146101e557806391d1485414610200578063a217fddf1461021357600080fd5b8063248a9ca3116100d3578063248a9ca31461015a5780632f2ff15d1461018b57806336568abe1461019e5780633af32abf146101b157600080fd5b806301c4b316146100fa57806301ffc9a7146101325780631927fe1414610145575b600080fd5b61011d610108366004610755565b60026020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b61011d610140366004610777565b61027b565b610158610153366004610755565b6102b2565b005b61017d6101683660046107a1565b60009081526020819052604090206001015490565b604051908152602001610129565b6101586101993660046107ba565b610397565b6101586101ac3660046107ba565b6103c2565b61011d6101bf366004610755565b6001600160a01b031660009081526002602052604090205460ff1690565b6101586103fa565b6001546040516001600160a01b039091168152602001610129565b61011d61020e3660046107ba565b61040e565b61017d600081565b610158610229366004610755565b610437565b61015861023c3660046107ba565b610513565b61015861024f366004610755565b610538565b61017d7f9cc798953f1657230a000cfd0cfb877f321fc37733bbdaba923c800c0f6f63b681565b60006001600160e01b03198216637965db0b60e01b14806102ac57506301ffc9a760e01b6001600160e01b03198316145b92915050565b7f9cc798953f1657230a000cfd0cfb877f321fc37733bbdaba923c800c0f6f63b66102dc81610576565b6001600160a01b03821660009081526002602052604090205460ff161561034a5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420616c72656164792077686974656c6973746564000000000060448201526064015b60405180910390fd5b6001600160a01b038216600081815260026020526040808220805460ff19166001179055517f4f783c179409b4127238bc9c990bc99b9a651666a0d20b51d6c42849eb88466d9190a25050565b6000828152602081905260409020600101546103b281610576565b6103bc8383610580565b50505050565b6001600160a01b03811633146103eb5760405163334bd91960e11b815260040160405180910390fd5b6103f58282610612565b505050565b61040261067d565b61040c60006106aa565b565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b7f9cc798953f1657230a000cfd0cfb877f321fc37733bbdaba923c800c0f6f63b661046181610576565b6001600160a01b03821660009081526002602052604090205460ff166104c95760405162461bcd60e51b815260206004820152601760248201527f4163636f756e74206e6f742077686974656c69737465640000000000000000006044820152606401610341565b6001600160a01b038216600081815260026020526040808220805460ff19169055517f535611fb62fa2a833988f283b779e417e996813e44046f521d76c17b5943b08c9190a25050565b60008281526020819052604090206001015461052e81610576565b6103bc8383610612565b61054061067d565b6001600160a01b03811661056a57604051631e4fbdf760e01b815260006004820152602401610341565b610573816106aa565b50565b61057381336106fc565b600061058c838361040e565b61060a576000838152602081815260408083206001600160a01b03861684529091529020805460ff191660011790556105c23390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016102ac565b5060006102ac565b600061061e838361040e565b1561060a576000838152602081815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45060016102ac565b6001546001600160a01b0316331461040c5760405163118cdaa760e01b8152336004820152602401610341565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610706828261040e565b6107355760405163e2517d3f60e01b81526001600160a01b038216600482015260248101839052604401610341565b5050565b80356001600160a01b038116811461075057600080fd5b919050565b60006020828403121561076757600080fd5b61077082610739565b9392505050565b60006020828403121561078957600080fd5b81356001600160e01b03198116811461077057600080fd5b6000602082840312156107b357600080fd5b5035919050565b600080604083850312156107cd57600080fd5b823591506107dd60208401610739565b9050925092905056fea264697066735822122018863700254fee87cb243714b9322dff483a21a72e0607215bcba98415f22dae64736f6c63430008160033",
"linkReferences": {},
"deployedLinkReferences": {}
}