[ { "inputs": [ { "internalType": "contract IRegistryV1", "name": "_registry", "type": "address" }, { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "contract IERC20", "name": "_underlyingToken", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "target", "type": "address" } ], "name": "AddressEmptyCode", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "AddressInsufficientBalance", "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": [], "name": "FailedInnerCall", "type": "error" }, { "inputs": [], "name": "ReentrancyGuardReentrantCall", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" } ], "name": "SafeERC20FailedOperation", "type": "error" }, { "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": "string", "name": "role", "type": "string" }, { "indexed": true, "internalType": "address", "name": "oldSpender", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newSpender", "type": "address" } ], "name": "AutoApprovedSpenderSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousController", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newController", "type": "address" } ], "name": "BurnControllerSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousHandler", "type": "address" }, { "indexed": true, "internalType": "address", "name": "handler", "type": "address" } ], "name": "BurnHandlerSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "burner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "receiver", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "underlyingAmount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "ChipBurned", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "minter", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "underlyingAmount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "ChipMinted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bool", "name": "value", "type": "bool" } ], "name": "IsMintingPausedSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousController", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newController", "type": "address" } ], "name": "MintControllerSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "oldAdmin", "type": "address" }, { "indexed": false, "internalType": "address", "name": "newAdmin", "type": "address" } ], "name": "NewAdmin", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "oldPendingAdmin", "type": "address" }, { "indexed": false, "internalType": "address", "name": "newPendingAdmin", "type": "address" } ], "name": "NewPendingAdmin", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "token", "type": "address" }, { "indexed": true, "internalType": "address", "name": "receiver", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "TokensSwept", "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" }, { "inputs": [], "name": "SELF_UNIT_SCALE", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_acceptAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newPendingAdmin", "type": "address" } ], "name": "_setPendingAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "admin", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "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": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "autoApproved", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "autoApprovedSpendersByRoles", "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": "address", "name": "_receiver", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "burnChip", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "bytes", "name": "_payload", "type": "bytes" } ], "name": "burnChipAndCall", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "burnController", "outputs": [ { "internalType": "contract IPoolBurnControllerV1", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "burnHandler", "outputs": [ { "internalType": "contract IBurnHandlerV1", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "chipMode", "outputs": [ { "internalType": "enum ChipEnumsV1.ChipMode", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "exchangeRate", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "role", "type": "string" } ], "name": "getAutoApprovedSpenderAddressByRole", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isMintingPaused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_toAddress", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "mintChip", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "mintController", "outputs": [ { "internalType": "contract IPoolMintControllerV1", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pendingAdmin", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "registry", "outputs": [ { "internalType": "contract IRegistryV1", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "role", "type": "string" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "setAutoApprovedSpenderForRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "contract IPoolBurnControllerV1", "name": "_burnController", "type": "address" } ], "name": "setBurnController", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "contract IBurnHandlerV1", "name": "_handler", "type": "address" } ], "name": "setBurnHandler", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_value", "type": "bool" } ], "name": "setIsMintingPaused", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "contract IPoolMintControllerV1", "name": "_mintController", "type": "address" } ], "name": "setMintController", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "sweepNative", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "contract IERC20", "name": "_token", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "sweepTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "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": [], "name": "underlyingToken", "outputs": [ { "internalType": "contract IERC20", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" } ]
6101006040523480156200001257600080fd5b5060405162002b4638038062002b468339810160408190526200003591620002c7565b600080546001600160a01b03191633179055836001848460056200005a8382620003ec565b506006620000698282620003ec565b50506001600755506001600160a01b038216620000ba5760405162461bcd60e51b815260206004820152600a602482015269215f726567697374727960b01b60448201526064015b60405180910390fd5b6001600160a01b038216608052806003811115620000dc57620000dc620004b8565b60a0816003811115620000f357620000f3620004b8565b90525050506001600160a01b038116620001445760405162461bcd60e51b815260206004820152601160248201527010afbab73232b9363cb4b733aa37b5b2b760791b6044820152606401620000b1565b806001600160a01b031660c0816001600160a01b0316815250506000816001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200019f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001c59190620004ce565b60ff169050620001d781600a6200060f565b60e052506200061d9350505050565b6001600160a01b0381168114620001fc57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200022757600080fd5b81516001600160401b0380821115620002445762000244620001ff565b604051601f8301601f19908116603f011681019082821181831017156200026f576200026f620001ff565b81604052838152602092508660208588010111156200028d57600080fd5b600091505b83821015620002b1578582018301518183018401529082019062000292565b6000602085830101528094505050505092915050565b60008060008060808587031215620002de57600080fd5b8451620002eb81620001e6565b60208601519094506001600160401b03808211156200030957600080fd5b620003178883890162000215565b945060408701519150808211156200032e57600080fd5b506200033d8782880162000215565b92505060608501516200035081620001e6565b939692955090935050565b600181811c908216806200037057607f821691505b6020821081036200039157634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003e7576000816000526020600020601f850160051c81016020861015620003c25750805b601f850160051c820191505b81811015620003e357828155600101620003ce565b5050505b505050565b81516001600160401b03811115620004085762000408620001ff565b62000420816200041984546200035b565b8462000397565b602080601f8311600181146200045857600084156200043f5750858301515b600019600386901b1c1916600185901b178555620003e3565b600085815260208120601f198616915b82811015620004895788860151825594840194600190910190840162000468565b5085821015620004a85787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052602160045260246000fd5b600060208284031215620004e157600080fd5b815160ff81168114620004f357600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000551578160001904821115620005355762000535620004fa565b808516156200054357918102915b93841c939080029062000515565b509250929050565b6000826200056a5750600162000609565b81620005795750600062000609565b81600181146200059257600281146200059d57620005bd565b600191505062000609565b60ff841115620005b157620005b1620004fa565b50506001821b62000609565b5060208310610133831016604e8410600b8410161715620005e2575081810a62000609565b620005ee838362000510565b8060001904821115620006055762000605620004fa565b0290505b92915050565b6000620004f3838362000559565b60805160a05160c05160e0516124b062000696600039600081816103b601528181611b290152611da90152600081816102d701528181610d77015281816116be0152818161199e01528181611a200152611a600152600061040a0152600081816104dd0152818161120a01526117bf01526124b06000f3fe6080604052600436106102045760003560e01c80637b10399911610118578063dd62ed3e116100a0578063ea0d5a211161006f578063ea0d5a2114610679578063ec1a5abb14610699578063ecd39eb4146106b9578063f851a440146106d9578063f946920b146106f957600080fd5b8063dd62ed3e14610604578063dd6d28c814610624578063dec6603614610644578063e9c714f21461066457600080fd5b8063aad3a7ee116100e7578063aad3a7ee14610564578063b71d1a0c14610584578063c566fa27146105a4578063cfe1f110146105c4578063d9d009e0146105e457600080fd5b80637b103999146104cb57806395d89b41146104ff578063a0052a8e14610514578063a9059cbb1461054457600080fd5b80632e105b421161019b5780635b0cc8c41161016a5780635b0cc8c4146103f85780636424a77e1461043957806370a082311461045957806370ac1fa51461048f57806379c80dc2146104af57600080fd5b80632e105b4214610367578063313ce567146103885780633ba0b9a9146103a45780633cf3a025146103d857600080fd5b806323b872dd116101d757806323b872dd146102a55780632495a599146102c557806326782247146103115780632b5e857f1461033157600080fd5b806306fdde0314610209578063095ea7b3146102345780630eb265e91461026457806318160ddd14610286575b600080fd5b34801561021557600080fd5b5061021e61070c565b60405161022b9190611fce565b60405180910390f35b34801561024057600080fd5b5061025461024f366004612016565b61079e565b604051901515815260200161022b565b34801561027057600080fd5b5061028461027f366004612042565b6107b8565b005b34801561029257600080fd5b506004545b60405190815260200161022b565b3480156102b157600080fd5b506102546102c036600461205f565b61092a565b3480156102d157600080fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161022b565b34801561031d57600080fd5b506001546102f9906001600160a01b031681565b34801561033d57600080fd5b506102f961034c3660046120a0565b6009602052600090815260409020546001600160a01b031681565b34801561037357600080fd5b50600a5461025490600160a01b900460ff1681565b34801561039457600080fd5b506040516012815260200161022b565b3480156103b057600080fd5b506102977f000000000000000000000000000000000000000000000000000000000000000081565b3480156103e457600080fd5b506102846103f33660046120a0565b610950565b34801561040457600080fd5b5061042c7f000000000000000000000000000000000000000000000000000000000000000081565b60405161022b91906120b9565b34801561044557600080fd5b50600c546102f9906001600160a01b031681565b34801561046557600080fd5b50610297610474366004612042565b6001600160a01b031660009081526002602052604090205490565b34801561049b57600080fd5b50600b546102f9906001600160a01b031681565b3480156104bb57600080fd5b50610297670de0b6b3a764000081565b3480156104d757600080fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561050b57600080fd5b5061021e6109b7565b34801561052057600080fd5b5061025461052f366004612042565b60086020526000908152604090205460ff1681565b34801561055057600080fd5b5061025461055f366004612016565b6109c6565b34801561057057600080fd5b5061028461057f366004612042565b6109d4565b34801561059057600080fd5b5061028461059f366004612042565b610b3c565b3480156105b057600080fd5b506102846105bf3660046120ef565b610be4565b3480156105d057600080fd5b50600a546102f9906001600160a01b031681565b3480156105f057600080fd5b506102f96105ff366004612155565b610c89565b34801561061057600080fd5b5061029761061f366004612197565b610cd5565b34801561063057600080fd5b5061028461063f366004612016565b610d2b565b34801561065057600080fd5b5061028461065f366004612016565b610d4b565b34801561067057600080fd5b50610284610e59565b34801561068557600080fd5b506102846106943660046121d0565b610f77565b3480156106a557600080fd5b506102846106b4366004612016565b610fb1565b3480156106c557600080fd5b506102846106d4366004612042565b6111ae565b3480156106e557600080fd5b506000546102f9906001600160a01b031681565b610284610707366004612227565b611346565b60606005805461071b90612273565b80601f016020809104026020016040519081016040528092919081815260200182805461074790612273565b80156107945780601f1061076957610100808354040283529160200191610794565b820191906000526020600020905b81548152906001019060200180831161077757829003601f168201915b5050505050905090565b6000336107ac81858561142e565b60019150505b92915050565b6000546001600160a01b031633146107eb5760405162461bcd60e51b81526004016107e2906122ad565b60405180910390fd5b6001600160a01b038116158061085e5750806001600160a01b031663cc57faed6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561083a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085e91906122d1565b6108aa5760405162461bcd60e51b815260206004820152601860248201527f4e4f545f504f4f4c5f4255524e5f434f4e54524f4c4c4552000000000000000060448201526064016107e2565b600c546001600160a01b0390811690821681036108d95760405162461bcd60e51b81526004016107e2906122ee565b600c80546001600160a01b0319166001600160a01b0384811691821790925560405190918316907f16b93672d9092cc0acb4ebfd8d65bf24786d793c518ab1cfc140e37e3564902590600090a35050565b60003361093885828561143b565b6109438585856114a1565b60019150505b9392505050565b6000546001600160a01b0316331461097a5760405162461bcd60e51b81526004016107e2906122ad565b600080546040516001600160a01b039091169183156108fc02918491818181858888f193505050501580156109b3573d6000803e3d6000fd5b5050565b60606006805461071b90612273565b6000336107ac8185856114a1565b6000546001600160a01b031633146109fe5760405162461bcd60e51b81526004016107e2906122ad565b6001600160a01b0381161580610a715750806001600160a01b03166357796be56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7191906122d1565b610abd5760405162461bcd60e51b815260206004820152601860248201527f4e4f545f504f4f4c5f4d494e545f434f4e54524f4c4c4552000000000000000060448201526064016107e2565b600b546001600160a01b039081169082168103610aec5760405162461bcd60e51b81526004016107e2906122ee565b600b80546001600160a01b0319166001600160a01b0384811691821790925560405190918316907ec2914c7e37af68952e44d24abe475cfe8283ecf3371fa55d59df1964da4f9c90600090a35050565b6000546001600160a01b03163314610b825760405162461bcd60e51b81526020600482015260096024820152682737ba1020b236b4b760b91b60448201526064016107e2565b600180546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a991015b60405180910390a15050565b6000546001600160a01b03163314610c0e5760405162461bcd60e51b81526004016107e2906122ad565b801515600a60149054906101000a900460ff16151503610c405760405162461bcd60e51b81526004016107e2906122ee565b600a805460ff60a01b1916600160a01b831515908102919091179091556040517f60313cc974fe7ab6a7d548b919c8d3ee7235ae7e711fd00603ea4b16e0d028b690600090a250565b6000808383604051602001610c9f929190612313565b60408051808303601f190181529181528151602092830120600090815260099092529020546001600160a01b0316949350505050565b6001600160a01b03811660009081526008602052604081205460ff1615610cff57506000196107b2565b506001600160a01b038281166000908152600360209081526040808320938516835292905220546107b2565b610d33611500565b33610d3f81848461152a565b50506109b36001600755565b6000546001600160a01b03163314610d755760405162461bcd60e51b81526004016107e2906122ad565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603610df65760405162461bcd60e51b815260206004820152601d60248201527f43414e4e4f545f53574545505f554e4445524c59494e475f544f4b454e00000060448201526064016107e2565b600054610e10906001600160a01b03848116911683611743565b6000546040518281526001600160a01b03918216918416907fd092d7fceb5ea5a962639fcc27a7bb315e7637e699e3b108cd570c38c75843009060200160405180910390a35050565b6001546001600160a01b031633148015610e7d57506001546001600160a01b031615155b610ec95760405162461bcd60e51b815260206004820152601e60248201527f4e6f7420746865204558495354494e472070656e64696e672061646d696e000060448201526064016107e2565b60008054600180546001600160a01b038082166001600160a01b031980861682179096559490911690915560408051919092168082526020820184905292917ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc910160405180910390a1600154604080516001600160a01b03808516825290921660208301527fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a99101610bd8565b6000546001600160a01b03163314610fa15760405162461bcd60e51b81526004016107e2906122ad565b610fac8383836117a2565b505050565b610fb9611500565b600a54600160a01b900460ff16156110015760405162461bcd60e51b815260206004820152600b60248201526a1352539517d4105554d15160aa1b60448201526064016107e2565b8060000361103f5760405162461bcd60e51b815260206004820152600b60248201526a414d4f554e545f5a45524f60a81b60448201526064016107e2565b3361104a8183611986565b600061105583611b25565b600b549091506001600160a01b0316801561114157604051630fab366b60e01b81526001600160a01b0384811660048301528681166024830152604482018690526064820184905260009190831690630fab366b906084016020604051808303816000875af11580156110cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f091906122d1565b90508061113f5760405162461bcd60e51b815260206004820152601760248201527f4d494e545f434f4e54524f4c4c45525f5245465553414c00000000000000000060448201526064016107e2565b505b61114b8583611b64565b846001600160a01b0316836001600160a01b03167fd20c3a57c71c0887a5010822305eece6ba96a1719b0020268ca215fcc07735808685604051611199929190918252602082015260400190565b60405180910390a35050506109b36001600755565b6000546001600160a01b031633146111d85760405162461bcd60e51b81526004016107e2906122ad565b6001600160a01b03811615806112825750604051632814d47360e11b81523060048201526001600160a01b03808316917f000000000000000000000000000000000000000000000000000000000000000090911690635029a8e690602401602060405180830381865afa158015611253573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112779190612323565b6001600160a01b0316145b6112c65760405162461bcd60e51b81526020600482015260156024820152741393d517d49151d254d5149657d054141493d59151605a1b60448201526064016107e2565b600a546001600160a01b0390811690821681036112f55760405162461bcd60e51b81526004016107e2906122ee565b600a80546001600160a01b0319166001600160a01b0384811691821790925560405190918316907f4b51eab659b8214b91d05725a11f90ee31cdcd1b6484b59d84051881e2488a9790600090a35050565b61134e611500565b600a546001600160a01b03166113985760405162461bcd60e51b815260206004820152600f60248201526e2727afa12aa9272fa420a7222622a960891b60448201526064016107e2565b600a5433906000906113b59083906001600160a01b03168761152a565b600a546040516343aa8ca160e01b81529192506001600160a01b0316906343aa8ca19034906113f09086908a9087908b908b90600401612369565b6000604051808303818588803b15801561140957600080fd5b505af115801561141d573d6000803e3d6000fd5b50505050505050610fac6001600755565b610fac8383836001611b9a565b60006114478484610cd5565b9050600019811461149b578181101561148c57604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016107e2565b61149b84848484036000611b9a565b50505050565b6001600160a01b0383166114cb57604051634b637e8f60e11b8152600060048201526024016107e2565b6001600160a01b0382166114f55760405163ec442f0560e01b8152600060048201526024016107e2565b610fac838383611c6f565b60026007540361152357604051633ee5aeb560e01b815260040160405180910390fd5b6002600755565b60008160000361156a5760405162461bcd60e51b815260206004820152600b60248201526a414d4f554e545f5a45524f60a81b60448201526064016107e2565b61157382611d99565b9050806000036115be5760405162461bcd60e51b8152602060048201526016602482015275554e4445524c59494e475f414d4f554e545f5a45524f60501b60448201526064016107e2565b600c546001600160a01b031680156116a75760405163e99bfce560e01b81526001600160a01b038681166004830152858116602483015260448201849052606482018590526000919083169063e99bfce5906084016020604051808303816000875af1158015611632573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061165691906122d1565b9050806116a55760405162461bcd60e51b815260206004820152601760248201527f4255524e5f434f4e54524f4c4c45525f5245465553414c00000000000000000060448201526064016107e2565b505b6116b18584611dce565b6116e56001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168584611743565b836001600160a01b0316856001600160a01b03167f6e9b7d09f4f2a9b129527e9daa9b710e6efde1980ff021731846c74bb833f8908486604051611733929190918252602082015260400190565b60405180910390a3509392505050565b6040516001600160a01b03838116602483015260448201839052610fac91859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611e04565b6001600160a01b03811615806118595750806001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634971e2563086866040518463ffffffff1660e01b815260040161180d939291906123a2565b602060405180830381865afa15801561182a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184e9190612323565b6001600160a01b0316145b61189d5760405162461bcd60e51b81526020600482015260156024820152741393d517d49151d254d5149657d054141493d59151605a1b60448201526064016107e2565b60006118a98484610c89565b6001600160a01b038082166000908152600860209081526040808320805460ff19908116909155938716835280832080549094166001179093559151929350916118f7918791879101612313565b60408051808303601f1901815282825280516020918201206000818152600990925291902080546001600160a01b0319166001600160a01b0387811691821790925591935090919084169061194f9088908890612313565b604051908190038120907fc94709672e719140368a6108fcd1b4d0d1247187c04a308abf71aab8099b49ab90600090a45050505050565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156119ed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a1191906123d0565b9050611a486001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016843085611e67565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611aaf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad391906123d0565b905082611ae083836123ff565b1461149b5760405162461bcd60e51b815260206004820152601560248201527411125117d393d517d49150d152559157d1561050d5605a1b60448201526064016107e2565b60007f0000000000000000000000000000000000000000000000000000000000000000611b5a670de0b6b3a764000084612412565b6107b29190612429565b6001600160a01b038216611b8e5760405163ec442f0560e01b8152600060048201526024016107e2565b6109b360008383611c6f565b6001600160a01b038416611bc45760405163e602df0560e01b8152600060048201526024016107e2565b6001600160a01b038316611bee57604051634a1406b160e11b8152600060048201526024016107e2565b6001600160a01b038085166000908152600360209081526040808320938716835292905220829055801561149b57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051611c6191815260200190565b60405180910390a350505050565b6001600160a01b038316611c9a578060046000828254611c8f919061244b565b90915550611d0c9050565b6001600160a01b03831660009081526002602052604090205481811015611ced5760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016107e2565b6001600160a01b03841660009081526002602052604090209082900390555b6001600160a01b038216611d2857600480548290039055611d47565b6001600160a01b03821660009081526002602052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d8c91815260200190565b60405180910390a3505050565b6000670de0b6b3a7640000611b5a7f000000000000000000000000000000000000000000000000000000000000000084612412565b6001600160a01b038216611df857604051634b637e8f60e11b8152600060048201526024016107e2565b6109b382600083611c6f565b6000611e196001600160a01b03841683611ea0565b90508051600014158015611e3e575080806020019051810190611e3c91906122d1565b155b15610fac57604051635274afe760e01b81526001600160a01b03841660048201526024016107e2565b6040516001600160a01b03848116602483015283811660448301526064820183905261149b9186918216906323b872dd90608401611770565b60606109498383600084600080856001600160a01b03168486604051611ec6919061245e565b60006040518083038185875af1925050503d8060008114611f03576040519150601f19603f3d011682016040523d82523d6000602084013e611f08565b606091505b5091509150611f18868383611f22565b9695505050505050565b606082611f3757611f3282611f7e565b610949565b8151158015611f4e57506001600160a01b0384163b155b15611f7757604051639996b31560e01b81526001600160a01b03851660048201526024016107e2565b5080610949565b805115611f8e5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60005b83811015611fc5578181015183820152602001611fad565b50506000910152565b6020815260008251806020840152611fed816040850160208701611faa565b601f01601f19169190910160400192915050565b6001600160a01b0381168114611fa757600080fd5b6000806040838503121561202957600080fd5b823561203481612001565b946020939093013593505050565b60006020828403121561205457600080fd5b813561094981612001565b60008060006060848603121561207457600080fd5b833561207f81612001565b9250602084013561208f81612001565b929592945050506040919091013590565b6000602082840312156120b257600080fd5b5035919050565b60208101600483106120db57634e487b7160e01b600052602160045260246000fd5b91905290565b8015158114611fa757600080fd5b60006020828403121561210157600080fd5b8135610949816120e1565b60008083601f84011261211e57600080fd5b50813567ffffffffffffffff81111561213657600080fd5b60208301915083602082850101111561214e57600080fd5b9250929050565b6000806020838503121561216857600080fd5b823567ffffffffffffffff81111561217f57600080fd5b61218b8582860161210c565b90969095509350505050565b600080604083850312156121aa57600080fd5b82356121b581612001565b915060208301356121c581612001565b809150509250929050565b6000806000604084860312156121e557600080fd5b833567ffffffffffffffff8111156121fc57600080fd5b6122088682870161210c565b909450925050602084013561221c81612001565b809150509250925092565b60008060006040848603121561223c57600080fd5b83359250602084013567ffffffffffffffff81111561225a57600080fd5b6122668682870161210c565b9497909650939450505050565b600181811c9082168061228757607f821691505b6020821081036122a757634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252600a908201526927a7262cafa0a226a4a760b11b604082015260600190565b6000602082840312156122e357600080fd5b8151610949816120e1565b6020808252600b908201526a1053149150511657d4d15560aa1b604082015260600190565b8183823760009101908152919050565b60006020828403121561233557600080fd5b815161094981612001565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60018060a01b0386168152846020820152836040820152608060608201526000612397608083018486612340565b979650505050505050565b6001600160a01b03841681526040602082018190526000906123c79083018486612340565b95945050505050565b6000602082840312156123e257600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156107b2576107b26123e9565b80820281158282048414176107b2576107b26123e9565b60008261244657634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156107b2576107b26123e9565b60008251612470818460208701611faa565b919091019291505056fea2646970667358221220c6e883aed305ae1be92087a8d6c98147af8c94fd54a417f618a4f5db3c2fd03764736f6c63430008180033000000000000000000000000c5e782e2a4e2cfcb7ed454cf5a7b6aa2bb424b90000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000a18bf3994c0cc6e3b63ac420308e5383f53120d70000000000000000000000000000000000000000000000000000000000000010656e67696e655f636869705f424f4241000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010656e67696e655f636869705f424f424100000000000000000000000000000000
0x000000000000000000000000c5e782e2a4e2cfcb7ed454cf5a7b6aa2bb424b90000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000a18bf3994c0cc6e3b63ac420308e5383f53120d70000000000000000000000000000000000000000000000000000000000000010656e67696e655f636869705f424f4241000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010656e67696e655f636869705f424f424100000000000000000000000000000000
----Decoded View------------Arg [0] : _registry (address): 0xC5E782E2A4E2cFCb7eD454CF5a7b6aa2bB424B90Arg [1] : _name (string): engine_chip_BOBAArg [2] : _symbol (string): engine_chip_BOBAArg [3] : _underlyingToken (address): 0xa18bF3994C0Cc6E3b63ac420308E5383f53120D7
----Encoded View------------Arg [0] : 0x000000000000000000000000c5e782e2a4e2cfcb7ed454cf5a7b6aa2bb424b90Arg [1] : 0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010656e67696e655f636869705f424f424100000000000000000000000000000000Arg [2] : 0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010656e67696e655f636869705f424f424100000000000000000000000000000000Arg [3] : 0x000000000000000000000000a18bf3994c0cc6e3b63ac420308e5383f53120d7