Skip to content

Latest commit

ย 

History

History
489 lines (437 loc) ยท 25.5 KB

metrics.md

File metadata and controls

489 lines (437 loc) ยท 25.5 KB

NB: This report has been created using Solidity-Metrics

Solidity Metrics for Scoping for ondoprotocol - rwa-internal

Table of contents

Scope

This section lists files that are in scope for the metrics report.

  • Project: Scoping for ondoprotocol - rwa-internal
  • Included Files: 5
  • Excluded Files: 212
  • Project analysed: https://github.com/ondoprotocol/rwa-internal (@1fb114abde88c091bd264a92c8d65a0d37a78069)

Source Units in Scope

Source Units Analyzed: 5
Source Units in Scope: 5 (100%)

Type File Logic Contracts Interfaces Lines nLines SLOC Comment Lines Complex. Score Capabilities
๐Ÿ“ /contracts/ousg/ousg.sol 1 **** 94 81 59 23 41 ๐Ÿงฎ
๐Ÿ“ /contracts/ousg/ousgInstantManager.sol 1 **** 770 689 435 261 284 ๐Ÿ’ฐ๐Ÿ“ค๐Ÿงฎ
๐Ÿ“ /contracts/ousg/ousgManager.sol 1 **** 162 147 94 54 55 ๐Ÿงฎ
๐Ÿ“ /contracts/ousg/rOUSG.sol 1 **** 661 596 305 290 197 ๐Ÿ“ค๐Ÿงฎ
๐Ÿ“ /contracts/ousg/rOUSGFactory.sol 1 **** 153 146 77 66 91 ๐Ÿ’ฐ๐ŸŒ€
๐Ÿ“ Totals 5 **** 1840 1659 970 694 668 ๐Ÿ’ฐ๐Ÿ“ค๐Ÿงฎ๐ŸŒ€
Legend
  • Lines: total lines of the source unit
  • nLines: normalized lines of the source unit (e.g. normalizes functions spanning multiple lines)
  • SLOC: source lines of code
  • Comment Lines: lines containing single or block comments
  • Complexity Score: a custom complexity score derived from code statements that are known to introduce code complexity (branches, loops, calls, external interfaces, ...)

Out of Scope

Excluded Source Units

Source Units Excluded: 212

