UNPKG

@settlemint/solidity-diamond-bond

Version:

Smart contract set to build an enterprise bond usecase in SettleMint

120 lines (119 loc) 12.5 kB
{ "_format": "hh-sol-artifact-1", "contractName": "DiamondLoupeFacet", "sourceName": "contracts/facets/DiamondLoupeFacet.sol", "abi": [ { "inputs": [ { "internalType": "bytes4", "name": "_functionSelector", "type": "bytes4" } ], "name": "facetAddress", "outputs": [ { "internalType": "address", "name": "facetAddress_", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "facetAddresses", "outputs": [ { "internalType": "address[]", "name": "facetAddresses_", "type": "address[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_facet", "type": "address" } ], "name": "facetFunctionSelectors", "outputs": [ { "internalType": "bytes4[]", "name": "_facetFunctionSelectors", "type": "bytes4[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "facets", "outputs": [ { "components": [ { "internalType": "address", "name": "facetAddress", "type": "address" }, { "internalType": "bytes4[]", "name": "functionSelectors", "type": "bytes4[]" } ], "internalType": "struct IDiamondLoupe.Facet[]", "name": "facets_", "type": "tuple[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getSelectors", "outputs": [ { "internalType": "bytes4[]", "name": "", "type": "bytes4[]" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "_interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" } ], "bytecode": "0x608080604052346015576109ae908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146100745780634b503f0b1461006f57806352ef6b2c1461006a5780637a0ed62714610065578063adfca15e146100605763cdffacc61461005b575f80fd5b6106c1565b610603565b6103e6565b610227565b610135565b346100cb57602060ff6100bf610089366100cf565b63ffffffff60e01b165f527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131e60205260405f2090565b54166040519015158152f35b5f80fd5b60209060031901126100cb576004356001600160e01b0319811681036100cb5790565b60206040818301928281528451809452019201905f5b8181106101155750505090565b82516001600160e01b031916845260209384019390920191600101610108565b346100cb575f3660031901126100cb5761014f60c0610730565b600581526020810160a03682378151156101e057637a0ed62760e01b90528051600110156101e0576366ffd66360e11b60408201526101dc906101a0610194826107b4565b6356fe50af60e11b9052565b6101b86101ac826107c4565b6314bbdacb60e21b9052565b6101d06101c4826107d4565b6301ffc9a760e01b9052565b604051918291826100f2565b0390f35b6107a0565b60206040818301928281528451809452019201905f5b8181106102085750505090565b82516001600160a01b03168452602093840193909201916001016101fb565b346100cb575f3660031901126100cb575f5160206109595f395f51905f525461024f81610773565b5f5f925b80841061026b57818352604051806101dc85826101e5565b9061029d61029061028b61027e87610805565b90549060031b1c60e01b90565b6106e6565b546001600160a01b031690565b5f6001600160a01b038216815b8481106102f4575b50506102ea57816102db6102e0926102cc600195886107f1565b6001600160a01b039091169052565b610871565b935b019290610253565b50926001906102e2565b61031d610311610304838a6107f1565b516001600160a01b031690565b6001600160a01b031690565b821461032b576001016102aa565b50505060015f806102b2565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061036957505050505090565b9091929394603f1982820301835285516020606081604085019360018060a01b0381511686520151936040838201528451809452019201905f905b8082106103c3575050506020806001929701930193019193929061035a565b82516001600160e01b0319168452602093840193909201916001909101906103a4565b346100cb575f3660031901126100cb575f5160206109595f395f51905f525461040e81610884565b61041782610773565b915f905f905b8082106104765750505f5b81811061044057818352604051806101dc8582610337565b8061046061045a610453600194886107f1565b5160ff1690565b60ff1690565b602061046c83876107f1565b5101515201610428565b909161048461027e84610805565b610490610290826106e6565b5f806001600160a01b0383165b858210610539575b505061052e5791610512610525926104d36001956104c3858b6107f1565b516001600160a01b039091169052565b6104dc86610773565b60206104e8858b6107f1565b51015261050260206104fa858b6107f1565b5101516107e4565b6001600160e01b03199091169052565b6102db61051f82896107f1565b60019052565b925b019061041d565b505091600190610527565b80610563610311610555858d989c9d9e97969e9b999a9b6107f1565b51516001600160a01b031690565b1461057e576001809a0191929950979692979594939561049d565b505096806105d360ff806105cc610453858e6105c78a9f9e9a9c610502819d9f9e6105ae6105fa9d6020926107f1565b5101516105c161045a61045388886107f1565b906107f1565b6107f1565b16106108e8565b6105f26105eb6105e6610453848d6107f1565b610947565b918a6107f1565b9060ff169052565b60015f806104a5565b346100cb5760203660031901126100cb576004356001600160a01b038116908190036100cb575f5160206109595f395f51905f52545f61064282610773565b915f5b81811061065d57828452604051806101dc86826100f2565b61066681610805565b905460039190911b1c60e01b6001600160a01b03610683826106e6565b54168614610695575b50600101610645565b836106ba916106a760019496886107f1565b6001600160e01b03199091169052610871565b929061068c565b346100cb5760206001600160a01b036106dc61028b366100cf565b5416604051908152f35b63ffffffff60e01b165f527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c60205260405f2090565b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f1916820167ffffffffffffffff81118382101761075657604052565b61071c565b67ffffffffffffffff81116107565760051b60200190565b906107856107808361075b565b610730565b8281528092610796601f199161075b565b0190602036910137565b634e487b7160e01b5f52603260045260245ffd5b8051600210156101e05760600190565b8051600310156101e05760800190565b8051600410156101e05760a00190565b8051156101e05760200190565b80518210156101e05760209160051b010190565b905f5160206109595f395f51905f52548210156101e0575f5160206109595f395f51905f525f52600382901c7fc0d727610ea16241eff4447d08bb1b4595f7d2ec4515282437a13b7d0df4b922019160021b601c1690565b634e487b7160e01b5f52601160045260245ffd5b5f19811461087f5760010190565b61085d565b906108916107808361075b565b82815280926108a2601f199161075b565b015f5b8181106108b157505050565b60405190604082019180831067ffffffffffffffff841117610756576020926040525f8152606083820152828286010152016108a5565b156108ef57565b60405162461bcd60e51b815260206004820152602a60248201527f616d6f756e74206f662066756e6374696f6e2068617320746f206265206c657360448201526973207468616e2032353560b01b6064820152608490fd5b60ff1660ff811461087f576001019056fec8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131da2646970667358221220cf55e6353b0bf0dad6ce6c9795c54ea3f49fd850739840c966c4c3c42c4905ff64736f6c634300081e0033", "deployedBytecode": "0x60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146100745780634b503f0b1461006f57806352ef6b2c1461006a5780637a0ed62714610065578063adfca15e146100605763cdffacc61461005b575f80fd5b6106c1565b610603565b6103e6565b610227565b610135565b346100cb57602060ff6100bf610089366100cf565b63ffffffff60e01b165f527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131e60205260405f2090565b54166040519015158152f35b5f80fd5b60209060031901126100cb576004356001600160e01b0319811681036100cb5790565b60206040818301928281528451809452019201905f5b8181106101155750505090565b82516001600160e01b031916845260209384019390920191600101610108565b346100cb575f3660031901126100cb5761014f60c0610730565b600581526020810160a03682378151156101e057637a0ed62760e01b90528051600110156101e0576366ffd66360e11b60408201526101dc906101a0610194826107b4565b6356fe50af60e11b9052565b6101b86101ac826107c4565b6314bbdacb60e21b9052565b6101d06101c4826107d4565b6301ffc9a760e01b9052565b604051918291826100f2565b0390f35b6107a0565b60206040818301928281528451809452019201905f5b8181106102085750505090565b82516001600160a01b03168452602093840193909201916001016101fb565b346100cb575f3660031901126100cb575f5160206109595f395f51905f525461024f81610773565b5f5f925b80841061026b57818352604051806101dc85826101e5565b9061029d61029061028b61027e87610805565b90549060031b1c60e01b90565b6106e6565b546001600160a01b031690565b5f6001600160a01b038216815b8481106102f4575b50506102ea57816102db6102e0926102cc600195886107f1565b6001600160a01b039091169052565b610871565b935b019290610253565b50926001906102e2565b61031d610311610304838a6107f1565b516001600160a01b031690565b6001600160a01b031690565b821461032b576001016102aa565b50505060015f806102b2565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061036957505050505090565b9091929394603f1982820301835285516020606081604085019360018060a01b0381511686520151936040838201528451809452019201905f905b8082106103c3575050506020806001929701930193019193929061035a565b82516001600160e01b0319168452602093840193909201916001909101906103a4565b346100cb575f3660031901126100cb575f5160206109595f395f51905f525461040e81610884565b61041782610773565b915f905f905b8082106104765750505f5b81811061044057818352604051806101dc8582610337565b8061046061045a610453600194886107f1565b5160ff1690565b60ff1690565b602061046c83876107f1565b5101515201610428565b909161048461027e84610805565b610490610290826106e6565b5f806001600160a01b0383165b858210610539575b505061052e5791610512610525926104d36001956104c3858b6107f1565b516001600160a01b039091169052565b6104dc86610773565b60206104e8858b6107f1565b51015261050260206104fa858b6107f1565b5101516107e4565b6001600160e01b03199091169052565b6102db61051f82896107f1565b60019052565b925b019061041d565b505091600190610527565b80610563610311610555858d989c9d9e97969e9b999a9b6107f1565b51516001600160a01b031690565b1461057e576001809a0191929950979692979594939561049d565b505096806105d360ff806105cc610453858e6105c78a9f9e9a9c610502819d9f9e6105ae6105fa9d6020926107f1565b5101516105c161045a61045388886107f1565b906107f1565b6107f1565b16106108e8565b6105f26105eb6105e6610453848d6107f1565b610947565b918a6107f1565b9060ff169052565b60015f806104a5565b346100cb5760203660031901126100cb576004356001600160a01b038116908190036100cb575f5160206109595f395f51905f52545f61064282610773565b915f5b81811061065d57828452604051806101dc86826100f2565b61066681610805565b905460039190911b1c60e01b6001600160a01b03610683826106e6565b54168614610695575b50600101610645565b836106ba916106a760019496886107f1565b6001600160e01b03199091169052610871565b929061068c565b346100cb5760206001600160a01b036106dc61028b366100cf565b5416604051908152f35b63ffffffff60e01b165f527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c60205260405f2090565b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f1916820167ffffffffffffffff81118382101761075657604052565b61071c565b67ffffffffffffffff81116107565760051b60200190565b906107856107808361075b565b610730565b8281528092610796601f199161075b565b0190602036910137565b634e487b7160e01b5f52603260045260245ffd5b8051600210156101e05760600190565b8051600310156101e05760800190565b8051600410156101e05760a00190565b8051156101e05760200190565b80518210156101e05760209160051b010190565b905f5160206109595f395f51905f52548210156101e0575f5160206109595f395f51905f525f52600382901c7fc0d727610ea16241eff4447d08bb1b4595f7d2ec4515282437a13b7d0df4b922019160021b601c1690565b634e487b7160e01b5f52601160045260245ffd5b5f19811461087f5760010190565b61085d565b906108916107808361075b565b82815280926108a2601f199161075b565b015f5b8181106108b157505050565b60405190604082019180831067ffffffffffffffff841117610756576020926040525f8152606083820152828286010152016108a5565b156108ef57565b60405162461bcd60e51b815260206004820152602a60248201527f616d6f756e74206f662066756e6374696f6e2068617320746f206265206c657360448201526973207468616e2032353560b01b6064820152608490fd5b60ff1660ff811461087f576001019056fec8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131da2646970667358221220cf55e6353b0bf0dad6ce6c9795c54ea3f49fd850739840c966c4c3c42c4905ff64736f6c634300081e0033", "linkReferences": {}, "deployedLinkReferences": {} }