💎
Token
USD DWIN
Symbol: USDW · ERC-20
📦
Total Supply
1,006,548
USDW · 18 decimals
🏦
Reserves
$100 Billion
100,000,000,000 USD · E18
⚖️
Collateral Ratio
99,351×
9,935,100% over-collateralised
💲
Peg Target
$1.0000
Floor: $0.9999 · Rebase ON
🔗
LayerZero EID
30110
Arbitrum · OFT shared decimals: 6
⚠ LayerZero Endpoint Not Configured
lzEndpoint() returns 0x0000…0000. The OFT cross-chain bridge to Polygon, BSC, and other networks remains inactive until the LayerZero V2 endpoint address for Arbitrum One is set.
→ setLzEndpoint(0x1a44076050125825900e736c501f859c50fE728c) // LZ V2 Arbitrum
⚠ Oracle Address Self-References Contract
ORACLE_ADDRESS and getOracle() both point to the contract itself. An external price feed (e.g. Chainlink ETH/USD on Arbitrum) should be set for accurate peg management.
→ setOracle(address chainlinkArbitrumOracle)
⚠ Treasury Wallet Self-References Contract
TREASURY_WALLET resolves to the contract's own address. A separate Gnosis Safe or multisig wallet on Arbitrum should be configured to properly segregate protocol funds.
→ setAddress(TREASURY_WALLET, arbitrumMultisigAddr)
⚠ Gasless / Paymaster Not Funded
isGaslessEnabled() = false and paymasterBalance() = 0. On Arbitrum, ETH gas fees are significantly cheaper (~$0.01), making gasless UX highly viable — but paymaster must be funded first.
→ enableGasless() + deposit ETH to paymaster (Arbitrum)
⚠ ERC165 Interface Storage Not Seeded
supportsInterface() reverts — interface IDs (IERC165, IERC20, IDiamondLoupe) have not been registered in contract storage. This may affect compatibility with Arbitrum DEX and wallet integrations.
→ Call DiamondInit or initERC20() to register interface IDs