File
/forge-tests/usdy/restrictedUSDYMetadata/RestrictedUSDYMetadata.sol
/forge-tests/usdy/allowlist/AllowlistUpgradeable_BasicDeployment.sol
/forge-tests/usdy/allowlist/AllowlistUpgradeable.t.sol
/forge-tests/usdy/USDYManager.t.sol
/forge-tests/usdy/USDY.t.sol
/forge-tests/rwaOracles/RWAOracleRateCheck.t.sol
/forge-tests/rwaOracles/RWAOracleExternalComparisonCheck.t.sol
/forge-tests/rwaOracles/RWADynamicOracle.t.sol
/forge-tests/rwaHub/Setters.t.sol
/forge-tests/rwaHub/Redemption.t.sol
/forge-tests/rwaHub/PricerWithOracle.t.sol
/forge-tests/rwaHub/Pricer.t.sol
/forge-tests/rwaHub/OffChainRedemption.t.sol
/forge-tests/rwaHub/NonStableInstantMinting.t.sol
/forge-tests/rwaHub/Minting.t.sol
/forge-tests/rwaHub/InstantMinting.t.sol
/forge-tests/rusdy/rUSDY_harness.t.sol
/forge-tests/rusdy/rUSDY_fuzz.t.sol
/forge-tests/rusdy/rUSDY_dynamic.t.sol
/forge-tests/postDeploymentConfig/prod_constants.t.sol
/forge-tests/postDeploymentConfig/mantle/srcBridge_config.t.sol
/forge-tests/postDeploymentConfig/mantle/mUSD_config.t.sol
/forge-tests/postDeploymentConfig/mantle/dstBridge_config.t.sol
/forge-tests/postDeploymentConfig/mantle/USDY_config.t.sol
/forge-tests/postDeploymentConfig/mainnet/usdy_config.t.sol
/forge-tests/postDeploymentConfig/mainnet/srcBridge_config.t.sol
/forge-tests/postDeploymentConfig/mainnet/rusdy_config.t.sol
/forge-tests/postDeploymentConfig/mainnet/ommf_config_staging.t.sol
/forge-tests/postDeploymentConfig/mainnet/ommf_config.t.sol
/forge-tests/postDeploymentConfig/mainnet/dstBridge_config.t.sol
/forge-tests/ousg/rOUSG.t.sol
/forge-tests/ousg/RWAOracleTestOnly.t.sol
/forge-tests/ousg/OUSGManager.t.sol
/forge-tests/ousg/OUSGInstantManager/setters.t.sol
/forge-tests/ousg/OUSGInstantManager/retrieve_tokens.t.sol
/forge-tests/ousg/OUSGInstantManager/redeem.t.sol
/forge-tests/ousg/OUSGInstantManager/mint.t.sol
/forge-tests/ousg/OUSGInstantManager/getters.t.sol
/forge-tests/ousg/OUSGInstantManager/buildl.t.sol
/forge-tests/ousg/OUSGInstantManager/buidl_helper.sol
/forge-tests/ommf/wOMMF/wommf.t.sol
/forge-tests/ommf/wOMMF/Init.t.sol
/forge-tests/ommf/wOMMF/Factory.t.sol
/forge-tests/ommf/ommf.t.sol
/forge-tests/ommf/ommf.fuzz.t.sol
/forge-tests/ommf/OMMFRebaseSetter.t.sol
/forge-tests/ommf/OMMFManager.t.sol
/forge-tests/helpers/mockUSDC.sol
/forge-tests/helpers/events/USDYManagerEvents.sol
/forge-tests/helpers/events/SourceBridgeEvents.sol
/forge-tests/helpers/events/RWAHubOffChainRedemptionsEvents.sol
/forge-tests/helpers/events/RWAHubNonStableInstantMintEvents.sol
/forge-tests/helpers/events/RWAHubInstantMintEvents.sol
/forge-tests/helpers/events/RWAHubEvents.sol
/forge-tests/helpers/events/OUSGManagerEvents.sol
/forge-tests/helpers/events/OMMFManagerEvents.sol
/forge-tests/helpers/events/OMMFEvents.sol
/forge-tests/helpers/events/KYCRegistryClientEvents.sol
/forge-tests/helpers/events/ERC20Events.sol
/forge-tests/helpers/events/DestinationBridgeEvents.sol
/forge-tests/helpers/MockSanctionsOracle.sol
/forge-tests/helpers/MockRWAOracle.sol
/forge-tests/helpers/MockChainlinkPriceOracle.sol
/forge-tests/helpers/MockBUIDLRedeemer.sol
/forge-tests/helpers/DeltaCheckHarness.sol
/forge-tests/helpers/DSTestPlus.sol
/forge-tests/helpers/Constants.sol
/forge-tests/bridges/SourceBridge.t.sol
/forge-tests/bridges/DestinationBridge.t.sol
/forge-tests/USDY_BasicDeployment.sol
/forge-tests/OUSG_BasicDeployment.t.sol
/forge-tests/OMMF_BasicDeployment.sol
/forge-tests/MinimalTestRunner.sol
/forge-tests/BaseTestRunner.sol
/contracts/usdy/usdyw/USDYWFactory.sol
/contracts/usdy/usdyw/USDYW.sol
/contracts/usdy/usdy/USDYFactory.sol
/contracts/usdy/usdy/USDY.sol
/contracts/usdy/rusdyw/rUSDYWFactory.sol
/contracts/usdy/rusdyw/rUSDYW.sol
/contracts/usdy/rusdy/rUSDYFactory.sol
/contracts/usdy/rusdy/rUSDY.sol
/contracts/usdy/restrictedUSDYMetadata/RestrictedUSDYMetadata.sol
/contracts/usdy/blocklist/BlocklistClientUpgradeable.sol
/contracts/usdy/blocklist/BlocklistClient.sol
/contracts/usdy/blocklist/Blocklist.sol
/contracts/usdy/allowlist/AllowlistUpgradeable.sol
/contracts/usdy/allowlist/AllowlistProxy.sol
/contracts/usdy/allowlist/AllowlistFactory.sol
/contracts/usdy/allowlist/AllowlistClientUpgradeable.sol
/contracts/usdy/allowlist/AllowlistClient.sol
/contracts/usdy/USDYManager.sol
/contracts/test/powUtils.sol
/contracts/test/RWAOracleTestOnly.sol
/contracts/sanctions/SanctionsListClientUpgradeable.sol
/contracts/sanctions/SanctionsListClient.sol
/contracts/sanctions/ISanctionsListClient.sol
/contracts/rwaOracles/RWAOracleRateCheck.sol
/contracts/rwaOracles/RWAOracleExternalComparisonCheck.sol
/contracts/rwaOracles/RWADynamicOracle.sol
/contracts/rwaOracles/IRWAOracleSetter.sol
/contracts/rwaOracles/IRWAOracleExternalComparisonCheck.sol
/contracts/rwaOracles/IRWAOracle.sol
/contracts/rwaOracles/IRWADynamicOracle.sol
/contracts/ommf/wrappedOMMF/wOMMF_factory.sol
/contracts/ommf/wrappedOMMF/wOMMF.sol
/contracts/ommf/ommf_token/ommf_factory.sol
/contracts/ommf/ommf_token/ommf.sol
/contracts/ommf/ommf_token/OMMFRebaseSetter.sol
/contracts/ommf/ommfManager.sol
/contracts/kyc/KYCRegistryClientUpgradeable.sol
/contracts/kyc/KYCRegistryClient.sol
/contracts/kyc/KYCRegistry.sol
/contracts/kyc/IKYCRegistryClient.sol
/contracts/kyc/IKYCRegistry.sol
/contracts/interfaces/IWommf.sol
/contracts/interfaces/IUSDYManager.sol
/contracts/interfaces/IUSDY.sol
/contracts/interfaces/IRestrictedUSDYMetadata.sol
/contracts/interfaces/IRWAOracle.sol
/contracts/interfaces/IRWALike.sol
/contracts/interfaces/IRWAHubOffChainRedemptions.sol
/contracts/interfaces/IRWAHubNonStableInstantMint.sol
/contracts/interfaces/IRWAHubInstantMints.sol
/contracts/interfaces/IRWAHub.sol
/contracts/interfaces/IPricerWithOracle.sol
/contracts/interfaces/IPricerReader.sol
/contracts/interfaces/IPricer.sol
/contracts/interfaces/IOmmf.sol
/contracts/interfaces/IOUSGInstantManager.sol
/contracts/interfaces/IMulticall.sol
/contracts/interfaces/IInvestorBasedRateLimiter.sol
/contracts/interfaces/IBlocklistClient.sol
/contracts/interfaces/IBlocklist.sol
/contracts/interfaces/IBUIDLRedeemer.sol
/contracts/interfaces/IAxelarGateway.sol
/contracts/interfaces/IAxelarGasService.sol
/contracts/interfaces/IAxelarExecutable.sol
/contracts/interfaces/IAllowlistClient.sol
/contracts/interfaces/IAllowlist.sol
/contracts/external/openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol
/contracts/external/openzeppelin/contracts-upgradeable/utils/IERC165Upgradeable.sol
/contracts/external/openzeppelin/contracts-upgradeable/utils/EnumerableSetUpgradeable.sol
/contracts/external/openzeppelin/contracts-upgradeable/utils/ERC165Upgradeable.sol
/contracts/external/openzeppelin/contracts-upgradeable/utils/CounterUpgradeable.sol
/contracts/external/openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol
/contracts/external/openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol
/contracts/external/openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable.sol
/contracts/external/openzeppelin/contracts-upgradeable/token/ERC721/IERC721ReceiverUpgradeable.sol
/contracts/external/openzeppelin/contracts-upgradeable/token/ERC721/IERC721MetadataUpgradeable.sol
/contracts/external/openzeppelin/contracts-upgradeable/token/ERC721/IERC721EnumerableUpgradeable.sol
/contracts/external/openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol
/contracts/external/openzeppelin/contracts-upgradeable/token/ERC721/ERC721PresetMinterPauserAutoIdUpgradeable.sol
/contracts/external/openzeppelin/contracts-upgradeable/token/ERC721/ERC721PausableUpgradeable.sol
/contracts/external/openzeppelin/contracts-upgradeable/token/ERC721/ERC721EnumerableUpgradeable.sol
/contracts/external/openzeppelin/contracts-upgradeable/token/ERC721/ERC721BurnableUpgradeable.sol
/contracts/external/openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol
/contracts/external/openzeppelin/contracts-upgradeable/token/ERC20/IERC20MetadataUpgradeable.sol
/contracts/external/openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol
/contracts/external/openzeppelin/contracts-upgradeable/token/ERC20/ERC20PresetMinterPauserUpgradeable.sol
/contracts/external/openzeppelin/contracts-upgradeable/token/ERC20/ERC20PausableUpgradeable.sol
/contracts/external/openzeppelin/contracts-upgradeable/token/ERC20/ERC20BurnableUpgradeable.sol
/contracts/external/openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol
/contracts/external/openzeppelin/contracts-upgradeable/proxy/Initializable.sol
/contracts/external/openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol
/contracts/external/openzeppelin/contracts-upgradeable/access/IAccessControlEnumerableUpgradeable.sol
/contracts/external/openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol
/contracts/external/openzeppelin/contracts-upgradeable/access/AccessControlEnumerableUpgradeable.sol
/contracts/external/openzeppelin/contracts/utils/cryptography/EIP712.sol
/contracts/external/openzeppelin/contracts/utils/cryptography/ECDSA.sol
/contracts/external/openzeppelin/contracts/utils/Strings.sol
/contracts/external/openzeppelin/contracts/utils/StorageSlot.sol
/contracts/external/openzeppelin/contracts/utils/IERC165.sol
/contracts/external/openzeppelin/contracts/utils/EnumerableSet.sol
/contracts/external/openzeppelin/contracts/utils/ERC165.sol
/contracts/external/openzeppelin/contracts/utils/Counters.sol
/contracts/external/openzeppelin/contracts/utils/Context.sol
/contracts/external/openzeppelin/contracts/utils/Address.sol
/contracts/external/openzeppelin/contracts/token/SafeERC20.sol
/contracts/external/openzeppelin/contracts/token/IERC20Metadata.sol
/contracts/external/openzeppelin/contracts/token/IERC20.sol
/contracts/external/openzeppelin/contracts/token/ERC20.sol
/contracts/external/openzeppelin/contracts/security/ReentrancyGuard.sol
/contracts/external/openzeppelin/contracts/security/Pausable.sol
/contracts/external/openzeppelin/contracts/proxy/draft-IERC1822.sol
/contracts/external/openzeppelin/contracts/proxy/TransparentUpgradeableProxy.sol
/contracts/external/openzeppelin/contracts/proxy/ProxyAdmin.sol
/contracts/external/openzeppelin/contracts/proxy/Proxy.sol
/contracts/external/openzeppelin/contracts/proxy/IBeacon.sol
/contracts/external/openzeppelin/contracts/proxy/ERC1967Upgrade.sol
/contracts/external/openzeppelin/contracts/proxy/ERC1967Proxy.sol
/contracts/external/openzeppelin/contracts/access/Ownable2Step.sol
/contracts/external/openzeppelin/contracts/access/Ownable.sol
/contracts/external/openzeppelin/contracts/access/IAccessControlEnumerable.sol
/contracts/external/openzeppelin/contracts/access/IAccessControl.sol
/contracts/external/openzeppelin/contracts/access/AccessControlEnumerable.sol
/contracts/external/openzeppelin/contracts/access/AccessControl.sol
/contracts/external/chainlink/AggregatorV3Interface.sol
/contracts/external/chainalysis/ISanctionsList.sol
/contracts/external/axelar/StringAddressUtils.sol
/contracts/external/axelar/AxelarExecutable.sol
/contracts/bridge/SourceBridge.sol
/contracts/bridge/MintRateLimiter.sol
/contracts/bridge/DestinationBridge.sol
/contracts/RWAHubOffChainRedemptions.sol
/contracts/RWAHubNonStableInstantMints.sol
/contracts/RWAHubInstantMints.sol
/contracts/RWAHub.sol
/contracts/Proxy.sol
/contracts/PricerWithOracle.sol
/contracts/Pricer.sol
/contracts/InstantMintTimeBasedRateLimiter.sol

