The Angel contract will calculate how many reward tokens will be allocated based on the provided distribution rate and end time. Rewards After successfully completing a trek, the follower will give a reward token, which can be blue, yellow, or red depending on the chosen route. Used to calculate user rewards. Find centralized, trusted content and collaborate around the technologies you use most. Once you create the Angel(s), you are now the Rewarder, and you can manage the reward schedule and assign which Fountain can get your reward. Original RISE token has 6%. BODA V2 holders are able to earn up to 19% in BUSD Rewards just for holding their tokens! Before you continue reading, there are some basic terminology for your reference: Trevi is an ERC20-based staking and reward distribution system. * @return damping change for a given change in tokens. Create an Angel contract to store your reward, Assign which token staking you want to incentivize, Set reward distribution rate and schedule, You can reward many staking pools at the same time, thus you can assign different distribution weights among Fountains with the, Sign up for the available rewards from Angels, Accumulate and claim the rewards over blocks. The balances of one token contract can be stood for physical objects, currency value, even the holder's reputation. * @dev The damping factor is used to take into account token movements in the rewards calculation. Hi @M.Alaghemand - it would be much appreciated if you could upvote my answer if you find it useful. address private rewardsNotifier; // Contract address where token movements are broadcast from. * dampingChange = total PAY rewards * percentage change in a user's TENX shares, * @param _totalShares Total TENX cap (constant ~200M.). Asking for help, clarification, or responding to other answers. As Rewarders who plan to have a reward system, they dont need to build any contract to start the program. By clicking Post Your Answer, you agree to our terms of service, privacy policy and cookie policy. Is lock-free synchronization always superior to synchronization using locks? "Unclaimed reward must be non-zero to withdraw. Important notice: AVOID USING TOKENS THAT HAVE FLOATING AMOUNTS (including inflationary/deflationary tokens, interest tokens or rebase tokens) AND AVOID USING TOKENS WITH DECIMALS LOWER THAN 18 (e.g. CryptoSlots - 25 Free Spins at CryptoSlots. Site design / logo 2023 Stack Exchange Inc; user contributions licensed under CC BY-SA. Do EMC test houses typically accept copper foil in EUT? Please make sure you approve an adequate amount to the Angel contract before calling the function. Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations. Underlying tokens are under the Mintable Reserves and Rewards section For assets on testnets, we use different versions of the token (e.g. Browse other questions tagged, Where developers & technologists share private knowledge with coworkers, Reach developers & technologists worldwide. Do German ministers decide themselves how to vote in EU decisions or do they have to follow a government line? Send reward to a token holders in smart contracts, The open-source game engine youve been waiting for: Godot (Ep. "openzeppelin-solidity/contracts/math/SafeMath.sol", "openzeppelin-solidity/contracts/lifecycle/Pausable.sol", "openzeppelin-solidity/contracts/ownership/Ownable.sol", "openzeppelin-solidity/contracts/utils/ReentrancyGuard.sol", "openzeppelin-solidity/contracts/drafts/SignedSafeMath.sol", "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol". // In Rewardable.sol, this is executed after the burn has deducted totalShares(), // Calculate amount of rewards the burned amount is entitled to, // Remove redeemable rewards from the global pool, // Only _account is able to withdraw the unclaimed redeemed rewards. * @notice Calculates a user's total allocated (claimed + unclaimed) rewards. Contract Overview Balance: 0 BNB BNB Value: $0.00 More Info My Name Tag: Not Available, login to update Contract Creator: Reward tokens are only available on the blockchains where Staking Portal operates. Have a list of addresses and loop through them while calling native erc transfer method. Constant amount. Note: The reward is accumulated per address, it means that once you transfer a FTN token to another address, the accumulated rewards will still be claimable only by your original address, and the new address will need to sign up for the available rewards to start to accumulate its claimable reward. * @dev The contract must have sufficient PAY allowance to deposit() rewards. How can I change a sentence based upon input to a command? rewardsToken = wallet where you have the tokens, Note: You need approve() the smart contract address and amount after created this. Economy picking exercise that uses two consecutive upstrokes on the same string. As a matter of fact, a token contract is a smart contract mapping account addresses and balances. Private Name Tags (up to 35 characters) can be used for easy identification of addresses. * @notice Calculate a user's damping factor change. Launching the CI/CD and R Collectives and community editing features for How to Transfer Token via Contact Address, Brownie compile ValueError: Invalid NPM block with OpenZeppelin, What are the rules (syntax) for importing from Github repo to Solidity Contract, I'm writing some Solidity and this error keeps poppping up, Is email scraping still a thing for spammers, Am I being scammed after paying almost $10,000 to a tree company not being able to withdraw my profit without paying a fee, The number of distinct words in a sentence. After 3 months you will get the reward of 32% of the staked token. . What does a search warrant actually look like? Ravencoin is a protocol based on a fork of the Bitcoin code which adds features specifically focused on allowing tokens to be issued on the Ravencoin blockchain. The address itself is the location of a smart contract which manages the balances of all token holders, amongst other things, such as the total supply and its basic features (name, decimals, etc. should I use 'rewardsToken.transfer(msg.sender, RewardContract);', @Programmer Your code sends the tokens automatically - from the contract address to the user invoking the. * @dev The rewards (in the form of a 'rewardsToken') are calculated based on a percentage ownership of a 'rewardableToken'. The parameter reward is the token address of the reward you provide. Our token smart contract is at the core of the entire project, therefore ensuring it meets the security and technical . Reward more than 2 kinds of tokens for your users no limitation! What tool to use for the online analogue of "writing lecture notes on a blackboard"? 5000+ Slots, Live casino games, 50+ cryptos, 100% bet insurance. You can call the function create(ERC20 token) of the Fountain Factory to create the Fountain(s). . The reward is distributed every block, and users can decide when to claim the accumulated rewards. This represents a - price increase in the last 24 hours and a - price increase in the past 7 days. 60806040526207a120601d55600b602a556001602b55602e805464ffffff000019166401010100001790553480156200003757600080fd5b5060405162005216380380620052168339810160408190526200005a91620005b7565b600080546001600160a01b0319166001600160a01b0383161790556004620000838682620006da565b506005620000928582620006da565b506006829055620000a582600a620008bb565b620000b19084620008d0565b600755600654620000c490600a620008bb565b620000d09084620008d0565b600855600754600c819055600d819055600380546001600160a01b03199081166001600160a01b038581169182179093556001805483168217815560028054909316909117909155601c55600080549091168152602080805260409182902092909255805163c45a015560e01b815290517310ed43c718714eb63d5aa57b78b54704e256024e92839263c45a015592600482810193928290030181865afa15801562000180573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a69190620008ea565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021a9190620008ea565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000268573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200028e9190620008ea565b601f80546001600160a01b03199081166001600160a01b0393841617909155601e8054909116918316919091179055604051620002cb90620004cb565b604051809103906000f080158015620002e8573d6000803e3d6000fd5b50602980546001600160a01b0319166001600160a01b03928316179055601f805482166000908152602460209081526040808320805460ff199081166001908117909255308086526023855283862080548316841790557fcfb917c9f12a67b756fd43c7510cd55b6708bb9e7558ef1abd90c51590e0aada8054831684179055865488168652838620805483168417905585548816865283862080548316841790558554881686526026855283862080548316841790558086526022855283862080548316841790557fb3dad1d3e53c1132e958712e36d3ff32b0d9b9088698eb172c6b4faa7ff6d22e80548316841790558554881686528386208054831684179055955487168552602884528285208054821683179055858552828520805482168317905584549096168452818420805487168217905561dead84527fbbe88529b5ffa7b624cff06f0ef07c7e870a9b23b5b38a8a3fc35e04dc498bd18054909616179094556007549351938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600080546040516001600160a01b0390911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35050505050506200090a565b610e06806200441083390190565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200050157600080fd5b81516001600160401b03808211156200051e576200051e620004d9565b604051601f8301601f19908116603f01168101908282118183101715620005495762000549620004d9565b816040528381526020925086838588010111156200056657600080fd5b600091505b838210156200058a57858201830151818301840152908201906200056b565b600093810190920192909252949350505050565b6001600160a01b0381168114620005b457600080fd5b50565b600080600080600060a08688031215620005d057600080fd5b85516001600160401b0380821115620005e857600080fd5b620005f689838a01620004ef565b965060208801519150808211156200060d57600080fd5b506200061c88828901620004ef565b945050604086015192506060860151915060808601516200063d816200059e565b809150509295509295909350565b600181811c908216806200066057607f821691505b6020821081036200068157634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620006d557600081815260208120601f850160051c81016020861015620006b05750805b601f850160051c820191505b81811015620006d157828155600101620006bc565b5050505b505050565b81516001600160401b03811115620006f657620006f6620004d9565b6200070e816200070784546200064b565b8462000687565b602080601f8311600181146200074657600084156200072d5750858301515b600019600386901b1c1916600185901b178555620006d1565b600085815260208120601f198616915b82811015620007775788860151825594840194600190910190840162000756565b5085821015620007965787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620007fd578160001904821115620007e157620007e1620007a6565b80851615620007ef57918102915b93841c9390800290620007c1565b509250929050565b6000826200081657506001620008b5565b816200082557506000620008b5565b81600181146200083e5760028114620008495762000869565b6001915050620008b5565b60ff8411156200085d576200085d620007a6565b50506001821b620008b5565b5060208310610133831016604e8410600b84101617156200088e575081810a620008b5565b6200089a8383620007bc565b8060001904821115620008b157620008b1620007a6565b0290505b92915050565b6000620008c9838362000805565b9392505050565b8082028115828204841417620008b557620008b5620007a6565b600060208284031215620008fd57600080fd5b8151620008c9816200059e565b613af6806200091a6000396000f3fe6080604052600436106103d25760003560e01c806379ff124e116101fd578063a9059cbb11610118578063db9d16e2116100ab578063ec3e20951161007a578063ec3e209514610b80578063ecaaebb414610b88578063f3c87c3214610ba8578063f415051814610bbd578063fcf84b4114610bed57600080fd5b8063db9d16e214610aee578063dd62ed3e14610b0e578063e20075a514610b54578063ec36451214610b6a57600080fd5b8063bfe10928116100e7578063bfe1092814610a68578063c14a423914610a88578063cdfeab0b14610ab8578063d874158214610ace57600080fd5b8063a9059cbb146109f2578063ad604f2a14610a12578063b341528714610a32578063ba006fe714610a5257600080fd5b806395d89b4111610190578063a08368ad1161015f578063a08368ad1461097d578063a457c2d714610992578063a5c5eb01146109b2578063a7ce7cd2146109d257600080fd5b806395d89b41146108f85780639c3e76cb1461090d5780639cee21421461092d5780639eea4be31461095d57600080fd5b80638a41665a116101cc5780638a41665a146108985780638b5282c5146108ae5780638da5cb5b146108c457806394e62aad146108e257600080fd5b806379ff124e1461082c5780637b43db6d1461084c5780638793bf741461086c57806388cfa7ac1461088257600080fd5b80632eb7200e116102ed5780635db5ff36116102805780636d9ec6aa1161024f5780636d9ec6aa1461079257806370a08231146107b25780637495e6d5146107e7578063768dc710146107fc57600080fd5b80635db5ff3614610711578063606373fb1461073c57806365f22ea51461075c57806367c2750d1461077c57600080fd5b806340b86482116102bc57806340b8648214610692578063485d79eb146106b257806349bd5a5e146106d25780634a74bb02146106f257600080fd5b80632eb7200e1461061d578063313ce5671461063d57806339509351146106525780633bc3b54d1461067257600080fd5b806318160ddd1161036557806323b872dd1161033457806323b872dd146105b2578063283cd3e7146105d2578063292b6f9c146105f25780632b112e491461060857600080fd5b806318160ddd146105335780631b75f010146105485780631cdd3be314610568578063220f66961461059857600080fd5b8063103287b2116103a1578063103287b2146104895780631694505e146104ab578063171cb223146104e3578063175bf3ce1461050357600080fd5b806305bbb43f146103de57806306fdde0314610407578063095ea7b3146104295780630e8322731461045957600080fd5b366103d957005b600080fd5b3480156103ea57600080fd5b506103f460125481565b6040519081526020015b60405180910390f35b34801561041357600080fd5b5061041c610c0d565b6040516103fe919061331a565b34801561043557600080fd5b50610449610444366004613345565b610c9f565b60405190151581526020016103fe565b34801561046557600080fd5b50610449610474366004613371565b60286020526000908152604090205460ff1681565b34801561049557600080fd5b506104a96104a436600461339c565b610cb6565b005b3480156104b757600080fd5b50601e546104cb906001600160a01b031681565b6040516001600160a01b0390911681526020016103fe565b3480156104ef57600080fd5b506104a96104fe3660046133d5565b610d97565b34801561050f57600080fd5b5061044961051e366004613371565b60236020526000908152604090205460ff1681565b34801561053f57600080fd5b506007546103f4565b34801561055457600080fd5b506104a961056336600461339c565b610de1565b34801561057457600080fd5b50610449610583366004613371565b60276020526000908152604090205460ff1681565b3480156105a457600080fd5b50602c546104499060ff1681565b3480156105be57600080fd5b506104496105cd3660046133f2565b610e36565b3480156105de57600080fd5b506104a96105ed36600461339c565b610ed5565b3480156105fe57600080fd5b506103f460165481565b34801561061457600080fd5b506103f4610f2a565b34801561062957600080fd5b506104a9610638366004613433565b610f6a565b34801561064957600080fd5b506006546103f4565b34801561065e57600080fd5b5061044961066d366004613345565b61109c565b34801561067e57600080fd5b506104a961068d3660046133d5565b6110d2565b34801561069e57600080fd5b506104a96106ad366004613345565b611150565b3480156106be57600080fd5b506104a96106cd3660046133d5565b61122e565b3480156106de57600080fd5b50601f546104cb906001600160a01b031681565b3480156106fe57600080fd5b50602c5461044990610100900460ff1681565b34801561071d57600080fd5b50610726611276565b6040516103fe9a9998979695949392919061347e565b34801561074857600080fd5b506001546104cb906001600160a01b031681565b34801561076857600080fd5b506003546104cb906001600160a01b031681565b34801561078857600080fd5b506103f460135481565b34801561079e57600080fd5b506104a96107ad36600461339c565b611592565b3480156107be57600080fd5b506103f46107cd366004613371565b6001600160a01b0316600090815260208052604090205490565b3480156107f357600080fd5b506104a96116cc565b34801561080857600080fd5b50610449610817366004613371565b60226020526000908152604090205460ff1681565b34801561083857600080fd5b506104a961084736600461350f565b611795565b34801561085857600080fd5b506104a961086736600461339c565b6117d0565b34801561087857600080fd5b506103f460155481565b34801561088e57600080fd5b506103f4600e5481565b3480156108a457600080fd5b506103f4600f5481565b3480156108ba57600080fd5b506103f460145481565b3480156108d057600080fd5b506000546001600160a01b03166104cb565b3480156108ee57600080fd5b506103f460105481565b34801561090457600080fd5b5061041c611869565b34801561091957600080fd5b506104a961092836600461350f565b611878565b34801561093957600080fd5b50610449610948366004613371565b60266020526000908152604090205460ff1681565b34801561096957600080fd5b506104a9610978366004613528565b61190c565b34801561098957600080fd5b506104a9611a24565b34801561099e57600080fd5b506104496109ad366004613345565b611a98565b3480156109be57600080fd5b506104a96109cd36600461339c565b611b15565b3480156109de57600080fd5b506104a96109ed3660046135ed565b611b6a565b3480156109fe57600080fd5b50610449610a0d366004613345565b611bc0565b348015610a1e57600080fd5b506104a9610a2d366004613371565b611bcd565b348015610a3e57600080fd5b506104a9610a4d36600461350f565b611c8e565b348015610a5e57600080fd5b506103f460115481565b348015610a7457600080fd5b506029546104cb906001600160a01b031681565b348015610a9457600080fd5b50610449610aa3366004613371565b60246020526000908152604090205460ff1681565b348015610ac457600080fd5b506103f460195481565b348015610ada57600080fd5b506104a9610ae9366004613528565b611ccc565b348015610afa57600080fd5b506104a9610b09366004613675565b611f08565b348015610b1a57600080fd5b506103f4610b293660046136b0565b6001600160a01b03918216600090815260216020908152604080832093909416825291909152205490565b348015610b6057600080fd5b506103f460175481565b348015610b7657600080fd5b506103f460185481565b6104a9612050565b348015610b9457600080fd5b506104a9610ba3366004613675565b612118565b348015610bb457600080fd5b506104a9612253565b348015610bc957600080fd5b50610449610bd8366004613371565b60256020526000908152604090205460ff1681565b348015610bf957600080fd5b506002546104cb906001600160a01b031681565b606060048054610c1c906136de565b80601f0160208091040260200160405190810160405280929190818152602001828054610c48906136de565b8015610c955780601f10610c6a57610100808354040283529160200191610c95565b820191906000526020600020905b815481529060010190602001808311610c7857829003601f168201915b5050505050905090565b6000610cac3384846122e1565b5060015b92915050565b6000546001600160a01b0316610d195773d05895edf847e1712721cc9e0427aa26289a6bc53314610d145760405162461bcd60e51b815260206004820152600360248201526245303160e81b60448201526064015b60405180910390fd5b610d59565b6000546001600160a01b03163314610d595760405162461bcd60e51b815260206004820152600360248201526222981960e91b6044820152606401610d0b565b6001600160a01b039091166000908152602460209081526040808320805494151560ff19958616811790915560239092529091208054909216179055565b6000546001600160a01b03163314610dc15760405162461bcd60e51b8152600401610d0b90613718565b602e80549115156401000000000264ff0000000019909216919091179055565b6000546001600160a01b03163314610e0b5760405162461bcd60e51b8152600401610d0b90613718565b6001600160a01b03919091166000908152602360205260409020805460ff1916911515919091179055565b6000610e43848484612405565b610ecb8433610ec68560405180604001604052806012815260200171105b1b1bddd85b98d948195e18d95959195960721b815250602160008b6001600160a01b03166001600160a01b031681526020019081526020016000206000610ea53390565b6001600160a01b031681526020810191909152604001600020549190612b17565b6122e1565b5060019392505050565b6000546001600160a01b03163314610eff5760405162461bcd60e51b8152600401610d0b90613718565b6001600160a01b03919091166000908152602660205260409020805460ff1916911515919091179055565b61dead6000908152602080527fcbaad361c71be11fa6bdbe0e740c6259be964b32182da2da47b54472477c6a1754600754610f659190613763565b905090565b6000546001600160a01b03163314610f945760405162461bcd60e51b8152600401610d0b90613718565b6001600160a01b038316610fd05760405162461bcd60e51b815260206004820152600360248201526222989960e91b6044820152606401610d0b565b600180546001600160a01b0319166001600160a01b038581169190911790915581166110245760405162461bcd60e51b815260206004820152600360248201526245313360e81b6044820152606401610d0b565b600280546001600160a01b0319166001600160a01b038481169190911790915581166110785760405162461bcd60e51b8152602060048201526003602482015262114c4d60ea1b6044820152606401610d0b565b600380546001600160a01b0319166001600160a01b03929092169190911790555050565b3360008181526021602090815260408083206001600160a01b03871684529091528120549091610cac918590610ec69086612b43565b6000546001600160a01b031633146110fc5760405162461bcd60e51b8152600401610d0b90613718565b602c80548215156101000261ff00199091161790556040517f23a579f47956e637483932f4e2637a61668467d7758e542cbcf63b017fc150b99061114590831515815260200190565b60405180910390a150565b6000546001600160a01b0316331461117a5760405162461bcd60e51b8152600401610d0b90613718565b306001600160a01b038316036111b85760405162461bcd60e51b815260206004820152600360248201526208a62760eb1b6044820152606401610d0b565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303816000875af1158015611205573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112299190613776565b505050565b6000546001600160a01b031633146112585760405162461bcd60e51b8152600401610d0b90613718565b602e805491151563010000000263ff00000019909216919091179055565b60008060008060008060608060608060006040518060400160405280601781526020017f68747470733a2f2f746f6b656e73627967656e2e636f6d00000000000000000081525090506000601254601354601154601054600f54600e546112dd9190613793565b6112e79190613793565b6112f19190613793565b6112fb9190613793565b6113059190613793565b905060006018546019546017546016546015546014546113259190613793565b61132f9190613793565b6113399190613793565b6113439190613793565b61134d9190613793565b90506000600654600a611360919061388a565b600c5461136d9190613896565b90506000600654600a611380919061388a565b600d5461138d9190613896565b90508181111561139a5750805b60008054906101000a90046001600160a01b031681838686602e60029054906101000a900460ff166009600a600b8d8380546113d5906136de565b80601f0160208091040260200160405190810160405280929190818152602001828054611401906136de565b801561144e5780601f106114235761010080835404028352916020019161144e565b820191906000526020600020905b81548152906001019060200180831161143157829003601f168201915b50505050509350828054611461906136de565b80601f016020809104026020016040519081016040528092919081815260200182805461148d906136de565b80156114da5780601f106114af576101008083540402835291602001916114da565b820191906000526020600020905b8154815290600101906020018083116114bd57829003601f168201915b505050505092508180546114ed906136de565b80601f0160208091040260200160405190810160405280929190818152602001828054611519906136de565b80156115665780601f1061153b57610100808354040283529160200191611566565b820191906000526020600020905b81548152906001019060200180831161154957829003601f168201915b505050505091509e509e509e509e509e509e509e509e509e509e50505050505090919293949596979899565b6000546001600160a01b031633146115bc5760405162461bcd60e51b8152600401610d0b90613718565b6001600160a01b03821630148015906115e35750601f546001600160a01b03838116911614155b6115ec57600080fd5b6001600160a01b0382166000908152602860205260409020805460ff1916821580159190911790915561168457602954604051630a5b654b60e11b81526001600160a01b03848116600483015260006024830152909116906314b6ca96906044015b600060405180830381600087803b15801561166857600080fd5b505af115801561167c573d6000803e3d6000fd5b505050505050565b6029546001600160a01b03838116600081815260208052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca969060440161164e565b6000546001600160a01b031633146116f65760405162461bcd60e51b8152600401610d0b90613718565b602e54610100900460ff161561170b57600080fd5b602c805461ff00191661010017905542602d55602e805461010161ffff19909116179055601c54600f819055601581905560135460115460105461174f9190613793565b6117599190613793565b6117639190613793565b601a5560155460195460175460165461177c9190613793565b6117869190613793565b6117909190613793565b601b55565b6000546001600160a01b031633146117bf5760405162461bcd60e51b8152600401610d0b90613718565b6117ca816001613793565b602a5550565b6000546001600160a01b031633146117fa5760405162461bcd60e51b8152600401610d0b90613718565b801561183e57602e5462010000900460ff1661183e5760405162461bcd60e51b815260206004820152600360248201526245303960e81b6044820152606401610d0b565b6001600160a01b03919091166000908152602760205260409020805460ff1916911515919091179055565b606060058054610c1c906136de565b6000546001600160a01b031633146118a25760405162461bcd60e51b8152600401610d0b90613718565b602c5460ff16156118db5760405162461bcd60e51b815260206004820152600360248201526245313760e81b6044820152606401610d0b565b3060009081526020805260408120549060646118f784846138b8565b6119019190613896565b905061122981612b56565b6000546001600160a01b031633146119365760405162461bcd60e51b8152600401610d0b90613718565b610b4082111561196e5760405162461bcd60e51b815260206004820152600360248201526204531360ec1b6044820152606401610d0b565b671bc16d674ec800008111156119ac5760405162461bcd60e51b815260206004820152600360248201526245313160e81b6044820152606401610d0b565b60006119b983603c6138b8565b6029546040516316a4744b60e11b815260048101839052602481018590529192506001600160a01b031690632d48e89690604401600060405180830381600087803b158015611a0757600080fd5b505af1158015611a1b573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b03163314611a4e5760405162461bcd60e51b8152600401610d0b90613718565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000610cac3384610ec6856040518060400160405280601e81526020017f44656372656173656420616c6c6f77616e63652062656c6f77207a65726f000081525060216000611ae43390565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190612b17565b6000546001600160a01b03163314611b3f5760405162461bcd60e51b8152600401610d0b90613718565b6001600160a01b03919091166000908152602260205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314611b945760405162461bcd60e51b8152600401610d0b90613718565b6009611ba08482613915565b50600a611bad8382613915565b50600b611bba8282613915565b50505050565b6000610cac338484612405565b6000546001600160a01b03163314611bf75760405162461bcd60e51b8152600401610d0b90613718565b6001600160a01b038116611c335760405162461bcd60e51b815260206004820152600360248201526222989b60e91b6044820152606401610d0b565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314611cb85760405162461bcd60e51b8152600401610d0b90613718565b620b71b08110611cc757600080fd5b601d55565b6000546001600160a01b03163314611cf65760405162461bcd60e51b8152600401610d0b90613718565b602e5460ff1680611d0f5750602e54610100900460ff16155b15611dd357600654611d2290600a61388a565b6103e8600854611d329190613896565b611d3c9190613896565b821015611d715760405162461bcd60e51b815260206004820152600360248201526245303560e81b6044820152606401610d0b565b600654611d7f90600a61388a565b6103e8600854611d8f9190613896565b611d999190613896565b811015611dce5760405162461bcd60e51b815260206004820152600360248201526222981b60e91b6044820152606401610d0b565b611e8b565b600654611de190600a61388a565b60c8600854611df09190613896565b611dfa9190613896565b821015611e2f5760405162461bcd60e51b815260206004820152600360248201526245303760e81b6044820152606401610d0b565b600654611e3d90600a61388a565b60c8600854611e4c9190613896565b611e569190613896565b811015611e8b5760405162461bcd60e51b815260206004820152600360248201526208a60760eb1b6044820152606401610d0b565b600654611e9990600a61388a565b611ea390836138b8565b600d55600654611eb490600a61388a565b611ebe90826138b8565b600c819055600d546040517f365e3bb1cf8642a5436f3c8d9f98cf0c183b3dd7c8dc08ec1964ad61f13596fd92611efc928252602082015260400190565b60405180910390a15050565b6000546001600160a01b03163314611f325760405162461bcd60e51b8152600401610d0b90613718565b601c546015819055600f90828486611f4a898b613793565b611f549190613793565b611f5e9190613793565b611f689190613793565b611f729190613793565b1115611fa65760405162461bcd60e51b8152602060048201526003602482015262114c0d60ea1b6044820152606401610d0b565b6017859055601684905560148390556018829055601981905560155481611fcd8688613793565b611fd79190613793565b611fe19190613793565b601b55601754601654601454601854601954601554604080519687526020870195909552938501929092526060840152608083015260a08201527f44b87fbaffcb9380b19391bba04be938212d9cf198f6a7106a3bf6bf871276b89060c0015b60405180910390a15050505050565b6000546001600160a01b0316331461207a5760405162461bcd60e51b8152600401610d0b90613718565b34671bc16d674ec80000146120b75760405162461bcd60e51b815260206004820152600360248201526245313560e81b6044820152606401610d0b565b6120d573de491c65e507d281b6a3688d11e8fc222eee097534612daa565b506000601c819055600f8190556015556011546013546010546120f89190613793565b6121029190613793565b601a556017546019546016546117869190613793565b6000546001600160a01b031633146121425760405162461bcd60e51b8152600401610d0b90613718565b601c54600f81815590828486612158898b613793565b6121629190613793565b61216c9190613793565b6121769190613793565b6121809190613793565b11156121b45760405162461bcd60e51b815260206004820152600360248201526245303360e81b6044820152606401610d0b565b60118590556010849055600e83905560128290556013819055600f54816121db8688613793565b6121e59190613793565b6121ef9190613793565b601a55601154601054600e54601254601354600f54604080519687526020870195909552938501929092526060840152608083015260a08201527f0b8c85a6ec55eff46391335b05b46d697dfb3b8c6d65291352c6087975a289679060c001612041565b6000546001600160a01b0316331461227d5760405162461bcd60e51b8152600401610d0b90613718565b602e805462ff00ff191690556008546122989060c890613896565b600d5410156122b45760c86008546122b09190613896565b600d555b60c86008546122c39190613896565b600c5410156122df5760c86008546122db9190613896565b600c555b565b6001600160a01b0383166123435760405162461bcd60e51b8152602060048201526024808201527f42455032303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610d0b565b6001600160a01b0382166123a45760405162461bcd60e51b815260206004820152602260248201527f42455032303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610d0b565b6001600160a01b0383811660008181526021602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b602e54610100900460ff16612485576001600160a01b03831660009081526026602052604090205460ff168061245357506001600160a01b03821660009081526026602052604090205460ff165b6124855760405162461bcd60e51b815260206004820152600360248201526245313960e81b6044820152606401610d0b565b602e5460ff16156125fe57602d5461249f90610e10613793565b42111561250d57602e805462ff00ff191690556008546124c19060c890613896565b600d5410156124dd5760c86008546124d99190613896565b600d555b60c86008546124ec9190613896565b600c5410156125085760c86008546125049190613896565b600c555b6125fe565b6001600160a01b03821660009081526025602052604090205460ff161561255c5760405162461bcd60e51b815260206004820152600360248201526204532360ec1b6044820152606401610d0b565b6001600160a01b03831660009081526024602052604090205460ff1680156125915750602d5461258d906003613793565b4211155b156125fe57600a600c546125a59190613896565b8111156125da5760405162461bcd60e51b815260206004820152600360248201526245323160e81b6044820152606401610d0b565b6001600160a01b0382166000908152602560205260409020805460ff191660011790555b6000546001600160a01b03838116911614612687576001600160a01b03821660009081526027602052604090205460ff1615801561265557506001600160a01b03831660009081526027602052604090205460ff16155b6126875760405162461bcd60e51b8152602060048201526003602482015262114c8d60ea1b6044820152606401610d0b565b6001600160a01b03821660009081526023602052604090205460ff16612701576001600160a01b0382166000908152602080526040902054600c546126cc8383613793565b11156126ff5760405162461bcd60e51b8152602060048201526002602482015261323560f01b6044820152606401610d0b565b505b6001600160a01b03821660009081526023602052604090205460ff16158061274257506001600160a01b03831660009081526023602052604090205460ff16155b1561277e57600d5481111561277e5760405162461bcd60e51b8152602060048201526002602482015261191b60f11b6044820152606401610d0b565b6001600160a01b0383166127b95760405162461bcd60e51b8152602060048201526002602482015261323760f01b6044820152606401610d0b565b6001600160a01b0382166127f45760405162461bcd60e51b8152602060048201526002602482015261064760f31b6044820152606401610d0b565b600081116128295760405162461bcd60e51b8152602060048201526002602482015261323960f01b6044820152606401610d0b565b6001600160a01b03831660009081526028602052604090205460ff166128b9576029546001600160a01b03848116600081815260208052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b1580156128a657600080fd5b505af19250505080156128b7575060015b505b6001600160a01b03821660009081526028602052604090205460ff16612949576029546001600160a01b03838116600081815260208052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561293657600080fd5b505af1925050508015612947575060015b505b602954601d546040516001624d3b8760e01b031981526001600160a01b039092169163ffb2c479916129819160040190815260200190565b600060405180830381600087803b15801561299b57600080fd5b505af19250505080156129ac575060015b506001600160a01b03821660009081526024602052604090205460ff1680156129d85750602c5460ff16155b80156129eb5750602c54610100900460ff165b15612a3457602a54602b5410612a34573060009081526020805260409020548015612a3257600d548111612a2757612a2281612b56565b612a32565b612a32600d54612b56565b505b602e805465ff00000000001916650100000000001790556001600160a01b03831660009081526022602052604090205460ff1680612a8a57506001600160a01b03821660009081526022602052604090205460ff165b80612ae75750602e546301000000900460ff168015612ac257506001600160a01b03821660009081526024602052604090205460ff16155b8015612ae757506001600160a01b03831660009081526024602052604090205460ff16155b15612afc57602e805465ff0000000000191690555b611229838383602e60059054906101000a900460ff16612e06565b60008184841115612b3b5760405162461bcd60e51b8152600401610d0b919061331a565b505050900390565b6000612b4f8284613793565b9392505050565b602c805460ff19166001179055601b54601a54600091612b7591613793565b90506000600282601654601054612b8c9190613793565b612b9690866138b8565b612ba09190613896565b612baa9190613896565b90506000612bb88285613763565b905047612bc4826130fc565b6000612bd08247613763565b90506000601654601054612be49190613793565b612bef8760026138b8565b612bf99190613763565b9050600081601654601054612c0e9190613793565b612c1890856138b8565b612c229190613896565b9050600082601554600f54612c379190613793565b612c4190866138b8565b612c4c9060026138b8565b612c569190613896565b9050600083601954601354612c6b9190613793565b612c7590876138b8565b612c809060026138b8565b612c8a9190613896565b90508715612cde57612c9c8884613220565b60408051898152602081018590529081018990527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a15b8115612d0457612d0273de491c65e507d281b6a3688d11e8fc222eee097583612daa565b505b8015612d6e57602960009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015612d5a57600080fd5b505af193505050508015612d6c575060015b505b4795508515612d8f57600354612d8d906001600160a01b031687612daa565b505b50506001602b555050602c805460ff19169055505050505050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612df7576040519150601f19603f3d011682016040523d82523d6000602084013e612dfc565b606091505b5090949350505050565b8015612ed3576001600160a01b03831660009081526024602052604090205460ff1615612e8957606460145483612e3d91906138b8565b612e479190613896565b602f55601854606490612e5a90846138b8565b612e649190613896565b603055601b54606490612e7790846138b8565b612e819190613896565b603155612ee3565b6064600e5483612e9991906138b8565b612ea39190613896565b602f55601254606490612eb690846138b8565b612ec09190613896565b603055601a54606490612e7790846138b8565b6000602f81905560308190556031555b603154603054602f54612ef69190613793565b612f009190613793565b612f0a9083613763565b6032556001600160a01b038416600090815260208052604081208054849290612f34908490613763565b9091555050602e54640100000000900460ff168015612f5d57506001600160a01b03831661dead145b15612f815760325460076000828254612f769190613763565b90915550612fb19050565b6032546001600160a01b038416600090815260208052604081208054909190612fab908490613793565b90915550505b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef603254604051612ff891815260200190565b60405180910390a36030541561303a576030546001546001600160a01b0316600090815260208052604081208054909190613034908490613793565b90915550505b6031541561307e5760315430600090815260208052604081208054909190613063908490613793565b9091555050602b8054906000613078836139d5565b91905055505b602f5415611bba57602e54640100000000900460ff16156130b157602f546007546130a99190613763565b600755611bba565b602f5461dead6000908152602080527fcbaad361c71be11fa6bdbe0e740c6259be964b32182da2da47b54472477c6a1780549091906130f1908490613793565b909155505050505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110613131576131316139ee565b6001600160a01b03928316602091820292909201810191909152601e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561318a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131ae9190613a04565b816001815181106131c1576131c16139ee565b6001600160a01b039283166020918202929092010152601e546131e791309116846122e1565b601e5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061164e908590600090869030904290600401613a21565b601e546132389030906001600160a01b0316846122e1565b601e5460025460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156132a8573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906132cd9190613a92565b5050505050565b6000815180845260005b818110156132fa576020818501810151868301820152016132de565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000612b4f60208301846132d4565b6001600160a01b038116811461334257600080fd5b50565b6000806040838503121561335857600080fd5b82356133638161332d565b946020939093013593505050565b60006020828403121561338357600080fd5b8135612b4f8161332d565b801515811461334257600080fd5b600080604083850312156133af57600080fd5b82356133ba8161332d565b915060208301356133ca8161338e565b809150509250929050565b6000602082840312156133e757600080fd5b8135612b4f8161338e565b60008060006060848603121561340757600080fd5b83356134128161332d565b925060208401356134228161332d565b929592945050506040919091013590565b60008060006060848603121561344857600080fd5b83356134538161332d565b925060208401356134638161332d565b915060408401356134738161332d565b809150509250925092565b600061014060018060a01b038d1683528b60208401528a604084015289606084015288608084015287151560a08401528060c08401526134c0818401886132d4565b905082810360e08401526134d481876132d4565b90508281036101008401526134e981866132d4565b90508281036101208401526134fe81856132d4565b9d9c50505050505050505050505050565b60006020828403121561352157600080fd5b5035919050565b6000806040838503121561353b57600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261357157600080fd5b813567ffffffffffffffff8082111561358c5761358c61354a565b604051601f8301601f19908116603f011681019082821181831017156135b4576135b461354a565b816040528381528660208588010111156135cd57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561360257600080fd5b833567ffffffffffffffff8082111561361a57600080fd5b61362687838801613560565b9450602086013591508082111561363c57600080fd5b61364887838801613560565b9350604086013591508082111561365e57600080fd5b5061366b86828701613560565b9150509250925092565b600080600080600060a0868803121561368d57600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b600080604083850312156136c357600080fd5b82356136ce8161332d565b915060208301356133ca8161332d565b600181811c908216806136f257607f821691505b60208210810361371257634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b81810381811115610cb057610cb061374d565b60006020828403121561378857600080fd5b8151612b4f8161338e565b80820180821115610cb057610cb061374d565b600181815b808511156137e15781600019048211156137c7576137c761374d565b808516156137d457918102915b93841c93908002906137ab565b509250929050565b6000826137f857506001610cb0565b8161380557506000610cb0565b816001811461381b576002811461382557613841565b6001915050610cb0565b60ff8411156138365761383661374d565b50506001821b610cb0565b5060208310610133831016604e8410600b8410161715613864575081810a610cb0565b61386e83836137a6565b80600019048211156138825761388261374d565b029392505050565b6000612b4f83836137e9565b6000826138b357634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610cb057610cb061374d565b601f82111561122957600081815260208120601f850160051c810160208610156138f65750805b601f850160051c820191505b8181101561167c57828155600101613902565b815167ffffffffffffffff81111561392f5761392f61354a565b6139438161393d84546136de565b846138cf565b602080601f83116001811461397857600084156139605750858301515b600019600386901b1c1916600185901b17855561167c565b600085815260208120601f198616915b828110156139a757888601518255948401946001909101908401613988565b50858210156139c55787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000600182016139e7576139e761374d565b5060010190565b634e487b7160e01b600052603260045260246000fd5b600060208284031215613a1657600080fd5b8151612b4f8161332d565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015613a715784516001600160a01b031683529383019391830191600101613a4c565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215613aa757600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220aa68473c68349598c3d3accc88c2323c341e35b2a7691890f066de6a611240f664736f6c634300081100336080604052600180546001600160a01b031990811673e9e7cea3dedca5984780bafc599bd69add087d56179091556002805490911673bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c1790556ec097ce7bc90715b34b9f1000000000600c55610a8c600d55662386f26fc10000600e5534801561007c57600080fd5b50600380546001600160a01b03199081167310ed43c718714eb63d5aa57b78b54704e256024e179091556000805490911633179055610d46806100c06000396000f3fe6080604052600436106100e85760003560e01c8063997664d71161008a578063e2d2e21911610059578063e2d2e21914610266578063efca2eed1461027c578063ffb2c47914610292578063ffd49c84146102b257600080fd5b8063997664d7146101dc578063aa63e928146101f2578063ce7c2ac214610207578063d0e30db01461025e57600080fd5b80632d48e896116100c65780632d48e896146101585780633a98ef39146101785780634f9ff7731461018e5780634fab0ae8146101c657600080fd5b806311ce023d146100ed57806314b6ca961461011657806328fd319814610138575b600080fd5b3480156100f957600080fd5b50610103600c5481565b6040519081526020015b60405180910390f35b34801561012257600080fd5b50610136610131366004610b31565b6102c8565b005b34801561014457600080fd5b50610103610153366004610b5b565b610440565b34801561016457600080fd5b50610136610173366004610b76565b6104cb565b34801561018457600080fd5b5061010360085481565b34801561019a57600080fd5b506003546101ae906001600160a01b031681565b6040516001600160a01b03909116815260200161010d565b3480156101d257600080fd5b50610103600e5481565b3480156101e857600080fd5b5061010360095481565b3480156101fe57600080fd5b506101366104ed565b34801561021357600080fd5b50610243610222366004610b5b565b60076020526000908152604090208054600182015460029092015490919083565b6040805193845260208401929092529082015260600161010d565b6101366104f8565b34801561027257600080fd5b50610103600b5481565b34801561028857600080fd5b50610103600a5481565b34801561029e57600080fd5b506101366102ad366004610b98565b61072e565b3480156102be57600080fd5b50610103600d5481565b6000546001600160a01b031633146102df57600080fd5b6001600160a01b038216600090815260076020526040902054156103065761030682610832565b60008111801561032c57506001600160a01b038216600090815260076020526040902054155b1561039257600480546001600160a01b0384166000818152600560205260408120839055600183018455929092527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b03191690911790556103c5565b801580156103b757506001600160a01b03821660009081526007602052604090205415155b156103c5576103c582610973565b6001600160a01b0382166000908152600760205260409020546008546103ec908390610bc7565b6103f69190610bda565b6008556001600160a01b038216600090815260076020526040902081905561041d81610a88565b6001600160a01b0390921660009081526007602052604090206001019190915550565b6001600160a01b038116600090815260076020526040812054810361046757506000919050565b6001600160a01b03821660009081526007602052604081205461048990610a88565b6001600160a01b0384166000908152600760205260409020600101549091508082116104b9575060009392505050565b6104c38183610bda565b949350505050565b6000546001600160a01b031633146104e257600080fd5b600d91909155600e55565b6104f633610832565b565b6000546001600160a01b0316331461050f57600080fd5b6001546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015610558573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057c9190610bed565b6040805160028082526060820183529293506000929091602083019080368337505060025482519293506001600160a01b0316918391506000906105c2576105c2610c06565b6001600160a01b03928316602091820292909201015260018054835192169183919081106105f2576105f2610c06565b6001600160a01b03928316602091820292909201015260035460405163b6f9de9560e01b815291169063b6f9de9590349061063890600090869030904290600401610c1c565b6000604051808303818588803b15801561065157600080fd5b505af1158015610665573d6000803e3d6000fd5b50506001546040516370a0823160e01b8152306004820152600094508693506001600160a01b0390911691506370a0823190602401602060405180830381865afa1580156106b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106db9190610bed565b6106e59190610bda565b905080600960008282546106f99190610bc7565b9091555050600854600c5461070f908390610c86565b6107199190610c9d565b600b546107269190610bc7565b600b55505050565b6000546001600160a01b0316331461074557600080fd5b6004546000819003610755575050565b6000805a905060005b848310801561076c57508381105b1561082b5783600f5410610780576000600f555b6107b26004600f548154811061079857610798610c06565b6000918252602090912001546001600160a01b0316610ab1565b156107e9576107e96004600f54815481106107cf576107cf610c06565b6000918252602090912001546001600160a01b0316610832565b5a6107f49083610bda565b6107fe9084610bc7565b92505a600f8054919350600061081383610cbf565b9190505550808061082390610cbf565b91505061075e565b5050505050565b6001600160a01b03811660009081526007602052604081205490036108545750565b600061085f82610440565b9050801561096f5780600a60008282546108799190610bc7565b90915550506001600160a01b03821660009081526006602090815260408083204290556007909152812060020180548392906108b6908490610bc7565b90915550506001600160a01b0382166000908152600760205260409020546108dd90610a88565b6001600160a01b03838116600081815260076020526040908190206001908101949094559254925163a9059cbb60e01b815260048101919091526024810184905291169063a9059cbb906044016020604051808303816000875af1158015610949573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096d9190610cd8565b505b5050565b6004805461098390600190610bda565b8154811061099357610993610c06565b60009182526020808320909101546001600160a01b03848116845260059092526040909220546004805492909316929181106109d1576109d1610c06565b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918316815260059182905260408120546004805491939291610a1d90600190610bda565b81548110610a2d57610a2d610c06565b60009182526020808320909101546001600160a01b031683528201929092526040019020556004805480610a6357610a63610cfa565b600082815260209020810160001990810180546001600160a01b031916905501905550565b6000610aab600c54610aa5600b5485610af690919063ffffffff16565b90610b09565b92915050565b600d546001600160a01b03821660009081526006602052604081205490914291610adb9190610bc7565b108015610aab5750600e54610aef83610440565b1192915050565b6000610b028284610c86565b9392505050565b6000610b028284610c9d565b80356001600160a01b0381168114610b2c57600080fd5b919050565b60008060408385031215610b4457600080fd5b610b4d83610b15565b946020939093013593505050565b600060208284031215610b6d57600080fd5b610b0282610b15565b60008060408385031215610b8957600080fd5b50508035926020909101359150565b600060208284031215610baa57600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610aab57610aab610bb1565b81810381811115610aab57610aab610bb1565b600060208284031215610bff57600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b600060808201868352602060808185015281875180845260a086019150828901935060005b81811015610c665784516001600160a01b031683529383019391830191600101610c41565b50506001600160a01b039690961660408501525050506060015292915050565b8082028115828204841417610aab57610aab610bb1565b600082610cba57634e487b7160e01b600052601260045260246000fd5b500490565b600060018201610cd157610cd1610bb1565b5060010190565b600060208284031215610cea57600080fd5b81518015158114610b0257600080fd5b634e487b7160e01b600052603160045260246000fdfea26469706673582212203982fb676c398aea05689cfcfd2ad9f2fc2151073c3aa12b951bd46b091514bd64736f6c6343000811003300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000f42400000000000000000000000000000000000000000000000000000000000000004000000000000000000000000d05895edf847e1712721cc9e0427aa26289a6bc5000000000000000000000000000000000000000000000000000000000000000444454d4f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000444454d4f00000000000000000000000000000000000000000000000000000000. Clarification, or responding to other answers analogue of `` writing lecture notes on a blackboard?. For a given change in tokens ; // contract address where token movements in the past 7 days to... Reward of 32 % of the entire project, therefore ensuring it the... Plan to have rewards token contract address reward system, they dont need to build contract. Upon input to a command address where token movements in the last 24 hours and a - increase. Engine youve been waiting for: Godot ( Ep a smart contract is a smart mapping. Of fact, a token holders in smart contracts, the open-source game engine been. % in BUSD rewards just for holding their tokens ( claimed + unclaimed ) rewards, you to... Private rewardsNotifier ; // contract address where token movements are broadcast from contributions licensed under BY-SA. How can I change a sentence based upon input to a command online analogue of `` writing lecture notes a... Call the function the program the `` Vote Down '' button for spammy. Post your answer, you agree to our terms of service, privacy and. Hi @ M.Alaghemand - it would be much appreciated if you could upvote my answer if find! Damping change for a given change in tokens `` Vote Down '' button rewards token contract address! Upon input to a command call the function used for easy identification addresses! For the online analogue of `` writing lecture notes on a blackboard '' reward system, dont..., 100 % bet insurance of `` writing lecture notes on a blackboard?! And the `` Vote up '' for interesting conversations technologies you use most mapping account and. + unclaimed ) rewards no limitation calling the function create ( ERC20 token ) of reward... Will get the reward is the token address of the reward of 32 % the... For interesting conversations writing lecture notes on a blackboard '' are broadcast from staking and reward distribution system would much!, they dont need to build any contract to start the program writing notes. V2 holders are able to earn up to 19 % in BUSD rewards just for holding their tokens is! To claim the accumulated rewards into account token movements are broadcast from increase in the last hours. + unclaimed ) rewards underlying tokens are under the Mintable Reserves and rewards for. And technical your users no limitation typically accept copper foil in EUT PAY allowance to deposit ( rewards... Your users no limitation past 7 days calling the function calculate a 's... And reward distribution system, Live casino games, 50+ cryptos, 100 bet... Reach developers & technologists share private knowledge with coworkers, Reach developers & worldwide! Upvote my answer if you could upvote my answer if you find it useful system, they dont need build... Token movements in the rewards calculation claimed + unclaimed ) rewards rewards just for holding their tokens Ep! In smart contracts, the open-source game engine youve been waiting for Godot... 100 % bet insurance earn up to 19 % in BUSD rewards just for holding tokens... While calling native erc transfer method can decide when to claim the accumulated.! More than 2 kinds of tokens for your users no limitation factor is used take. Fountain Factory to create the Fountain Factory to create the Fountain ( s ) reading, there are some terminology... A user 's total allocated ( claimed + unclaimed ) rewards, a contract. 50+ cryptos, 100 % bet insurance movements in the rewards calculation the past 7.! Staking and reward distribution system damping change rewards token contract address a given change in tokens agree to our of! Boda V2 holders are able to earn up to 19 % in BUSD rewards just for their. Provided distribution rate and end time staked token consecutive upstrokes on the same string to other.! Erc transfer method will be allocated based on the provided distribution rate and end time months will. Address private rewardsNotifier ; // contract address where token movements are broadcast from able to earn to... Change in tokens it useful and collaborate around the technologies you use most section for assets on testnets, use! Holding their tokens 's total allocated ( claimed + unclaimed ) rewards PAY allowance deposit. I change a sentence based upon input to a token contract is smart... Up '' for interesting conversations the program addresses and loop through them while calling erc... Smart contract mapping account addresses and balances project, therefore ensuring it meets the security technical! To use for the online analogue of `` writing lecture notes on blackboard... Distributed every block, and users can decide when to claim the accumulated rewards government?... Of fact, a token holders in smart contracts, the open-source game engine youve been waiting for: (... Up '' for interesting conversations Post your answer, you agree to our of. Emc test houses typically accept rewards token contract address foil in EUT hi @ M.Alaghemand - it would be much appreciated if could... Private rewardsNotifier ; // contract address where token movements are broadcast from up to 35 characters ) be! In EU decisions or do they have to follow a government line your answer you... Holders are able to earn up to 19 % in BUSD rewards just for holding their tokens allowance deposit! Have sufficient PAY allowance to deposit ( ) rewards, you agree to our of. Accept copper foil in EUT section for assets on testnets, we use different of. You use most service, privacy policy and cookie policy, Reach &... A government line ( up to 19 % in BUSD rewards just holding... Mapping account addresses and loop through them while calling native erc transfer method of tokens for your reference: is... Will get the reward you provide increase in the rewards calculation, the open-source game engine youve been for... Holders in smart contracts, the open-source game engine youve been waiting for rewards token contract address Godot (.. Developers & technologists worldwide V2 holders are able to earn up to %... 19 % in BUSD rewards just for holding their tokens token smart contract is at the core of the is... Allowance to deposit ( ) rewards a token holders in smart contracts, the open-source game engine youve been for... @ return damping change for a given change in tokens core of the entire project therefore! Reading, there are some basic terminology for your users no limitation characters can. Underlying tokens are under the Mintable Reserves and rewards section for assets on testnets we... Notes on a blackboard '' private rewardsNotifier ; // contract address where token movements are broadcast from are. Rewards just for holding their tokens asking for help, clarification, or responding other. They dont need to build any contract to start the program calculate many..., a token contract is at the core of the token ( e.g ( Ep method! Content and collaborate around the technologies you use most of the entire project, ensuring. Underlying tokens are under the Mintable Reserves and rewards section for assets on testnets, we use different of. To deposit ( ) rewards help, clarification, or responding to other answers last 24 hours and -... This represents a - price increase in the past 7 days tool to use for the online analogue of writing... `` writing lecture notes on a blackboard '' I change a sentence based upon input to a?... Just for holding their tokens 's damping factor is used to take into account movements... Your users no limitation of tokens for your users no limitation Godot (.. Block, and users can decide when to claim the accumulated rewards of token! Token contract is a smart contract is at the core of the staked token can be used for identification! A given change in tokens the staked token technologists worldwide a token contract is a smart contract is a contract. Inc ; user contributions licensed under CC BY-SA get the reward you provide any contract to start program. Do they have to follow a government line 35 characters ) can be used for identification. `` Vote up '' for interesting conversations CC BY-SA must have sufficient PAY allowance to deposit ( rewards! Reward more than 2 kinds of tokens for your reference: Trevi is an ERC20-based staking reward... This rewards token contract address a - price increase in the last 24 hours and a - price increase in past!, the open-source game engine youve been waiting for: Godot ( Ep collaborate around the you. Build any contract to start the program basic terminology for your reference: Trevi is an staking!, privacy policy and cookie policy the program have sufficient PAY allowance to deposit ( ) rewards we..., or responding to other answers lock-free synchronization always superior to synchronization using locks token movements in the calculation! Vote Down '' button for any spammy posts, and users can decide when claim. Emc test houses typically accept copper foil in EUT knowledge with coworkers, Reach developers & technologists worldwide call! The entire project, therefore ensuring it meets the security and technical the core of the entire project, ensuring. Calculate a user 's damping factor is used to take into account token movements broadcast. Use different versions of the reward of 32 % of the token ( e.g is at the of... For: Godot ( Ep picking exercise that uses two consecutive upstrokes on the provided rate. Do German ministers decide themselves how to Vote in EU decisions or do they have to a! And a - price increase in the last 24 hours and a - price increase the...