UNPKG

@settlemint/solidity-diamond-bond

Version:

Smart contract set to build an enterprise bond usecase in SettleMint

88 lines (87 loc) 12 kB
{ "_format": "hh-sol-artifact-1", "contractName": "BondReaderFacet", "sourceName": "contracts/facets/BondReaderFacet.sol", "abi": [ { "inputs": [ { "internalType": "uint256", "name": "_bondId", "type": "uint256" } ], "name": "getCouponsDates", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_bondId", "type": "uint256" } ], "name": "getCouponsRates", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getSelectors", "outputs": [ { "internalType": "bytes4[]", "name": "", "type": "bytes4[]" } ], "stateMutability": "pure", "type": "function" } ], "bytecode": "0x608080604052346015576109dc908161001b8239f35b600080fdfe6080604052600436101561001257600080fd5b60003560e01c80634b503f0b1461044e578063a8314de7146101915763c89fa5701461003d57600080fd5b3461018c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018c576100776004356106be565b601c810180549061008782610657565b9161009181610657565b90601f8501946100a18654610657565b9560208201916100b18354610657565b95601e60009201915b858110610113576100e58961010f8a6101018e6100f38d604051978897608089526080890190610587565b908782036020890152610587565b908582036040870152610587565b908382036060850152610587565b0390f35b80610120600192846106a6565b90549060031b1c610131828c610643565b5261013c81856106a6565b90549060031b1c61014d828a610643565b5261015881866106a6565b90549060031b1c610169828d610643565b5261017481876106a6565b90549060031b1c610185828b610643565b52016100ba565b600080fd5b3461018c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018c57601d6101cd6004356106be565b018054906101da82610657565b906101e483610657565b926101ee81610657565b9160005b828110610235576102198561010f866102278a604051958695606087526060870190610587565b908582036020870152610587565b908382036040850152610587565b6201518061024382846106a6565b90549060031b1c049062010bd982019162010bd983126000821290801582169115161761041f57622649650191600062253d8c8412911290801582169115161761041f578160021b60048105830361041f5762023ab19005918262023ab1029062023ab18205840361041f576003820191600060038412911290801582169115161761041f5760046102d692059061098d565b60018101600181126000831290801582169115161761041f5780610fa00290610fa082050361041f5762164b09900590816105b502906105b58205830361041f57600461032492059061098d565b601f8101906000601f8312911290801582169115161761041f578060500260508105820361041f5761098f9005908161098f029061098f8205830361041f57605061037092059061098d565b91600b8205916002810190600060028312911290801582169115161761041f5782600c02600c8105840361041f576103a79161098d565b917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcf860195861360011661041f578560640295606487050361041f576103f26103f792600197610971565b610971565b91610402848a610643565b5261040d838a610643565b526104188287610643565b52016101f2565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b3461018c5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018c5760405161048b6060826105bb565b60028152602081016040368237815115610558577fa8314de700000000000000000000000000000000000000000000000000000000815281516001101561055857907fc89fa5700000000000000000000000000000000000000000000000000000000060408201526040519182916020830190602084525180915260408301919060005b81811061051d575050500390f35b82517fffffffff000000000000000000000000000000000000000000000000000000001684528594506020938401939092019160010161050f565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906020808351928381520192019060005b8181106105a55750505090565b8251845260209384019390920191600101610598565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176105fc57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff81116105fc5760051b60200190565b80518210156105585760209160051b010190565b906106618261062b565b61066e60405191826105bb565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061069c829461062b565b0190602036910137565b80548210156105585760005260206000200190600090565b80816000927a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000081101561090c575b50806d04ee2d6d415b85acef8100000000600a9210156108f1575b662386f26fc100008110156108dd575b6305f5e1008110156108cc575b6127108110156108bd575b60648110156108af575b10156108a4575b600a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602160018501947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06107a861079288610937565b976107a0604051998a6105bb565b808952610937565b013660208801378501015b01917f30313233343536373839616263646566000000000000000000000000000000008282061a835304801561080d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600a91926107b3565b505060405160208101917f73746f726167652e626f6e64000000000000000000000000000000000000000083528181519160005b83811061088c5750508061088692602c920160008382015203017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826105bb565b51902090565b6020828201810151602c878401015285935001610841565b60019091019061073b565b606460029104930192610734565b6127106004910493019261072a565b6305f5e1006008910493019261071f565b662386f26fc1000060109104930192610712565b6d04ee2d6d415b85acef810000000060209104930192610702565b604093507a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000090049050600a6106e7565b67ffffffffffffffff81116105fc57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9190916000838201938412911290801582169115161761041f57565b8181039291600013801582851316918412161761041f5756fea26469706673582212204202e8ea41fcd6aa9bb8d35440de9f0c64686944d9ba2776ef3e8e6e83defa1b64736f6c634300081b0033", "deployedBytecode": "0x6080604052600436101561001257600080fd5b60003560e01c80634b503f0b1461044e578063a8314de7146101915763c89fa5701461003d57600080fd5b3461018c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018c576100776004356106be565b601c810180549061008782610657565b9161009181610657565b90601f8501946100a18654610657565b9560208201916100b18354610657565b95601e60009201915b858110610113576100e58961010f8a6101018e6100f38d604051978897608089526080890190610587565b908782036020890152610587565b908582036040870152610587565b908382036060850152610587565b0390f35b80610120600192846106a6565b90549060031b1c610131828c610643565b5261013c81856106a6565b90549060031b1c61014d828a610643565b5261015881866106a6565b90549060031b1c610169828d610643565b5261017481876106a6565b90549060031b1c610185828b610643565b52016100ba565b600080fd5b3461018c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018c57601d6101cd6004356106be565b018054906101da82610657565b906101e483610657565b926101ee81610657565b9160005b828110610235576102198561010f866102278a604051958695606087526060870190610587565b908582036020870152610587565b908382036040850152610587565b6201518061024382846106a6565b90549060031b1c049062010bd982019162010bd983126000821290801582169115161761041f57622649650191600062253d8c8412911290801582169115161761041f578160021b60048105830361041f5762023ab19005918262023ab1029062023ab18205840361041f576003820191600060038412911290801582169115161761041f5760046102d692059061098d565b60018101600181126000831290801582169115161761041f5780610fa00290610fa082050361041f5762164b09900590816105b502906105b58205830361041f57600461032492059061098d565b601f8101906000601f8312911290801582169115161761041f578060500260508105820361041f5761098f9005908161098f029061098f8205830361041f57605061037092059061098d565b91600b8205916002810190600060028312911290801582169115161761041f5782600c02600c8105840361041f576103a79161098d565b917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcf860195861360011661041f578560640295606487050361041f576103f26103f792600197610971565b610971565b91610402848a610643565b5261040d838a610643565b526104188287610643565b52016101f2565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b3461018c5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018c5760405161048b6060826105bb565b60028152602081016040368237815115610558577fa8314de700000000000000000000000000000000000000000000000000000000815281516001101561055857907fc89fa5700000000000000000000000000000000000000000000000000000000060408201526040519182916020830190602084525180915260408301919060005b81811061051d575050500390f35b82517fffffffff000000000000000000000000000000000000000000000000000000001684528594506020938401939092019160010161050f565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906020808351928381520192019060005b8181106105a55750505090565b8251845260209384019390920191600101610598565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176105fc57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff81116105fc5760051b60200190565b80518210156105585760209160051b010190565b906106618261062b565b61066e60405191826105bb565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061069c829461062b565b0190602036910137565b80548210156105585760005260206000200190600090565b80816000927a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000081101561090c575b50806d04ee2d6d415b85acef8100000000600a9210156108f1575b662386f26fc100008110156108dd575b6305f5e1008110156108cc575b6127108110156108bd575b60648110156108af575b10156108a4575b600a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602160018501947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06107a861079288610937565b976107a0604051998a6105bb565b808952610937565b013660208801378501015b01917f30313233343536373839616263646566000000000000000000000000000000008282061a835304801561080d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600a91926107b3565b505060405160208101917f73746f726167652e626f6e64000000000000000000000000000000000000000083528181519160005b83811061088c5750508061088692602c920160008382015203017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826105bb565b51902090565b6020828201810151602c878401015285935001610841565b60019091019061073b565b606460029104930192610734565b6127106004910493019261072a565b6305f5e1006008910493019261071f565b662386f26fc1000060109104930192610712565b6d04ee2d6d415b85acef810000000060209104930192610702565b604093507a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000090049050600a6106e7565b67ffffffffffffffff81116105fc57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9190916000838201938412911290801582169115161761041f57565b8181039291600013801582851316918412161761041f5756fea26469706673582212204202e8ea41fcd6aa9bb8d35440de9f0c64686944d9ba2776ef3e8e6e83defa1b64736f6c634300081b0033", "linkReferences": {}, "deployedLinkReferences": {} }