0x2889bcd2E5D6141F98106dFfA8A66ab21b5c84D6
on Ethereum Mainnet (1)
Match
Runtime Bytecode
Creation Bytecode
- Contract Name
- PortfolioTokenManager
- Compilation Target
- contracts/globalMarkets/portfolioToken/portfolioTokenManager/PortfolioTokenManager.sol:PortfolioTokenManager
- Language
Solidity
- Compiler
- solc 0.8.33+commit.64118f21
- EVM Version
- prague
- Verified At
- 2026-09-29 14:01:42 UTC
- Deployer
- 0xc6f4f6e36889D348C4A7475E9fe1c33a1a85Cb1e
- Deployment Transaction
- 0xbce9b5a1b772604e6f3aa212c1f2ee21f7faba8496a5456585eb9b20cd838af2
- Block Number
- 25584608
- Transaction Index
- 254
Read/Write Contract on:
Loading contract data...
Source Code
Loading contract data...
Compiler Settings
Loading...
Contract Metadata
Loading...
Creation Bytecode
Loading contract data...
CBOR Auxdata
These values are what Sourcify extracted from the recompiled bytecode. If these values are different in the on-chain bytecode, they will show up in Transformations section.
CBOR Auxdata id: 1
View on 
Solidity metadata.json IPFS hash: QmNTkzBxY6GKqVaduyBvNAozMQkrNt7tnEaDa1LCP9FY6G
Loading contract data...
Transformations
Loading contract data...
CBOR Auxdata Transformations
| Byte Offsets | Length (bytes) | Values |
|---|---|---|
| 14500 | 54 | Original (recompiled):0xa264697066735822122001d229d61d8ba28726339e5c87d75817d502c48143adfca1699f461c0c7ed93d64736f6c63430008210033 Transformed (onchain):0xa26469706673582212207be5d9464ba4cf8282347334cea5f4f7a745118db31dbf1353b8cc04a9dc290764736f6c63430008210033 |
Runtime Bytecode
Loading contract data...
CBOR Auxdata
These values are what Sourcify extracted from the recompiled bytecode. If these values are different in the on-chain bytecode, they will show up in Transformations section.
CBOR Auxdata id: 1
View on 
Solidity metadata.json IPFS hash: QmNTkzBxY6GKqVaduyBvNAozMQkrNt7tnEaDa1LCP9FY6G
Loading contract data...
Transformations
Immutable Transformations
| ID | Value | Offsets |
|---|---|---|
| 3137 | 0x7a1b7c279392992b228921a1693192ae6bb4050a63f7e5cde4532ff99c68d5b1 | 9468 |
| 3139 | 0x0000000000000000000000000000000000000000000000000000000000000001 | 9426 |
| 3141 | 0x0000000000000000000000002889bcd2e5d6141f98106dffa8a66ab21b5c84d6 | 9384 |
| 3143 | 0xa84d428f698aefc0b31ea00f1cc7aaca09d9148a04b70eafb60168363bb937df | 9551 |
| 3145 | 0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6 | 9588 |
| 3147 | 0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f | 9509 |
| 3718 | 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 | 1843, 4541, 4660, 5935, 6000, 6137 |
| 3721 | 0x000000000000000000000000000000000000000000000000000000e8d4a51000 | 1084, 4402, 5831, 5866 |
CBOR Auxdata Transformations
| Byte Offsets | Length (bytes) | Values |
|---|---|---|
| 13299 | 54 | Original (recompiled):0xa264697066735822122001d229d61d8ba28726339e5c87d75817d502c48143adfca1699f461c0c7ed93d64736f6c63430008210033 Transformed (onchain):0xa26469706673582212207be5d9464ba4cf8282347334cea5f4f7a745118db31dbf1353b8cc04a9dc290764736f6c63430008210033 |
Storage Layout
For non-default storage allocations (e.g. EIP-7201) check out 
| Slot | Offset | Bytes | Label | Type | Contract |
|---|---|---|---|---|---|
| 0 | 0 | 1 | _initialized | uint8 | contracts/globalMarkets/portfolioToken/portfolioTokenManager/PortfolioTokenManager.sol:PortfolioTokenManager |
| 0 | 1 | 1 | _initializing | bool | contracts/globalMarkets/portfolioToken/portfolioTokenManager/PortfolioTokenManager.sol:PortfolioTokenManager |
| 1 | 0 | 1600 | __gap | uint256[50] | contracts/globalMarkets/portfolioToken/portfolioTokenManager/PortfolioTokenManager.sol:PortfolioTokenManager |
| 51 | 0 | 1600 | __gap | uint256[50] | contracts/globalMarkets/portfolioToken/portfolioTokenManager/PortfolioTokenManager.sol:PortfolioTokenManager |
| 101 | 0 | 32 | _roles | mapping(bytes32 ⇒ struct AccessControlUpgradeable.RoleData) | contracts/globalMarkets/portfolioToken/portfolioTokenManager/PortfolioTokenManager.sol:PortfolioTokenManager |
| 102 | 0 | 1568 | __gap | uint256[49] | contracts/globalMarkets/portfolioToken/portfolioTokenManager/PortfolioTokenManager.sol:PortfolioTokenManager |
| 151 | 0 | 32 | _roleMembers | mapping(bytes32 ⇒ struct EnumerableSetUpgradeable.AddressSet) | contracts/globalMarkets/portfolioToken/portfolioTokenManager/PortfolioTokenManager.sol:PortfolioTokenManager |
| 152 | 0 | 1568 | __gap | uint256[49] | contracts/globalMarkets/portfolioToken/portfolioTokenManager/PortfolioTokenManager.sol:PortfolioTokenManager |
| 201 | 0 | 32 | executedAttestationIds | mapping(uint256 ⇒ bool) | contracts/globalMarkets/portfolioToken/portfolioTokenManager/PortfolioTokenManager.sol:PortfolioTokenManager |
| 202 | 0 | 32 | executionId | uint256 | contracts/globalMarkets/portfolioToken/portfolioTokenManager/PortfolioTokenManager.sol:PortfolioTokenManager |
| 203 | 0 | 20 | ondoIDRegistry | contract IOndoIDRegistry | contracts/globalMarkets/portfolioToken/portfolioTokenManager/PortfolioTokenManager.sol:PortfolioTokenManager |
| 204 | 0 | 20 | issuanceHours | contract IIssuanceHours | contracts/globalMarkets/portfolioToken/portfolioTokenManager/PortfolioTokenManager.sol:PortfolioTokenManager |
| 205 | 0 | 20 | sanityCheckOracle | contract IOndoSanityCheckOracle | contracts/globalMarkets/portfolioToken/portfolioTokenManager/PortfolioTokenManager.sol:PortfolioTokenManager |
| 206 | 0 | 20 | ondoRateLimiter | contract IOndoRateLimiter | contracts/globalMarkets/portfolioToken/portfolioTokenManager/PortfolioTokenManager.sol:PortfolioTokenManager |
| 207 | 0 | 20 | ondoTokenRouter | contract IOndoTokenRouter | contracts/globalMarkets/portfolioToken/portfolioTokenManager/PortfolioTokenManager.sol:PortfolioTokenManager |
| 208 | 0 | 32 | minimumDepositUSD | uint256 | contracts/globalMarkets/portfolioToken/portfolioTokenManager/PortfolioTokenManager.sol:PortfolioTokenManager |
| 209 | 0 | 32 | minimumRedemptionUSD | uint256 | contracts/globalMarkets/portfolioToken/portfolioTokenManager/PortfolioTokenManager.sol:PortfolioTokenManager |
| 210 | 0 | 1 | globalMintingPaused | bool | contracts/globalMarkets/portfolioToken/portfolioTokenManager/PortfolioTokenManager.sol:PortfolioTokenManager |
| 210 | 1 | 1 | globalRedeemingPaused | bool | contracts/globalMarkets/portfolioToken/portfolioTokenManager/PortfolioTokenManager.sol:PortfolioTokenManager |
| 211 | 0 | 32 | portfolioTokenAccepted | mapping(address ⇒ bool) | contracts/globalMarkets/portfolioToken/portfolioTokenManager/PortfolioTokenManager.sol:PortfolioTokenManager |
| 212 | 0 | 32 | portfolioTokenMintingPaused | mapping(address ⇒ bool) | contracts/globalMarkets/portfolioToken/portfolioTokenManager/PortfolioTokenManager.sol:PortfolioTokenManager |
| 213 | 0 | 32 | portfolioTokenRedemptionsPaused | mapping(address ⇒ bool) | contracts/globalMarkets/portfolioToken/portfolioTokenManager/PortfolioTokenManager.sol:PortfolioTokenManager |
| 214 | 0 | 1600 | __gap | uint256[50] | contracts/globalMarkets/portfolioToken/portfolioTokenManager/PortfolioTokenManager.sol:PortfolioTokenManager |
Transient Storage Layout
No transient storage layouts found in the compiler output.
Standard JSON Input
This isn't the original compiler JSON data. Generated for compatibility.
Loading...
Standard JSON Output
This isn't the original compiler JSON data. Generated for compatibility.
Loading...