[ { "inputs": [ { "internalType": "address", "name": "_treasurer", "type": "address" }, { "internalType": "address", "name": "_gold", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "AccessControlBadConfirmation", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bytes32", "name": "neededRole", "type": "bytes32" } ], "name": "AccessControlUnauthorizedAccount", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "target", "type": "address" } ], "name": "AddressEmptyCode", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "AddressInsufficientBalance", "type": "error" }, { "inputs": [], "name": "ERC721EnumerableForbiddenBatchMint", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "address", "name": "owner", "type": "address" } ], "name": "ERC721IncorrectOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ERC721InsufficientApproval", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC721InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" } ], "name": "ERC721InvalidOperator", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "ERC721InvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC721InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC721InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ERC721NonexistentToken", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "ERC721OutOfBoundsIndex", "type": "error" }, { "inputs": [], "name": "FailedInnerCall", "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": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Locked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "previousAdminRole", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "newAdminRole", "type": "bytes32" } ], "name": "RoleAdminChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleGranted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleRevoked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Unlocked", "type": "event" }, { "inputs": [], "name": "DEFAULT_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "GOLD", "outputs": [ { "internalType": "contract IERC20", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MINTER_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleAdmin", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "grantRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "hasRole", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, { "internalType": "uint32", "name": "expired", "type": "uint32" } ], "name": "lock", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "name": "lockOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lockPeriod", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "locks", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "callerConfirmation", "type": "address" } ], "name": "renounceRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "revokeRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "int32", "name": "amount", "type": "int32" } ], "name": "safeBatchMint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" } ], "name": "safeMint", "outputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "senderAllowlist", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_ctr", "type": "address" } ], "name": "setAllowList", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_url", "type": "string" } ], "name": "setBaseTokenURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_gold", "type": "address" } ], "name": "setGold", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "_period", "type": "uint32" } ], "name": "setLockPeriod", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_treasurer", "type": "address" } ], "name": "setTreasurer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_price", "type": "uint256" } ], "name": "setUnlockPrice", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenOfOwnerByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "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": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "treasurer", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, { "internalType": "uint32", "name": "expired", "type": "uint32" } ], "name": "unlock", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "unlockPrice", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" } ]
6080604052600e805463ffffffff60a01b191661278d60a81b1790553480156200002857600080fd5b506040516200273a3803806200273a8339810160408190526200004b9162000257565b6040518060400160405280601781526020017f534e442047656e6573697320426174746c652050617373000000000000000000815250604051806040016040528060058152602001640534e4442560dc1b8152508160009081620000b0919062000336565b506001620000bf828262000336565b50620000d1915060009050336200013c565b50620000ed6000805160206200271a833981519152336200013c565b506200010a6000805160206200271a8339815191526000620001ef565b600d80546001600160a01b039384166001600160a01b031991821617909155600e805492909316911617905562000402565b6000828152600a602090815260408083206001600160a01b038516845290915281205460ff16620001e5576000838152600a602090815260408083206001600160a01b03861684529091529020805460ff191660011790556200019c3390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4506001620001e9565b5060005b92915050565b6000828152600a6020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b80516001600160a01b03811681146200025257600080fd5b919050565b600080604083850312156200026b57600080fd5b62000276836200023a565b915062000286602084016200023a565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620002ba57607f821691505b602082108103620002db57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000331576000816000526020600020601f850160051c810160208610156200030c5750805b601f850160051c820191505b818110156200032d5782815560010162000318565b5050505b505050565b81516001600160401b038111156200035257620003526200028f565b6200036a81620003638454620002a5565b84620002e1565b602080601f831160018114620003a25760008415620003895750858301515b600019600386901b1c1916600185901b1785556200032d565b600085815260208120601f198616915b82811015620003d357888601518255948401946001909101908401620003b2565b5085821015620003f25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61230880620004126000396000f3fe608060405234801561001057600080fd5b50600436106102485760003560e01c8063629faa011161013b578063c21e690b116100b8578063e985e9c51161007c578063e985e9c514610550578063ed6d06c014610563578063f489f23b14610576578063f4dadc6114610589578063fda49eb4146105a957600080fd5b8063c21e690b146104dd578063c87b56dd146104f0578063cce9296214610503578063d539139314610516578063d547741f1461053d57600080fd5b806391d14854116100ff57806391d148541461049457806395d89b41146104a7578063a217fddf146104af578063a22cb465146104b7578063b88d4fde146104ca57600080fd5b8063629faa0114610418578063632a48611461043b5780636352211e1461045b578063671d64291461046e57806370a082311461048157600080fd5b80632f2ff15d116101c95780633e4bee381161018d5780633e4bee38146103a05780633fd8b02f146103b357806340d097c3146103df57806342842e0e146103f25780634f6ccce71461040557600080fd5b80632f2ff15d146103415780632f745c591461035457806330176e13146103675780633081f6d31461037a57806336568abe1461038d57600080fd5b806318160ddd1161021057806318160ddd146102dd5780631e784ee2146102ef57806323b872dd146102f8578063248a9ca31461030b578063262c0e661461032e57600080fd5b806301ffc9a71461024d5780630520b7081461027557806306fdde031461028a578063081812fc1461029f578063095ea7b3146102ca575b600080fd5b61026061025b366004611caf565b6105bc565b60405190151581526020015b60405180910390f35b610288610283366004611ce8565b6105cd565b005b61029261060e565b60405161026c9190611d53565b6102b26102ad366004611d66565b6106a0565b6040516001600160a01b03909116815260200161026c565b6102886102d8366004611d7f565b6106c9565b6008545b60405190815260200161026c565b6102e1600f5481565b610288610306366004611da9565b6106d8565b6102e1610319366004611d66565b6000908152600a602052604090206001015490565b61028861033c366004611df9565b610746565b61028861034f366004611e25565b61090b565b6102e1610362366004611d7f565b610936565b610288610375366004611ed4565b61099b565b610288610388366004611f1d565b6109b2565b61028861039b366004611e25565b610a17565b600e546102b2906001600160a01b031681565b600e546103ca90600160a01b900463ffffffff1681565b60405163ffffffff909116815260200161026c565b6102e16103ed366004611ce8565b610a4a565b610288610400366004611da9565b610a9c565b6102e1610413366004611d66565b610ab7565b610260610426366004611ce8565b60116020526000908152604090205460ff1681565b6102e1610449366004611d66565b60009081526010602052604090205490565b6102b2610469366004611d66565b610b10565b61028861047c366004611ce8565b610b1b565b6102e161048f366004611ce8565b610b5c565b6102606104a2366004611e25565b610ba4565b610292610bcf565b6102e1600081565b6102886104c5366004611f68565b610bde565b6102886104d8366004611f94565b610be9565b6102886104eb366004611df9565b610c00565b6102926104fe366004611d66565b610d43565b610288610511366004611d66565b610dab565b6102e17f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b61028861054b366004611e25565b610dbc565b61026061055e366004612010565b610de1565b610288610571366004611ce8565b610e0f565b61028861058436600461203a565b610e50565b6102e1610597366004611d66565b60106020526000908152604090205481565b600d546102b2906001600160a01b031681565b60006105c782610e82565b92915050565b60006105d881610ea7565b6001600160a01b0382166105eb57600080fd5b50600e80546001600160a01b0319166001600160a01b0392909216919091179055565b60606000805461061d90612055565b80601f016020809104026020016040519081016040528092919081815260200182805461064990612055565b80156106965780601f1061066b57610100808354040283529160200191610696565b820191906000526020600020905b81548152906001019060200180831161067957829003601f168201915b5050505050905090565b60006106ab82610eb4565b506000828152600460205260409020546001600160a01b03166105c7565b6106d4828233610eed565b5050565b6000818152601060205260409020541561072e5760405162461bcd60e51b815260206004820152601260248201527114d3911391950e8813919508131bd8dad95960721b60448201526064015b60405180910390fd5b610736610efa565b610741838383610f68565b505050565b428163ffffffff161161078d5760405162461bcd60e51b815260206004820152600f60248201526e14d3911391950e88195e1c1a5c9959608a1b6044820152606401610725565b600082815260106020526040902054158015906107b857506000828152601060205260409020544210155b6108135760405162461bcd60e51b815260206004820152602660248201527f534e444e46543a20756e6c6f636b696e672074696d65206e6f74207965742072604482015265195858da195960d21b6064820152608401610725565b600f541561083f57600d54600f54600e5461083f926001600160a01b0391821692339290911690610fed565b33600061084b84610b10565b9050806001600160a01b0316826001600160a01b03160361087a576000848152601060205260408120556108c2565b60405162461bcd60e51b815260206004820152601c60248201527f534e444e46543a206e6f74206f776e6572206f6620746865206e6674000000006044820152606401610725565b604080516001600160a01b0383168152602081018690527f0f0bc5b519ddefdd8e5f9e6423433aa2b869738de2ae34d58ebc796fc749fa0d91015b60405180910390a150505050565b6000828152600a602052604090206001015461092681610ea7565b6109308383611047565b50505050565b600061094183610b5c565b82106109725760405163295f44f760e21b81526001600160a01b038416600482015260248101839052604401610725565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b60006109a681610ea7565b600c61074183826120d9565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66109dc81610ea7565b60005b8260030b8160030b121561093057600b8054600091826109fe836121af565b919050559050610a0e85826110db565b506001016109df565b6001600160a01b0381163314610a405760405163334bd91960e11b815260040160405180910390fd5b61074182826110f5565b60007f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610a7681610ea7565b600b8054906000610a86836121af565b919050559150610a9683836110db565b50919050565b61074183838360405180602001604052806000815250610be9565b6000610ac260085490565b8210610aeb5760405163295f44f760e21b81526000600482015260248101839052604401610725565b60088281548110610afe57610afe6121c8565b90600052602060002001549050919050565b60006105c782610eb4565b6000610b2681610ea7565b6001600160a01b038216610b3957600080fd5b50600d80546001600160a01b0319166001600160a01b0392909216919091179055565b60006001600160a01b038216610b88576040516322718ad960e21b815260006004820152602401610725565b506001600160a01b031660009081526003602052604090205490565b6000918252600a602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60606001805461061d90612055565b6106d4338383611162565b610bf48484846106d8565b61093084848484611201565b428163ffffffff1611610c485760405162461bcd60e51b815260206004820152601060248201526f534e444e46543a20657870697265642160801b6044820152606401610725565b60008281526010602052604090205415610cb45760405162461bcd60e51b815260206004820152602760248201527f534e444e46543a20746865206e66742068617320616c7265616479206265656e604482015266081b1bd8dad95960ca1b6064820152608401610725565b336000610cc084610b10565b9050806001600160a01b0316826001600160a01b03160361087a57600e54610cf590600160a01b900463ffffffff16426121de565b600085815260106020526040902055604080516001600160a01b0383168152602081018690527f9f1ec8c880f76798e7b793325d625e9b60e4082a553c98f42b6cda368dd6000891016108fd565b6060610d4e82610eb4565b506000610d5961132a565b90506000815111610d795760405180602001604052806000815250610da4565b80610d8384611339565b604051602001610d949291906121f1565b6040516020818303038152906040525b9392505050565b6000610db681610ea7565b50600f55565b6000828152600a6020526040902060010154610dd781610ea7565b61093083836110f5565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6000610e1a81610ea7565b813b63ffffffff16610e2b57600080fd5b506001600160a01b03166000908152601160205260409020805460ff19166001179055565b6000610e5b81610ea7565b50600e805463ffffffff909216600160a01b0263ffffffff60a01b19909216919091179055565b60006001600160e01b03198216637965db0b60e01b14806105c757506105c7826113cc565b610eb181336113f1565b50565b6000818152600260205260408120546001600160a01b0316806105c757604051637e27328960e01b815260048101849052602401610725565b610741838383600161142a565b333b63ffffffff1615610f66573360009081526011602052604090205460ff16610f665760405162461bcd60e51b815260206004820152601f60248201527f534e444e46543a2053656e646572206e6f7420696e20416c6c6f776c697374006044820152606401610725565b565b6001600160a01b038216610f9257604051633250574960e11b815260006004820152602401610725565b6000610f9f838333611530565b9050836001600160a01b0316816001600160a01b031614610930576040516364283d7b60e01b81526001600160a01b0380861660048301526024820184905282166044820152606401610725565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052610930908590611545565b60006110538383610ba4565b6110d3576000838152600a602090815260408083206001600160a01b03861684529091529020805460ff1916600117905561108b3390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016105c7565b5060006105c7565b6106d48282604051806020016040528060008152506115a8565b60006111018383610ba4565b156110d3576000838152600a602090815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45060016105c7565b6001600160a01b03821661119457604051630b61174360e31b81526001600160a01b0383166004820152602401610725565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0383163b1561093057604051630a85bd0160e11b81526001600160a01b0384169063150b7a0290611243903390889087908790600401612220565b6020604051808303816000875af192505050801561127e575060408051601f3d908101601f1916820190925261127b91810190612253565b60015b6112e7573d8080156112ac576040519150601f19603f3d011682016040523d82523d6000602084013e6112b1565b606091505b5080516000036112df57604051633250574960e11b81526001600160a01b0385166004820152602401610725565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b1461132357604051633250574960e11b81526001600160a01b0385166004820152602401610725565b5050505050565b6060600c805461061d90612055565b60606000611346836115bf565b600101905060008167ffffffffffffffff81111561136657611366611e48565b6040519080825280601f01601f191660200182016040528015611390576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461139a57509392505050565b60006001600160e01b0319821663780e9d6360e01b14806105c757506105c782611697565b6113fb8282610ba4565b6106d45760405163e2517d3f60e01b81526001600160a01b038216600482015260248101839052604401610725565b808061143e57506001600160a01b03821615155b1561150057600061144e84610eb4565b90506001600160a01b0383161580159061147a5750826001600160a01b0316816001600160a01b031614155b801561148d575061148b8184610de1565b155b156114b65760405163a9fbf51f60e01b81526001600160a01b0384166004820152602401610725565b81156114fe5783856001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b5050600090815260046020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b600061153d8484846116e7565b949350505050565b600061155a6001600160a01b038416836117b4565b9050805160001415801561157f57508080602001905181019061157d9190612270565b155b1561074157604051635274afe760e01b81526001600160a01b0384166004820152602401610725565b6115b283836117c2565b6107416000848484611201565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106115fe5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef8100000000831061162a576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061164857662386f26fc10000830492506010015b6305f5e1008310611660576305f5e100830492506008015b612710831061167457612710830492506004015b60648310611686576064830492506002015b600a83106105c75760010192915050565b60006001600160e01b031982166380ac58cd60e01b14806116c857506001600160e01b03198216635b5e139f60e01b145b806105c757506301ffc9a760e01b6001600160e01b03198316146105c7565b6000806116f5858585611827565b90506001600160a01b0381166117525761174d84600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b611775565b846001600160a01b0316816001600160a01b031614611775576117758185611920565b6001600160a01b0385166117915761178c846119b1565b61153d565b846001600160a01b0316816001600160a01b03161461153d5761153d8585611a60565b6060610da483836000611ab0565b6001600160a01b0382166117ec57604051633250574960e11b815260006004820152602401610725565b60006117fa83836000611530565b90506001600160a01b03811615610741576040516339e3563760e11b815260006004820152602401610725565b6000828152600260205260408120546001600160a01b039081169083161561185457611854818486611b4d565b6001600160a01b038116156118925761187160008560008061142a565b6001600160a01b038116600090815260036020526040902080546000190190555b6001600160a01b038516156118c1576001600160a01b0385166000908152600360205260409020805460010190555b60008481526002602052604080822080546001600160a01b0319166001600160a01b0389811691821790925591518793918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4949350505050565b600061192b83610b5c565b60008381526007602052604090205490915080821461197e576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b6008546000906119c39060019061228d565b600083815260096020526040812054600880549394509092849081106119eb576119eb6121c8565b906000526020600020015490508060088381548110611a0c57611a0c6121c8565b6000918252602080832090910192909255828152600990915260408082208490558582528120556008805480611a4457611a446122a0565b6001900381819060005260206000200160009055905550505050565b60006001611a6d84610b5c565b611a77919061228d565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b606081471015611ad55760405163cd78605960e01b8152306004820152602401610725565b600080856001600160a01b03168486604051611af191906122b6565b60006040518083038185875af1925050503d8060008114611b2e576040519150601f19603f3d011682016040523d82523d6000602084013e611b33565b606091505b5091509150611b43868383611bb1565b9695505050505050565b611b58838383611c0d565b610741576001600160a01b038316611b8657604051637e27328960e01b815260048101829052602401610725565b60405163177e802f60e01b81526001600160a01b038316600482015260248101829052604401610725565b606082611bc657611bc182611c70565b610da4565b8151158015611bdd57506001600160a01b0384163b155b15611c0657604051639996b31560e01b81526001600160a01b0385166004820152602401610725565b5080610da4565b60006001600160a01b0383161580159061153d5750826001600160a01b0316846001600160a01b03161480611c475750611c478484610de1565b8061153d5750506000908152600460205260409020546001600160a01b03908116911614919050565b805115611c805780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6001600160e01b031981168114610eb157600080fd5b600060208284031215611cc157600080fd5b8135610da481611c99565b80356001600160a01b0381168114611ce357600080fd5b919050565b600060208284031215611cfa57600080fd5b610da482611ccc565b60005b83811015611d1e578181015183820152602001611d06565b50506000910152565b60008151808452611d3f816020860160208601611d03565b601f01601f19169290920160200192915050565b602081526000610da46020830184611d27565b600060208284031215611d7857600080fd5b5035919050565b60008060408385031215611d9257600080fd5b611d9b83611ccc565b946020939093013593505050565b600080600060608486031215611dbe57600080fd5b611dc784611ccc565b9250611dd560208501611ccc565b9150604084013590509250925092565b803563ffffffff81168114611ce357600080fd5b60008060408385031215611e0c57600080fd5b82359150611e1c60208401611de5565b90509250929050565b60008060408385031215611e3857600080fd5b82359150611e1c60208401611ccc565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115611e7957611e79611e48565b604051601f8501601f19908116603f01168101908282118183101715611ea157611ea1611e48565b81604052809350858152868686011115611eba57600080fd5b858560208301376000602087830101525050509392505050565b600060208284031215611ee657600080fd5b813567ffffffffffffffff811115611efd57600080fd5b8201601f81018413611f0e57600080fd5b61153d84823560208401611e5e565b60008060408385031215611f3057600080fd5b611f3983611ccc565b915060208301358060030b8114611f4f57600080fd5b809150509250929050565b8015158114610eb157600080fd5b60008060408385031215611f7b57600080fd5b611f8483611ccc565b91506020830135611f4f81611f5a565b60008060008060808587031215611faa57600080fd5b611fb385611ccc565b9350611fc160208601611ccc565b925060408501359150606085013567ffffffffffffffff811115611fe457600080fd5b8501601f81018713611ff557600080fd5b61200487823560208401611e5e565b91505092959194509250565b6000806040838503121561202357600080fd5b61202c83611ccc565b9150611e1c60208401611ccc565b60006020828403121561204c57600080fd5b610da482611de5565b600181811c9082168061206957607f821691505b602082108103610a9657634e487b7160e01b600052602260045260246000fd5b601f821115610741576000816000526020600020601f850160051c810160208610156120b25750805b601f850160051c820191505b818110156120d1578281556001016120be565b505050505050565b815167ffffffffffffffff8111156120f3576120f3611e48565b612107816121018454612055565b84612089565b602080601f83116001811461213c57600084156121245750858301515b600019600386901b1c1916600185901b1785556120d1565b600085815260208120601f198616915b8281101561216b5788860151825594840194600190910190840161214c565b50858210156121895787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b6000600182016121c1576121c1612199565b5060010190565b634e487b7160e01b600052603260045260246000fd5b808201808211156105c7576105c7612199565b60008351612203818460208801611d03565b835190830190612217818360208801611d03565b01949350505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611b4390830184611d27565b60006020828403121561226557600080fd5b8151610da481611c99565b60006020828403121561228257600080fd5b8151610da481611f5a565b818103818111156105c7576105c7612199565b634e487b7160e01b600052603160045260246000fd5b600082516122c8818460208701611d03565b919091019291505056fea264697066735822122071768f61c0da9fa45f6687678b45ec4bb2a289301f79ff14514da51d8474be4064736f6c634300081800339f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a60000000000000000000000005c2f4549ea428012e4aca86a89993032ec822a0d0000000000000000000000002ee9644d25198ae8d2466215e978057ac25fa40c
0x0000000000000000000000005c2f4549ea428012e4aca86a89993032ec822a0d0000000000000000000000002ee9644d25198ae8d2466215e978057ac25fa40c
----Decoded View------------Arg [0] : _treasurer (address): 0x5c2f4549ea428012E4AcA86A89993032ec822A0dArg [1] : _gold (address): 0x2eE9644D25198AE8D2466215e978057Ac25FA40c
----Encoded View------------Arg [0] : 0x0000000000000000000000005c2f4549ea428012e4aca86a89993032ec822a0dArg [1] : 0x0000000000000000000000002ee9644d25198ae8d2466215e978057ac25fa40c