3k txs
3.8k calls
constructor
constructor()
functions
balances
viewfunction balances(address) view returns (uint256)
DECIMALS_DIVISOR
viewfunction DECIMALS_DIVISOR() view returns (uint256)
getPayerBalance
viewfunction getPayerBalance(address payerAddress) view returns (int256)
getStreamId
purefunction getStreamId(address from, address to, uint216 amountPerSec) pure returns (bytes32)
payers
viewfunction payers(address) view returns (uint40 lastPayerUpdate, uint216 totalPaidPerSec)
streamToStart
viewfunction streamToStart(bytes32) view returns (uint256)
token
viewfunction token() view returns (address)
withdrawable
viewfunction withdrawable(address from, address to, uint216 amountPerSec) view returns (uint256 withdrawableAmount, uint256 lastUpdate, uint256 owed)
batch
payablefunction batch(bytes[] calls, bool revertOnFail) payable
cancelStream
nonpayablefunction cancelStream(address to, uint216 amountPerSec)
createStream
nonpayablefunction createStream(address to, uint216 amountPerSec)
createStreamWithReason
nonpayablefunction createStreamWithReason(address to, uint216 amountPerSec, string reason)
deposit
nonpayablefunction deposit(uint256 amount)
depositAndCreate
nonpayablefunction depositAndCreate(uint256 amountToDeposit, address to, uint216 amountPerSec)
depositAndCreateWithReason
nonpayablefunction depositAndCreateWithReason(uint256 amountToDeposit, address to, uint216 amountPerSec, string reason)
modifyStream
nonpayablefunction modifyStream(address oldTo, uint216 oldAmountPerSec, address to, uint216 amountPerSec)
pauseStream
nonpayablefunction pauseStream(address to, uint216 amountPerSec)
permitToken
nonpayablefunction permitToken(address token, address from, address to, uint256 amount, uint256 deadline, uint8 v, bytes32 r, bytes32 s)
withdraw
nonpayablefunction withdraw(address from, address to, uint216 amountPerSec)
withdrawPayer
nonpayablefunction withdrawPayer(uint256 amount)
withdrawPayerAll
nonpayablefunction withdrawPayerAll()
events
PayerDeposit
event PayerDeposit(address indexed from, uint256 amount)
PayerWithdraw
event PayerWithdraw(address indexed from, uint256 amount)
StreamCancelled
event StreamCancelled(address indexed from, address indexed to, uint216 amountPerSec, bytes32 streamId)
StreamCreated
event StreamCreated(address indexed from, address indexed to, uint216 amountPerSec, bytes32 streamId)
StreamCreatedWithReason
event StreamCreatedWithReason(address indexed from, address indexed to, uint216 amountPerSec, bytes32 streamId, string reason)
StreamModified
event StreamModified(address indexed from, address indexed oldTo, uint216 oldAmountPerSec, bytes32 oldStreamId, address indexed to, uint216 amountPerSec, bytes32 newStreamId)
StreamPaused
event StreamPaused(address indexed from, address indexed to, uint216 amountPerSec, bytes32 streamId)
Withdraw
event Withdraw(address indexed from, address indexed to, uint216 amountPerSec, bytes32 streamId, uint256 amount)
errors
No errors.
creation bytecode
0x60806040523480156200001157600080fd5b50336001600160a01b031663ad4d4e296040518163ffffffff1660e01b815260040160206040518083038186803b1580156200004c57600080fd5b505afa15801562000061573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000087919062000141565b600380546001600160a01b0319166001600160a01b039290921691821790556040805163313ce56760e01b815290516000929163313ce567916004808301926020929190829003018186803b158015620000e057600080fd5b505afa158015620000f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200011b919062000171565b90506200012a8160146200029e565b6200013790600a620001dd565b60045550620002da565b60006020828403121562000153578081fd5b81516001600160a01b03811681146200016a578182fd5b9392505050565b60006020828403121562000183578081fd5b815160ff811681146200016a578182fd5b600181815b80851115620001d5578160001904821115620001b957620001b9620002c4565b80851615620001c757918102915b93841c939080029062000199565b509250929050565b60006200016a60ff841683600082620001f95750600162000298565b81620002085750600062000298565b81600181146200022157600281146200022c576200024c565b600191505062000298565b60ff841115620002405762000240620002c4565b50506001821b62000298565b5060208310610133831016604e8410600b841016171562000271575081810a62000298565b6200027d838362000194565b8060001904821115620002945762000294620002c4565b0290505b92915050565b600060ff821660ff841680821015620002bb57620002bb620002c4565b90039392505050565b634e487b7160e01b600052601160045260246000fd5b6123a680620002ea6000396000f3fe60806040526004361061016a5760003560e01c80637c516e94116100cb578063b6b55f251161007f578063c6a6477111610059578063c6a6477114610459578063d2423b5114610479578063fc0c546a1461048c57600080fd5b8063b6b55f25146103f9578063bfda0b4514610419578063c355f3431461043957600080fd5b80638835510c116100b05780638835510c146103a4578063a05860e0146103c4578063a3f83f6e146103e457600080fd5b80637c516e9414610364578063807a379c1461038457600080fd5b80634a714c24116101225780635ed1b15d116101075780635ed1b15d146102f75780636bc16095146103175780636e85975e1461034457600080fd5b80634a714c24146102425780635b0c2f2f146102d757600080fd5b806327e235e31161015357806327e235e3146101b15780632b4146f8146101f15780633f053acd1461020757600080fd5b806317a566e41461016f5780632087652c14610191575b600080fd5b34801561017b57600080fd5b5061018f61018a366004611b99565b6104de565b005b34801561019d57600080fd5b5061018f6101ac366004611ee9565b610573565b3480156101bd57600080fd5b506101de6101cc366004611b7d565b60026020526000908152604090205481565b6040519081526020015b60405180910390f35b3480156101fd57600080fd5b506101de60045481565b34801561021357600080fd5b50610227610222366004611b99565b61058f565b604080519384526020840192909252908201526060016101e8565b34801561024e57600080fd5b5061029e61025d366004611b7d565b60016020526000908152604090205464ffffffffff8116906501000000000090047affffffffffffffffffffffffffffffffffffffffffffffffffffff1682565b6040805164ffffffffff90931683527affffffffffffffffffffffffffffffffffffffffffffffffffffff9091166020830152016101e8565b3480156102e357600080fd5b5061018f6102f2366004611bdf565b6107d3565b34801561030357600080fd5b5061018f610312366004611ec3565b610858565b34801561032357600080fd5b506101de610332366004611d68565b60006020819052908152604090205481565b34801561035057600080fd5b506101de61035f366004611b7d565b610870565b34801561037057600080fd5b5061018f61037f366004611d80565b61090b565b34801561039057600080fd5b5061018f61039f366004611bdf565b6109c3565b3480156103b057600080fd5b5061018f6103bf366004611c6a565b610a3f565b3480156103d057600080fd5b506101de6103df366004611b99565b610abf565b3480156103f057600080fd5b5061018f610b4a565b34801561040557600080fd5b5061018f610414366004611d68565b610ba9565b34801561042557600080fd5b5061018f610434366004611d68565b610c37565b34801561044557600080fd5b5061018f610454366004611bdf565b610dbf565b34801561046557600080fd5b5061018f610474366004611c13565b610e3b565b61018f610487366004611ccb565b610ee4565b34801561049857600080fd5b506003546104b99073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101e8565b60008060006104ee868686610ff8565b60008281526020818152604080832064ffffffffff87169081905573ffffffffffffffffffffffffffffffffffffffff808e1685526001909352922080547fffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000016909217909155600354939650919450925061056b9116868361134e565b505050505050565b61057c85610ba9565b61058884848484610a3f565b5050505050565b6000806000806105a0878787610abf565b60008181526020819052604090205490915061061d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f73747265616d20646f65736e277420657869737400000000000000000000000060448201526064015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff871660009081526001602052604081208054909190819061065a9064ffffffffff1642612234565b835473ffffffffffffffffffffffffffffffffffffffff8c16600090815260026020526040902054650100000000009091047affffffffffffffffffffffffffffffffffffffffffffffffffffff16820293509091508281106106bf57429650610730565b83546000906501000000000090047affffffffffffffffffffffffffffffffffffffffffffffffffffff16828161071f577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b865464ffffffffff16919004019750505b6000858152602081905260408120546107499089612234565b6004549091506107767affffffffffffffffffffffffffffffffffffffffffffffffffffff8c1683612183565b610780919061216f565b6004549099507affffffffffffffffffffffffffffffffffffffffffffffffffffff8b166107ae8a42612234565b6107b89190612183565b6107c2919061216f565b965050505050505093509350939050565b60006107df8383611422565b604080517affffffffffffffffffffffffffffffffffffffffffffffffffffff851681526020810183905291925073ffffffffffffffffffffffffffffffffffffffff85169133917fad944a97ab4c0b30123a6c2757ec85eab70d01af114e49d0f0a86c466e32fb4f91015b60405180910390a3505050565b61086183610ba9565b61086b8282610dbf565b505050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602090815260408083206002909252822054815483906108b59064ffffffffff1642612234565b6004548454919250906108ee906501000000000090047affffffffffffffffffffffffffffffffffffffffffffffffffffff1683612183565b6108f890846121c0565b6109029190612107565b95945050505050565b6040517fd505accf00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff88811660048301528781166024830152604482018790526064820186905260ff8516608483015260a4820184905260c4820183905289169063d505accf9060e401600060405180830381600087803b1580156109a157600080fd5b505af11580156109b5573d6000803e3d6000fd5b505050505050505050505050565b60006109cf8383611422565b604080517affffffffffffffffffffffffffffffffffffffffffffffffffffff851681526020810183905291925073ffffffffffffffffffffffffffffffffffffffff85169133917f6841f88c613e9eedd999a7291168f6d1f83bdd2b2416f98e91c01c19d6d5763a910161084b565b6000610a4b85856114e2565b90508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167ff9b31dda66c763701e363e12ac3126c9030e68c82e939dbd42c33a8021e6dda886848787604051610ab09493929190611fd5565b60405180910390a35050505050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606085811b8216602084015284901b1660348201527fffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000602883901b1660488201526000906063016040516020818303038152906040528051906020012090505b9392505050565b3360009081526001602090815260408083208054600290935292205464ffffffffff8216420391610ba591650100000000009091047affffffffffffffffffffffffffffffffffffffffffffffffffffff1683029003610c37565b5050565b600454610bb69082612183565b3360009081526002602052604081208054909190610bd59084906120ef565b9091555050600354610bff9073ffffffffffffffffffffffffffffffffffffffff16333084611737565b60405181815233907f3de3aee7860cdac45b499418398cd4bcf1f9952148868b8a6d43ba7729a0bbb59060200160405180910390a250565b33600090815260016020908152604080832060029092528220805491928492610c61908490612234565b90915550508054600090610c7c9064ffffffffff1642612234565b8254336000908152600260205260409020549192506501000000000090047affffffffffffffffffffffffffffffffffffffffffffffffffffff1682021115610d21576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f706c73206e6f20727567000000000000000000000000000000000000000000006044820152606401610614565b60006004548481610d5b577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6003549190049150610d849073ffffffffffffffffffffffffffffffffffffffff16338361134e565b60405181815233907fb67efc8b8dcfed4c807ecc6c0e5c1234071c787585f1fef08e7cb9a1bc7c7de99060200160405180910390a250505050565b6000610dcb83836114e2565b604080517affffffffffffffffffffffffffffffffffffffffffffffffffffff851681526020810183905291925073ffffffffffffffffffffffffffffffffffffffff85169133917fbdf2ad452fb5e7123ebc3e977452088bc6ac9aa4c6b807fa043bb65f7dd62810910161084b565b6000610e478585611422565b90506000610e5584846114e2565b604080517affffffffffffffffffffffffffffffffffffffffffffffffffffff88811682526020820186905286168183015260608101839052905191925073ffffffffffffffffffffffffffffffffffffffff868116929089169133917f0edc6e7edb775c1fb5a1326f1b041b17e4e1cbfb9ea4a0562920bda1a7d031349181900360800190a4505050505050565b60005b82811015610ff25760008030868685818110610f2c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9050602002810190610f3e919061204d565b604051610f4c929190611f58565b600060405180830381855af49150503d8060008114610f87576040519150601f19603f3d011682016040523d82523d6000602084013e610f8c565b606091505b509150915081158015610f9c5750835b15610fdd57610faa81611795565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106149190611f84565b50508080610fea90612277565b915050610ee7565b50505050565b6000806000611008868686610abf565b600081815260208190526040902054909250611080576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f73747265616d20646f65736e27742065786973740000000000000000000000006044820152606401610614565b73ffffffffffffffffffffffffffffffffffffffff86166000908152600160205260408120805490919081906110bd9064ffffffffff1642612234565b835473ffffffffffffffffffffffffffffffffffffffff8b16600090815260026020526040902054650100000000009091047affffffffffffffffffffffffffffffffffffffffffffffffffffff168202935090915082811061114c5773ffffffffffffffffffffffffffffffffffffffff8a1660009081526002602052604090208382039055429650611246565b83546000906501000000000090047affffffffffffffffffffffffffffffffffffffffffffffffffffff1682816111ac577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b865491900464ffffffffff82168101995091506501000000000090047affffffffffffffffffffffffffffffffffffffffffffffffffffff16828161121a577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff8d1660009081526002602052604090209190069055505b6000868152602081905260408120546112669064ffffffffff8a16612234565b9050600454897affffffffffffffffffffffffffffffffffffffffffffffffffffff168202816112bf577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b604080517affffffffffffffffffffffffffffffffffffffffffffffffffffff8d168152602081018b905292909104908201819052965073ffffffffffffffffffffffffffffffffffffffff808c1691908d16907f674faf747e3eea06e0c6346405d01330e029b752733b8ac5cfa9365ed64a496c9060600160405180910390a3505050505093509350939050565b60405173ffffffffffffffffffffffffffffffffffffffff831660248201526044810182905261086b9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526117fa565b6000806000611432338686610ff8565b60008281526020818152604080832083905533835260019091529020805464ffffffffff85167affffffffffffffffffffffffffffffffffffffffffffffffffffff650100000000009283900481168b9003169091027fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000001617815560035492965092945092506114d99073ffffffffffffffffffffffffffffffffffffffff16878461134e565b50505092915050565b60006114ef338484610abf565b90506000827affffffffffffffffffffffffffffffffffffffffffffffffffffff1611611578576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f616d6f756e745065725365632063616e277420626520300000000000000000006044820152606401610614565b600081815260208190526040902054156115ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f73747265616d20616c72656164792065786973747300000000000000000000006044820152606401610614565b600081815260208181526040808320429081905533845260019092528220805490929182916116269164ffffffffff90911690612234565b83543360009081526002602052604081208054650100000000009093047affffffffffffffffffffffffffffffffffffffffffffffffffffff1684029550929350849291611675908490612234565b909155505082547fffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000164264ffffffffff1617808455859084906005906116e29084906501000000000090047affffffffffffffffffffffffffffffffffffffffffffffffffffff166120b0565b92506101000a8154817affffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837affffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505092915050565b60405173ffffffffffffffffffffffffffffffffffffffff80851660248301528316604482015260648101829052610ff29085907f23b872dd00000000000000000000000000000000000000000000000000000000906084016113a0565b60606044825110156117da57505060408051808201909152601d81527f5472616e73616374696f6e2072657665727465642073696c656e746c79000000602082015290565b600482019150818060200190518101906117f49190611e07565b92915050565b600061185c826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166119069092919063ffffffff16565b80519091501561086b578080602001905181019061187a9190611d4c565b61086b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610614565b6060611915848460008561191d565b949350505050565b6060824710156119af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610614565b73ffffffffffffffffffffffffffffffffffffffff85163b611a2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610614565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611a569190611f68565b60006040518083038185875af1925050503d8060008114611a93576040519150601f19603f3d011682016040523d82523d6000602084013e611a98565b606091505b5091509150611aa8828286611ab3565b979650505050505050565b60608315611ac2575081610b43565b825115611ad25782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106149190611f84565b60008083601f840112611b17578182fd5b50813567ffffffffffffffff811115611b2e578182fd5b602083019150836020828501011115611b4657600080fd5b9250929050565b80357affffffffffffffffffffffffffffffffffffffffffffffffffffff81168114611b7857600080fd5b919050565b600060208284031215611b8e578081fd5b8135610b438161233d565b600080600060608486031215611bad578182fd5b8335611bb88161233d565b92506020840135611bc88161233d565b9150611bd660408501611b4d565b90509250925092565b60008060408385031215611bf1578182fd5b8235611bfc8161233d565b9150611c0a60208401611b4d565b90509250929050565b60008060008060808587031215611c28578081fd5b8435611c338161233d565b9350611c4160208601611b4d565b92506040850135611c518161233d565b9150611c5f60608601611b4d565b905092959194509250565b60008060008060608587031215611c7f578384fd5b8435611c8a8161233d565b9350611c9860208601611b4d565b9250604085013567ffffffffffffffff811115611cb3578283fd5b611cbf87828801611b06565b95989497509550505050565b600080600060408486031215611cdf578283fd5b833567ffffffffffffffff80821115611cf6578485fd5b818601915086601f830112611d09578485fd5b813581811115611d17578586fd5b8760208260051b8501011115611d2b578586fd5b60209283019550935050840135611d4181612362565b809150509250925092565b600060208284031215611d5d578081fd5b8151610b4381612362565b600060208284031215611d79578081fd5b5035919050565b600080600080600080600080610100898b031215611d9c578384fd5b8835611da78161233d565b97506020890135611db78161233d565b96506040890135611dc78161233d565b9550606089013594506080890135935060a089013560ff81168114611dea578384fd5b979a969950949793969295929450505060c08201359160e0013590565b600060208284031215611e18578081fd5b815167ffffffffffffffff80821115611e2f578283fd5b818401915084601f830112611e42578283fd5b815181811115611e5457611e5461230e565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715611e9a57611e9a61230e565b81604052828152876020848701011115611eb2578586fd5b611aa883602083016020880161224b565b600080600060608486031215611ed7578081fd5b833592506020840135611bc88161233d565b600080600080600060808688031215611f00578283fd5b853594506020860135611f128161233d565b9350611f2060408701611b4d565b9250606086013567ffffffffffffffff811115611f3b578182fd5b611f4788828901611b06565b969995985093965092949392505050565b8183823760009101908152919050565b60008251611f7a81846020870161224b565b9190910192915050565b6020815260008251806020840152611fa381604085016020870161224b565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff8516815283602082015260606040820152816060820152818360808301376000818301608090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01601019392505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612081578283fd5b83018035915067ffffffffffffffff82111561209b578283fd5b602001915036819003821315611b4657600080fd5b60007affffffffffffffffffffffffffffffffffffffffffffffffffffff8083168185168083038211156120e6576120e66122b0565b01949350505050565b60008219821115612102576121026122b0565b500190565b600082612116576121166122df565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f80000000000000000000000000000000000000000000000000000000000000008314161561216a5761216a6122b0565b500590565b60008261217e5761217e6122df565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156121bb576121bb6122b0565b500290565b6000808312837f8000000000000000000000000000000000000000000000000000000000000000018312811516156121fa576121fa6122b0565b837f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01831381161561222e5761222e6122b0565b50500390565b600082821015612246576122466122b0565b500390565b60005b8381101561226657818101518382015260200161224e565b83811115610ff25750506000910152565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156122a9576122a96122b0565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461235f57600080fd5b50565b801515811461235f57600080fdfea26469706673582212206a528b87b387a0e63acbb9965d107d2f038b0a8320974b8bb4bdf7d37d884fe964736f6c63430008040033