Report

Overview

The analysis finished with 0 errors and 0 duplicate files.

Inline Documentation

  • Comment-to-Source Ratio: On average there are1.4 code lines per comment (lower=better).
  • ToDo's: 0

Components

๐Ÿ“Contracts ๐Ÿ“šLibraries ๐Ÿ”Interfaces ๐ŸŽจAbstract
5 0 0 0

Exposed Functions

This section lists functions that are explicitly declared public or payable. Please note that getter methods for public stateVars are not included.

๐ŸŒPublic ๐Ÿ’ฐPayable
59 2
External Internal Private Pure View
37 79 0 3 18

StateVariables

Total ๐ŸŒPublic
39 35

Capabilities

Solidity Versions observed ๐Ÿงช Experimental Features ๐Ÿ’ฐ Can Receive Funds ๐Ÿ–ฅ Uses Assembly ๐Ÿ’ฃ Has Destroyable Contracts
0.8.16 yes **** ****
๐Ÿ“ค Transfers ETH โšก Low-Level Calls ๐Ÿ‘ฅ DelegateCall ๐Ÿงฎ Uses Hash Functions ๐Ÿ”– ECRecover ๐ŸŒ€ New/Create/Create2
yes **** **** yes **** yes
โ†’ NewContract:ROUSG
โ†’ NewContract:ProxyAdmin
โ†’ NewContract:TokenProxy
โ™ป๏ธ TryCatch ฮฃ Unchecked
**** ****

