5 txs
21 calls
constructor
constructor(address _gov, address _operator)
functions
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
AnDOLA
viewfunction AnDOLA() view returns (address)
anDolaBorrower1
viewfunction anDolaBorrower1() view returns (address)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
buyDeadline
viewfunction buyDeadline() view returns (uint256)
decimals
viewfunction decimals() view returns (uint8)
DOLA
viewfunction DOLA() view returns (address)
dolaAllocations
viewfunction dolaAllocations(address) view returns (uint256)
gov
viewfunction gov() view returns (address)
INV_PRICE
viewfunction INV_PRICE() view returns (uint256)
INV
viewfunction INV() view returns (address)
name
viewfunction name() view returns (string)
operator
viewfunction operator() view returns (address)
pendingGov
viewfunction pendingGov() view returns (address)
redemptionTimestamp
viewfunction redemptionTimestamp() view returns (uint256)
SALE_HANDLER
viewfunction SALE_HANDLER() view returns (address)
sINV
viewfunction sINV() view returns (address)
sweepTimestamp
viewfunction sweepTimestamp() view returns (uint256)
symbol
viewfunction symbol() view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
acceptGov
nonpayablefunction acceptGov()
approve
nonpayablefunction approve(address spender, uint256 value) returns (bool)
buy
nonpayablefunction buy(uint256 minLsInvOut) returns (uint256 lsInvOut)
redeem
nonpayablefunction redeem(uint256 lsInvAmount)
sendToSaleHandler
nonpayablefunction sendToSaleHandler(uint256 dolaAmount)
setDeadline
nonpayablefunction setDeadline(uint256 newDeadline)
setDolaAllocation
nonpayablefunction setDolaAllocation(address user, uint256 allocation)
setOperator
nonpayablefunction setOperator(address newOperator)
setPendingGov
nonpayablefunction setPendingGov(address newGov)
start
nonpayablefunction start()
sweep
nonpayablefunction sweep(address token)
transfer
nonpayablefunction transfer(address to, uint256 value) returns (bool)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 value) returns (bool)
withdrawDOLA
nonpayablefunction withdrawDOLA(address to, uint256 amount)
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
Buy
event Buy(address indexed user, uint256 dolaAmount, uint256 invAmount, uint256 lsInvOut)
BuyDeadlineUpdated
event BuyDeadlineUpdated(uint256 newDeadline)
DolaAllocationSet
event DolaAllocationSet(address indexed user, uint256 allocation)
DolaRepayment
event DolaRepayment(uint256 amount)
GovChanged
event GovChanged(address indexed oldGov, address indexed newGov)
NewPendingGov
event NewPendingGov(address indexed newOperator)
OperatorChanged
event OperatorChanged(address indexed oldOperator, address indexed newOperator)
Redeem
event Redeem(address indexed user, uint256 sInvAmount)
Sweep
event Sweep(address indexed token, uint256 amount)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
VestingStarted
event VestingStarted(uint256 redemptionTimestamp)
errors
ERC20InsufficientAllowance
error ERC20InsufficientAllowance(address spender, uint256 allowance, uint256 needed)
ERC20InsufficientBalance
error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed)
ERC20InvalidApprover
error ERC20InvalidApprover(address approver)
ERC20InvalidReceiver
error ERC20InvalidReceiver(address receiver)
ERC20InvalidSender
error ERC20InvalidSender(address sender)
ERC20InvalidSpender
error ERC20InvalidSpender(address spender)
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x60a060405234801562000010575f80fd5b5060405162001fd638038062001fd68339810160408190526200003391620000ea565b6040805180820182526005808252643639a4a72b60d91b6020808401829052845180860190955291845290830152906003620000708382620001be565b5060046200007f8282620001be565b5050600680546001600160a01b038086166001600160a01b031992831617909255600580549285169290911691909117905550620000c2426301e133806200028a565b60805250620002b09050565b80516001600160a01b0381168114620000e5575f80fd5b919050565b5f8060408385031215620000fc575f80fd5b6200010783620000ce565b91506200011760208401620000ce565b90509250929050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200014957607f821691505b6020821081036200016857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620001b957805f5260205f20601f840160051c81016020851015620001955750805b601f840160051c820191505b81811015620001b6575f8155600101620001a1565b50505b505050565b81516001600160401b03811115620001da57620001da62000120565b620001f281620001eb845462000134565b846200016e565b602080601f83116001811462000228575f8415620002105750858301515b5f19600386901b1c1916600185901b17855562000282565b5f85815260208120601f198616915b82811015620002585788860151825594840194600190910190840162000237565b50858210156200027657878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b80820180821115620002aa57634e487b7160e01b5f52601160045260245ffd5b92915050565b608051611d06620002d05f395f818161023901526105880152611d065ff3fe608060405234801561000f575f80fd5b506004361061021b575f3560e01c806370a0823111610123578063aba4abbf116100b8578063ca23f49511610088578063db006a751161006e578063db006a75146104c9578063dd62ed3e146104dc578063efdf0bb014610514575f80fd5b8063ca23f495146104ad578063d96a094a146104b6575f80fd5b8063aba4abbf14610464578063b3ab15fb1461047f578063b514a62d14610492578063be9a6555146104a5575f80fd5b8063891e77d6116100f3578063891e77d61461041e57806392c592d01461042e57806395d89b4114610449578063a9059cbb14610451575f80fd5b806370a08231146103bc5780637147f5c5146103e45780637bc6729b146104035780637cd77dcc1461040b575f80fd5b8063195199f6116101b35780632524081011610183578063313ce56711610169578063313ce5671461037f5780634b0c7c0c1461038e578063570ca735146103a9575f80fd5b806325240810146103515780632c5562ce14610364575f80fd5b8063195199f6146103075780631b2354371461031a578063200801f21461032357806323b872dd1461033e575f80fd5b806312d43a51116101ee57806312d43a51146102a657806312ea0b0e146102d157806313ddd842146102ec57806318160ddd146102ff575f80fd5b806301681a621461021f5780630351137b1461023457806306fdde031461026e578063095ea7b314610283575b5f80fd5b61023261022d366004611a87565b610527565b005b61025b7f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020015b60405180910390f35b6102766106db565b6040516102659190611aa7565b610296610291366004611b11565b61076b565b6040519015158152602001610265565b6006546102b9906001600160a01b031681565b6040516001600160a01b039091168152602001610265565b6102b97341d5d79431a913c4ae7d69a668ecdfe5ff9dfb6881565b6102326102fa366004611b11565b610784565b60025461025b565b610232610315366004611b39565b610850565b61025b60095481565b6102b97308d23468a467d2bb86fae0e32f247a26c7e2e99481565b61029661034c366004611b50565b6108e5565b6007546102b9906001600160a01b031681565b6102b9737fcb7dac61ee35b3d4a51117a7c58d53f0a8a67081565b60405160128152602001610265565b6102b973b4497a7351e4915182b3e577b3a2f411fa66b27f81565b6005546102b9906001600160a01b031681565b61025b6103ca366004611a87565b6001600160a01b03165f9081526020819052604090205490565b61025b6103f2366004611a87565b600a6020525f908152604090205481565b610232610908565b610232610419366004611b39565b6109df565b61025b68015af1d78b58c4000081565b6102b973865377367054516e17014ccded1e7d814edc9ce481565b610276610d25565b61029661045f366004611b11565b610d34565b6102b973f508c58ce37ce40a40997c715075172691f92e2d81565b61023261048d366004611a87565b610d41565b6102326104a0366004611b11565b610e0e565b610232610eb4565b61025b60085481565b61025b6104c4366004611b39565b610ff1565b6102326104d7366004611b39565b611318565b61025b6104ea366004611b89565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b610232610522366004611a87565b61144d565b6006546001600160a01b031633146105865760405162461bcd60e51b815260206004820152600f60248201527f4f6e6c7920676f7665726e616e6365000000000000000000000000000000000060448201526064015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000004210156105f65760405162461bcd60e51b815260206004820152601560248201527f5377656570206e6f7420616c6c6f776564207965740000000000000000000000604482015260640161057d565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201525f906001600160a01b038316906370a0823190602401602060405180830381865afa158015610653573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106779190611bba565b600654909150610694906001600160a01b03848116911683611508565b816001600160a01b03167fab2246061d7b0dd3631d037e3f6da75782ae489eeb9f6af878a4b25df9b07c77826040516106cf91815260200190565b60405180910390a25050565b6060600380546106ea90611bd1565b80601f016020809104026020016040519081016040528092919081815260200182805461071690611bd1565b80156107615780601f1061073857610100808354040283529160200191610761565b820191905f5260205f20905b81548152906001019060200180831161074457829003601f168201915b5050505050905090565b5f33610778818585611581565b60019150505b92915050565b6006546001600160a01b031633146107de5760405162461bcd60e51b815260206004820152600f60248201527f4f6e6c7920676f7665726e616e63650000000000000000000000000000000000604482015260640161057d565b5f811161082d5760405162461bcd60e51b815260206004820181905260248201527f416d6f756e74206d7573742062652067726561746572207468616e207a65726f604482015260640161057d565b61084c73865377367054516e17014ccded1e7d814edc9ce48383611508565b5050565b6005546001600160a01b031633146108aa5760405162461bcd60e51b815260206004820152600d60248201527f4f6e6c79206f70657261746f7200000000000000000000000000000000000000604482015260640161057d565b60088190556040518181527f70b5ce492a5032b5de5077fd0c7918927a3930b3d19137fce8dc65a878ef5d4d9060200160405180910390a150565b5f336108f285828561158e565b6108fd858585611642565b506001949350505050565b6007546001600160a01b031633146109625760405162461bcd60e51b815260206004820152601b60248201527f4f6e6c792070656e64696e6720676f762063616e206163636570740000000000604482015260640161057d565b6007546006546040516001600160a01b0392831692909116907f3d1e4c3a68fed9f4f8315582b7297cf8fa264bc8e6704287603ba8c72bf05ac2905f90a360078054600680547fffffffffffffffffffffffff00000000000000000000000000000000000000009081166001600160a01b03841617909155169055565b6005546001600160a01b03163314610a395760405162461bcd60e51b815260206004820152600d60248201527f4f6e6c79206f70657261746f7200000000000000000000000000000000000000604482015260640161057d565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201525f9073865377367054516e17014ccded1e7d814edc9ce4906370a0823190602401602060405180830381865afa158015610aa1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ac59190611bba565b90505f8111610b165760405162461bcd60e51b815260206004820152600f60248201527f4e6f20444f4c4120746f2073656e640000000000000000000000000000000000604482015260640161057d565b5f818311610b245782610b26565b815b6040517f95dd919300000000000000000000000000000000000000000000000000000000815273f508c58ce37ce40a40997c715075172691f92e2d60048201529091505f90737fcb7dac61ee35b3d4a51117a7c58d53f0a8a670906395dd919390602401602060405180830381865afa158015610ba5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bc99190611bba565b9050808211610bd85781610bda565b805b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273b4497a7351e4915182b3e577b3a2f411fa66b27f60048201526024810182905290925073865377367054516e17014ccded1e7d814edc9ce49063a9059cbb906044016020604051808303815f875af1158015610c5f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c839190611c22565b5073b4497a7351e4915182b3e577b3a2f411fa66b27f6001600160a01b0316638e708bca6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610cd0575f80fd5b505af1158015610ce2573d5f803e3d5ffd5b505050507f3ee6916db16bc2ff6dcdf69faab0515aae59938ff4b4a08e52de5076f368ac4082604051610d1791815260200190565b60405180910390a150505050565b6060600480546106ea90611bd1565b5f33610778818585611642565b6006546001600160a01b03163314610d9b5760405162461bcd60e51b815260206004820152600f60248201527f4f6e6c7920676f7665726e616e63650000000000000000000000000000000000604482015260640161057d565b6005546040516001600160a01b038084169216907fd58299b712891143e76310d5e664c4203c940a67db37cf856bdaa3c5c76a802c905f90a3600580547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610e685760405162461bcd60e51b815260206004820152600d60248201527f4f6e6c79206f70657261746f7200000000000000000000000000000000000000604482015260640161057d565b6001600160a01b0382165f818152600a602052604090819020839055517f9f12c9b7ecc6135500b649aeb4a4d1512e72da015b899e4cf5153e3550850a37906106cf9084815260200190565b6006546001600160a01b03163314610f0e5760405162461bcd60e51b815260206004820152600f60248201527f4f6e6c7920676f7665726e616e63650000000000000000000000000000000000604482015260640161057d565b60095415610f5e5760405162461bcd60e51b815260206004820152600f60248201527f416c726561647920737461727465640000000000000000000000000000000000604482015260640161057d565b610f6b4262054600611c6e565b600855610f7b4262ed4e00611c6e565b6009556008546040519081527f70b5ce492a5032b5de5077fd0c7918927a3930b3d19137fce8dc65a878ef5d4d9060200160405180910390a17f3930f04857ba592ba0a6a96942f8350c2415c0a4aa849021aeefee98bb55b122600954604051610fe791815260200190565b60405180910390a1565b5f6008544211156110445760405162461bcd60e51b815260206004820152601f60248201527f42757920706572696f6420656e646564206f72206e6f74207374617274656400604482015260640161057d565b335f908152600a602052604081205490036110a15760405162461bcd60e51b815260206004820152601f60248201527f4e6f20444f4c4120616c6c6f636174696f6e2073657420666f72207573657200604482015260640161057d565b335f818152600a6020526040902054906110d29073865377367054516e17014ccded1e7d814edc9ce49030846116d1565b5f68015af1d78b58c400006110ef83670de0b6b3a7640000611c81565b6110f99190611c98565b600654909150611129907341d5d79431a913c4ae7d69a668ecdfe5ff9dfb68906001600160a01b031630846116d1565b6040517f095ea7b30000000000000000000000000000000000000000000000000000000081527308d23468a467d2bb86fae0e32f247a26c7e2e9946004820152602481018290527341d5d79431a913c4ae7d69a668ecdfe5ff9dfb689063095ea7b3906044016020604051808303815f875af11580156111ab573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111cf9190611c22565b506040517f6e553f65000000000000000000000000000000000000000000000000000000008152600481018290523060248201527308d23468a467d2bb86fae0e32f247a26c7e2e99490636e553f65906044016020604051808303815f875af115801561123e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112629190611bba565b9250838310156112b45760405162461bcd60e51b815260206004820152601c60248201527f496e73756666696369656e742073686172657320726563656976656400000000604482015260640161057d565b6112be338461170a565b335f818152600a602090815260408083209290925581518581529081018490529081018590527fbeae048c6d270d9469f86cf6e8fedda3c60ad770f16c24c9fc131c8e9a09101d9060600160405180910390a25050919050565b600954421015801561132b575060095415155b6113775760405162461bcd60e51b815260206004820152601a60248201527f526564656d7074696f6e206e6f74207374617274656420796574000000000000604482015260640161057d565b5f81116113ec5760405162461bcd60e51b815260206004820152602560248201527f6c73496e76416d6f756e74206d7573742062652067726561746572207468616e60448201527f207a65726f000000000000000000000000000000000000000000000000000000606482015260840161057d565b6113f63382611757565b6114157308d23468a467d2bb86fae0e32f247a26c7e2e9943383611508565b60405181815233907f222838db2794d11532d940e8dec38ae307ed0b63cd97c233322e221f998767a69060200160405180910390a250565b6006546001600160a01b031633146114a75760405162461bcd60e51b815260206004820152600f60248201527f4f6e6c7920676f7665726e616e63650000000000000000000000000000000000604482015260640161057d565b600780547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040517ff74ae56780e3765c0c0897ef57fb50a10a237584f419631812daf040913e1c9f905f90a250565b6040516001600160a01b0383811660248301526044820183905261157c91859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506117a4565b505050565b61157c8383836001611829565b6001600160a01b038381165f908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81101561163c578181101561162e576040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526001600160a01b0384166004820152602481018290526044810183905260640161057d565b61163c84848484035f611829565b50505050565b6001600160a01b038316611684576040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081525f600482015260240161057d565b6001600160a01b0382166116c6576040517fec442f050000000000000000000000000000000000000000000000000000000081525f600482015260240161057d565b61157c83838361192d565b6040516001600160a01b03848116602483015283811660448301526064820183905261163c9186918216906323b872dd90608401611535565b6001600160a01b03821661174c576040517fec442f050000000000000000000000000000000000000000000000000000000081525f600482015260240161057d565b61084c5f838361192d565b6001600160a01b038216611799576040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081525f600482015260240161057d565b61084c825f8361192d565b5f8060205f8451602086015f885af1806117c3576040513d5f823e3d81fd5b50505f513d915081156117da5780600114156117e7565b6001600160a01b0384163b155b1561163c576040517f5274afe70000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260240161057d565b6001600160a01b03841661186b576040517fe602df050000000000000000000000000000000000000000000000000000000081525f600482015260240161057d565b6001600160a01b0383166118ad576040517f94280d620000000000000000000000000000000000000000000000000000000081525f600482015260240161057d565b6001600160a01b038085165f908152600160209081526040808320938716835292905220829055801561163c57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161191f91815260200190565b60405180910390a350505050565b6001600160a01b038316611957578060025f82825461194c9190611c6e565b909155506119e09050565b6001600160a01b0383165f90815260208190526040902054818110156119c2576040517fe450d38c0000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602481018290526044810183905260640161057d565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b0382166119fc57600280548290039055611a1a565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a5f91815260200190565b60405180910390a3505050565b80356001600160a01b0381168114611a82575f80fd5b919050565b5f60208284031215611a97575f80fd5b611aa082611a6c565b9392505050565b5f602080835283518060208501525f5b81811015611ad357858101830151858201604001528201611ab7565b505f6040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b5f8060408385031215611b22575f80fd5b611b2b83611a6c565b946020939093013593505050565b5f60208284031215611b49575f80fd5b5035919050565b5f805f60608486031215611b62575f80fd5b611b6b84611a6c565b9250611b7960208501611a6c565b9150604084013590509250925092565b5f8060408385031215611b9a575f80fd5b611ba383611a6c565b9150611bb160208401611a6c565b90509250929050565b5f60208284031215611bca575f80fd5b5051919050565b600181811c90821680611be557607f821691505b602082108103611c1c577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b5f60208284031215611c32575f80fd5b81518015158114611aa0575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8082018082111561077e5761077e611c41565b808202811582820484141761077e5761077e611c41565b5f82611ccb577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b50049056fea26469706673582212204453badb819e85bf09cf854b25e60e0e3bd4e221b614fdbe9567616b87870b3e64736f6c63430008180033000000000000000000000000926df14a23be491164dcf93f4c468a50ef659d5b0000000000000000000000009d5df30f475cea915b1ed4c0cca59255c897b61b