Source Code
Overview
ETH Balance
0 ETH
ETH Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Cross-Chain Transactions
Loading...
Loading
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"contract IERC20","name":"usdc","type":"address"},{"internalType":"address","name":"initialOwner","type":"address"},{"internalType":"uint64","name":"_minTenor","type":"uint64"},{"internalType":"uint64","name":"_maxTenor","type":"uint64"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"CapExceeded","type":"error"},{"inputs":[],"name":"DiscountOutOfRange","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"assets","type":"uint256"},{"internalType":"uint256","name":"max","type":"uint256"}],"name":"ERC4626ExceededMaxDeposit","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"shares","type":"uint256"},{"internalType":"uint256","name":"max","type":"uint256"}],"name":"ERC4626ExceededMaxMint","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"shares","type":"uint256"},{"internalType":"uint256","name":"max","type":"uint256"}],"name":"ERC4626ExceededMaxRedeem","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"assets","type":"uint256"},{"internalType":"uint256","name":"max","type":"uint256"}],"name":"ERC4626ExceededMaxWithdraw","type":"error"},{"inputs":[],"name":"InsufficientLiquidity","type":"error"},{"inputs":[],"name":"InvalidFaceValue","type":"error"},{"inputs":[],"name":"InvalidShares","type":"error"},{"inputs":[],"name":"InvalidTenorBand","type":"error"},{"inputs":[],"name":"MaturityInPast","type":"error"},{"inputs":[{"internalType":"address","name":"originator","type":"address"}],"name":"NotAllowedOriginator","type":"error"},{"inputs":[],"name":"NotMatureYet","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"SafeERC20FailedOperation","type":"error"},{"inputs":[],"name":"SelfInvoice","type":"error"},{"inputs":[{"internalType":"uint64","name":"tenor","type":"uint64"},{"internalType":"uint64","name":"minTenor","type":"uint64"},{"internalType":"uint64","name":"maxTenor","type":"uint64"}],"name":"TenorOutOfBand","type":"error"},{"inputs":[{"internalType":"enum TesseraSettlementV1.InvoiceStatus","name":"expected","type":"uint8"},{"internalType":"enum TesseraSettlementV1.InvoiceStatus","name":"actual","type":"uint8"}],"name":"WrongStatus","type":"error"},{"inputs":[],"name":"ZeroAddress","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"originator","type":"address"},{"indexed":false,"internalType":"bool","name":"allowed","type":"bool"}],"name":"AllowedOriginatorSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"AllowlistEnabledSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"assets","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"shares","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"cap","type":"uint256"}],"name":"DepositCapSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"InvoiceApproved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":true,"internalType":"address","name":"originator","type":"address"},{"indexed":true,"internalType":"address","name":"buyer","type":"address"},{"indexed":false,"internalType":"uint128","name":"faceValue","type":"uint128"},{"indexed":false,"internalType":"uint64","name":"maturityAt","type":"uint64"},{"indexed":false,"internalType":"uint16","name":"discountBps","type":"uint16"}],"name":"InvoiceCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint128","name":"lossAmount","type":"uint128"}],"name":"InvoiceDefaulted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint128","name":"fundedAmount","type":"uint128"}],"name":"InvoiceFunded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint128","name":"repaidAmount","type":"uint128"}],"name":"InvoiceRepaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"assets","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"shares","type":"uint256"}],"name":"Withdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"index","type":"uint256"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint128","name":"shares","type":"uint128"},{"indexed":false,"internalType":"uint256","name":"assets","type":"uint256"}],"name":"WithdrawProcessed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"index","type":"uint256"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint128","name":"shares","type":"uint128"}],"name":"WithdrawRequested","type":"event"},{"inputs":[],"name":"AUTO_DRAIN_MAX","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_DISCOUNT_BPS","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"accruedSpread","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"allowedOriginators","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"allowlistEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"approveInvoice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"asset","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"name":"convertToAssets","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"name":"convertToShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"buyer","type":"address"},{"internalType":"uint128","name":"faceValue","type":"uint128"},{"internalType":"uint64","name":"maturityAt","type":"uint64"},{"internalType":"uint16","name":"discountBps","type":"uint16"}],"name":"createInvoice","outputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"}],"name":"deposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"depositCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"fundInvoice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"fundedInvoiceCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"fundedInvoiceIds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"fundedListIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"idleAssets","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"invoices","outputs":[{"internalType":"address","name":"originator","type":"address"},{"internalType":"address","name":"buyer","type":"address"},{"internalType":"uint128","name":"faceValue","type":"uint128"},{"internalType":"uint128","name":"fundedAmount","type":"uint128"},{"internalType":"uint64","name":"createdAt","type":"uint64"},{"internalType":"uint64","name":"fundedAt","type":"uint64"},{"internalType":"uint64","name":"maturityAt","type":"uint64"},{"internalType":"uint16","name":"discountBps","type":"uint16"},{"internalType":"enum TesseraSettlementV1.InvoiceStatus","name":"status","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"markDefaulted","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"maxDeposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"maxMint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"maxRedeem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTenor","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"maxWithdraw","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minTenor","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"}],"name":"mint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nextInvoiceId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"outstandingPrincipal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingRequests","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"name":"previewDeposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"name":"previewMint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"name":"previewRedeem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"name":"previewWithdraw","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"max","type":"uint256"}],"name":"processQueue","outputs":[{"internalType":"uint256","name":"processed","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"queueHead","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"queuedShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"name":"redeem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"repayInvoice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"name":"requestWithdrawal","outputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"originator","type":"address"},{"internalType":"bool","name":"allowed","type":"bool"}],"name":"setAllowedOriginator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"originators","type":"address[]"},{"internalType":"bool","name":"allowed","type":"bool"}],"name":"setAllowedOriginators","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setAllowlistEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"cap","type":"uint256"}],"name":"setDepositCap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalAssets","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"name":"withdraw","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"withdrawQueue","outputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint128","name":"shares","type":"uint128"},{"internalType":"uint64","name":"requestedAt","type":"uint64"},{"internalType":"bool","name":"processed","type":"bool"}],"stateMutability":"view","type":"function"}]Contract Creation Code
6101006040526001600955348015610015575f80fd5b50604051613171380380613171833981016040819052610034916102b9565b82846040518060400160405280601781526020017f54657373657261204c656e64657220536861726520763100000000000000000081525060405180604001604052806008815260200167747355534443763160c01b815250816003908161009c91906103a7565b5060046100a982826103a7565b5050505f806100bd8361016060201b60201c565b91509150816100cd5760126100cf565b805b60ff1660a05250506001600160a01b03908116608052811661010a57604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b61011381610236565b5060016006556001600160401b0380821690831611156101465760405163c39bfcf560e01b815260040160405180910390fd5b6001600160401b0391821660c0521660e0525061048e9050565b60408051600481526024810182526020810180516001600160e01b031663313ce56760e01b17905290515f918291829182916001600160a01b038716916101a691610461565b5f60405180830381855afa9150503d805f81146101de576040519150601f19603f3d011682016040523d82523d5f602084013e6101e3565b606091505b50915091508180156101f757506020815110155b1561022a575f818060200190518101906102119190610477565b905060ff8111610228576001969095509350505050565b505b505f9485945092505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b038116811461029b575f80fd5b50565b80516001600160401b03811681146102b4575f80fd5b919050565b5f805f80608085870312156102cc575f80fd5b84516102d781610287565b60208601519094506102e881610287565b92506102f66040860161029e565b91506103046060860161029e565b905092959194509250565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061033757607f821691505b60208210810361035557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156103a257805f5260205f20601f840160051c810160208510156103805750805b601f840160051c820191505b8181101561039f575f815560010161038c565b50505b505050565b81516001600160401b038111156103c0576103c061030f565b6103d4816103ce8454610323565b8461035b565b6020601f821160018114610406575f83156103ef5750848201515b5f19600385901b1c1916600184901b17845561039f565b5f84815260208120601f198516915b828110156104355787850151825560209485019460019092019101610415565b508482101561045257868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f82518060208501845e5f920191825250919050565b5f60208284031215610487575f80fd5b5051919050565b60805160a05160c05160e051612c6a6105075f395f818161043e0152818161177b01526117fb01525f81816105fb0152818161174001526117d301525f610b5401525f81816104de01528181610cc901528181610f5501528181611aa901528181611fc5015281816120ad01526121be0152612c6a5ff3fe608060405234801561000f575f80fd5b506004361061037d575f3560e01c8063715018a6116101d4578063ba08765211610109578063dbd5edc7116100a9578063e16b03a311610079578063e16b03a3146108ac578063ef8b30f7146107f0578063f0a9b156146108b4578063f2fde38b146108c7575f80fd5b8063dbd5edc714610845578063dbf8f0331461084e578063dc90076514610861578063dd62ed3e14610874575f80fd5b8063ce96cb77116100e4578063ce96cb7714610803578063d7644ba214610816578063d83ad00c14610829578063d905777e14610832575f80fd5b8063ba087652146107ca578063c63d75b6146107dd578063c6e6f592146107f0575f80fd5b806395d89b4111610174578063a9059cbb1161014f578063a9059cbb1461077e578063b32413b714610791578063b3d7f6b9146107a4578063b460af94146107b7575f80fd5b806395d89b411461075a57806396523644146107625780639ee679e81461076b575f80fd5b806386651203116101af57806386651203146107165780638da5cb5b1461072957806394bf804d1461073a57806394c8e4ff1461074d575f80fd5b8063715018a6146106dc57806373216450146106e457806381b94744146106f7575f80fd5b806336d2a229116102b55780634e6d14051161025557806364d5fa471161022557806364d5fa47146106855780636e553f65146106985780636ff2a953146106ab57806370a08231146106b4575f80fd5b80634e6d1405146105555780635283efc6146105f6578063559034df1461061d57806362518ddf14610630575f80fd5b8063402d267d11610290578063402d267d14610532578063422e8081146105455780634a0aee291461054d5780634cdad506146103e3575f80fd5b806336d2a229146104c957806338d52e0f146104dc578063390947cf14610516575f80fd5b806318160ddd1161032057806323b872dd116102fb57806323b872dd1461048b57806329366f311461049e57806329b1829e146104a6578063313ce567146104af575f80fd5b806318160ddd1461043157806319a008371461043957806320736b1414610478575f80fd5b806307a2d13a1161035b57806307a2d13a146103e3578063095ea7b3146103f65780630a28a477146104095780630fb30ccd1461041c575f80fd5b806301e1d1141461038157806302d0b9d01461039c57806306fdde03146103ce575b5f80fd5b6103896108da565b6040519081526020015b60405180910390f35b6103be6103aa36600461265b565b60116020525f908152604090205460ff1681565b6040519015158152602001610393565b6103d6610968565b6040516103939190612674565b6103896103f13660046126a9565b6109f8565b6103be6104043660046126c0565b610a09565b6103896104173660046126a9565b610a20565b61042f61042a3660046126f7565b610a2c565b005b600254610389565b6104607f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160401b039091168152602001610393565b6103896104863660046126a9565b610b09565b6103be610499366004612774565b610b28565b600b54610389565b61038960085481565b6104b7610b4d565b60405160ff9091168152602001610393565b6103896104d73660046126a9565b610b7d565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610393565b61051f6103e881565b60405161ffff9091168152602001610393565b61038961054036600461265b565b610bc1565b6104b7600381565b610389610bec565b6105e16105633660046126a9565b600a6020525f908152604090208054600182015460028301546003909301546001600160a01b039283169392909116916001600160801b0380821692600160801b92839004909116916001600160401b0380831692600160401b8104821692810490911690600160c01b810461ffff1690600160d01b900460ff1689565b604051610393999897969594939291906127e2565b6104607f000000000000000000000000000000000000000000000000000000000000000081565b61042f61062b3660046126a9565b610bfd565b61064361063e3660046126a9565b610d52565b604080516001600160a01b0390951685526001600160801b0390931660208501526001600160401b039091169183019190915215156060820152608001610393565b61042f6106933660046126a9565b610dae565b6103896106a6366004612857565b610fd0565b61038960095481565b6103896106c236600461265b565b6001600160a01b03165f9081526020819052604090205490565b61042f611024565b61042f6106f23660046126a9565b611037565b6103896107053660046126a9565b600c6020525f908152604090205481565b61042f6107243660046126a9565b611165565b6005546001600160a01b03166104fe565b610389610748366004612857565b6111a9565b6010546103be9060ff1681565b6103d66111f5565b610389600e5481565b6103896107793660046126a9565b611204565b6103be61078c3660046126c0565b6113c3565b61042f61079f3660046126a9565b6113d0565b6103896107b23660046126a9565b61147e565b6103896107c5366004612881565b61148a565b6103896107d8366004612881565b6114e0565b6103896107eb36600461265b565b61152d565b6103896107fe3660046126a9565b61153a565b61038961081136600461265b565b611545565b61042f6108243660046128b1565b611567565b610389600f5481565b61038961084036600461265b565b6115b0565b61038960075481565b61042f61085c3660046128ca565b6115cd565b61038961086f3660046126a9565b611633565b6103896108823660046128f2565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b610389611651565b6103896108c236600461291a565b61165a565b61042f6108d536600461265b565b611a6c565b5f806108e4611aa6565b600b549091505f5b81811015610960575f600a5f600b848154811061090b5761090b61298d565b905f5260205f20015481526020019081526020015f20905061092c81611b30565b600282015461094b9190600160801b90046001600160801b03166129b5565b61095590856129b5565b9350506001016108ec565b509092915050565b606060038054610977906129c8565b80601f01602080910402602001604051908101604052809291908181526020018280546109a3906129c8565b80156109ee5780601f106109c5576101008083540402835291602001916109ee565b820191905f5260205f20905b8154815290600101906020018083116109d157829003601f168201915b5050505050905090565b5f610a03825f611bfb565b92915050565b5f33610a16818585611c33565b5060019392505050565b5f610a03826001611c45565b610a34611c74565b5f5b82811015610b03578160115f868685818110610a5457610a5461298d565b9050602002016020810190610a69919061265b565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055838382818110610aa257610aa261298d565b9050602002016020810190610ab7919061265b565b6001600160a01b03167f45c511744da796b33755671bc116ccbf0b893787d1baedf57bec72605489e9ea83604051610af3911515815260200190565b60405180910390a2600101610a36565b50505050565b600b8181548110610b18575f80fd5b5f91825260209091200154905081565b5f33610b35858285611ca1565b610b40858585611d04565b60019150505b9392505050565b5f610b78817f0000000000000000000000000000000000000000000000000000000000000000612a00565b905090565b5f818152600a60205260408120600380820154600160d01b900460ff166005811115610bab57610bab6127ae565b14610bb857505f92915050565b610b4681611b30565b5f80610bcb6108da565b90506007548110610bde57505f92915050565b80600754610b469190612a19565b600e54600d545f91610b7891612a19565b610c05611d61565b5f818152600a60205260409020600380820154600160d01b900460ff166005811115610c3357610c336127ae565b14610c6c5760038181015460405163e064752b60e01b8152610c639291600160d01b900460ff1690600401612a2c565b60405180910390fd5b6002810154600880546001600160801b0380841693600160801b90041691905f90610c98908490612a19565b90915550610ca7905083611d8b565b60038201805460ff60d01b1916600160d21b179055610cfa6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633306001600160801b038516611e65565b6040516001600160801b038216815283907f8d8f49c808237064e97c591dbcd892e72f4c8f5159c19feed4390f0efc33522e9060200160405180910390a2610d426003611ecc565b505050610d4f6001600655565b50565b600d8181548110610d61575f80fd5b5f918252602090912060029091020180546001909101546001600160a01b0390911691506001600160801b03811690600160801b81046001600160401b031690600160c01b900460ff1684565b610db6611d61565b5f818152600a6020526040902060026003820154600160d01b900460ff166005811115610de557610de56127ae565b14610e1957600281600301601a9054906101000a900460ff1660405163e064752b60e01b8152600401610c63929190612a2c565b60038101545f9061271090610e3990600160c01b900461ffff1682612a47565b6002840154610e559161ffff16906001600160801b0316612a61565b610e5f9190612a8c565b9050610e69611aa6565b811115610e895760405163bb55fd2760e01b815260040160405180910390fd5b6002820180546001600160801b03838116600160801b0291161790556003820180546001600160401b034216600160401b0260ff60d01b19167aff00000000000000000000ffffffffffffffff00000000000000001990911617600360d01b17905560088054829182915f90610f009084906129b5565b9091555050600b80546001810182557f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901859055545f858152600c60205260409020558254610f85906001600160a01b0316837f00000000000000000000000000000000000000000000000000000000000000005b6001600160a01b03169190612077565b6040516001600160801b038216815284907f9fa8bf8b4f9d155c2001e8a501b6637fd8be50b871a194e60d876eb8988fa5cd9060200160405180910390a2505050610d4f6001600655565b5f80610fdb83610bc1565b90508084111561100457828482604051633c8097d960e11b8152600401610c6393929190612a9f565b5f61100e8561153a565b905061101c338587846120a8565b949350505050565b61102c611c74565b6110355f61213a565b565b61103f611c74565b5f818152600a60205260409020600380820154600160d01b900460ff16600581111561106d5761106d6127ae565b1461109d5760038181015460405163e064752b60e01b8152610c639291600160d01b900460ff1690600401612a2c565b6003810154600160801b90046001600160401b031642116110d1576040516316c0ac3960e11b815260040160405180910390fd5b600281015460088054600160801b9092046001600160801b0316918291905f906110fc908490612a19565b9091555061110b905083611d8b565b600382018054600560d01b60ff60d01b199091161790556040516001600160801b038216815283907fbb77916ab6004615d50fa89cf32df2096dd339eb4088871eb98bbe2b3b6eedfc9060200160405180910390a2505050565b61116d611c74565b60078190556040518181527f50e5341d7a4ad030a1a03c7b2bccfa67438c0bdf5c398a3b1d7a64babfbf97fe906020015b60405180910390a150565b5f806111b48361152d565b9050808411156111dd5782848260405163284ff66760e01b8152600401610c6393929190612a9f565b5f6111e78561147e565b905061101c338583886120a8565b606060048054610977906129c8565b5f61120d611d61565b815f0361122d57604051636edcc52360e01b815260040160405180910390fd5b335f9081526020819052604090205482111561125c57604051636edcc52360e01b815260040160405180910390fd5b611267333084611d04565b81600f5f82825461127891906129b5565b9091555050600d805460408051608081018252338082526001600160801b0387811660208085018281526001600160401b034281168789019081525f6060890181815260018c018d559b9052965160028a027fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb5810180546001600160a01b039093166001600160a01b03199093169290921790915591517fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb6909201805497519a511515600160c01b0260ff60c01b199b909216600160801b026001600160c01b03199098169290951691909117959095179790971693909317905591519081529193509183917fac1f9b1be6ef66c3a8b9bdcf5da0e83b36b69e1228bb272f1446703a10545946910160405180910390a36113b36001611ecc565b506113be6001600655565b919050565b5f33610a16818585611d04565b6113d8611c74565b5f818152600a6020526040902060016003820154600160d01b900460ff166005811115611407576114076127ae565b1461143b57600181600301601a9054906101000a900460ff1660405163e064752b60e01b8152600401610c63929190612a2c565b60038101805460ff60d01b1916600160d11b17905560405182907fe22fc0e3ca7d9b356bbb1938f71af9637025ef8d96e1ce7b01e05e5c71f64ef6905f90a25050565b5f610a03826001611bfb565b5f8061149583611545565b9050808511156114be57828582604051633fa733bb60e21b8152600401610c6393929190612a9f565b5f6114c886610a20565b90506114d7338686898561218b565b95945050505050565b5f806114eb836115b0565b90508085111561151457828582604051632e52afbb60e21b8152600401610c6393929190612a9f565b5f61151e866109f8565b90506114d7338686848a61218b565b5f610a036107fe83610bc1565b5f610a03825f611c45565b6001600160a01b0381165f90815260208190526040812054610a03905f611bfb565b61156f611c74565b6010805460ff19168215159081179091556040519081527fa1bf86c493917580dec207969ef59976f0c378f10ece581237f19acfbd858f1c9060200161119e565b6001600160a01b0381165f90815260208190526040812054610a03565b6115d5611c74565b6001600160a01b0382165f81815260116020908152604091829020805460ff191685151590811790915591519182527f45c511744da796b33755671bc116ccbf0b893787d1baedf57bec72605489e9ea910160405180910390a25050565b5f61163c611d61565b61164582611ecc565b90506113be6001600655565b5f610b78611aa6565b5f6001600160a01b0385166116825760405163d92e233d60e01b815260040160405180910390fd5b336001600160a01b038616036116ab57604051637ac8833160e01b815260040160405180910390fd5b836001600160801b03165f036116d457604051631e8b6b6f60e21b815260040160405180910390fd5b42836001600160401b0316116116fd57604051631c38546760e01b815260040160405180910390fd5b61ffff8216158061171357506103e861ffff8316115b156117315760405163eb2b61a560e01b815260040160405180910390fd5b5f61173c4285612ac0565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160401b0316816001600160401b031610806117af57507f00000000000000000000000000000000000000000000000000000000000000006001600160401b0316816001600160401b0316115b15611828576040516331589ee360e11b81526001600160401b0380831660048301527f0000000000000000000000000000000000000000000000000000000000000000811660248301527f0000000000000000000000000000000000000000000000000000000000000000166044820152606401610c63565b60105460ff1680156118495750335f9081526011602052604090205460ff16155b1561186957604051631e277b2d60e11b8152336004820152602401610c63565b60098054905f61187883612adf565b9091555060408051610120810182523381526001600160a01b03891660208201526001600160801b038816918101919091525f606082018190526001600160401b03428116608084015260a0830191909152861660c082015261ffff851660e08201529092506101008101600190525f838152600a6020908152604091829020835181546001600160a01b039182166001600160a01b031991821617835592850151600183018054919092169316929092179091559082015160608301516001600160801b03908116600160801b90810291909216176002830155608083015160038301805460a086015160c087015160e088015161ffff16600160c01b0261ffff60c01b196001600160401b039283169097029690961669ffffffffffffffffffff60801b19928216600160401b026fffffffffffffffffffffffffffffffff1994909416919095161791909117169190911791909117808255610100840151919060ff60d01b1916600160d01b8360058111156119f9576119f96127ae565b021790555050604080516001600160801b03881681526001600160401b038716602082015261ffff86168183015290516001600160a01b0389169250339185917f70b7b5c8400727173355da52453167d5bfe8830143712bc51044d0342010d39c9181900360600190a450949350505050565b611a74611c74565b6001600160a01b038116611a9d57604051631e4fbdf760e01b81525f6004820152602401610c63565b610d4f8161213a565b5f7f00000000000000000000000000000000000000000000000000000000000000006040516370a0823160e01b81523060048201526001600160a01b0391909116906370a0823190602401602060405180830381865afa158015611b0c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b789190612af7565b60028101545f908190611b55906001600160801b03600160801b820481169116612a19565b9050805f03611b6657505f92915050565b60038301545f90611b90906001600160401b03600160401b8204811691600160801b900416612a19565b9050805f03611ba0575092915050565b60038401545f90600160801b90046001600160401b0316421015611be2576003850154611bdd90600160401b90046001600160401b031642612a19565b611be4565b815b905081611bf18285612a61565b6114d79190612a8c565b5f610b46611c076108da565b611c129060016129b5565b611c1d5f600a612bf1565b600254611c2a91906129b5565b8591908561224b565b611c40838383600161228d565b505050565b5f610b46611c5482600a612bf1565b600254611c6191906129b5565b611c696108da565b611c2a9060016129b5565b6005546001600160a01b031633146110355760405163118cdaa760e01b8152336004820152602401610c63565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f19811015610b035781811015611cf657828183604051637dc7a0d960e11b8152600401610c6393929190612a9f565b610b0384848484035f61228d565b6001600160a01b038316611d2d57604051634b637e8f60e11b81525f6004820152602401610c63565b6001600160a01b038216611d565760405163ec442f0560e01b81525f6004820152602401610c63565b611c40838383612351565b600260065403611d8457604051633ee5aeb560e01b815260040160405180910390fd5b6002600655565b5f818152600c602052604081205490819003611da5575050565b5f611db1600183612a19565b600b549091505f90611dc590600190612a19565b9050808214611e27575f600b8281548110611de257611de261298d565b905f5260205f200154905080600b8481548110611e0157611e0161298d565b5f91825260209091200155611e178360016129b5565b5f918252600c6020526040909120555b600b805480611e3857611e38612bff565b600190038181905f5260205f20015f90559055600c5f8581526020019081526020015f205f905550505050565b6040516001600160a01b038481166024830152838116604483015260648201839052610b039186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612464565b600e54600d545f919082611ee08383612a19565b905080851115611eee578094505b5f5b85811015612060575f600d611f0583876129b5565b81548110611f1557611f1561298d565b5f91825260208220600160029092020190810154909250611f3e906001600160801b03166109f8565b90505f611f49611aa6565b905080821115611f5b57505050612060565b6001830154611f749030906001600160801b03166124d0565b6001830154600f80546001600160801b03909216915f90611f96908490612a19565b909155505060018301805460ff60c01b1916600160c01b1790558254611fe7906001600160a01b031683610f757f000000000000000000000000000000000000000000000000000000000000000090565b82546001600160a01b0316611ffc85896129b5565b6001850154604080516001600160801b039092168252602082018690527f2fbe4f73a98fb219d8ed0184473803f40b6f7152c634bd7003cd3ba599c9bd97910160405180910390a38761204e81612adf565b98505060019093019250611ef0915050565b5061206b84846129b5565b600e5550919392505050565b6040516001600160a01b03838116602483015260448201839052611c4091859182169063a9059cbb90606401611e9a565b6120d47f0000000000000000000000000000000000000000000000000000000000000000853085611e65565b6120de8382612508565b826001600160a01b0316846001600160a01b03167fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7848460405161212c929190918252602082015260400190565b60405180910390a350505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b826001600160a01b0316856001600160a01b0316146121af576121af838683611ca1565b6121b983826124d0565b6121e47f00000000000000000000000000000000000000000000000000000000000000008584612077565b826001600160a01b0316846001600160a01b0316866001600160a01b03167ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db858560405161223c929190918252602082015260400190565b60405180910390a45050505050565b5f6122786122588361253c565b801561227357505f848061226e5761226e612a78565b868809115b151590565b612283868686612568565b6114d791906129b5565b6001600160a01b0384166122b65760405163e602df0560e01b81525f6004820152602401610c63565b6001600160a01b0383166122df57604051634a1406b160e11b81525f6004820152602401610c63565b6001600160a01b038085165f9081526001602090815260408083209387168352929052208290558015610b0357826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161212c91815260200190565b6001600160a01b03831661237b578060025f82825461237091906129b5565b909155506123d89050565b6001600160a01b0383165f90815260208190526040902054818110156123ba5783818360405163391434e360e21b8152600401610c6393929190612a9f565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b0382166123f457600280548290039055612412565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161245791815260200190565b60405180910390a3505050565b5f8060205f8451602086015f885af180612483576040513d5f823e3d81fd5b50505f513d9150811561249a5780600114156124a7565b6001600160a01b0384163b155b15610b0357604051635274afe760e01b81526001600160a01b0385166004820152602401610c63565b6001600160a01b0382166124f957604051634b637e8f60e11b81525f6004820152602401610c63565b612504825f83612351565b5050565b6001600160a01b0382166125315760405163ec442f0560e01b81525f6004820152602401610c63565b6125045f8383612351565b5f6002826003811115612551576125516127ae565b61255b9190612c13565b60ff166001149050919050565b5f805f6125758686612618565b91509150815f036125995783818161258f5761258f612a78565b0492505050610b46565b8184116125b0576125b06003851502601118612634565b5f848688095f868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010185841190960395909502919093039390930492909217029150509392505050565b5f805f1983850993909202808410938190039390930393915050565b634e487b715f52806020526024601cfd5b80356001600160a01b03811681146113be575f80fd5b5f6020828403121561266b575f80fd5b610b4682612645565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f602082840312156126b9575f80fd5b5035919050565b5f80604083850312156126d1575f80fd5b6126da83612645565b946020939093013593505050565b803580151581146113be575f80fd5b5f805f60408486031215612709575f80fd5b83356001600160401b0381111561271e575f80fd5b8401601f8101861361272e575f80fd5b80356001600160401b03811115612743575f80fd5b8660208260051b8401011115612757575f80fd5b60209182019450925061276b9085016126e8565b90509250925092565b5f805f60608486031215612786575f80fd5b61278f84612645565b925061279d60208501612645565b929592945050506040919091013590565b634e487b7160e01b5f52602160045260245ffd5b600681106127de57634e487b7160e01b5f52602160045260245ffd5b9052565b6001600160a01b038a81168252891660208201526001600160801b038881166040830152871660608201526001600160401b03868116608083015285811660a0830152841660c082015261ffff831660e082015261012081016128496101008301846127c2565b9a9950505050505050505050565b5f8060408385031215612868575f80fd5b8235915061287860208401612645565b90509250929050565b5f805f60608486031215612893575f80fd5b833592506128a360208501612645565b915061276b60408501612645565b5f602082840312156128c1575f80fd5b610b46826126e8565b5f80604083850312156128db575f80fd5b6128e483612645565b9150612878602084016126e8565b5f8060408385031215612903575f80fd5b61290c83612645565b915061287860208401612645565b5f805f806080858703121561292d575f80fd5b61293685612645565b935060208501356001600160801b0381168114612951575f80fd5b925060408501356001600160401b038116811461296c575f80fd5b9150606085013561ffff81168114612982575f80fd5b939692955090935050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b80820180821115610a0357610a036129a1565b600181811c908216806129dc57607f821691505b6020821081036129fa57634e487b7160e01b5f52602260045260245ffd5b50919050565b60ff8181168382160190811115610a0357610a036129a1565b81810381811115610a0357610a036129a1565b60408101612a3a82856127c2565b610b4660208301846127c2565b61ffff8281168282160390811115610a0357610a036129a1565b8082028115828204841417610a0357610a036129a1565b634e487b7160e01b5f52601260045260245ffd5b5f82612a9a57612a9a612a78565b500490565b6001600160a01b039390931683526020830191909152604082015260600190565b6001600160401b038281168282160390811115610a0357610a036129a1565b5f60018201612af057612af06129a1565b5060010190565b5f60208284031215612b07575f80fd5b5051919050565b6001815b6001841115612b4957808504811115612b2d57612b2d6129a1565b6001841615612b3b57908102905b60019390931c928002612b12565b935093915050565b5f82612b5f57506001610a03565b81612b6b57505f610a03565b8160018114612b815760028114612b8b57612ba7565b6001915050610a03565b60ff841115612b9c57612b9c6129a1565b50506001821b610a03565b5060208310610133831016604e8410600b8410161715612bca575081810a610a03565b612bd65f198484612b0e565b805f1904821115612be957612be96129a1565b029392505050565b5f610b4660ff841683612b51565b634e487b7160e01b5f52603160045260245ffd5b5f60ff831680612c2557612c25612a78565b8060ff8416069150509291505056fea2646970667358221220731493dbdcad90946d26c5492bc661bacf61c8900c10b23f5e6c9c139090635a64736f6c634300081a0033000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000260125a371f8952c32e2e0bc828694a64d957ea50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffff
Deployed Bytecode
0x608060405234801561000f575f80fd5b506004361061037d575f3560e01c8063715018a6116101d4578063ba08765211610109578063dbd5edc7116100a9578063e16b03a311610079578063e16b03a3146108ac578063ef8b30f7146107f0578063f0a9b156146108b4578063f2fde38b146108c7575f80fd5b8063dbd5edc714610845578063dbf8f0331461084e578063dc90076514610861578063dd62ed3e14610874575f80fd5b8063ce96cb77116100e4578063ce96cb7714610803578063d7644ba214610816578063d83ad00c14610829578063d905777e14610832575f80fd5b8063ba087652146107ca578063c63d75b6146107dd578063c6e6f592146107f0575f80fd5b806395d89b4111610174578063a9059cbb1161014f578063a9059cbb1461077e578063b32413b714610791578063b3d7f6b9146107a4578063b460af94146107b7575f80fd5b806395d89b411461075a57806396523644146107625780639ee679e81461076b575f80fd5b806386651203116101af57806386651203146107165780638da5cb5b1461072957806394bf804d1461073a57806394c8e4ff1461074d575f80fd5b8063715018a6146106dc57806373216450146106e457806381b94744146106f7575f80fd5b806336d2a229116102b55780634e6d14051161025557806364d5fa471161022557806364d5fa47146106855780636e553f65146106985780636ff2a953146106ab57806370a08231146106b4575f80fd5b80634e6d1405146105555780635283efc6146105f6578063559034df1461061d57806362518ddf14610630575f80fd5b8063402d267d11610290578063402d267d14610532578063422e8081146105455780634a0aee291461054d5780634cdad506146103e3575f80fd5b806336d2a229146104c957806338d52e0f146104dc578063390947cf14610516575f80fd5b806318160ddd1161032057806323b872dd116102fb57806323b872dd1461048b57806329366f311461049e57806329b1829e146104a6578063313ce567146104af575f80fd5b806318160ddd1461043157806319a008371461043957806320736b1414610478575f80fd5b806307a2d13a1161035b57806307a2d13a146103e3578063095ea7b3146103f65780630a28a477146104095780630fb30ccd1461041c575f80fd5b806301e1d1141461038157806302d0b9d01461039c57806306fdde03146103ce575b5f80fd5b6103896108da565b6040519081526020015b60405180910390f35b6103be6103aa36600461265b565b60116020525f908152604090205460ff1681565b6040519015158152602001610393565b6103d6610968565b6040516103939190612674565b6103896103f13660046126a9565b6109f8565b6103be6104043660046126c0565b610a09565b6103896104173660046126a9565b610a20565b61042f61042a3660046126f7565b610a2c565b005b600254610389565b6104607f000000000000000000000000000000000000000000000000ffffffffffffffff81565b6040516001600160401b039091168152602001610393565b6103896104863660046126a9565b610b09565b6103be610499366004612774565b610b28565b600b54610389565b61038960085481565b6104b7610b4d565b60405160ff9091168152602001610393565b6103896104d73660046126a9565b610b7d565b7f000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda029135b6040516001600160a01b039091168152602001610393565b61051f6103e881565b60405161ffff9091168152602001610393565b61038961054036600461265b565b610bc1565b6104b7600381565b610389610bec565b6105e16105633660046126a9565b600a6020525f908152604090208054600182015460028301546003909301546001600160a01b039283169392909116916001600160801b0380821692600160801b92839004909116916001600160401b0380831692600160401b8104821692810490911690600160c01b810461ffff1690600160d01b900460ff1689565b604051610393999897969594939291906127e2565b6104607f000000000000000000000000000000000000000000000000000000000000000081565b61042f61062b3660046126a9565b610bfd565b61064361063e3660046126a9565b610d52565b604080516001600160a01b0390951685526001600160801b0390931660208501526001600160401b039091169183019190915215156060820152608001610393565b61042f6106933660046126a9565b610dae565b6103896106a6366004612857565b610fd0565b61038960095481565b6103896106c236600461265b565b6001600160a01b03165f9081526020819052604090205490565b61042f611024565b61042f6106f23660046126a9565b611037565b6103896107053660046126a9565b600c6020525f908152604090205481565b61042f6107243660046126a9565b611165565b6005546001600160a01b03166104fe565b610389610748366004612857565b6111a9565b6010546103be9060ff1681565b6103d66111f5565b610389600e5481565b6103896107793660046126a9565b611204565b6103be61078c3660046126c0565b6113c3565b61042f61079f3660046126a9565b6113d0565b6103896107b23660046126a9565b61147e565b6103896107c5366004612881565b61148a565b6103896107d8366004612881565b6114e0565b6103896107eb36600461265b565b61152d565b6103896107fe3660046126a9565b61153a565b61038961081136600461265b565b611545565b61042f6108243660046128b1565b611567565b610389600f5481565b61038961084036600461265b565b6115b0565b61038960075481565b61042f61085c3660046128ca565b6115cd565b61038961086f3660046126a9565b611633565b6103896108823660046128f2565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b610389611651565b6103896108c236600461291a565b61165a565b61042f6108d536600461265b565b611a6c565b5f806108e4611aa6565b600b549091505f5b81811015610960575f600a5f600b848154811061090b5761090b61298d565b905f5260205f20015481526020019081526020015f20905061092c81611b30565b600282015461094b9190600160801b90046001600160801b03166129b5565b61095590856129b5565b9350506001016108ec565b509092915050565b606060038054610977906129c8565b80601f01602080910402602001604051908101604052809291908181526020018280546109a3906129c8565b80156109ee5780601f106109c5576101008083540402835291602001916109ee565b820191905f5260205f20905b8154815290600101906020018083116109d157829003601f168201915b5050505050905090565b5f610a03825f611bfb565b92915050565b5f33610a16818585611c33565b5060019392505050565b5f610a03826001611c45565b610a34611c74565b5f5b82811015610b03578160115f868685818110610a5457610a5461298d565b9050602002016020810190610a69919061265b565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055838382818110610aa257610aa261298d565b9050602002016020810190610ab7919061265b565b6001600160a01b03167f45c511744da796b33755671bc116ccbf0b893787d1baedf57bec72605489e9ea83604051610af3911515815260200190565b60405180910390a2600101610a36565b50505050565b600b8181548110610b18575f80fd5b5f91825260209091200154905081565b5f33610b35858285611ca1565b610b40858585611d04565b60019150505b9392505050565b5f610b78817f0000000000000000000000000000000000000000000000000000000000000006612a00565b905090565b5f818152600a60205260408120600380820154600160d01b900460ff166005811115610bab57610bab6127ae565b14610bb857505f92915050565b610b4681611b30565b5f80610bcb6108da565b90506007548110610bde57505f92915050565b80600754610b469190612a19565b600e54600d545f91610b7891612a19565b610c05611d61565b5f818152600a60205260409020600380820154600160d01b900460ff166005811115610c3357610c336127ae565b14610c6c5760038181015460405163e064752b60e01b8152610c639291600160d01b900460ff1690600401612a2c565b60405180910390fd5b6002810154600880546001600160801b0380841693600160801b90041691905f90610c98908490612a19565b90915550610ca7905083611d8b565b60038201805460ff60d01b1916600160d21b179055610cfa6001600160a01b037f000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda029131633306001600160801b038516611e65565b6040516001600160801b038216815283907f8d8f49c808237064e97c591dbcd892e72f4c8f5159c19feed4390f0efc33522e9060200160405180910390a2610d426003611ecc565b505050610d4f6001600655565b50565b600d8181548110610d61575f80fd5b5f918252602090912060029091020180546001909101546001600160a01b0390911691506001600160801b03811690600160801b81046001600160401b031690600160c01b900460ff1684565b610db6611d61565b5f818152600a6020526040902060026003820154600160d01b900460ff166005811115610de557610de56127ae565b14610e1957600281600301601a9054906101000a900460ff1660405163e064752b60e01b8152600401610c63929190612a2c565b60038101545f9061271090610e3990600160c01b900461ffff1682612a47565b6002840154610e559161ffff16906001600160801b0316612a61565b610e5f9190612a8c565b9050610e69611aa6565b811115610e895760405163bb55fd2760e01b815260040160405180910390fd5b6002820180546001600160801b03838116600160801b0291161790556003820180546001600160401b034216600160401b0260ff60d01b19167aff00000000000000000000ffffffffffffffff00000000000000001990911617600360d01b17905560088054829182915f90610f009084906129b5565b9091555050600b80546001810182557f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901859055545f858152600c60205260409020558254610f85906001600160a01b0316837f000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda029135b6001600160a01b03169190612077565b6040516001600160801b038216815284907f9fa8bf8b4f9d155c2001e8a501b6637fd8be50b871a194e60d876eb8988fa5cd9060200160405180910390a2505050610d4f6001600655565b5f80610fdb83610bc1565b90508084111561100457828482604051633c8097d960e11b8152600401610c6393929190612a9f565b5f61100e8561153a565b905061101c338587846120a8565b949350505050565b61102c611c74565b6110355f61213a565b565b61103f611c74565b5f818152600a60205260409020600380820154600160d01b900460ff16600581111561106d5761106d6127ae565b1461109d5760038181015460405163e064752b60e01b8152610c639291600160d01b900460ff1690600401612a2c565b6003810154600160801b90046001600160401b031642116110d1576040516316c0ac3960e11b815260040160405180910390fd5b600281015460088054600160801b9092046001600160801b0316918291905f906110fc908490612a19565b9091555061110b905083611d8b565b600382018054600560d01b60ff60d01b199091161790556040516001600160801b038216815283907fbb77916ab6004615d50fa89cf32df2096dd339eb4088871eb98bbe2b3b6eedfc9060200160405180910390a2505050565b61116d611c74565b60078190556040518181527f50e5341d7a4ad030a1a03c7b2bccfa67438c0bdf5c398a3b1d7a64babfbf97fe906020015b60405180910390a150565b5f806111b48361152d565b9050808411156111dd5782848260405163284ff66760e01b8152600401610c6393929190612a9f565b5f6111e78561147e565b905061101c338583886120a8565b606060048054610977906129c8565b5f61120d611d61565b815f0361122d57604051636edcc52360e01b815260040160405180910390fd5b335f9081526020819052604090205482111561125c57604051636edcc52360e01b815260040160405180910390fd5b611267333084611d04565b81600f5f82825461127891906129b5565b9091555050600d805460408051608081018252338082526001600160801b0387811660208085018281526001600160401b034281168789019081525f6060890181815260018c018d559b9052965160028a027fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb5810180546001600160a01b039093166001600160a01b03199093169290921790915591517fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb6909201805497519a511515600160c01b0260ff60c01b199b909216600160801b026001600160c01b03199098169290951691909117959095179790971693909317905591519081529193509183917fac1f9b1be6ef66c3a8b9bdcf5da0e83b36b69e1228bb272f1446703a10545946910160405180910390a36113b36001611ecc565b506113be6001600655565b919050565b5f33610a16818585611d04565b6113d8611c74565b5f818152600a6020526040902060016003820154600160d01b900460ff166005811115611407576114076127ae565b1461143b57600181600301601a9054906101000a900460ff1660405163e064752b60e01b8152600401610c63929190612a2c565b60038101805460ff60d01b1916600160d11b17905560405182907fe22fc0e3ca7d9b356bbb1938f71af9637025ef8d96e1ce7b01e05e5c71f64ef6905f90a25050565b5f610a03826001611bfb565b5f8061149583611545565b9050808511156114be57828582604051633fa733bb60e21b8152600401610c6393929190612a9f565b5f6114c886610a20565b90506114d7338686898561218b565b95945050505050565b5f806114eb836115b0565b90508085111561151457828582604051632e52afbb60e21b8152600401610c6393929190612a9f565b5f61151e866109f8565b90506114d7338686848a61218b565b5f610a036107fe83610bc1565b5f610a03825f611c45565b6001600160a01b0381165f90815260208190526040812054610a03905f611bfb565b61156f611c74565b6010805460ff19168215159081179091556040519081527fa1bf86c493917580dec207969ef59976f0c378f10ece581237f19acfbd858f1c9060200161119e565b6001600160a01b0381165f90815260208190526040812054610a03565b6115d5611c74565b6001600160a01b0382165f81815260116020908152604091829020805460ff191685151590811790915591519182527f45c511744da796b33755671bc116ccbf0b893787d1baedf57bec72605489e9ea910160405180910390a25050565b5f61163c611d61565b61164582611ecc565b90506113be6001600655565b5f610b78611aa6565b5f6001600160a01b0385166116825760405163d92e233d60e01b815260040160405180910390fd5b336001600160a01b038616036116ab57604051637ac8833160e01b815260040160405180910390fd5b836001600160801b03165f036116d457604051631e8b6b6f60e21b815260040160405180910390fd5b42836001600160401b0316116116fd57604051631c38546760e01b815260040160405180910390fd5b61ffff8216158061171357506103e861ffff8316115b156117315760405163eb2b61a560e01b815260040160405180910390fd5b5f61173c4285612ac0565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160401b0316816001600160401b031610806117af57507f000000000000000000000000000000000000000000000000ffffffffffffffff6001600160401b0316816001600160401b0316115b15611828576040516331589ee360e11b81526001600160401b0380831660048301527f0000000000000000000000000000000000000000000000000000000000000000811660248301527f000000000000000000000000000000000000000000000000ffffffffffffffff166044820152606401610c63565b60105460ff1680156118495750335f9081526011602052604090205460ff16155b1561186957604051631e277b2d60e11b8152336004820152602401610c63565b60098054905f61187883612adf565b9091555060408051610120810182523381526001600160a01b03891660208201526001600160801b038816918101919091525f606082018190526001600160401b03428116608084015260a0830191909152861660c082015261ffff851660e08201529092506101008101600190525f838152600a6020908152604091829020835181546001600160a01b039182166001600160a01b031991821617835592850151600183018054919092169316929092179091559082015160608301516001600160801b03908116600160801b90810291909216176002830155608083015160038301805460a086015160c087015160e088015161ffff16600160c01b0261ffff60c01b196001600160401b039283169097029690961669ffffffffffffffffffff60801b19928216600160401b026fffffffffffffffffffffffffffffffff1994909416919095161791909117169190911791909117808255610100840151919060ff60d01b1916600160d01b8360058111156119f9576119f96127ae565b021790555050604080516001600160801b03881681526001600160401b038716602082015261ffff86168183015290516001600160a01b0389169250339185917f70b7b5c8400727173355da52453167d5bfe8830143712bc51044d0342010d39c9181900360600190a450949350505050565b611a74611c74565b6001600160a01b038116611a9d57604051631e4fbdf760e01b81525f6004820152602401610c63565b610d4f8161213a565b5f7f000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda029136040516370a0823160e01b81523060048201526001600160a01b0391909116906370a0823190602401602060405180830381865afa158015611b0c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b789190612af7565b60028101545f908190611b55906001600160801b03600160801b820481169116612a19565b9050805f03611b6657505f92915050565b60038301545f90611b90906001600160401b03600160401b8204811691600160801b900416612a19565b9050805f03611ba0575092915050565b60038401545f90600160801b90046001600160401b0316421015611be2576003850154611bdd90600160401b90046001600160401b031642612a19565b611be4565b815b905081611bf18285612a61565b6114d79190612a8c565b5f610b46611c076108da565b611c129060016129b5565b611c1d5f600a612bf1565b600254611c2a91906129b5565b8591908561224b565b611c40838383600161228d565b505050565b5f610b46611c5482600a612bf1565b600254611c6191906129b5565b611c696108da565b611c2a9060016129b5565b6005546001600160a01b031633146110355760405163118cdaa760e01b8152336004820152602401610c63565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f19811015610b035781811015611cf657828183604051637dc7a0d960e11b8152600401610c6393929190612a9f565b610b0384848484035f61228d565b6001600160a01b038316611d2d57604051634b637e8f60e11b81525f6004820152602401610c63565b6001600160a01b038216611d565760405163ec442f0560e01b81525f6004820152602401610c63565b611c40838383612351565b600260065403611d8457604051633ee5aeb560e01b815260040160405180910390fd5b6002600655565b5f818152600c602052604081205490819003611da5575050565b5f611db1600183612a19565b600b549091505f90611dc590600190612a19565b9050808214611e27575f600b8281548110611de257611de261298d565b905f5260205f200154905080600b8481548110611e0157611e0161298d565b5f91825260209091200155611e178360016129b5565b5f918252600c6020526040909120555b600b805480611e3857611e38612bff565b600190038181905f5260205f20015f90559055600c5f8581526020019081526020015f205f905550505050565b6040516001600160a01b038481166024830152838116604483015260648201839052610b039186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612464565b600e54600d545f919082611ee08383612a19565b905080851115611eee578094505b5f5b85811015612060575f600d611f0583876129b5565b81548110611f1557611f1561298d565b5f91825260208220600160029092020190810154909250611f3e906001600160801b03166109f8565b90505f611f49611aa6565b905080821115611f5b57505050612060565b6001830154611f749030906001600160801b03166124d0565b6001830154600f80546001600160801b03909216915f90611f96908490612a19565b909155505060018301805460ff60c01b1916600160c01b1790558254611fe7906001600160a01b031683610f757f000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda0291390565b82546001600160a01b0316611ffc85896129b5565b6001850154604080516001600160801b039092168252602082018690527f2fbe4f73a98fb219d8ed0184473803f40b6f7152c634bd7003cd3ba599c9bd97910160405180910390a38761204e81612adf565b98505060019093019250611ef0915050565b5061206b84846129b5565b600e5550919392505050565b6040516001600160a01b03838116602483015260448201839052611c4091859182169063a9059cbb90606401611e9a565b6120d47f000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913853085611e65565b6120de8382612508565b826001600160a01b0316846001600160a01b03167fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7848460405161212c929190918252602082015260400190565b60405180910390a350505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b826001600160a01b0316856001600160a01b0316146121af576121af838683611ca1565b6121b983826124d0565b6121e47f000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda029138584612077565b826001600160a01b0316846001600160a01b0316866001600160a01b03167ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db858560405161223c929190918252602082015260400190565b60405180910390a45050505050565b5f6122786122588361253c565b801561227357505f848061226e5761226e612a78565b868809115b151590565b612283868686612568565b6114d791906129b5565b6001600160a01b0384166122b65760405163e602df0560e01b81525f6004820152602401610c63565b6001600160a01b0383166122df57604051634a1406b160e11b81525f6004820152602401610c63565b6001600160a01b038085165f9081526001602090815260408083209387168352929052208290558015610b0357826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161212c91815260200190565b6001600160a01b03831661237b578060025f82825461237091906129b5565b909155506123d89050565b6001600160a01b0383165f90815260208190526040902054818110156123ba5783818360405163391434e360e21b8152600401610c6393929190612a9f565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b0382166123f457600280548290039055612412565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161245791815260200190565b60405180910390a3505050565b5f8060205f8451602086015f885af180612483576040513d5f823e3d81fd5b50505f513d9150811561249a5780600114156124a7565b6001600160a01b0384163b155b15610b0357604051635274afe760e01b81526001600160a01b0385166004820152602401610c63565b6001600160a01b0382166124f957604051634b637e8f60e11b81525f6004820152602401610c63565b612504825f83612351565b5050565b6001600160a01b0382166125315760405163ec442f0560e01b81525f6004820152602401610c63565b6125045f8383612351565b5f6002826003811115612551576125516127ae565b61255b9190612c13565b60ff166001149050919050565b5f805f6125758686612618565b91509150815f036125995783818161258f5761258f612a78565b0492505050610b46565b8184116125b0576125b06003851502601118612634565b5f848688095f868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010185841190960395909502919093039390930492909217029150509392505050565b5f805f1983850993909202808410938190039390930393915050565b634e487b715f52806020526024601cfd5b80356001600160a01b03811681146113be575f80fd5b5f6020828403121561266b575f80fd5b610b4682612645565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f602082840312156126b9575f80fd5b5035919050565b5f80604083850312156126d1575f80fd5b6126da83612645565b946020939093013593505050565b803580151581146113be575f80fd5b5f805f60408486031215612709575f80fd5b83356001600160401b0381111561271e575f80fd5b8401601f8101861361272e575f80fd5b80356001600160401b03811115612743575f80fd5b8660208260051b8401011115612757575f80fd5b60209182019450925061276b9085016126e8565b90509250925092565b5f805f60608486031215612786575f80fd5b61278f84612645565b925061279d60208501612645565b929592945050506040919091013590565b634e487b7160e01b5f52602160045260245ffd5b600681106127de57634e487b7160e01b5f52602160045260245ffd5b9052565b6001600160a01b038a81168252891660208201526001600160801b038881166040830152871660608201526001600160401b03868116608083015285811660a0830152841660c082015261ffff831660e082015261012081016128496101008301846127c2565b9a9950505050505050505050565b5f8060408385031215612868575f80fd5b8235915061287860208401612645565b90509250929050565b5f805f60608486031215612893575f80fd5b833592506128a360208501612645565b915061276b60408501612645565b5f602082840312156128c1575f80fd5b610b46826126e8565b5f80604083850312156128db575f80fd5b6128e483612645565b9150612878602084016126e8565b5f8060408385031215612903575f80fd5b61290c83612645565b915061287860208401612645565b5f805f806080858703121561292d575f80fd5b61293685612645565b935060208501356001600160801b0381168114612951575f80fd5b925060408501356001600160401b038116811461296c575f80fd5b9150606085013561ffff81168114612982575f80fd5b939692955090935050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b80820180821115610a0357610a036129a1565b600181811c908216806129dc57607f821691505b6020821081036129fa57634e487b7160e01b5f52602260045260245ffd5b50919050565b60ff8181168382160190811115610a0357610a036129a1565b81810381811115610a0357610a036129a1565b60408101612a3a82856127c2565b610b4660208301846127c2565b61ffff8281168282160390811115610a0357610a036129a1565b8082028115828204841417610a0357610a036129a1565b634e487b7160e01b5f52601260045260245ffd5b5f82612a9a57612a9a612a78565b500490565b6001600160a01b039390931683526020830191909152604082015260600190565b6001600160401b038281168282160390811115610a0357610a036129a1565b5f60018201612af057612af06129a1565b5060010190565b5f60208284031215612b07575f80fd5b5051919050565b6001815b6001841115612b4957808504811115612b2d57612b2d6129a1565b6001841615612b3b57908102905b60019390931c928002612b12565b935093915050565b5f82612b5f57506001610a03565b81612b6b57505f610a03565b8160018114612b815760028114612b8b57612ba7565b6001915050610a03565b60ff841115612b9c57612b9c6129a1565b50506001821b610a03565b5060208310610133831016604e8410600b8410161715612bca575081810a610a03565b612bd65f198484612b0e565b805f1904821115612be957612be96129a1565b029392505050565b5f610b4660ff841683612b51565b634e487b7160e01b5f52603160045260245ffd5b5f60ff831680612c2557612c25612a78565b8060ff8416069150509291505056fea2646970667358221220731493dbdcad90946d26c5492bc661bacf61c8900c10b23f5e6c9c139090635a64736f6c634300081a0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000260125a371f8952c32e2e0bc828694a64d957ea50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffff
-----Decoded View---------------
Arg [0] : usdc (address): 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
Arg [1] : initialOwner (address): 0x260125a371F8952C32e2E0bc828694A64D957eA5
Arg [2] : _minTenor (uint64): 0
Arg [3] : _maxTenor (uint64): 18446744073709551615
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913
Arg [1] : 000000000000000000000000260125a371f8952c32e2e0bc828694a64d957ea5
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [3] : 000000000000000000000000000000000000000000000000ffffffffffffffff
🤖 Code Reader
Generate instant answers for your smart contract questions using Al Models. Read more.
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 30 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.