Dependencies / External Imports

Dependency / Import Path Count
contracts/InstantMintTimeBasedRateLimiter.sol 1
contracts/Proxy.sol 1
contracts/RWAHubOffChainRedemptions.sol 1
contracts/external/openzeppelin/contracts-upgradeable/access/AccessControlEnumerableUpgradeable.sol 1
contracts/external/openzeppelin/contracts-upgradeable/proxy/Initializable.sol 1
contracts/external/openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol 1
contracts/external/openzeppelin/contracts-upgradeable/token/ERC20/ERC20PresetMinterPauserUpgradeable.sol 1
contracts/external/openzeppelin/contracts-upgradeable/token/ERC20/IERC20MetadataUpgradeable.sol 1
contracts/external/openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol 1
contracts/external/openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol 1
contracts/external/openzeppelin/contracts/access/AccessControlEnumerable.sol 1
contracts/external/openzeppelin/contracts/proxy/ProxyAdmin.sol 1
contracts/external/openzeppelin/contracts/security/ReentrancyGuard.sol 1
contracts/external/openzeppelin/contracts/token/IERC20.sol 1
contracts/external/openzeppelin/contracts/token/IERC20Metadata.sol 1
contracts/interfaces/IBUIDLRedeemer.sol 1
contracts/interfaces/IInvestorBasedRateLimiter.sol 1
contracts/interfaces/IMulticall.sol 2
contracts/interfaces/IOUSGInstantManager.sol 1
contracts/interfaces/IPricerWithOracle.sol 1
contracts/interfaces/IRWALike.sol 1
contracts/kyc/KYCRegistryClient.sol 1
contracts/kyc/KYCRegistryClientUpgradeable.sol 2
contracts/ousg/rOUSG.sol 2
contracts/rwaOracles/IRWAOracle.sol 1
Contract Summary

