[ { "inputs": [ { "internalType": "address", "name": "_implementation", "type": "address" }, { "internalType": "address", "name": "_dolomiteMargin", "type": "address" }, { "internalType": "bytes", "name": "_initializationCalldata", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "implementation", "type": "address" } ], "name": "ImplementationSet", "type": "event" }, { "stateMutability": "payable", "type": "fallback" }, { "inputs": [], "name": "DOLOMITE_MARGIN", "outputs": [ { "internalType": "contract IDolomiteMargin", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "implementation", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_newImplementation", "type": "address" } ], "name": "upgradeTo", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_newImplementation", "type": "address" }, { "internalType": "bytes", "name": "_upgradeCalldata", "type": "bytes" } ], "name": "upgradeToAndCall", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60806040523480156200001157600080fd5b506040516200131f3803806200131f833981016040819052620000349162000549565b6200003f836200008e565b6200004a826200014a565b62000084620000586200017e565b82604051806060016040528060278152602001620012f860279139620001a960201b620002ed1760201c565b505050506200075d565b620000ee620000a8826200022860201b620003651760201c565b6f5570677261646561626c6550726f787960801b7f496d706c656d656e746174696f6e206973206e6f74206120636f6e74726163746200023760201b620003741760201c565b620001136200010e6001600080516020620012d8833981519152620005d3565b829055565b6040516001600160a01b038216907fab64f92ab780ecbf4f3866f57cee465ff36c89450dcce20237ca7a8d81fb7d1390600090a250565b6200017b6200010e60017f01095cd170b13c49f67c675e3bc004094df00c531fa118e86b230655aba7aa17620005d3565b50565b6000620001a4620001a06001600080516020620012d8833981519152620005d3565b5490565b905090565b6060600080856001600160a01b031685604051620001c8919062000612565b600060405180830381855af49150503d806000811462000205576040519150601f19603f3d011682016040523d82523d6000602084013e6200020a565b606091505b5090925090506200021e86838387620002a3565b9695505050505050565b6001600160a01b03163b151590565b826200029e576200024882620002f9565b6101d160f51b6200025983620002f9565b6040516020016200026d9392919062000639565b60408051601f198184030181529082905262461bcd60e51b82526200029591600401620006a5565b60405180910390fd5b505050565b60608315620002e5578251620002dd576001600160a01b0385163b620002dd5760405162461bcd60e51b81526004016200029590620006b8565b5081620002f1565b620002f18383620003b8565b949350505050565b6060600082604051602001620003109190620006fb565b60408051601f19818403018152919052905060205b80156200039d5780620003388162000712565b9150508181815181106200035057620003506200072c565b01602001517fff000000000000000000000000000000000000000000000000000000000000001615620003975760006200038c82600162000742565b835250909392505050565b62000325565b5060408051600080825260208201909252905b509392505050565b815115620003c95781518083602001fd5b8060405162461bcd60e51b8152600401620002959190620006a5565b60006001600160a01b0382165b92915050565b6200040381620003e5565b81146200017b57600080fd5b8051620003f281620003f8565b634e487b7160e01b600052604160045260246000fd5b601f19601f83011681018181106001600160401b03821117156200045a576200045a6200041c565b6040525050565b60006200046d60405190565b90506200047b828262000432565b919050565b60006001600160401b038211156200049c576200049c6200041c565b601f19601f83011660200192915050565b60005b83811015620004ca578181015183820152602001620004b0565b83811115620004da576000848401525b50505050565b6000620004f7620004f18462000480565b62000461565b905082815260208101848484011115620005145762000514600080fd5b620003b0848285620004ad565b600082601f830112620005375762000537600080fd5b8151620002f1848260208601620004e0565b600080600060608486031215620005635762000563600080fd5b60006200057186866200040f565b935050602062000584868287016200040f565b92505060408401516001600160401b03811115620005a557620005a5600080fd5b620005b38682870162000521565b9150509250925092565b634e487b7160e01b600052601160045260246000fd5b600082821015620005e857620005e8620005bd565b500390565b6000620005f8825190565b62000608818560208601620004ad565b9290920192915050565b6000620006208284620005ed565b9392505050565b6001600160f01b031981165b82525050565b6000620006478286620005ed565b915062000655828562000627565b600282019150620006678284620005ed565b95945050505050565b60006200067b825190565b80845260208401935062000694818560208601620004ad565b601f01601f19169290920192915050565b6020808252810162000620818462000670565b60208082528101620003f281601d81527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000602082015260400190565b8062000633565b6000620007098284620006f4565b50602001919050565b600081620007245762000724620005bd565b506000190190565b634e487b7160e01b600052603260045260246000fd5b60008219821115620007585762000758620005bd565b500190565b610b6b806200076d6000396000f3fe6080604052600436106100435760003560e01c806315c14a4a1461005c5780633659cfe6146100875780634f1ef286146100a75780635c60da1b146100c75761004a565b3661004a57005b61005a6100556100e9565b610122565b005b34801561006857600080fd5b5061007161014b565b60405161007e919061078d565b60405180910390f35b34801561009357600080fd5b5061005a6100a23660046107ce565b61017b565b3480156100b357600080fd5b5061005a6100c2366004610841565b610255565b3480156100d357600080fd5b506100dc6100e9565b60405161007e91906108a6565b600061011d61011960017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd6108ca565b5490565b905090565b3660008037600080366000845af43d6000803e808015610141573d6000f35b3d6000fd5b505050565b600061011d61011960017f01095cd170b13c49f67c675e3bc004094df00c531fa118e86b230655aba7aa176108ca565b3361024861018761014b565b6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156101bf57600080fd5b505afa1580156101d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f791906108ec565b6001600160a01b0316826001600160a01b0316147127b7363ca237b637b6b4ba32a6b0b933b4b760711b7f43616c6c6572206973206e6f74206f776e6572206f6620446f6c6f6d69746500846103d2565b6102518261041e565b5050565b3361026161018761014b565b61026a8461041e565b6102e66102756100e9565b84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260208082527f5570677261646561626c6550726f78793a2055706772616465206661696c65649082015291506102ed9050565b5050505050565b6060600080856001600160a01b03168560405161030a919061095b565b600060405180830381855af49150503d8060008114610345576040519150601f19603f3d011682016040523d82523d6000602084013e61034a565b606091505b509150915061035b868383876104d2565b9695505050505050565b6001600160a01b03163b151590565b826101465761038282610520565b6101d160f51b61039183610520565b6040516020016103a39392919061097e565b60408051601f198184030181529082905262461bcd60e51b82526103c9916004016109e1565b60405180910390fd5b83610418576103e083610520565b6101d160f51b6103ef84610520565b61080f60f21b6103fe856105bb565b6040516103a3959493929190601f60f91b90602001610a02565b50505050565b6104686001600160a01b0382163b15156f5570677261646561626c6550726f787960801b7f496d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374610374565b61049b61049660017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd6108ca565b829055565b6040516001600160a01b038216907fab64f92ab780ecbf4f3866f57cee465ff36c89450dcce20237ca7a8d81fb7d1390600090a250565b6060831561050e578251610507576001600160a01b0385163b6105075760405162461bcd60e51b81526004016103c990610a60565b5081610518565b6105188383610701565b949350505050565b60606000826040516020016105359190610aa1565b60408051601f19818403018152919052905060205b80156105a0578061055a81610ab6565b91505081818151811061056f5761056f610acd565b01602001516001600160f81b0319161561059b576000610590826001610ae3565b835250909392505050565b61054a565b5060408051600080825260208201909252905b509392505050565b60408051602a80825260608281019093526001600160a01b03841691600091602082018180368337019050509050603060f81b8160008151811061060157610601610acd565b60200101906001600160f81b031916908160001a905350607860f81b8160018151811061063057610630610acd565b60200101906001600160f81b031916908160001a90535060005b60148110156105b3576000610660826002610afb565b905061066e600f851661072b565b8361067a8360296108ca565b8151811061068a5761068a610acd565b60200101906001600160f81b031916908160001a905350600484901c93506106b4600f851661072b565b836106c08360286108ca565b815181106106d0576106d0610acd565b60200101906001600160f81b031916908160001a9053505060049290921c91806106f981610b1a565b91505061064a565b8151156107115781518083602001fd5b8060405162461bcd60e51b81526004016103c991906109e1565b6000600a82101561074a57610741603083610ae3565b60f81b92915050565b610741605783610ae3565b60006001600160a01b0382165b92915050565b600061076282610755565b600061076282610768565b61078781610773565b82525050565b60208101610762828461077e565b60006001600160a01b038216610762565b6107b58161079b565b81146107c057600080fd5b50565b8035610762816107ac565b6000602082840312156107e3576107e3600080fd5b600061051884846107c3565b60008083601f84011261080457610804600080fd5b50813567ffffffffffffffff81111561081f5761081f600080fd5b60208301915083600182028301111561083a5761083a600080fd5b9250929050565b60008060006040848603121561085957610859600080fd5b600061086586866107c3565b935050602084013567ffffffffffffffff81111561088557610885600080fd5b610891868287016107ef565b92509250509250925092565b6107878161079b565b60208101610762828461089d565b634e487b7160e01b600052601160045260246000fd5b6000828210156108dc576108dc6108b4565b500390565b8051610762816107ac565b60006020828403121561090157610901600080fd5b600061051884846108e1565b60005b83811015610928578181015183820152602001610910565b838111156104185750506000910152565b6000610943825190565b61095181856020860161090d565b9290920192915050565b60006109678284610939565b9392505050565b6001600160f01b03198116610787565b600061098a8286610939565b9150610996828561096e565b6002820191506109a68284610939565b95945050505050565b60006109b9825190565b8084526020840193506109d081856020860161090d565b601f01601f19169290920192915050565b6020808252810161096781846109af565b6001600160f81b03198116610787565b6000610a0e8289610939565b9150610a1a828861096e565b600282019150610a2a8287610939565b9150610a36828661096e565b600282019150610a468285610939565b9150610a5282846109f2565b506001019695505050505050565b6020808252810161076281601d81527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000602082015260400190565b80610787565b6000610aad8284610a9b565b50602001919050565b600081610ac557610ac56108b4565b506000190190565b634e487b7160e01b600052603260045260246000fd5b60008219821115610af657610af66108b4565b500190565b6000816000190483118215151615610b1557610b156108b4565b500290565b6000600019821415610b2e57610b2e6108b4565b506001019056fea2646970667358221220c23815e3865d432597926ee352335d36c8c002c6553779131d9a13901afb79e664736f6c63430008090033360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd5570677261646561626c6550726f78793a20496e697469616c697a6174696f6e206661696c65640000000000000000000000009f7779a8af28de91262ba9d6383fef899102e876000000000000000000000000e6ef4f0b2455bab92ce7cc78e35324ab58917de8000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000048129fc1c00000000000000000000000000000000000000000000000000000000