Loading
[ { "inputs": [], "name": "AlreadyInitialized", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "required", "type": "uint256" }, { "internalType": "uint256", "name": "existing", "type": "uint256" } ], "name": "InsufficientAllowance", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "required", "type": "uint256" }, { "internalType": "uint256", "name": "existing", "type": "uint256" } ], "name": "InsufficientBalance", "type": "error" }, { "inputs": [], "name": "InvalidDecayRate", "type": "error" }, { "inputs": [ { "internalType": "string", "name": "parameter", "type": "string" }, { "internalType": "string", "name": "reason", "type": "string" } ], "name": "InvalidParameter", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "addr", "type": "address" } ], "name": "Unauthorized", "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": "amount", "type": "uint256" } ], "name": "Approval", "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": "amount", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "advanceEpoch", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "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": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decayRate", "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": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "tokenName", "type": "string" }, { "internalType": "string", "name": "tokenSymbol", "type": "string" }, { "internalType": "uint8", "name": "tokenDecimals", "type": "uint8" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "isInitialized", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "setAllowance", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_rate", "type": "uint256" } ], "name": "setDecayRate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalShares", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "supply", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "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": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" } ]
608060405234801561001057600080fd5b506114e0806100206000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c80633cf80e6c116100ad578063a457c2d711610071578063a457c2d714610249578063a9059cbb1461025c578063a9c1f2f11461026f578063da46098c14610277578063dd62ed3e1461028a57600080fd5b80633cf80e6c1461020057806340c10f191461020857806370a082311461021b57806395d89b411461022e5780639dc29fac1461023657600080fd5b806323b872dd116100f457806323b872dd146101b0578063313ce567146101c3578063392e53cd146101dd57806339509351146101e55780633a98ef39146101f857600080fd5b806304e7e0b91461013157806306fdde0314610146578063095ea7b3146101645780631624f6c61461018757806318160ddd1461019a575b600080fd5b61014461013f366004611075565b61029d565b005b61014e61030c565b60405161015b919061108e565b60405180910390f35b6101776101723660046110f9565b6103a4565b604051901515815260200161015b565b6101446101953660046111c6565b6103c2565b6101a26103fa565b60405190815260200161015b565b6101776101be366004611244565b610470565b6101cb610559565b60405160ff909116815260200161015b565b61017761056f565b6101776101f33660046110f9565b610579565b6101a26105e2565b6101a26105f5565b6101446102163660046110f9565b61062f565b6101a2610229366004611280565b61068a565b61014e6106a6565b6101446102443660046110f9565b6106be565b6101776102573660046110f9565b610701565b61017761026a3660046110f9565b61075b565b6101a2610776565b610144610285366004611244565b610786565b6101a261029836600461129b565b6107cc565b806102b46301e13380670de0b6b3a76400006112e4565b10156102d357604051630678582160e51b815260040160405180910390fd5b6102db610806565b60006102e5610843565b90506102ef6103fa565b60028201558190556000610301610843565b426001909101555050565b60606103166108b2565b8054610321906112fb565b80601f016020809104026020016040519081016040528092919081815260200182805461034d906112fb565b801561039a5780601f1061036f5761010080835404028352916020019161039a565b820191906000526020600020905b81548152906001019060200180831161037d57829003601f168201915b5050505050905090565b60006103b86103b1610900565b848461093d565b5060015b92915050565b6103ca610806565b6103d58383836109b8565b60006103df610843565b905080600101546000036103f4574260018201555b50505050565b60006104046109f0565b600003610418576104136105e2565b905090565b6000610422610a03565b61042c9042611335565b90506104366109f0565b9150600061045d610445610a16565b61045790670de0b6b3a7640000611335565b83610a2f565b90506104698382610a86565b9250505090565b60008061047b6108b2565b6001600160a01b0386166000908152600482016020526040812091925090816104a2610900565b6001600160a01b03166001600160a01b03168152602001908152602001600020549050838110156104f55760405163054365bb60e31b815260048101859052602481018290526044015b60405180910390fd5b6001600160a01b038616600090815260048301602052604081208591610519610900565b6001600160a01b031681526020810191909152604001600020805491909103905561054d868661054887610aa5565b610aca565b50600195945050505050565b60006105636108b2565b6002015460ff16919050565b6000610413610b9a565b6000806105846108b2565b6004016000610591610900565b6001600160a01b039081168252602080830193909352604091820160009081209188168152925290205490506105d86105c8610900565b856105d38685611348565b61093d565b5060019392505050565b60006105ec6108b2565b60050154905090565b600080610600610843565b905061060a6103fa565b6002820155610617610bbc565b9150506000610624610843565b426001909101555090565b610637610806565b600061064282610aa5565b9050600061064e610843565b9050826106596103fa565b6106639190611348565b60028201556106728483610c17565b5050600061067e610843565b42600190910155505050565b60006103bc610697610bbc565b6106a084610c95565b90610a86565b60606106b06108b2565b6001018054610321906112fb565b6106c6610806565b60006106d182610aa5565b905060006106dd610843565b9050826106e86103fa565b6106f29190611335565b60028201556106728483610cc1565b60008061070c6108b2565b6004016000610719610900565b6001600160a01b039081168252602080830193909352604091820160009081209188168152925290205490506105d8610750610900565b856105d38685611335565b600061076f8361076a84610aa5565b610d85565b9392505050565b6000610780610843565b54919050565b61078e610806565b806107976108b2565b6001600160a01b0394851660009081526004919091016020908152604080832095909616825293909352929091209190915550565b60006107d66108b2565b6001600160a01b039384166000908152600491909101602090815260408083209490951682529290925250205490565b61080e610d99565b6001600160a01b0316336001600160a01b0316146108415760405163472511eb60e11b81523360048201526024016104ec565b565b6000806040516020016108949060208082526024908201527f696f2e73796e7468657469782e636f72652d6d6f64756c65732e44656361795460408201526337b5b2b760e11b606082015260800190565b60408051601f19818403018152919052805160209091012092915050565b6000806040516020016108949060208082526021908201527f696f2e73796e7468657469782e636f72652d636f6e7472616374732e455243326040820152600360fc1b606082015260800190565b600073e2c5658cc5c448b48141168f3e475df8f65a1e3e33148015610926575060143610155b15610938575060131936013560601c90565b503390565b61094682610db2565b8061094f6108b2565b6001600160a01b038581166000818152600493909301602090815260408085209388168086529382529384902094909455915184815290927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6109c3838383610e1a565b60016109dc6a546f6b656e4d6f64756c6560a81b610f39565b805460ff1916911515919091179055505050565b60006109fa610843565b60020154905090565b6000610a0d610843565b60010154905090565b60006301e13380610a25610776565b6104139190611371565b670de0b6b3a76400005b81156103bc57610a4a600283611385565b600103610a6f57610a5b8184610a86565b9050610a68600183611335565b9150610a39565b610a798380610a86565b9250610a68600283611371565b6000670de0b6b3a7640000610a9b83856112e4565b61076f9190611371565b600080610ab0610bbc565b905060008111610ac0578261076f565b61076f8382610fa5565b610ad48282610fba565b6000610ade6108b2565b6001600160a01b038516600090815260038201602052604090205490915082811015610b275760405163cf47918160e01b815260048101849052602481018290526044016104ec565b6001600160a01b038086166000818152600385016020526040808220805488900390559287168082529083902080548701905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b8b9087815260200190565b60405180910390a35050505050565b6000610bb36a546f6b656e4d6f64756c6560a81b610f39565b5460ff16919050565b600080610bc76105e2565b9050610bd16109f0565b1580610be25750610be06103fa565b155b80610beb575080155b15610bff57670de0b6b3a764000091505090565b610c1181610c0b6103fa565b90610fa5565b91505090565b610c218282610fba565b6000610c2b6108b2565b905081816005016000828254610c419190611348565b90915550506001600160a01b03831660008181526003830160209081526040808320805487019055518581527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016109ab565b6000610c9f6108b2565b6001600160a01b03909216600090815260039290920160205250604090205490565b610ccb8282610fba565b6000610cd56108b2565b6001600160a01b038416600090815260038201602052604090205490915082811015610d1e5760405163cf47918160e01b815260048101849052602481018290526044016104ec565b6001600160a01b03841660008181526003840160209081526040808320805488900390556005860180548890039055518681529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350505050565b60006103b8610d92610900565b8484610aca565b6000610da3611025565b546001600160a01b0316919050565b6001600160a01b038116610e175760408051634bab873760e11b8152600481019190915260066044820152651d185c99d95d60d21b606482015260806024820152600c60848201526b5a65726f206164647265737360a01b60a482015260c4016104ec565b50565b6000610e246108b2565b9050835160001480610e3557508251155b80610e41575060ff8216155b15610ec85760408051634bab873760e11b81526004810191909152602360448201527f746f6b656e4e616d657c746f6b656e53796d626f6c7c746f6b656e446563696d606482015262616c7360e81b608482015260a06024820152601460a4820152734174206c65617374206f6e65206973207a65726f60601b60c482015260e4016104ec565b600281015460ff1615801590610ee85750600281015460ff838116911614155b15610f055760405162dc149f60e41b815260040160405180910390fd5b80610f1085826113ea565b5060018101610f1f84826113ea565b50600201805460ff191660ff929092169190911790555050565b604080516020808201839052602560608301527f696f2e73796e7468657469782e636f64652d6d6f64756c65732e496e697469616080830152641b1a5e995960da1b60a080840191909152828401949094528251808303909401845260c0909101909152815191012090565b600081610a9b670de0b6b3a7640000856112e4565b610fc382610db2565b806000036110215760408051634bab873760e11b815260048101919091526006604482015265185b5bdd5b9d60d21b606482015260806024820152600b60848201526a16995c9bc8185b5bdd5b9d60aa1b60a482015260c4016104ec565b5050565b6000806040516020016108949060208082526023908201527f696f2e73796e7468657469782e636f72652d636f6e7472616374732e4f776e61604082015262626c6560e81b606082015260800190565b60006020828403121561108757600080fd5b5035919050565b60006020808352835180602085015260005b818110156110bc578581018301518582016040015282016110a0565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146110f457600080fd5b919050565b6000806040838503121561110c57600080fd5b611115836110dd565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261114a57600080fd5b813567ffffffffffffffff8082111561116557611165611123565b604051601f8301601f19908116603f0116810190828211818310171561118d5761118d611123565b816040528381528660208588010111156111a657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156111db57600080fd5b833567ffffffffffffffff808211156111f357600080fd5b6111ff87838801611139565b9450602086013591508082111561121557600080fd5b5061122286828701611139565b925050604084013560ff8116811461123957600080fd5b809150509250925092565b60008060006060848603121561125957600080fd5b611262846110dd565b9250611270602085016110dd565b9150604084013590509250925092565b60006020828403121561129257600080fd5b61076f826110dd565b600080604083850312156112ae57600080fd5b6112b7836110dd565b91506112c5602084016110dd565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176103bc576103bc6112ce565b600181811c9082168061130f57607f821691505b60208210810361132f57634e487b7160e01b600052602260045260246000fd5b50919050565b818103818111156103bc576103bc6112ce565b808201808211156103bc576103bc6112ce565b634e487b7160e01b600052601260045260246000fd5b6000826113805761138061135b565b500490565b6000826113945761139461135b565b500690565b601f8211156113e5576000816000526020600020601f850160051c810160208610156113c25750805b601f850160051c820191505b818110156113e1578281556001016113ce565b5050505b505050565b815167ffffffffffffffff81111561140457611404611123565b6114188161141284546112fb565b84611399565b602080601f83116001811461144d57600084156114355750858301515b600019600386901b1c1916600185901b1785556113e1565b600085815260208120601f198616915b8281101561147c5788860151825594840194600190910190840161145d565b508582101561149a5787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea26469706673582212208878504adae82b0b8a0b123c32afb8a0351dd5cb73a47fd856155fb21f4edca064736f6c63430008160033