UNPKG

@settlemint/solidity-diamond-bond

Version:

Smart contract set to build an enterprise bond usecase in SettleMint

1,743 lines (1,742 loc) 54.1 kB
{ "compiler": { "version": "0.8.27+commit.40a35a09" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "type": "error", "name": "BondAlreadyInitialized" }, { "inputs": [], "type": "error", "name": "BondAlreadyIssued" }, { "inputs": [], "type": "error", "name": "BondHasNotBeenIssued" }, { "inputs": [], "type": "error", "name": "CampaignAlreadyPaused" }, { "inputs": [], "type": "error", "name": "CampaignIsClosed" }, { "inputs": [], "type": "error", "name": "CampaignIsPaused" }, { "inputs": [], "type": "error", "name": "CampaignNotPaused" }, { "inputs": [], "type": "error", "name": "CannotReserveAfterCampaignEnd" }, { "inputs": [], "type": "error", "name": "CannotReserveBeforeSignupDate" }, { "inputs": [], "type": "error", "name": "CapitalAmortizationFreePeriodDurationIsNotAMultpleOfThree" }, { "inputs": [], "type": "error", "name": "CapitalAmortizationFreePeriodDurationIsNotAMultpleOfTwelve" }, { "inputs": [], "type": "error", "name": "DivideByZero" }, { "inputs": [], "type": "error", "name": "DurationIsNotAMultpleOfThree" }, { "inputs": [], "type": "error", "name": "DurationIsNotAMultpleOfTwelve" }, { "inputs": [], "type": "error", "name": "ExceedingMaxAmountPerInvestor" }, { "inputs": [], "type": "error", "name": "GracePeriodDurationIsNotAMultpleOfThree" }, { "inputs": [], "type": "error", "name": "GracePeriodDurationIsNotAMultpleOfTwelve" }, { "inputs": [], "type": "error", "name": "NoMoreBondsToBuy" }, { "inputs": [], "type": "error", "name": "OldAccountDoesNotHaveEnoughBonds" }, { "inputs": [ { "internalType": "uint256", "name": "x", "type": "uint256" }, { "internalType": "uint256", "name": "y", "type": "uint256" } ], "type": "error", "name": "PRBMath_MulDiv18_Overflow" }, { "inputs": [ { "internalType": "uint256", "name": "x", "type": "uint256" }, { "internalType": "uint256", "name": "y", "type": "uint256" }, { "internalType": "uint256", "name": "denominator", "type": "uint256" } ], "type": "error", "name": "PRBMath_MulDiv_Overflow" }, { "inputs": [ { "internalType": "UD60x18", "name": "x", "type": "uint256" } ], "type": "error", "name": "PRBMath_UD60x18_Exp2_InputTooBig" }, { "inputs": [ { "internalType": "UD60x18", "name": "x", "type": "uint256" } ], "type": "error", "name": "PRBMath_UD60x18_Log_InputTooSmall" }, { "inputs": [ { "internalType": "uint256", "name": "bondId", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "balloonRateNum", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "balloonRateDen", "type": "uint256", "indexed": false } ], "type": "event", "name": "BalloonRateSet", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "bondId", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "coupure", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "interestNum", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "interestDen", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "withholdingTaxNum", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "withholdingTaxDen", "type": "uint256", "indexed": false }, { "internalType": "address", "name": "issuer", "type": "address", "indexed": false } ], "type": "event", "name": "BondInitializedPart1", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "bondId", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "periodicInterestRate", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "netReturn", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "periodicity", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "duration", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "methodOfRepayment", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "maxSupply", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "formOfFinancing", "type": "uint256", "indexed": false } ], "type": "event", "name": "BondInitializedPart2", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "bondId", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "timestamp", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "issuedAmount", "type": "uint256", "indexed": false } ], "type": "event", "name": "BondIssued", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "bondId", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "coupure", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "interestNum", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "interestDen", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "withholdingTaxNum", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "withholdingTaxDen", "type": "uint256", "indexed": false }, { "internalType": "address", "name": "issuer", "type": "address", "indexed": false } ], "type": "event", "name": "BondParametersEditedPart1", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "bondId", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "periodicInterestRate", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "netReturn", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "periodicity", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "duration", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "methodOfRepayment", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "maxSupply", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "formOfFinancing", "type": "uint256", "indexed": false } ], "type": "event", "name": "BondParametersEditedPart2", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "bondTransferId", "type": "string", "indexed": false }, { "internalType": "uint256", "name": "bondId", "type": "uint256", "indexed": false }, { "internalType": "address", "name": "oldAccount", "type": "address", "indexed": false }, { "internalType": "address", "name": "newAccount", "type": "address", "indexed": false }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "BondTransferred", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "bondPurchaseId", "type": "string", "indexed": false }, { "internalType": "uint256", "name": "bondId", "type": "uint256", "indexed": false }, { "internalType": "address", "name": "holder", "type": "address", "indexed": false }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "BondsWithdrawn", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "bondId", "type": "uint256", "indexed": false } ], "type": "event", "name": "CampaignPaused", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "bondId", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "startDate", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "endDate", "type": "uint256", "indexed": false } ], "type": "event", "name": "CampaignStartAndEndDateSet", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "bondId", "type": "uint256", "indexed": false } ], "type": "event", "name": "CampaignUnpaused", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "bondId", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "capitalAmortizationFreePeriodDuration", "type": "uint256", "indexed": false } ], "type": "event", "name": "CapitalAmortizationFreePeriodSet", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "bondId", "type": "uint256", "indexed": false }, { "internalType": "string", "name": "capitalClaimId", "type": "string", "indexed": false }, { "internalType": "uint256", "name": "capitalAmount", "type": "uint256", "indexed": false } ], "type": "event", "name": "CapitalClaimAmountSet", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "bondId", "type": "uint256", "indexed": false }, { "internalType": "uint256[]", "name": "couponDates", "type": "uint256[]", "indexed": false }, { "internalType": "uint256[]", "name": "remainingCapital", "type": "uint256[]", "indexed": false }, { "internalType": "uint256[]", "name": "capitalRepayments", "type": "uint256[]", "indexed": false }, { "internalType": "uint256[]", "name": "grossCouponRates", "type": "uint256[]", "indexed": false }, { "internalType": "uint256[]", "name": "netCouponRates", "type": "uint256[]", "indexed": false } ], "type": "event", "name": "CouponsComputed", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "bondId", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "gracePeriodDuration", "type": "uint256", "indexed": false } ], "type": "event", "name": "GracePeriodSet", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "bondId", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "investorsCount", "type": "uint256", "indexed": false } ], "type": "event", "name": "InvestorsCountChanged", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "bondId", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "issueDate", "type": "uint256", "indexed": false } ], "type": "event", "name": "IssueDateSet", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "bondId", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "minAmount", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "maxAmount", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "maxAmountPerInvestor", "type": "uint256", "indexed": false } ], "type": "event", "name": "MinAndMaxAmountSet", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "bondId", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "periodicInterest", "type": "uint256", "indexed": false } ], "type": "event", "name": "PeriodicInterestRateSet", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "bondId", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "reservedAmount", "type": "uint256", "indexed": false } ], "type": "event", "name": "ReservedAmountChanged", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "bondId", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "revocationsCount", "type": "uint256", "indexed": false } ], "type": "event", "name": "RevocationsCountChanged", "anonymous": false }, { "inputs": [ { "internalType": "struct BondInitParams.BondInit", "name": "bi", "type": "tuple", "components": [ { "internalType": "uint256", "name": "__bondId", "type": "uint256" }, { "internalType": "uint256", "name": "__campaignMinAmount", "type": "uint256" }, { "internalType": "uint256", "name": "__campaignMaxAmount", "type": "uint256" }, { "internalType": "uint256", "name": "__campaignStartDate", "type": "uint256" }, { "internalType": "uint256", "name": "__expectedIssueDate", "type": "uint256" }, { "internalType": "uint256", "name": "__coupure", "type": "uint256" }, { "internalType": "uint256", "name": "__interestNum", "type": "uint256" }, { "internalType": "uint256", "name": "__interestDen", "type": "uint256" }, { "internalType": "uint256", "name": "__withholdingTaxNum", "type": "uint256" }, { "internalType": "uint256", "name": "__withholdingTaxDen", "type": "uint256" }, { "internalType": "uint256", "name": "__balloonRateNum", "type": "uint256" }, { "internalType": "uint256", "name": "__balloonRateDen", "type": "uint256" }, { "internalType": "uint256", "name": "__duration", "type": "uint256" }, { "internalType": "uint256", "name": "__capitalAmortizationDuration", "type": "uint256" }, { "internalType": "uint256", "name": "__gracePeriodDuration", "type": "uint256" }, { "internalType": "uint256", "name": "__maxAmountPerInvestor", "type": "uint256" }, { "internalType": "uint256", "name": "__periodicity", "type": "uint256" }, { "internalType": "uint256", "name": "__formOfFinancing", "type": "uint256" }, { "internalType": "uint256", "name": "__methodOfRepayment", "type": "uint256" }, { "internalType": "address", "name": "__issuer", "type": "address" } ] } ], "stateMutability": "nonpayable", "type": "function", "name": "editBondParameters" }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "getSelectors", "outputs": [ { "internalType": "bytes4[]", "name": "", "type": "bytes4[]" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "getSelectorsOwnership", "outputs": [ { "internalType": "bytes4[]", "name": "", "type": "bytes4[]" } ] }, { "inputs": [ { "internalType": "struct BondInitParams.BondInit", "name": "bi", "type": "tuple", "components": [ { "internalType": "uint256", "name": "__bondId", "type": "uint256" }, { "internalType": "uint256", "name": "__campaignMinAmount", "type": "uint256" }, { "internalType": "uint256", "name": "__campaignMaxAmount", "type": "uint256" }, { "internalType": "uint256", "name": "__campaignStartDate", "type": "uint256" }, { "internalType": "uint256", "name": "__expectedIssueDate", "type": "uint256" }, { "internalType": "uint256", "name": "__coupure", "type": "uint256" }, { "internalType": "uint256", "name": "__interestNum", "type": "uint256" }, { "internalType": "uint256", "name": "__interestDen", "type": "uint256" }, { "internalType": "uint256", "name": "__withholdingTaxNum", "type": "uint256" }, { "internalType": "uint256", "name": "__withholdingTaxDen", "type": "uint256" }, { "internalType": "uint256", "name": "__balloonRateNum", "type": "uint256" }, { "internalType": "uint256", "name": "__balloonRateDen", "type": "uint256" }, { "internalType": "uint256", "name": "__duration", "type": "uint256" }, { "internalType": "uint256", "name": "__capitalAmortizationDuration", "type": "uint256" }, { "internalType": "uint256", "name": "__gracePeriodDuration", "type": "uint256" }, { "internalType": "uint256", "name": "__maxAmountPerInvestor", "type": "uint256" }, { "internalType": "uint256", "name": "__periodicity", "type": "uint256" }, { "internalType": "uint256", "name": "__formOfFinancing", "type": "uint256" }, { "internalType": "uint256", "name": "__methodOfRepayment", "type": "uint256" }, { "internalType": "address", "name": "__issuer", "type": "address" } ] } ], "stateMutability": "nonpayable", "type": "function", "name": "initializeBond" }, { "inputs": [ { "internalType": "address", "name": "_newOwner", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "initializeOwner" }, { "inputs": [ { "internalType": "uint256", "name": "_bondId", "type": "uint256" }, { "internalType": "uint256", "name": "_issueDate", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "issueBond" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "onERC1155BatchReceived", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "onERC1155Received", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_bondId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "pauseCampaign" }, { "inputs": [ { "internalType": "string", "name": "_bondPurchaseId", "type": "string" }, { "internalType": "uint256", "name": "_bondId", "type": "uint256" }, { "internalType": "address", "name": "_buyer", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "rescindReservation" }, { "inputs": [ { "internalType": "string", "name": "_bondPurchaseId", "type": "string" }, { "internalType": "uint256", "name": "_bondId", "type": "uint256" }, { "internalType": "uint256", "name": "_bondAmount", "type": "uint256" }, { "internalType": "address", "name": "_buyer", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "reserve", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_bondId", "type": "uint256" }, { "internalType": "uint256", "name": "_balloonRateNum", "type": "uint256" }, { "internalType": "uint256", "name": "_balloonRateDen", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "setBalloonRate" }, { "inputs": [ { "internalType": "uint256", "name": "_bondId", "type": "uint256" }, { "internalType": "uint256", "name": "_duration", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "setCapitalAmortizationFreeDuration" }, { "inputs": [ { "internalType": "address", "name": "_currencyAddress", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setCurrencyAddress" }, { "inputs": [ { "internalType": "uint256", "name": "_bondId", "type": "uint256" }, { "internalType": "uint256", "name": "_duration", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "setGracePeriodDuration" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "stateMutability": "view", "type": "function", "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "string", "name": "_bondTransferId", "type": "string" }, { "internalType": "uint256", "name": "_bondId", "type": "uint256" }, { "internalType": "address", "name": "_old", "type": "address" }, { "internalType": "address", "name": "_new", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferBond" }, { "inputs": [ { "internalType": "address", "name": "_newOwner", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferOwnership" }, { "inputs": [ { "internalType": "uint256", "name": "_bondId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "unpauseCampaign" }, { "inputs": [ { "internalType": "string", "name": "_bondPurchaseId", "type": "string" }, { "internalType": "uint256", "name": "_bondId", "type": "uint256" }, { "internalType": "address", "name": "holder", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdrawBondsPurchased" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@openzeppelin/=node_modules/@openzeppelin/", "@prb/math/=node_modules/@prb/math/", "eth-gas-reporter/=node_modules/eth-gas-reporter/", "forge-std/=lib/forge-std/src/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "enabled": true, "runs": 10000 }, "metadata": { "bytecodeHash": "ipfs" }, "compilationTarget": { "contracts/facets/BondFacet.sol": "BondFacet" }, "evmVersion": "cancun", "libraries": {}, "viaIR": true }, "sources": { "contracts/facets/BondFacet.sol": { "keccak256": "0xb4e3a61aa4c7851eab5f88cf4f1d7c31cbe45f3ae5a1066ff1cab3ef9e91a123", "urls": [ "bzz-raw://a1cddffe5bae4e1ece66db51110a883a78cfa314e5808000fe541009a321ff1a", "dweb:/ipfs/QmSnsNZLmLWS9dLVzMwuF5rGieL47okb722eZ5xH6Gsjqu" ], "license": "FSL-1.1-MIT" }, "contracts/facets/BondStorage.sol": { "keccak256": "0x309fb35d407d76e4c52f9450ba5ca2a5a33e61f9a6491b0475549b8331063715", "urls": [ "bzz-raw://c3d0d639c7550e1a5ae03a1c8e55af981f7099aef468f23ae2a15772608f83d3", "dweb:/ipfs/QmVLf6By5sfY8S1Vz7XXnEVkEJtZSdZvWe5FAY1sTudRKQ" ], "license": "FSL-1.1-MIT" }, "contracts/facets/ERC1155Facet.sol": { "keccak256": "0x318c66c5f522cdac6907acbc1fbf4033be1b8631796d7589b0c1264a24602644", "urls": [ "bzz-raw://bfe8408141ec71d6b7221a9db0c3e0168551e5b23731138a55128d5288d38218", "dweb:/ipfs/QmU2JNfnD7hCePchoGiWh3tR2RD2n9sQpDA8PvfYtrgDZD" ], "license": "FSL-1.1-MIT" }, "contracts/facets/OwnershipFacet.sol": { "keccak256": "0x0f4b3ddcebde62df41c3646cdb54b3908d94a624c1d8bad46da4ac21b3f6702f", "urls": [ "bzz-raw://73ae296c47d5ce73d2f568c992cf7c3ac612e92f9d144f5a5b8026a97e717c04", "dweb:/ipfs/QmZoBj7ZMd3oUptXw3f9aPJKypN4w7z472C4cgSe8E96Cr" ], "license": null }, "contracts/libraries/BokkyPooBahsDateTimeLibrary.sol": { "keccak256": "0xf4cbf156ed0c40d43ee1bd32de6c025dceefe9679ba54fe98bd2a2c83184a415", "urls": [ "bzz-raw://227ef653e9b0967ab18a6ef9d7ed5c542dde1e6a0f87194d517e9a94ee6a6c1e", "dweb:/ipfs/QmbJTB9YDavU7AeBNBJotP28uxe7k4XrabRpWzgvqVde6x" ], "license": "FSL-1.1-MIT" }, "contracts/libraries/StructBondInit.sol": { "keccak256": "0x7b76e4a8530dd06e68b69a1ecf133fae57662c77297c092359593190c30bbec5", "urls": [ "bzz-raw://88eae8ee0e2a668c3b529bde8215ac5cd1a9b8a63a31c890b002bc9675f90ef6", "dweb:/ipfs/QmTJbJNfyFv2vKqUoXBbNV8vHHhYyfioLVrzKSrL7AqqTx" ], "license": "FSL-1.1-MIT" }, "node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol": { "keccak256": "0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b", "urls": [ "bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b", "dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC1155/IERC1155.sol": { "keccak256": "0x68d6fdbeb467192c3627a46aa7bf5cbb73267363b740abc511f521a5a41a446e", "urls": [ "bzz-raw://7ce608c19d5e917c60f9c8aa3e5f0eb05b326280ac0a235e8bb9a848a3a64a91", "dweb:/ipfs/QmdLPsWQJj7JvRae8MM13GEo4PBXaEFmD4b4heqcyMJNPG" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol": { "keccak256": "0x61a23d601c2ab69dd726ac55058604cbda98e1d728ba31a51c379a3f9eeea715", "urls": [ "bzz-raw://d8cbb06152d82ebdd5ba1d33454e5759492040f309a82637c7e99c948a04fa20", "dweb:/ipfs/QmQQuLr6WSfLu97pMEh6XLefk99TSj9k5Qu1zXGPepwGiK" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0x6ef9389a2c07bc40d8a7ba48914724ab2c108fac391ce12314f01321813e6368", "urls": [ "bzz-raw://b7a5cb39b1e6df68f4dd9a5e76e853d745a74ffb3dfd7df4ae4d2ace6992a171", "dweb:/ipfs/QmPbzKR19rdM8X3PLQjsmHRepUKhvoZnedSR63XyGtXZib" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7", "urls": [ "bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db", "dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol": { "keccak256": "0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330", "urls": [ "bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf", "dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0xaaa1d17c1129b127a4a401db2fbd72960e2671474be3d08cae71ccdc42f7624c", "urls": [ "bzz-raw://cb2f27cd3952aa667e198fba0d9b7bcec52fbb12c16f013c25fe6fb52b29cc0e", "dweb:/ipfs/QmeuohBFoeyDPZA9JNCTEDz3VBfBD4EABWuWXVhHAuEpKR" ], "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/Errors.sol": { "keccak256": "0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123", "urls": [ "bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf", "dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Panic.sol": { "keccak256": "0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a", "urls": [ "bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a", "dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Strings.sol": { "keccak256": "0x44f87e91783e88415bde66f1a63f6c7f0076f2d511548820407d5c95643ac56c", "urls": [ "bzz-raw://13a51bc2b23827744dcf5bad10c69e72528cf015a6fe48c93632cdb2c0eb1251", "dweb:/ipfs/QmZwPA47Yqgje1qtkdEFEja8ntTahMStYzKf5q3JRnaR7d" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol": { "keccak256": "0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa", "urls": [ "bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287", "dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol": { "keccak256": "0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8", "urls": [ "bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621", "dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/math/Math.sol": { "keccak256": "0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea", "urls": [ "bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d", "dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol": { "keccak256": "0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54", "urls": [ "bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8", "dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol": { "keccak256": "0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3", "urls": [ "bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03", "dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ" ], "license": "MIT" }, "node_modules/@prb/math/src/Common.sol": { "keccak256": "0x8225a3898d2f11f585da1fb82234800e9717fa080dbe53d450fd429a3a632e99", "urls": [ "bzz-raw://2dcbf39ca575f68f32f0d1c66391de94082424956e7585e849813966f8c0fc05", "dweb:/ipfs/QmYvk8vXFDUJHrmqbtutYXfoLomLBosYLyBzuPoYBxsQ42" ], "license": "MIT" }, "node_modules/@prb/math/src/UD60x18.sol": { "keccak256": "0xb98c6f74275914d279e8af6c502c2b1f50d5f6e1ed418d3b0153f5a193206c48", "urls": [ "bzz-raw://a750edde2955f160806a51083a12185fb04e20efca0e3a7ebd127dc1acc049a9", "dweb:/ipfs/QmeAre3mThopoQPB9mSXZq6jck59QZ7JbDFR83urd2SLvp" ], "license": "MIT" }, "node_modules/@prb/math/src/sd1x18/Casting.sol": { "keccak256": "0x5d365f655f01598926c5d4fe5cda277f2cc7736fe38f943c11a32009077ddd5c", "urls": [ "bzz-raw://56b378bd6039819bc12e5f17dabd9492e1410b3281f9df496cf8210539101a11", "dweb:/ipfs/QmcMaE64ZWMg9cFhYxdTuG8nfzeDdNuTRHMMoFXi6tSZGu" ], "license": "MIT" }, "node_modules/@prb/math/src/sd1x18/Constants.sol": { "keccak256": "0xc14cc32061863d83912f9616de86f3c34f1ac58614b7d504c6ce07ee8efdb8e8", "urls": [ "bzz-raw://22483b1282dda6a556b0232f008a5a3296bbfd76b1886e6b72bf351b7c554fab", "dweb:/ipfs/QmYX9cYkrFxBbhZNKsb6uUxtrc2chmAj7vuc7UKRPGMwos" ], "license": "MIT" }, "node_modules/@prb/math/src/sd1x18/Errors.sol": { "keccak256": "0xc3c8b1ab3d19889c356c222a3a2186d45dfc1d3a17b9ad88159bb64ee457baa6", "urls": [ "bzz-raw://84fbe57569246403f778330bd7723018dfcb5f0ec50d7b1d82cc983c94a54bca", "dweb:/ipfs/QmWssAAnovc2EVjt58rTnxraE9B1RMivwTvYCYgpnr6oSE" ], "license": "MIT" }, "node_modules/@prb/math/src/sd1x18/ValueType.sol": { "keccak256": "0xaa9dc7b562faf45264390d80e2ea10c5295bb8a4f10d76261a3f9c04363734c0", "urls": [ "bzz-raw://c6ca36acd15f5cb47cf124ddec289f84e1011f2d29056159e4570435629a3353", "dweb:/ipfs/QmUKdiLmZpAkNCq2TKxrPbQPUhiRFXGfjGSnY1VeHVu4y6" ], "license": "MIT" }, "node_modules/@prb/math/src/sd21x18/Casting.sol": { "keccak256": "0x4a16adddb9ab1f6939dd4567c77205015a11081cb840029b84bbb6fdaf78ee36", "urls": [ "bzz-raw://5003b2f4cd2fc1413da36bc63107c6e83a88d29693e8f97b54f300fa78f9c6d2", "dweb:/ipfs/QmaNJn91NLrZmeeGqnFQV1FTrLVSW852zHyWTrWJ5pf1pd" ], "license": "MIT" }, "node_modules/@prb/math/src/sd21x18/Constants.sol": { "keccak256": "0x501c2d5cfdea9450422182059c8df1cb6a859901a07bd59631c3fa24edcc79d4", "urls": [ "bzz-raw://4669a65001c92919671fd879d33ce0e5030b602a7ba4d36bd2308128d8d1f396", "dweb:/ipfs/QmUC3bJ3qdkCmLMw3WHBcEqvuC4tExT2LXzUhgu5KQ3vi3" ], "license": "MIT" }, "node_modules/@prb/math/src/sd21x18/Errors.sol": { "keccak256": "0xc5422ee47eb139274e538e758fb40177a1ba22c2113ef3b3446102f0150bfe0a", "urls": [ "bzz-raw://a1981e052e9e86e1b0e4e55a057a7af4739aedd4ead2d60e3eaa40fb703594ee", "dweb:/ipfs/QmPK5qSujnyk1R8ues4RhDMy1tRKKyjQ31YJTviTKq7GML" ], "license": "MIT" }, "node_modules/@prb/math/src/sd21x18/ValueType.sol": { "keccak256": "0x532bba888370bed393464412f4ef3462d654802e71c953ad02d078e3d2701092", "urls": [ "bzz-raw://922a4e8dd813602f72d165aa1dfdf2c29b971a2abe73bebca7cd81a32ee2c880", "dweb:/ipfs/QmTBAJnx1r3sZpbQAuTgQtsTtvjZbpDwhCJRzkhzUumbdf" ], "license": "MIT" }, "node_modules/@prb/math/src/sd59x18/Casting.sol": { "keccak256": "0xdf70d8e70c6d6325f3f7eb028c484bc7189ef902f1d4b5b220af2e550bb5fc39", "urls": [ "bzz-raw://0b15bcd36129c5cb163d57a117435afb171182018dd6d1e766a5f49cf1f4b63d", "dweb:/ipfs/QmbjzkMBH4FM2rdxGbx9LQ65wVERijNcu7R9C8dQmH3y4n" ], "license": "MIT" }, "node_modules/@prb/math/src/sd59x18/Constants.sol": { "keccak256": "0x9bcb8dd6b3e886d140ad1c32747a4f6d29a492529ceb835be878ae837aa6cc3a", "urls": [ "bzz-raw://c4045c633e3618e7e90a768d92415b2f20f781fe129b4f4e26fa88f7dbf9201f", "dweb:/ipfs/Qmbet95pizwPno82cJ383wJtgQRSQKESmhVZ1vDrgAu7Si" ], "license": "MIT" }, "node_modules/@prb/math/src/sd59x18/Errors.sol": { "keccak256": "0x0a79c28c85fc8a450b0801ff2e66114eac4ec565819f5d1d8738904658fe33e2", "urls": [ "bzz-raw://9e0d4fd3c998019fb8555d9e26c03bec42a8513bdf4185aeac2da3a000abaebf", "dweb:/ipfs/QmahFJHXcX4RwPxaQbUf6LVZEk8NSpjCV3Eif7i9iqC6Mk" ], "license": "MIT" }, "node_modules/@prb/math/src/sd59x18/Helpers.sol": { "keccak256": "0x208570f1657cf730cb6c3d81aa14030e0d45cf906cdedea5059369d7df4bb716", "urls": [ "bzz-raw://4c78ca900edafa9338d4e3649a55ab0c84f76468d8a22fb945ba6d01e70f8fed", "dweb:/ipfs/QmeP4hQYfNxcATd1FsasdD4ebyu2vrC9K1N68swxUJzzZD" ], "license": "MIT" }, "node_modules/@prb/math/src/sd59x18/Math.sol": { "keccak256": "0xd8e8b51db9b3e2fa31a60f6b8ce4ea0112c3364442ede5992aa0aa7a2c925c84", "urls": [ "bzz-raw://3c56913970e34ee7b142047b21f1856a511cbdc3473b7c50418a8490e19cd462", "dweb:/ipfs/QmfG1F9CBDjPYD7NXora9awFfdpvBMY9SCg5pMLCFRv9tD" ], "license": "MIT" }, "node_modules/@prb/math/src/sd59x18/ValueType.sol": { "keccak256": "0x76597ba64d37d66e0178512bc9bbc1a031a7634c45e5d5c6e9da87f46952dc9d", "urls": [ "bzz-raw://36148899ad874814e9292636fb974d2eec61f1bcc0875ec39cf444d70ba40919", "dweb:/ipfs/QmadUe4kH2FPcdxvhCKy8yiezCvPWor4VcPzqLYSAaGDDb" ], "license": "MIT" }, "node_modules/@prb/math/src/ud21x18/Casting.sol": { "keccak256": "0x3821aa57604f6e5b7c9c5c5cc97a6d71116e673cf3fee5f76fcd42b4cefded65", "urls": [ "bzz-raw://a80399c6b38ab45cc10d0a6683d50340cd89d9a085b6d0dcfb81e7c4e5b3ce09", "dweb:/ipfs/QmWNW2YD2LMkqrpAtJYeeuHN329Rx7mvfmrjsCo1p6akTL" ], "license": "MIT" }, "node_modules/@prb/math/src/ud21x18/Constants.sol": { "keccak256": "0x0997574a1ced6c43bde6d9c9175edc5ad64cbb920a0969a9db68eea543747601", "urls": [ "bzz-raw://c09f03345a6779b002b38ffc3954258accbb2b1d0d5506d42c3bd7f117304f60", "dweb:/ipfs/QmTeBXRCE7H2HpqKUNsZN7Nk3rdBnFmbAUFom3E1PJeGuV" ], "license": "MIT" }, "node_modules/@prb/math/src/ud21x18/Errors.sol": { "keccak256": "0x35a1fb789b90f8c90865884d3023deb17fcca5c7146b5ddef823496d835a5415", "urls": [ "bzz-raw://0af359d07ba25bdc90de7c05ed6216833932caa75d4a02fcfc51ceeaba5a4e80", "dweb:/ipfs/QmavBFw73Xfp1qJiN6P1gk2Dfr8ByWo3dyCPVgDHtko2gq" ], "license": "MIT" }, "node_modules/@prb/math/src/ud21x18/ValueType.sol": { "keccak256": "0x24838b2b1da371b9259d8ee21534a9f0cb5796aba75a4efca2374627952bee25",