Sลซrya's Description Report

Files Description Table

File Name SHA-1 Hash
/contracts/ousg/ousg.sol 61361c6760778100ec45bb88782580bf5c02a6e7
/contracts/ousg/ousgInstantManager.sol ff69b43daa114f9baef58041d8343f736e4d005b
/contracts/ousg/ousgManager.sol 703c15e7a2b5332b6ea19cbaedce90a2c19f84cd
/contracts/ousg/rOUSG.sol 22cbb571b03e9c57697ed2ee6f4cdfdaaf2c0148
/contracts/ousg/rOUSGFactory.sol fb4a806b27a132f863fbfa843b64fc38a9adb7a7

Contracts Description Table

Contract Type Bases
โ”” Function Name Visibility Mutability Modifiers
CashKYCSenderReceiver Implementation ERC20PresetMinterPauserUpgradeable, KYCRegistryClientUpgradeable
โ”” Public โ—๏ธ ๐Ÿ›‘ NOโ—๏ธ
โ”” setKYCRequirementGroup External โ—๏ธ ๐Ÿ›‘ onlyRole
โ”” setKYCRegistry External โ—๏ธ ๐Ÿ›‘ onlyRole
โ”” initialize Public โ—๏ธ ๐Ÿ›‘ initializer
โ”” _beforeTokenTransfer Internal ๐Ÿ”’ ๐Ÿ›‘
โ”” burn External โ—๏ธ ๐Ÿ›‘ onlyRole
OUSGInstantManager Implementation ReentrancyGuard, InstantMintTimeBasedRateLimiter, AccessControlEnumerable, IOUSGInstantManager, IMulticall
โ”” Public โ—๏ธ ๐Ÿ›‘ InstantMintTimeBasedRateLimiter
โ”” mint External โ—๏ธ ๐Ÿ›‘ nonReentrant whenMintNotPaused
โ”” mintRebasingOUSG External โ—๏ธ ๐Ÿ›‘ nonReentrant whenMintNotPaused
โ”” _mint Internal ๐Ÿ”’ ๐Ÿ›‘
โ”” redeem External โ—๏ธ ๐Ÿ›‘ nonReentrant whenRedeemNotPaused
โ”” redeemRebasingOUSG External โ—๏ธ ๐Ÿ›‘ nonReentrant whenRedeemNotPaused
โ”” _redeem Internal ๐Ÿ”’ ๐Ÿ›‘
โ”” getOUSGPrice Public โ—๏ธ NOโ—๏ธ
โ”” setInstantMintLimit External โ—๏ธ ๐Ÿ›‘ onlyRole
โ”” setInstantRedemptionLimit External โ—๏ธ ๐Ÿ›‘ onlyRole
โ”” setInstantMintLimitDuration External โ—๏ธ ๐Ÿ›‘ onlyRole
โ”” setInstantRedemptionLimitDuration External โ—๏ธ ๐Ÿ›‘ onlyRole
โ”” setMintFee External โ—๏ธ ๐Ÿ›‘ onlyRole
โ”” setRedeemFee External โ—๏ธ ๐Ÿ›‘ onlyRole
โ”” setMinimumDepositAmount External โ—๏ธ ๐Ÿ›‘ onlyRole
โ”” setMinimumRedemptionAmount External โ—๏ธ ๐Ÿ›‘ onlyRole
โ”” setOracle External โ—๏ธ ๐Ÿ›‘ onlyRole
โ”” setFeeReceiver External โ—๏ธ ๐Ÿ›‘ onlyRole
โ”” setInvestorBasedRateLimiter External โ—๏ธ ๐Ÿ›‘ onlyRole
โ”” _getMintAmount Internal ๐Ÿ”’
โ”” _getRedemptionAmount Internal ๐Ÿ”’
โ”” _getInstantMintFees Internal ๐Ÿ”’
โ”” _getInstantRedemptionFees Internal ๐Ÿ”’
โ”” _scaleUp Internal ๐Ÿ”’
โ”” _scaleDown Internal ๐Ÿ”’
โ”” pauseMint External โ—๏ธ ๐Ÿ›‘ onlyRole
โ”” unpauseMint External โ—๏ธ ๐Ÿ›‘ onlyRole
โ”” pauseRedeem External โ—๏ธ ๐Ÿ›‘ onlyRole
โ”” unpauseRedeem External โ—๏ธ ๐Ÿ›‘ onlyRole
โ”” multiexcall External โ—๏ธ ๐Ÿ’ต onlyRole
โ”” retrieveTokens External โ—๏ธ ๐Ÿ›‘ onlyRole
OUSGManager Implementation RWAHubOffChainRedemptions, KYCRegistryClient
โ”” Public โ—๏ธ ๐Ÿ›‘ RWAHubOffChainRedemptions
โ”” _checkRestrictions Internal ๐Ÿ”’
โ”” setKYCRequirementGroup External โ—๏ธ ๐Ÿ›‘ onlyRole
โ”” addRedemptionProof External โ—๏ธ ๐Ÿ›‘ onlyRole checkRestrictions
โ”” setKYCRegistry External โ—๏ธ ๐Ÿ›‘ onlyRole
โ”” setPriceIdForDeposits Public โ—๏ธ ๐Ÿ›‘ onlyRole
โ”” setPriceIdForRedemptions Public โ—๏ธ ๐Ÿ›‘ onlyRole
ROUSG Implementation Initializable, ContextUpgradeable, PausableUpgradeable, AccessControlEnumerableUpgradeable, KYCRegistryClientUpgradeable, IERC20Upgradeable, IERC20MetadataUpgradeable
โ”” Public โ—๏ธ ๐Ÿ›‘ NOโ—๏ธ
โ”” initialize Public โ—๏ธ ๐Ÿ›‘ initializer
โ”” __rOUSG_init Internal ๐Ÿ”’ ๐Ÿ›‘ onlyInitializing
โ”” __rOUSG_init_unchained Internal ๐Ÿ”’ ๐Ÿ›‘ onlyInitializing
โ”” name Public โ—๏ธ NOโ—๏ธ
โ”” symbol Public โ—๏ธ NOโ—๏ธ
โ”” decimals Public โ—๏ธ NOโ—๏ธ
โ”” totalSupply Public โ—๏ธ NOโ—๏ธ
โ”” balanceOf Public โ—๏ธ NOโ—๏ธ
โ”” transfer Public โ—๏ธ ๐Ÿ›‘ NOโ—๏ธ
โ”” allowance Public โ—๏ธ NOโ—๏ธ
โ”” approve Public โ—๏ธ ๐Ÿ›‘ NOโ—๏ธ
โ”” transferFrom Public โ—๏ธ ๐Ÿ›‘ NOโ—๏ธ
โ”” increaseAllowance Public โ—๏ธ ๐Ÿ›‘ NOโ—๏ธ
โ”” decreaseAllowance Public โ—๏ธ ๐Ÿ›‘ NOโ—๏ธ
โ”” getTotalShares Public โ—๏ธ NOโ—๏ธ
โ”” sharesOf Public โ—๏ธ NOโ—๏ธ
โ”” getSharesByROUSG Public โ—๏ธ NOโ—๏ธ
โ”” getROUSGByShares Public โ—๏ธ NOโ—๏ธ
โ”” getOUSGPrice Public โ—๏ธ NOโ—๏ธ
โ”” transferShares Public โ—๏ธ ๐Ÿ›‘ NOโ—๏ธ
โ”” wrap External โ—๏ธ ๐Ÿ›‘ whenNotPaused
โ”” unwrap External โ—๏ธ ๐Ÿ›‘ whenNotPaused
โ”” _transfer Internal ๐Ÿ”’ ๐Ÿ›‘
โ”” _approve Internal ๐Ÿ”’ ๐Ÿ›‘ whenNotPaused
โ”” _sharesOf Internal ๐Ÿ”’
โ”” _transferShares Internal ๐Ÿ”’ ๐Ÿ›‘ whenNotPaused
โ”” _mintShares Internal ๐Ÿ”’ ๐Ÿ›‘ whenNotPaused
โ”” _burnShares Internal ๐Ÿ”’ ๐Ÿ›‘ whenNotPaused
โ”” _beforeTokenTransfer Internal ๐Ÿ”’
โ”” setOracle External โ—๏ธ ๐Ÿ›‘ onlyRole
โ”” burn External โ—๏ธ ๐Ÿ›‘ onlyRole
โ”” pause External โ—๏ธ ๐Ÿ›‘ onlyRole
โ”” unpause External โ—๏ธ ๐Ÿ›‘ onlyRole
โ”” setKYCRegistry External โ—๏ธ ๐Ÿ›‘ onlyRole
โ”” setKYCRequirementGroup External โ—๏ธ ๐Ÿ›‘ onlyRole
ROUSGFactory Implementation IMulticall
โ”” Public โ—๏ธ ๐Ÿ›‘ NOโ—๏ธ
โ”” deployRebasingOUSG External โ—๏ธ ๐Ÿ›‘ onlyGuardian
โ”” multiexcall External โ—๏ธ ๐Ÿ’ต onlyGuardian

Legend

Symbol Meaning
๐Ÿ›‘ Function can modify state
๐Ÿ’ต Function is payable