UNPKG

@settlemint/solidity-diamond-bond

Version:

Smart contract set to build an enterprise bond usecase in SettleMint

888 lines 25.3 kB
{ "compiler": { "version": "0.8.30+commit.73712a01" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "string", "name": "", "type": "string", "indexed": false } ], "type": "event", "name": "log", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "", "type": "address", "indexed": false } ], "type": "event", "name": "log_address", "anonymous": false }, { "inputs": [ { "internalType": "uint256[]", "name": "val", "type": "uint256[]", "indexed": false } ], "type": "event", "name": "log_array", "anonymous": false }, { "inputs": [ { "internalType": "int256[]", "name": "val", "type": "int256[]", "indexed": false } ], "type": "event", "name": "log_array", "anonymous": false }, { "inputs": [ { "internalType": "address[]", "name": "val", "type": "address[]", "indexed": false } ], "type": "event", "name": "log_array", "anonymous": false }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes", "indexed": false } ], "type": "event", "name": "log_bytes", "anonymous": false }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32", "indexed": false } ], "type": "event", "name": "log_bytes32", "anonymous": false }, { "inputs": [ { "internalType": "int256", "name": "", "type": "int256", "indexed": false } ], "type": "event", "name": "log_int", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "address", "name": "val", "type": "address", "indexed": false } ], "type": "event", "name": "log_named_address", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "uint256[]", "name": "val", "type": "uint256[]", "indexed": false } ], "type": "event", "name": "log_named_array", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "int256[]", "name": "val", "type": "int256[]", "indexed": false } ], "type": "event", "name": "log_named_array", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "address[]", "name": "val", "type": "address[]", "indexed": false } ], "type": "event", "name": "log_named_array", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "bytes", "name": "val", "type": "bytes", "indexed": false } ], "type": "event", "name": "log_named_bytes", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "bytes32", "name": "val", "type": "bytes32", "indexed": false } ], "type": "event", "name": "log_named_bytes32", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "int256", "name": "val", "type": "int256", "indexed": false }, { "internalType": "uint256", "name": "decimals", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_named_decimal_int", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "uint256", "name": "val", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "decimals", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_named_decimal_uint", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "int256", "name": "val", "type": "int256", "indexed": false } ], "type": "event", "name": "log_named_int", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "string", "name": "val", "type": "string", "indexed": false } ], "type": "event", "name": "log_named_string", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "uint256", "name": "val", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_named_uint", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "", "type": "string", "indexed": false } ], "type": "event", "name": "log_string", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_uint", "anonymous": false }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes", "indexed": false } ], "type": "event", "name": "logs", "anonymous": false }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "IS_TEST", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "excludeArtifacts", "outputs": [ { "internalType": "string[]", "name": "excludedArtifacts_", "type": "string[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "excludeContracts", "outputs": [ { "internalType": "address[]", "name": "excludedContracts_", "type": "address[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "excludeSelectors", "outputs": [ { "internalType": "struct StdInvariant.FuzzSelector[]", "name": "excludedSelectors_", "type": "tuple[]", "components": [ { "internalType": "address", "name": "addr", "type": "address" }, { "internalType": "bytes4[]", "name": "selectors", "type": "bytes4[]" } ] } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "excludeSenders", "outputs": [ { "internalType": "address[]", "name": "excludedSenders_", "type": "address[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "failed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "setUp" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "targetArtifactSelectors", "outputs": [ { "internalType": "struct StdInvariant.FuzzArtifactSelector[]", "name": "targetedArtifactSelectors_", "type": "tuple[]", "components": [ { "internalType": "string", "name": "artifact", "type": "string" }, { "internalType": "bytes4[]", "name": "selectors", "type": "bytes4[]" } ] } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "targetArtifacts", "outputs": [ { "internalType": "string[]", "name": "targetedArtifacts_", "type": "string[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "targetContracts", "outputs": [ { "internalType": "address[]", "name": "targetedContracts_", "type": "address[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "targetInterfaces", "outputs": [ { "internalType": "struct StdInvariant.FuzzInterface[]", "name": "targetedInterfaces_", "type": "tuple[]", "components": [ { "internalType": "address", "name": "addr", "type": "address" }, { "internalType": "string[]", "name": "artifacts", "type": "string[]" } ] } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "targetSelectors", "outputs": [ { "internalType": "struct StdInvariant.FuzzSelector[]", "name": "targetedSelectors_", "type": "tuple[]", "components": [ { "internalType": "address", "name": "addr", "type": "address" }, { "internalType": "bytes4[]", "name": "selectors", "type": "bytes4[]" } ] } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "targetSenders", "outputs": [ { "internalType": "address[]", "name": "targetedSenders_", "type": "address[]" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "testBurn" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "testInitialSupply" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "testMint" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "testPauseAndUnpause" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "testTransfer" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@openzeppelin/=node_modules/@openzeppelin/", "@prb/math/=node_modules/@prb/math/", "forge-std/=lib/forge-std/src/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "enabled": true, "runs": 200 }, "metadata": { "bytecodeHash": "ipfs" }, "compilationTarget": { "test/GenericTokenTest.t.sol": "GenericTokenTest" }, "evmVersion": "cancun", "libraries": {}, "viaIR": true }, "sources": { "contracts/GenericToken.sol": { "keccak256": "0xc6ce45fb65f5e74f887c437b33d6b86348b20bf3a108346628bf30d6aa791e57", "urls": [ "bzz-raw://355dc3cec66bf23453a8f703833103480b73717be2a1ed39065c2e897be54786", "dweb:/ipfs/QmaN7FGBpPPyHRctyXDpSUtMYA6GQjkjNpx2E1n6jrGbEz" ], "license": "FSL-1.1-MIT" }, "lib/forge-std/src/Base.sol": { "keccak256": "0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf", "urls": [ "bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d", "dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs" ], "license": "MIT" }, "lib/forge-std/src/StdAssertions.sol": { "keccak256": "0xac92c13b860c991644592312ddded2cba1ac741360a7b8902e12e9b28b9614ea", "urls": [ "bzz-raw://f910448483ba0902764c5606f40e070b5899ec174de044b057ffa19678f058b5", "dweb:/ipfs/QmNgcS1S1igRY4BhSBaXynoB1BpiRiQzJAeLZyhwFynCZy" ], "license": "MIT" }, "lib/forge-std/src/StdChains.sol": { "keccak256": "0xb2cbca1a6ffa19926c31bad47393a070305c809fe5d88c52214d5c51ce0733c6", "urls": [ "bzz-raw://cf20975cfd9733910305fc8e746c7631c2ab210289aab036cec32f3c530335c7", "dweb:/ipfs/QmYYvVzvAN1uCt8XtDmWo5x2inSVJBYajFexe92rVWEuMf" ], "license": "MIT" }, "lib/forge-std/src/StdCheats.sol": { "keccak256": "0x07852d61fcf2fe5e25fa66e607f52cb97eab8adaf2e3fd4cb8404eb69baee90c", "urls": [ "bzz-raw://ed97c9c7372b77a0b417c1285f631aa1396d8c3104f14b80abd559f305d67d1e", "dweb:/ipfs/QmeHLpi3g9XKLT8z76AF5ofwrXQm2yxPDpWztCZ2wPDW6i" ], "license": "MIT" }, "lib/forge-std/src/StdConstants.sol": { "keccak256": "0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534", "urls": [ "bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc", "dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r" ], "license": "MIT" }, "lib/forge-std/src/StdError.sol": { "keccak256": "0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77", "urls": [ "bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6", "dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj" ], "license": "MIT" }, "lib/forge-std/src/StdInvariant.sol": { "keccak256": "0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d", "urls": [ "bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391", "dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5" ], "license": "MIT" }, "lib/forge-std/src/StdJson.sol": { "keccak256": "0x9de30197a56fe90c443948c3feeb20e9a29e0e9c0b8fa893e8ac4c1344acd589", "urls": [ "bzz-raw://444783bd32a8abfd3fbcf16c5d1cdccef5608b2a9cfddd789fa1b045b077ed2a", "dweb:/ipfs/QmY94NxHDFW1Knxs9GcgFhq2QZQpRXgor4NMamKQ9CCVyp" ], "license": "MIT" }, "lib/forge-std/src/StdMath.sol": { "keccak256": "0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85", "urls": [ "bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6", "dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9" ], "license": "MIT" }, "lib/forge-std/src/StdStorage.sol": { "keccak256": "0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd", "urls": [ "bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc", "dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi" ], "license": "MIT" }, "lib/forge-std/src/StdStyle.sol": { "keccak256": "0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d", "urls": [ "bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8", "dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK" ], "license": "MIT" }, "lib/forge-std/src/StdToml.sol": { "keccak256": "0xab2a75a814f280bfcb4e8bfad9c2108fb3ab29a15cfaf74fa0758594e836ea80", "urls": [ "bzz-raw://9baa5aacc065172569c3b1d12bb42b5b703476690de481c4c11e88acc216da33", "dweb:/ipfs/QmetZcd1KvZHKYMbdKBVNpKHidqYHsWc2A2NZeh5NLow5y" ], "license": "MIT" }, "lib/forge-std/src/StdUtils.sol": { "keccak256": "0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8", "urls": [ "bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a", "dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT" ], "license": "MIT" }, "lib/forge-std/src/Test.sol": { "keccak256": "0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c", "urls": [ "bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4", "dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG" ], "license": "MIT" }, "lib/forge-std/src/Vm.sol": { "keccak256": "0x9a713f54fb97feca432be59f4105779b6041d55f09e814b47e820dabac8a6ffe", "urls": [ "bzz-raw://1b023d74b975d6ec572f2fa88b8310688c223803ef71376667b780188772e1a2", "dweb:/ipfs/QmbxEQvNUBxeSUi1w9Fr1BvmLiUyGwXrSDTfX3sWTY5WXV" ], "license": "MIT OR Apache-2.0" }, "lib/forge-std/src/console.sol": { "keccak256": "0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5", "urls": [ "bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57", "dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP" ], "license": "MIT" }, "lib/forge-std/src/console2.sol": { "keccak256": "0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f", "urls": [ "bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d", "dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ" ], "license": "MIT" }, "lib/forge-std/src/interfaces/IMulticall3.sol": { "keccak256": "0xeb0daba50f85adb160209f03ebf7b3b548e09651aa799087795daf17b1495c7a", "urls": [ "bzz-raw://8b5b356871e51267728d69c662d8d8ce653dd0a8edc47098b6f8064ea1173e28", "dweb:/ipfs/QmRJTAmV68NYGSkDGKrGpsJnEZ8wQF4dDCevXGtNU4RWtQ" ], "license": "MIT" }, "lib/forge-std/src/safeconsole.sol": { "keccak256": "0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11", "urls": [ "bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab", "dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/access/Ownable.sol": { "keccak256": "0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb", "urls": [ "bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6", "dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol": { "keccak256": "0x19fdfb0f3b89a230e7dbd1cf416f1a6b531a3ee5db4da483f946320fc74afc0e", "urls": [ "bzz-raw://3490d794728f5bfecb46820431adaff71ba374141545ec20b650bb60353fac23", "dweb:/ipfs/QmPsfxjVpMcZbpE7BH93DzTpEaktESigEw4SmDzkXuJ4WR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0x86b7b71a6aedefdad89b607378eeab1dcc5389b9ea7d17346d08af01d7190994", "urls": [ "bzz-raw://1dc2db8d94a21eac8efe03adf574c419b08536409b416057a2b5b95cb772c43c", "dweb:/ipfs/QmZfqJCKVU1ScuX2A7s8WZdQEaikwJbDH5JBrBdKTUT4Gu" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2", "urls": [ "bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303", "dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol": { "keccak256": "0x2659248df25e34000ed214b3dc8da2160bc39874c992b477d9e2b1b3283dc073", "urls": [ "bzz-raw://c345af1b0e7ea28d1216d6a04ab28f5534a5229b9edf9ca3cd0e84950ae58d26", "dweb:/ipfs/QmY63jtSrYpLRe8Gj1ep2vMDCKxGNNG3hnNVKBVnrs2nmA" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol": { "keccak256": "0x756aee61d83960d324973de3a64920a02b480efe662b611fb05ea506d844aa55", "urls": [ "bzz-raw://4dfb71ab2f5fcc530226a25bba4d808f4d22a7f383cae4a3be3629ec057b276c", "dweb:/ipfs/QmRzyetUjbr9Gx1pcXYSsE5rz4XypfEbZgmBvZKUNUJQLR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol": { "keccak256": "0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f", "urls": [ "bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e", "dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2", "urls": [ "bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12", "dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Pausable.sol": { "keccak256": "0xdb484371dfbb848cb6f5d70464e9ac9b2900e4164ead76bbce4fef0b44bcc68f", "urls": [ "bzz-raw://f9d6f6f6600a2bec622f699081b58350873b5e63ce05464d17d674a290bb8a7c", "dweb:/ipfs/QmQKVzSQY1PM3Bid4QhgVVZyx6B4Jx7XgaQzLKHj38vJz8" ], "license": "MIT" }, "test/GenericTokenTest.t.sol": { "keccak256": "0xcb965a97225a88edda9678a318469f7bcb489c60ff2eff428451ac36d0921b44", "urls": [ "bzz-raw://678e6154e3c5e848218f3e2eff293714fab4b1e1cb825882f9b06d3fbd829c98", "dweb:/ipfs/Qmdn2uM6tBDsoYLX8Yh5q9i6bUzEzhBEFckMPmcBHRCSdz" ], "license": "MIT" } }, "version": 1 }