```\nfunction mintOpenInterestDebt(address twTap) external onlyOwner { \n        uint256 usdoSupply = usdoToken.totalSupply();\n\n        // nothing to mint when there's no activity\n        if (usdoSupply > 0) {  \n            // re-compute latest debt\n            uint256 totalUsdoDebt = computeTotalDebt();  \n   \n            //add Origins debt \n            //Origins market doesn't accrue in time but increases totalSupply\n            //and needs to be taken into account here\n            uint256 len = allOriginsMarkets.length;\n            for (uint256 i; i < len; i++) {\n                IMarket market = IMarket(allOriginsMarkets[i]);\n                if (isOriginRegistered[address(market)]) {\n                    (uint256 elastic,) = market.totalBorrow();\n                    totalUsdoDebt += elastic;\n                }\n            }\n \n            //debt should always be > USDO supply\n            if (totalUsdoDebt > usdoSupply) { \n                uint256 _amount = totalUsdoDebt - usdoSupply;\n\n                //mint against the open interest; supply should be fully minted now\n                IUsdo(address(usdoToken)).mint(address(this), _amount);\n\n                //send it to twTap\n                uint256 rewardTokenId = ITwTap(twTap).rewardTokenIndex(address(usdoToken));\n                _distributeOnTwTap(_amount, rewardTokenId, address(usdoToken), ITwTap(twTap));\n            }\n        } \n    }\n```\n