[ { "inputs": [ { "internalType": "address", "name": "_stkGHO", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "target", "type": "address" } ], "name": "AddressEmptyCode", "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": "FailedCall", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "InsufficientBalance", "type": "error" }, { "inputs": [], "name": "InvalidInitialization", "type": "error" }, { "inputs": [], "name": "MintNotImplemented", "type": "error" }, { "inputs": [], "name": "NotInitializing", "type": "error" }, { "inputs": [], "name": "RedeemNotImplemented", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" } ], "name": "SafeERC20FailedOperation", "type": "error" }, { "inputs": [], "name": "WithdrawNotImplemented", "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": "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": "uint64", "name": "version", "type": "uint64" } ], "name": "Initialized", "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": "caller", "type": "address" }, { "indexed": true, "internalType": "address", "name": "receiver", "type": "address" }, { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "stkGHOShares", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "shares", "type": "uint256" } ], "name": "Unwrap", "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" }, { "inputs": [], "name": "EXCHANGE_RATE_UNIT", "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": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": [], "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": [ { "internalType": "address", "name": "_asset", "type": "address" } ], "name": "initialize", "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": "", "type": "address" } ], "name": "maxMint", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "maxRedeem", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "maxWithdraw", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": [ { "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": "", "type": "uint256" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "redeem", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "stkGHO", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "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": "uint256", "name": "shares", "type": "uint256" }, { "internalType": "address", "name": "receiver", "type": "address" }, { "internalType": "address", "name": "owner", "type": "address" } ], "name": "unwrap", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "withdraw", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" } ]
60a060405234801562000010575f80fd5b5060405162001f7938038062001f79833981016040819052620000339162000105565b6001600160a01b0381166080526200004a62000051565b5062000134565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000a25760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620001025780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b5f6020828403121562000116575f80fd5b81516001600160a01b03811681146200012d575f80fd5b9392505050565b608051611e02620001775f395f81816101ea0152818161070e0152818161088201528181610c9701528181610dc701528181610f4101526111b10152611e025ff3fe608060405234801561000f575f80fd5b50600436106101c6575f3560e01c80638e9b2ca4116100fe578063c4d66de81161009e578063d905777e1161006e578063d905777e146103d9578063dd62ed3e146103ec578063ef8b30f7146103c6578063fb183a02146103ff575f80fd5b8063c4d66de8146103b1578063c63d75b6146102e0578063c6e6f592146103c6578063ce96cb77146103d9575f80fd5b8063a9059cbb116100d9578063a9059cbb14610365578063b3d7f6b914610378578063b460af941461038b578063ba0876521461039e575f80fd5b80638e9b2ca41461033b57806394bf804d1461034a57806395d89b411461035d575f80fd5b806323b872dd11610169578063402d267d11610144578063402d267d146102e05780634cdad506146102395780636e553f65146102f457806370a0823114610307575f80fd5b806323b872dd14610296578063313ce567146102a957806338d52e0f146102c3575f80fd5b806307a2d13a116101a457806307a2d13a14610239578063095ea7b31461024c5780630a28a4771461026f57806318160ddd14610282575f80fd5b806301e1d114146101ca578063035c1e4e146101e557806306fdde0314610224575b5f80fd5b6101d2610412565b6040519081526020015b60405180910390f35b61020c7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101dc565b61022c610436565b6040516101dc91906117a6565b6101d26102473660046117d8565b6104f6565b61025f61025a36600461180a565b610507565b60405190151581526020016101dc565b6101d261027d3660046117d8565b61051e565b5f80516020611d8d833981519152546101d2565b61025f6102a4366004611832565b61052a565b6102b161054f565b60405160ff90911681526020016101dc565b5f80516020611dad833981519152546001600160a01b031661020c565b6101d26102ee36600461186b565b505f1990565b6101d2610302366004611884565b61057e565b6101d261031536600461186b565b6001600160a01b03165f9081525f80516020611d6d833981519152602052604090205490565b6101d2670de0b6b3a764000081565b6101d2610358366004611884565b6105af565b61022c6105ca565b61025f61037336600461180a565b610608565b6101d26103863660046117d8565b610615565b6101d26103993660046118ae565b610621565b6101d26103ac3660046118ae565b61063b565b6103c46103bf36600461186b565b610655565b005b6101d26103d43660046117d8565b6107b4565b6101d26103e736600461186b565b505f90565b6101d26103fa3660046118e7565b6107bf565b6101d261040d3660046118ae565b610808565b5f61043161042b5f80516020611d8d8339815191525490565b5f610912565b905090565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0380546060915f80516020611d6d833981519152916104749061190f565b80601f01602080910402602001604051908101604052809291908181526020018280546104a09061190f565b80156104eb5780601f106104c2576101008083540402835291602001916104eb565b820191905f5260205f20905b8154815290600101906020018083116104ce57829003601f168201915b505050505091505090565b5f610501825f610912565b92915050565b5f33610514818585610963565b5060019392505050565b5f610501826001610975565b5f336105378582856109c6565b610542858585610a29565b60019150505b9392505050565b5f805f80516020611dad83398151915290505f81546105789190600160a01b900460ff1661195b565b91505090565b5f5f1961058f565b60405180910390fd5b5f610599856107b4565b90506105a733858784610a86565b949350505050565b5f5f195f6105bc85610615565b90506105a733858388610a86565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0480546060915f80516020611d6d833981519152916104749061190f565b5f33610514818585610a29565b5f610501826001610912565b5f60405163ad28754360e01b815260040160405180910390fd5b5f60405163a17426f760e01b815260040160405180910390fd5b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff165f8115801561069a5750825b90505f8267ffffffffffffffff1660011480156106b65750303b155b9050811580156106c4575080155b156106e25760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561070c57845460ff60401b1916600160401b1785555b7f000000000000000000000000000000000000000000000000000000000000000061074761073982610a9b565b61074283610b25565b610b99565b61075087610baf565b6107656001600160a01b038816825f19610bc3565b5083156107ac57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b5f610501825f610975565b6001600160a01b039182165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020908152604080832093909416825291909152205490565b5f336001600160a01b0383168114610825576108258382876109c6565b5f610869610831610c80565b61083c906001611974565b6108475f600a611a67565b5f80516020611d8d833981519152546108609190611974565b8891905f610d08565b90506108758487610d53565b6108a96001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168683610d87565b836001600160a01b0316856001600160a01b0316836001600160a01b03167fddce703dce003cfc0a2d7cddef5f904f35cc1d27200a1b9153a656dc5208a849848a604051610901929190918252602082015260400190565b60405180910390a495945050505050565b5f8061095761091f610c80565b61092a906001611974565b6109355f600a611a67565b5f80516020611d8d8339815191525461094e9190611974565b86919086610d08565b90506105a78184610db8565b6109708383836001610e57565b505050565b5f806109818484610f3b565b90506105a76109915f600a611a67565b5f80516020611d8d833981519152546109aa9190611974565b6109b2610c80565b6109bd906001611974565b83919086610d08565b5f6109d184846107bf565b90505f198114610a235781811015610a1557604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610586565b610a2384848484035f610e57565b50505050565b6001600160a01b038316610a5257604051634b637e8f60e11b81525f6004820152602401610586565b6001600160a01b038216610a7b5760405163ec442f0560e01b81525f6004820152602401610586565b610970838383610fd9565b610a9284848484611112565b610a238261118f565b6060816001600160a01b03166306fdde036040518163ffffffff1660e01b81526004015f60405180830381865afa158015610ad8573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610aff9190810190611a89565b604051602001610b0f9190611b31565b6040516020818303038152906040529050919050565b6060816001600160a01b03166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa158015610b62573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610b899190810190611a89565b604051602001610b0f9190611b75565b610ba161120c565b610bab8282611257565b5050565b610bb761120c565b610bc0816112a7565b50565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610c148482611317565b610a23576040516001600160a01b0384811660248301525f6044830152610c7691869182169063095ea7b3906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506113b4565b610a2384826113b4565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610ce4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104319190611b9f565b5f610d35610d1583611415565b8015610d3057505f8480610d2b57610d2b611bb6565b868809115b151590565b610d40868686611441565b610d4a9190611974565b95945050505050565b6001600160a01b038216610d7c57604051634b637e8f60e11b81525f6004820152602401610586565b610bab825f83610fd9565b6040516001600160a01b0383811660248301526044820183905261097091859182169063a9059cbb90606401610c44565b5f610548670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e6aa216c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e21573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e459190611bca565b8591906001600160d81b031685610d08565b5f80516020611d6d8339815191526001600160a01b038516610e8e5760405163e602df0560e01b81525f6004820152602401610586565b6001600160a01b038416610eb757604051634a1406b160e11b81525f6004820152602401610586565b6001600160a01b038086165f90815260018301602090815260408083209388168352929052208390558115610f3457836001600160a01b0316856001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92585604051610f2b91815260200190565b60405180910390a35b5050505050565b5f6105487f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e6aa216c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f9b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fbf9190611bca565b84906001600160d81b0316670de0b6b3a764000085610d08565b5f80516020611d6d8339815191526001600160a01b0384166110135781816002015f8282546110089190611974565b909155506110839050565b6001600160a01b0384165f90815260208290526040902054828110156110655760405163391434e360e21b81526001600160a01b03861660048201526024810182905260448101849052606401610586565b6001600160a01b0385165f9081526020839052604090209083900390555b6001600160a01b0383166110a15760028101805483900390556110bf565b6001600160a01b0383165f9081526020829052604090208054830190555b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161110491815260200190565b60405180910390a350505050565b5f80516020611dad8339815191528054611137906001600160a01b03168630866114fe565b6111418483611537565b836001600160a01b0316856001600160a01b03167fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d78585604051610f2b929190918252602082015260400190565b8015610bc0576040516356e4bb9760e11b8152306004820152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063adc9772e906044015f604051808303815f87803b1580156111fa575f80fd5b505af1158015610f34573d5f803e3d5ffd5b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff1661125557604051631afcd79f60e31b815260040160405180910390fd5b565b61125f61120c565b5f80516020611d6d8339815191527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace036112988482611c35565b5060048101610a238382611c35565b6112af61120c565b5f80516020611dad8339815191525f806112c88461156b565b91509150816112d85760126112da565b805b83546001600160a81b031916600160a01b60ff92909216919091026001600160a01b031916176001600160a01b0394909416939093179091555050565b5f805f846001600160a01b0316846040516113329190611cf1565b5f604051808303815f865af19150503d805f811461136b576040519150601f19603f3d011682016040523d82523d5f602084013e611370565b606091505b509150915081801561139a57508051158061139a57508080602001905181019061139a9190611d0c565b8015610d4a5750505050506001600160a01b03163b151590565b5f6113c86001600160a01b03841683611641565b905080515f141580156113ec5750808060200190518101906113ea9190611d0c565b155b1561097057604051635274afe760e01b81526001600160a01b0384166004820152602401610586565b5f600282600381111561142a5761142a611d2b565b6114349190611d3f565b60ff166001149050919050565b5f838302815f1985870982811083820303915050805f036114755783828161146b5761146b611bb6565b0492505050610548565b80841161149357611493841561148c57601161164e565b601261164e565b5f848688095f868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b6040516001600160a01b038481166024830152838116604483015260648201839052610a239186918216906323b872dd90608401610c44565b6001600160a01b0382166115605760405163ec442f0560e01b81525f6004820152602401610586565b610bab5f8383610fd9565b60408051600481526024810182526020810180516001600160e01b031663313ce56760e01b17905290515f918291829182916001600160a01b038716916115b191611cf1565b5f60405180830381855afa9150503d805f81146115e9576040519150601f19603f3d011682016040523d82523d5f602084013e6115ee565b606091505b509150915081801561160257506020815110155b15611635575f8180602001905181019061161c9190611b9f565b905060ff8111611633576001969095509350505050565b505b505f9485945092505050565b606061054883835f61165f565b634e487b715f52806020526024601cfd5b60608147101561168b5760405163cf47918160e01b815247600482015260248101839052604401610586565b5f80856001600160a01b031684866040516116a69190611cf1565b5f6040518083038185875af1925050503d805f81146116e0576040519150601f19603f3d011682016040523d82523d5f602084013e6116e5565b606091505b50915091506116f58683836116ff565b9695505050505050565b6060826117145761170f8261175b565b610548565b815115801561172b57506001600160a01b0384163b155b1561175457604051639996b31560e01b81526001600160a01b0385166004820152602401610586565b5080610548565b80511561176b5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b5f5b8381101561179e578181015183820152602001611786565b50505f910152565b602081525f82518060208401526117c4816040850160208701611784565b601f01601f19169190910160400192915050565b5f602082840312156117e8575f80fd5b5035919050565b80356001600160a01b0381168114611805575f80fd5b919050565b5f806040838503121561181b575f80fd5b611824836117ef565b946020939093013593505050565b5f805f60608486031215611844575f80fd5b61184d846117ef565b925061185b602085016117ef565b9150604084013590509250925092565b5f6020828403121561187b575f80fd5b610548826117ef565b5f8060408385031215611895575f80fd5b823591506118a5602084016117ef565b90509250929050565b5f805f606084860312156118c0575f80fd5b833592506118d0602085016117ef565b91506118de604085016117ef565b90509250925092565b5f80604083850312156118f8575f80fd5b611901836117ef565b91506118a5602084016117ef565b600181811c9082168061192357607f821691505b60208210810361194157634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b60ff818116838216019081111561050157610501611947565b8082018082111561050157610501611947565b600181815b808511156119c157815f19048211156119a7576119a7611947565b808516156119b457918102915b93841c939080029061198c565b509250929050565b5f826119d757506001610501565b816119e357505f610501565b81600181146119f95760028114611a0357611a1f565b6001915050610501565b60ff841115611a1457611a14611947565b50506001821b610501565b5060208310610133831016604e8410600b8410161715611a42575081810a610501565b611a4c8383611987565b805f1904821115611a5f57611a5f611947565b029392505050565b5f61054860ff8416836119c9565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215611a99575f80fd5b815167ffffffffffffffff80821115611ab0575f80fd5b818401915084601f830112611ac3575f80fd5b815181811115611ad557611ad5611a75565b604051601f8201601f19908116603f01168101908382118183101715611afd57611afd611a75565b81604052828152876020848701011115611b15575f80fd5b611b26836020830160208801611784565b979650505050505050565b7f53706563747261204552433436323620577261707065723a200000000000000081525f8251611b68816019850160208701611784565b9190910160190192915050565b6273772d60e81b81525f8251611b92816003850160208701611784565b9190910160030192915050565b5f60208284031215611baf575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f60208284031215611bda575f80fd5b81516001600160d81b0381168114610548575f80fd5b601f821115610970575f81815260208120601f850160051c81016020861015611c165750805b601f850160051c820191505b818110156107ac57828155600101611c22565b815167ffffffffffffffff811115611c4f57611c4f611a75565b611c6381611c5d845461190f565b84611bf0565b602080601f831160018114611c96575f8415611c7f5750858301515b5f19600386901b1c1916600185901b1785556107ac565b5f85815260208120601f198616915b82811015611cc457888601518255948401946001909101908401611ca5565b5085821015611ce157878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b5f8251611d02818460208701611784565b9190910192915050565b5f60208284031215611d1c575f80fd5b81518015158114610548575f80fd5b634e487b7160e01b5f52602160045260245ffd5b5f60ff831680611d5d57634e487b7160e01b5f52601260045260245ffd5b8060ff8416069150509291505056fe52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0052c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace020773e532dfede91f04b12a73d3d2acd361424f41f76b4fb79f090161e36b4e00a2646970667358221220a512977408f4e6b56767fceec836da8fcab7427d74085ca00c01e7fdb1c1a70a64736f6c634300081400330000000000000000000000001a88df1cfe15af22b3c4c783d4e6f7f9e0c1885d
0xa2646970667358221220a512977408f4e6b56767fceec836da8fcab7427d74085ca00c01e7fdb1c1a70a64736f6c634300081400330000000000000000000000001a88df1cfe15af22b3c4c783d4e6f7f9e0c1885d
----Decoded View------------Arg [0] : _stkGHO (address): 0x977408f4E6B56767fceeC836da8fCab7427D7408
----Encoded View------------Arg [0] : 0x000000000000000000000000977408f4e6b56767fceec836da8fcab7427d7408