Overview
S Balance
S Value
$0.00More Info
Private Name Tags
ContractCreator
Loading...
Loading
Contract Name:
FeeSynthesizer
Compiler Version
v0.8.9+commit.e5eed63a
Contract Source Code (Solidity)
/** *Submitted for verification at SonicScan.org on 2025-01-20 */ /** *Submitted for verification at basescan.org on 2024-02-10 */ /** *Submitted for verification at basescan.org on 2024-02-05 */ /** *Submitted for verification at ftmscan.com on 2024-01-31 */ /* FeeSynthesizerForGamma.sol FFFFF TTTTTTT M M GGGGG U U RRRRR U U FF TTT M M M M G U U RR R U U FFFFF TTT M M M G GGG U U RRRRR U U FF TTT M M M O G G U U RR R U U FF TTT M M GGGGG UUUU RR RRR UUUU Contact us at: https://discord.com/invite/QpyfMarNrV https://t.me/FTM1337 Community Mediums: https://medium.com/@ftm1337 https://twitter.com/ftm1337 ▀█▀░█░█░█░█▀░█▄▀ ░█░░█▀█░█░█▄░█▀▄ Thick Liquidity Protocol > Network agnostic Decentralized Exchange for ERC20 tokens Contributors: - 543#3017 (Sam, @i543), ftm.guru, Eliteness.network SPDX-License-Identifier: UNLICENSED */ pragma solidity 0.8.9; interface IERC20 { function transferFrom(address,address,uint) external returns(bool); function transfer(address,uint) external returns(bool); function balanceOf(address) external view returns(uint); function totalSupply() external view returns(uint); function approve(address,uint) external returns(bool); } interface IRewarder { function notifyRewardAmount(address _token, uint _amount) external; } interface IWrapper is IERC20 { function collectFees() external; } interface IFeeRecipientV2 { function sendToken(address token1, address token2) external; } contract FeeSynthesizer { address public owner; address public nextOwner; address public redistributor; IWrapper public wrapper; address[] public holders; IRewarder[] public rewarders; uint public proportion; // redist o/1e18 if o!=1 uint[] public proportions; IFeeRecipientV2 public feeRecipientV2; address public token0; address public token1; function _onlyOwner() internal view { require(msg.sender==owner,"!Owner"); } function _claimFees(address _token, uint _amount) internal { uint _o = proportion; if(_o > 0) { if(_o!=1) { // redist o/1e18 if o!=1 _amount -= _amount * _o / 1e18; } uint _hl = holders.length; uint _weight; for(uint i; i< _hl; i++) { _weight += proportions[i]; } for(uint i; i< _hl; i++) { IRewarder _rw = rewarders[i]; uint _ta = _amount * proportions[i] / _weight; if(_ta>0) { IERC20(_token) .approve( address(_rw), _ta ) ; _rw .notifyRewardAmount( _token, _ta ) ; } } } else { uint _ts = wrapper.totalSupply(); uint _hl = holders.length; for(uint i; i< _hl; i++) { IRewarder _rw = rewarders[i]; uint _ta = _amount * wrapper.balanceOf(holders[i]) / _ts; if(_ta>0) { IERC20(_token) .approve( address(_rw), _ta ) ; _rw .notifyRewardAmount( _token, _ta ) ; } } } { uint _tb = IERC20(_token).balanceOf(address(this)); address _rd = redistributor; if(_rd != address(0) && _tb > 0) { IERC20(_token) .transfer(_rd, _tb) ; } } } function claimFees() external { //wrapper.collectFees(); //feeRecipientV2.sendToken(token0,token1); { uint _b0 = IERC20(token0).balanceOf(address(this)); if(_b0>0) _claimFees(token0, _b0); } { uint _b1 = IERC20(token1).balanceOf(address(this)); if(_b1>0) _claimFees(token1, _b1); } } function setOwner(address _o) external { _onlyOwner(); require(_o!=address(0),"!real"); nextOwner = _o; } function becomeOwner() external { require(msg.sender==nextOwner,"!owner"); owner = nextOwner; } function setRedistributor(address _r) external { _onlyOwner(); redistributor = _r; } function setProportion(uint _o) external { _onlyOwner(); require(_o<=1e18,">100%!"); proportion = _o; } function resetHoldersAndRewarders(address[] memory _h, IRewarder[] memory _r, uint[] memory _o) external { _onlyOwner(); delete holders; delete rewarders; delete proportions; uint _hl = holders.length; for(uint i; i< _hl; i++) { holders.push(_h[i]); rewarders.push(_r[i]); proportions.push(_o[i]); } } function pushHolderAndRewarder(address _h, IRewarder _r, uint _o) external { _onlyOwner(); holders.push(_h); rewarders.push(_r); proportions.push(_o); } function pullHolderAndRewarder(uint _n) external { _onlyOwner(); uint _hl = holders.length; holders[_n] = holders[_hl-1]; rewarders[_n] = rewarders[_hl-1]; proportions[_n] = proportions[_hl-1]; holders.pop(); rewarders.pop(); } function initialize(address _r, IWrapper _w, IFeeRecipientV2 _f, address _t0, address _t1) external { require(owner==address(0),"initialized!"); owner=msg.sender; redistributor=_r; wrapper=_w; feeRecipientV2=_f; token0 = _t0; token1 = _t1; } function reinitialize(address _r, IWrapper _w, IFeeRecipientV2 _f, address _t0, address _t1) external { require(msg.sender==owner,"unauthorized!"); redistributor=_r; wrapper=_w; feeRecipientV2=_f; token0 = _t0; token1 = _t1; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"name":"becomeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeRecipientV2","outputs":[{"internalType":"contract IFeeRecipientV2","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"holders","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_r","type":"address"},{"internalType":"contract IWrapper","name":"_w","type":"address"},{"internalType":"contract IFeeRecipientV2","name":"_f","type":"address"},{"internalType":"address","name":"_t0","type":"address"},{"internalType":"address","name":"_t1","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nextOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proportion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"proportions","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_n","type":"uint256"}],"name":"pullHolderAndRewarder","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_h","type":"address"},{"internalType":"contract IRewarder","name":"_r","type":"address"},{"internalType":"uint256","name":"_o","type":"uint256"}],"name":"pushHolderAndRewarder","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"redistributor","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_r","type":"address"},{"internalType":"contract IWrapper","name":"_w","type":"address"},{"internalType":"contract IFeeRecipientV2","name":"_f","type":"address"},{"internalType":"address","name":"_t0","type":"address"},{"internalType":"address","name":"_t1","type":"address"}],"name":"reinitialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_h","type":"address[]"},{"internalType":"contract IRewarder[]","name":"_r","type":"address[]"},{"internalType":"uint256[]","name":"_o","type":"uint256[]"}],"name":"resetHoldersAndRewarders","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"rewarders","outputs":[{"internalType":"contract IRewarder","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_o","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_o","type":"uint256"}],"name":"setProportion","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_r","type":"address"}],"name":"setRedistributor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"token0","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token1","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"wrapper","outputs":[{"internalType":"contract IWrapper","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50611517806100206000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80638da5cb5b116100b8578063d2b51aff1161007c578063d2b51aff14610270578063dd1d9cca14610283578063e7b4cf2414610296578063f0fe2472146102a9578063f9dca989146102bc578063fcf8770f146102c457600080fd5b80638da5cb5b1461021c578063ac210cc71461022f578063ccfcd61514610242578063d21220a714610255578063d294f0931461026857600080fd5b80632a11ced0116100ff5780632a11ced0146101b95780635913e357146101cc5780635b4246d4146101df57806369f3331d146101f6578063826518c91461020957600080fd5b80626cd2001461013b578063056d1412146101505780630dfe16811461016357806313af4035146101935780631459457a146101a6575b600080fd5b61014e6101493660046110b5565b6102d7565b005b61014e61015e3660046110e3565b61032a565b600954610176906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61014e6101a13660046110e3565b610354565b61014e6101b4366004611107565b6103bc565b6101766101c73660046110b5565b61046d565b61014e6101da3660046112b2565b610497565b6101e860065481565b60405190815260200161018a565b600154610176906001600160a01b031681565b6101e86102173660046110b5565b6105c1565b600054610176906001600160a01b031681565b600354610176906001600160a01b031681565b61014e610250366004611107565b6105e2565b600a54610176906001600160a01b031681565b61014e61068b565b61014e61027e3660046110b5565b6107c3565b600854610176906001600160a01b031681565b61014e6102a4366004611398565b610963565b600254610176906001600160a01b031681565b61014e610a22565b6101766102d23660046110b5565b610a89565b6102df610a99565b670de0b6b3a76400008111156103255760405162461bcd60e51b81526020600482015260066024820152653e313030252160d01b60448201526064015b60405180910390fd5b600655565b610332610a99565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b61035c610a99565b6001600160a01b03811661039a5760405162461bcd60e51b8152602060048201526005602482015264085c99585b60da1b604482015260640161031c565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316156104045760405162461bcd60e51b815260206004820152600c60248201526b696e697469616c697a65642160a01b604482015260640161031c565b60008054336001600160a01b0319918216179091556002805482166001600160a01b039788161790556003805482169587169590951790945560088054851693861693909317909255600980548416918516919091179055600a80549092169216919091179055565b6004818154811061047d57600080fd5b6000918252602090912001546001600160a01b0316905081565b61049f610a99565b6104ab60046000611083565b6104b760056000611083565b6104c360076000611083565b60045460005b818110156105ba5760048582815181106104e5576104e56113d9565b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b039092169190911790558351600590859083908110610537576105376113d9565b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b039092169190911790558251600790849083908110610589576105896113d9565b60209081029190910181015182546001810184556000938452919092200155806105b281611405565b9150506104c9565b5050505050565b600781815481106105d157600080fd5b600091825260209091200154905081565b6000546001600160a01b0316331461062c5760405162461bcd60e51b815260206004820152600d60248201526c756e617574686f72697a65642160981b604482015260640161031c565b600280546001600160a01b03199081166001600160a01b03978816179091556003805482169587169590951790945560088054851693861693909317909255600980548416918516919091179055600a80549092169216919091179055565b6009546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a082319060240160206040518083038186803b1580156106cf57600080fd5b505afa1580156106e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107079190611420565b9050801561072557600954610725906001600160a01b031682610ade565b50600a546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a082319060240160206040518083038186803b15801561076a57600080fd5b505afa15801561077e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a29190611420565b905080156107c057600a546107c0906001600160a01b031682610ade565b50565b6107cb610a99565b60048054906107db600183611439565b815481106107eb576107eb6113d9565b600091825260209091200154600480546001600160a01b039092169184908110610817576108176113d9565b600091825260209091200180546001600160a01b0319166001600160a01b0392909216919091179055600561084d600183611439565b8154811061085d5761085d6113d9565b600091825260209091200154600580546001600160a01b039092169184908110610889576108896113d9565b600091825260209091200180546001600160a01b0319166001600160a01b039290921691909117905560076108bf600183611439565b815481106108cf576108cf6113d9565b9060005260206000200154600783815481106108ed576108ed6113d9565b600091825260209091200155600480548061090a5761090a611450565b600082815260209020810160001990810180546001600160a01b0319169055019055600580548061093d5761093d611450565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b61096b610a99565b6004805460018181019092557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b039586166001600160a01b031991821617909155600580548084019091557f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0018054949095169316929092179092556007805491820181556000527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880155565b6001546001600160a01b03163314610a655760405162461bcd60e51b815260206004820152600660248201526510b7bbb732b960d11b604482015260640161031c565b600154600080546001600160a01b0319166001600160a01b03909216919091179055565b6005818154811061047d57600080fd5b6000546001600160a01b03163314610adc5760405162461bcd60e51b815260206004820152600660248201526510a7bbb732b960d11b604482015260640161031c565b565b6006548015610cdf5780600114610b1957670de0b6b3a7640000610b028284611466565b610b0c9190611485565b610b169083611439565b91505b6004546000805b82811015610b655760078181548110610b3b57610b3b6113d9565b906000526020600020015482610b5191906114a7565b915080610b5d81611405565b915050610b20565b5060005b82811015610cd757600060058281548110610b8657610b866113d9565b6000918252602082200154600780546001600160a01b039092169350859185908110610bb457610bb46113d9565b906000526020600020015488610bca9190611466565b610bd49190611485565b90508015610cc25760405163095ea7b360e01b81526001600160a01b0383811660048301526024820183905289169063095ea7b390604401602060405180830381600087803b158015610c2657600080fd5b505af1158015610c3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5e91906114bf565b5060405163b66503cf60e01b81526001600160a01b0389811660048301526024820183905283169063b66503cf90604401600060405180830381600087803b158015610ca957600080fd5b505af1158015610cbd573d6000803e3d6000fd5b505050505b50508080610ccf90611405565b915050610b69565b505050610f5c565b600354604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b158015610d2457600080fd5b505afa158015610d38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d5c9190611420565b60045490915060005b81811015610f5857600060058281548110610d8257610d826113d9565b6000918252602082200154600354600480546001600160a01b0393841695508893909216916370a08231919087908110610dbe57610dbe6113d9565b60009182526020909120015460405160e083901b6001600160e01b03191681526001600160a01b03909116600482015260240160206040518083038186803b158015610e0957600080fd5b505afa158015610e1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e419190611420565b610e4b9089611466565b610e559190611485565b90508015610f435760405163095ea7b360e01b81526001600160a01b0383811660048301526024820183905289169063095ea7b390604401602060405180830381600087803b158015610ea757600080fd5b505af1158015610ebb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edf91906114bf565b5060405163b66503cf60e01b81526001600160a01b0389811660048301526024820183905283169063b66503cf90604401600060405180830381600087803b158015610f2a57600080fd5b505af1158015610f3e573d6000803e3d6000fd5b505050505b50508080610f5090611405565b915050610d65565b5050505b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a082319060240160206040518083038186803b158015610f9e57600080fd5b505afa158015610fb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd69190611420565b6002549091506001600160a01b03168015801590610ff45750600082115b156105ba5760405163a9059cbb60e01b81526001600160a01b0382811660048301526024820184905286169063a9059cbb90604401602060405180830381600087803b15801561104357600080fd5b505af1158015611057573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107b91906114bf565b505050505050565b50805460008255906000526020600020908101906107c091905b808211156110b1576000815560010161109d565b5090565b6000602082840312156110c757600080fd5b5035919050565b6001600160a01b03811681146107c057600080fd5b6000602082840312156110f557600080fd5b8135611100816110ce565b9392505050565b600080600080600060a0868803121561111f57600080fd5b853561112a816110ce565b9450602086013561113a816110ce565b9350604086013561114a816110ce565b9250606086013561115a816110ce565b9150608086013561116a816110ce565b809150509295509295909350565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156111b7576111b7611178565b604052919050565b600067ffffffffffffffff8211156111d9576111d9611178565b5060051b60200190565b600082601f8301126111f457600080fd5b81356020611209611204836111bf565b61118e565b82815260059290921b8401810191818101908684111561122857600080fd5b8286015b8481101561124c57803561123f816110ce565b835291830191830161122c565b509695505050505050565b600082601f83011261126857600080fd5b81356020611278611204836111bf565b82815260059290921b8401810191818101908684111561129757600080fd5b8286015b8481101561124c578035835291830191830161129b565b6000806000606084860312156112c757600080fd5b833567ffffffffffffffff808211156112df57600080fd5b818601915086601f8301126112f357600080fd5b81356020611303611204836111bf565b82815260059290921b8401810191818101908a84111561132257600080fd5b948201945b8386101561134957853561133a816110ce565b82529482019490820190611327565b9750508701359250508082111561135f57600080fd5b61136b878388016111e3565b9350604086013591508082111561138157600080fd5b5061138e86828701611257565b9150509250925092565b6000806000606084860312156113ad57600080fd5b83356113b8816110ce565b925060208401356113c8816110ce565b929592945050506040919091013590565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611419576114196113ef565b5060010190565b60006020828403121561143257600080fd5b5051919050565b60008282101561144b5761144b6113ef565b500390565b634e487b7160e01b600052603160045260246000fd5b6000816000190483118215151615611480576114806113ef565b500290565b6000826114a257634e487b7160e01b600052601260045260246000fd5b500490565b600082198211156114ba576114ba6113ef565b500190565b6000602082840312156114d157600080fd5b8151801515811461110057600080fdfea2646970667358221220ab9d63a1a7793370087f09564d18a7f40e388c47e2d54693614b2e8af3f5816664736f6c63430008090033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101365760003560e01c80638da5cb5b116100b8578063d2b51aff1161007c578063d2b51aff14610270578063dd1d9cca14610283578063e7b4cf2414610296578063f0fe2472146102a9578063f9dca989146102bc578063fcf8770f146102c457600080fd5b80638da5cb5b1461021c578063ac210cc71461022f578063ccfcd61514610242578063d21220a714610255578063d294f0931461026857600080fd5b80632a11ced0116100ff5780632a11ced0146101b95780635913e357146101cc5780635b4246d4146101df57806369f3331d146101f6578063826518c91461020957600080fd5b80626cd2001461013b578063056d1412146101505780630dfe16811461016357806313af4035146101935780631459457a146101a6575b600080fd5b61014e6101493660046110b5565b6102d7565b005b61014e61015e3660046110e3565b61032a565b600954610176906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61014e6101a13660046110e3565b610354565b61014e6101b4366004611107565b6103bc565b6101766101c73660046110b5565b61046d565b61014e6101da3660046112b2565b610497565b6101e860065481565b60405190815260200161018a565b600154610176906001600160a01b031681565b6101e86102173660046110b5565b6105c1565b600054610176906001600160a01b031681565b600354610176906001600160a01b031681565b61014e610250366004611107565b6105e2565b600a54610176906001600160a01b031681565b61014e61068b565b61014e61027e3660046110b5565b6107c3565b600854610176906001600160a01b031681565b61014e6102a4366004611398565b610963565b600254610176906001600160a01b031681565b61014e610a22565b6101766102d23660046110b5565b610a89565b6102df610a99565b670de0b6b3a76400008111156103255760405162461bcd60e51b81526020600482015260066024820152653e313030252160d01b60448201526064015b60405180910390fd5b600655565b610332610a99565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b61035c610a99565b6001600160a01b03811661039a5760405162461bcd60e51b8152602060048201526005602482015264085c99585b60da1b604482015260640161031c565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316156104045760405162461bcd60e51b815260206004820152600c60248201526b696e697469616c697a65642160a01b604482015260640161031c565b60008054336001600160a01b0319918216179091556002805482166001600160a01b039788161790556003805482169587169590951790945560088054851693861693909317909255600980548416918516919091179055600a80549092169216919091179055565b6004818154811061047d57600080fd5b6000918252602090912001546001600160a01b0316905081565b61049f610a99565b6104ab60046000611083565b6104b760056000611083565b6104c360076000611083565b60045460005b818110156105ba5760048582815181106104e5576104e56113d9565b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b039092169190911790558351600590859083908110610537576105376113d9565b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b039092169190911790558251600790849083908110610589576105896113d9565b60209081029190910181015182546001810184556000938452919092200155806105b281611405565b9150506104c9565b5050505050565b600781815481106105d157600080fd5b600091825260209091200154905081565b6000546001600160a01b0316331461062c5760405162461bcd60e51b815260206004820152600d60248201526c756e617574686f72697a65642160981b604482015260640161031c565b600280546001600160a01b03199081166001600160a01b03978816179091556003805482169587169590951790945560088054851693861693909317909255600980548416918516919091179055600a80549092169216919091179055565b6009546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a082319060240160206040518083038186803b1580156106cf57600080fd5b505afa1580156106e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107079190611420565b9050801561072557600954610725906001600160a01b031682610ade565b50600a546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a082319060240160206040518083038186803b15801561076a57600080fd5b505afa15801561077e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a29190611420565b905080156107c057600a546107c0906001600160a01b031682610ade565b50565b6107cb610a99565b60048054906107db600183611439565b815481106107eb576107eb6113d9565b600091825260209091200154600480546001600160a01b039092169184908110610817576108176113d9565b600091825260209091200180546001600160a01b0319166001600160a01b0392909216919091179055600561084d600183611439565b8154811061085d5761085d6113d9565b600091825260209091200154600580546001600160a01b039092169184908110610889576108896113d9565b600091825260209091200180546001600160a01b0319166001600160a01b039290921691909117905560076108bf600183611439565b815481106108cf576108cf6113d9565b9060005260206000200154600783815481106108ed576108ed6113d9565b600091825260209091200155600480548061090a5761090a611450565b600082815260209020810160001990810180546001600160a01b0319169055019055600580548061093d5761093d611450565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b61096b610a99565b6004805460018181019092557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b039586166001600160a01b031991821617909155600580548084019091557f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0018054949095169316929092179092556007805491820181556000527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880155565b6001546001600160a01b03163314610a655760405162461bcd60e51b815260206004820152600660248201526510b7bbb732b960d11b604482015260640161031c565b600154600080546001600160a01b0319166001600160a01b03909216919091179055565b6005818154811061047d57600080fd5b6000546001600160a01b03163314610adc5760405162461bcd60e51b815260206004820152600660248201526510a7bbb732b960d11b604482015260640161031c565b565b6006548015610cdf5780600114610b1957670de0b6b3a7640000610b028284611466565b610b0c9190611485565b610b169083611439565b91505b6004546000805b82811015610b655760078181548110610b3b57610b3b6113d9565b906000526020600020015482610b5191906114a7565b915080610b5d81611405565b915050610b20565b5060005b82811015610cd757600060058281548110610b8657610b866113d9565b6000918252602082200154600780546001600160a01b039092169350859185908110610bb457610bb46113d9565b906000526020600020015488610bca9190611466565b610bd49190611485565b90508015610cc25760405163095ea7b360e01b81526001600160a01b0383811660048301526024820183905289169063095ea7b390604401602060405180830381600087803b158015610c2657600080fd5b505af1158015610c3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5e91906114bf565b5060405163b66503cf60e01b81526001600160a01b0389811660048301526024820183905283169063b66503cf90604401600060405180830381600087803b158015610ca957600080fd5b505af1158015610cbd573d6000803e3d6000fd5b505050505b50508080610ccf90611405565b915050610b69565b505050610f5c565b600354604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b158015610d2457600080fd5b505afa158015610d38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d5c9190611420565b60045490915060005b81811015610f5857600060058281548110610d8257610d826113d9565b6000918252602082200154600354600480546001600160a01b0393841695508893909216916370a08231919087908110610dbe57610dbe6113d9565b60009182526020909120015460405160e083901b6001600160e01b03191681526001600160a01b03909116600482015260240160206040518083038186803b158015610e0957600080fd5b505afa158015610e1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e419190611420565b610e4b9089611466565b610e559190611485565b90508015610f435760405163095ea7b360e01b81526001600160a01b0383811660048301526024820183905289169063095ea7b390604401602060405180830381600087803b158015610ea757600080fd5b505af1158015610ebb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edf91906114bf565b5060405163b66503cf60e01b81526001600160a01b0389811660048301526024820183905283169063b66503cf90604401600060405180830381600087803b158015610f2a57600080fd5b505af1158015610f3e573d6000803e3d6000fd5b505050505b50508080610f5090611405565b915050610d65565b5050505b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a082319060240160206040518083038186803b158015610f9e57600080fd5b505afa158015610fb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd69190611420565b6002549091506001600160a01b03168015801590610ff45750600082115b156105ba5760405163a9059cbb60e01b81526001600160a01b0382811660048301526024820184905286169063a9059cbb90604401602060405180830381600087803b15801561104357600080fd5b505af1158015611057573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107b91906114bf565b505050505050565b50805460008255906000526020600020908101906107c091905b808211156110b1576000815560010161109d565b5090565b6000602082840312156110c757600080fd5b5035919050565b6001600160a01b03811681146107c057600080fd5b6000602082840312156110f557600080fd5b8135611100816110ce565b9392505050565b600080600080600060a0868803121561111f57600080fd5b853561112a816110ce565b9450602086013561113a816110ce565b9350604086013561114a816110ce565b9250606086013561115a816110ce565b9150608086013561116a816110ce565b809150509295509295909350565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156111b7576111b7611178565b604052919050565b600067ffffffffffffffff8211156111d9576111d9611178565b5060051b60200190565b600082601f8301126111f457600080fd5b81356020611209611204836111bf565b61118e565b82815260059290921b8401810191818101908684111561122857600080fd5b8286015b8481101561124c57803561123f816110ce565b835291830191830161122c565b509695505050505050565b600082601f83011261126857600080fd5b81356020611278611204836111bf565b82815260059290921b8401810191818101908684111561129757600080fd5b8286015b8481101561124c578035835291830191830161129b565b6000806000606084860312156112c757600080fd5b833567ffffffffffffffff808211156112df57600080fd5b818601915086601f8301126112f357600080fd5b81356020611303611204836111bf565b82815260059290921b8401810191818101908a84111561132257600080fd5b948201945b8386101561134957853561133a816110ce565b82529482019490820190611327565b9750508701359250508082111561135f57600080fd5b61136b878388016111e3565b9350604086013591508082111561138157600080fd5b5061138e86828701611257565b9150509250925092565b6000806000606084860312156113ad57600080fd5b83356113b8816110ce565b925060208401356113c8816110ce565b929592945050506040919091013590565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611419576114196113ef565b5060010190565b60006020828403121561143257600080fd5b5051919050565b60008282101561144b5761144b6113ef565b500390565b634e487b7160e01b600052603160045260246000fd5b6000816000190483118215151615611480576114806113ef565b500290565b6000826114a257634e487b7160e01b600052601260045260246000fd5b500490565b600082198211156114ba576114ba6113ef565b500190565b6000602082840312156114d157600080fd5b8151801515811461110057600080fdfea2646970667358221220ab9d63a1a7793370087f09564d18a7f40e388c47e2d54693614b2e8af3f5816664736f6c63430008090033
Deployed Bytecode Sourcemap
1697:3762:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4054:114;;;;;;:::i;:::-;;:::i;:::-;;3957:92;;;;;;:::i;:::-;;:::i;2017:21::-;;;;;-1:-1:-1;;;;;2017:21:0;;;;;;-1:-1:-1;;;;;751:32:1;;;733:51;;721:2;706:18;2017:21:0;;;;;;;;3728:116;;;;;;:::i;:::-;;:::i;4941:264::-;;;;;;:::i;:::-;;:::i;1836:24::-;;;;;;:::i;:::-;;:::i;4173:336::-;;;;;;:::i;:::-;;:::i;1896:22::-;;;;;;;;;5289:25:1;;;5277:2;5262:18;1896:22:0;5143:177:1;1749:24:0;;;;;-1:-1:-1;;;;;1749:24:0;;;1947:25;;;;;;:::i;:::-;;:::i;1725:20::-;;;;;-1:-1:-1;;;;;1725:20:0;;;1809:23;;;;;-1:-1:-1;;;;;1809:23:0;;;5210:246;;;;;;:::i;:::-;;:::i;2042:21::-;;;;;-1:-1:-1;;;;;2042:21:0;;;3404:319;;;:::i;4686:250::-;;;;;;:::i;:::-;;:::i;1976:37::-;;;;;-1:-1:-1;;;;;1976:37:0;;;4514:167;;;;;;:::i;:::-;;:::i;1777:28::-;;;;;-1:-1:-1;;;;;1777:28:0;;;3849:103;;;:::i;1864:28::-;;;;;;:::i;:::-;;:::i;4054:114::-;4100:12;:10;:12::i;:::-;4129:4;4125:2;:8;;4117:26;;;;-1:-1:-1;;;4117:26:0;;6681:2:1;4117:26:0;;;6663:21:1;6720:1;6700:18;;;6693:29;-1:-1:-1;;;6738:18:1;;;6731:36;6784:18;;4117:26:0;;;;;;;;;4148:10;:15;4054:114::o;3957:92::-;4009:12;:10;:12::i;:::-;4026:13;:18;;-1:-1:-1;;;;;;4026:18:0;-1:-1:-1;;;;;4026:18:0;;;;;;;;;;3957:92::o;3728:116::-;3772:12;:10;:12::i;:::-;-1:-1:-1;;;;;3797:14:0;;3789:31;;;;-1:-1:-1;;;3789:31:0;;7015:2:1;3789:31:0;;;6997:21:1;7054:1;7034:18;;;7027:29;-1:-1:-1;;;7072:18:1;;;7065:35;7117:18;;3789:31:0;6813:328:1;3789:31:0;3825:9;:14;;-1:-1:-1;;;;;;3825:14:0;-1:-1:-1;;;;;3825:14:0;;;;;;;;;;3728:116::o;4941:264::-;5069:1;5054:5;-1:-1:-1;;;;;5054:5:0;:17;5046:41;;;;-1:-1:-1;;;5046:41:0;;7348:2:1;5046:41:0;;;7330:21:1;7387:2;7367:18;;;7360:30;-1:-1:-1;;;7406:18:1;;;7399:42;7458:18;;5046:41:0;7146:336:1;5046:41:0;5092:5;:16;;5098:10;-1:-1:-1;;;;;;5092:16:0;;;;;;;5113:13;:16;;;;-1:-1:-1;;;;;5113:16:0;;;;;;5134:7;:10;;;;;;;;;;;;;;5149:14;:17;;;;;;;;;;;;;;5171:6;:12;;;;;;;;;;;;;5188:6;:12;;;;;;;;;;;;;4941:264::o;1836:24::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1836:24:0;;-1:-1:-1;1836:24:0;:::o;4173:336::-;4283:12;:10;:12::i;:::-;4300:14;4307:7;;4300:14;:::i;:::-;4319:16;4326:9;;4319:16;:::i;:::-;4340:18;4347:11;;4340:18;:::i;:::-;4374:7;:14;4363:8;4393:112;4408:3;4405:1;:6;4393:112;;;4424:7;4437:2;4440:1;4437:5;;;;;;;;:::i;:::-;;;;;;;;;;;;4424:19;;;;;;;-1:-1:-1;4424:19:0;;;;;;;;;;-1:-1:-1;;;;;;4424:19:0;-1:-1:-1;;;;;4424:19:0;;;;;;;;;4464:5;;4449:9;;4464:5;;4467:1;;4464:5;;;;;;:::i;:::-;;;;;;;;;;;;4449:21;;;;;;;-1:-1:-1;4449:21:0;;;;;;;;;;-1:-1:-1;;;;;;4449:21:0;-1:-1:-1;;;;;4449:21:0;;;;;;;;;4493:5;;4476:11;;4493:5;;4496:1;;4493:5;;;;;;:::i;:::-;;;;;;;;;;;;4476:23;;;;;;;-1:-1:-1;4476:23:0;;;;;;;;;4413:3;;;;:::i;:::-;;;;4393:112;;;;4278:231;4173:336;;;:::o;1947:25::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1947:25:0;:::o;5210:246::-;5337:5;;-1:-1:-1;;;;;5337:5:0;5325:10;:17;5317:42;;;;-1:-1:-1;;;5317:42:0;;8093:2:1;5317:42:0;;;8075:21:1;8132:2;8112:18;;;8105:30;-1:-1:-1;;;8151:18:1;;;8144:43;8204:18;;5317:42:0;7891:337:1;5317:42:0;5364:13;:16;;-1:-1:-1;;;;;;5364:16:0;;;-1:-1:-1;;;;;5364:16:0;;;;;;;5385:7;:10;;;;;;;;;;;;;;5400:14;:17;;;;;;;;;;;;;;5422:6;:12;;;;;;;;;;;;;5439:6;:12;;;;;;;;;;;;;5210:246::o;3404:319::-;3537:6;;3530:39;;-1:-1:-1;;;3530:39:0;;3563:4;3530:39;;;733:51:1;3519:8:0;;-1:-1:-1;;;;;3537:6:0;;3530:24;;706:18:1;;3530:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3519:50;-1:-1:-1;3578:5:0;;3575:33;;3596:6;;3585:23;;-1:-1:-1;;;;;3596:6:0;3604:3;3585:10;:23::i;:::-;-1:-1:-1;3642:6:0;;3635:39;;-1:-1:-1;;;3635:39:0;;3668:4;3635:39;;;733:51:1;3624:8:0;;-1:-1:-1;;;;;3642:6:0;;3635:24;;706:18:1;;3635:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3624:50;-1:-1:-1;3683:5:0;;3680:33;;3701:6;;3690:23;;-1:-1:-1;;;;;3701:6:0;3709:3;3690:10;:23::i;:::-;3618:101;3404:319::o;4686:250::-;4740:12;:10;:12::i;:::-;4768:7;:14;;;4809:5;4813:1;4768:14;4809:5;:::i;:::-;4801:14;;;;;;;;:::i;:::-;;;;;;;;;;;4787:7;:11;;-1:-1:-1;;;;;4801:14:0;;;;4795:2;;4787:11;;;;;;:::i;:::-;;;;;;;;;;:28;;-1:-1:-1;;;;;;4787:28:0;-1:-1:-1;;;;;4787:28:0;;;;;;;;;;4836:9;4846:5;-1:-1:-1;4846:3:0;:5;:::i;:::-;4836:16;;;;;;;;:::i;:::-;;;;;;;;;;;4820:9;:13;;-1:-1:-1;;;;;4836:16:0;;;;4830:2;;4820:13;;;;;;:::i;:::-;;;;;;;;;;:32;;-1:-1:-1;;;;;;4820:32:0;-1:-1:-1;;;;;4820:32:0;;;;;;;;;;4875:11;4887:5;-1:-1:-1;4887:3:0;:5;:::i;:::-;4875:18;;;;;;;;:::i;:::-;;;;;;;;;4857:11;4869:2;4857:15;;;;;;;;:::i;:::-;;;;;;;;;;:36;4898:7;:13;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;4898:13:0;;;;;-1:-1:-1;;;;;;4898:13:0;;;;;;4916:9;:15;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;4916:15:0;;;;;-1:-1:-1;;;;;;4916:15:0;;;;;;-1:-1:-1;;4686:250:0:o;4514:167::-;4595:12;:10;:12::i;:::-;4612:7;:16;;;;;;;;;;;;;-1:-1:-1;;;;;4612:16:0;;;-1:-1:-1;;;;;;4612:16:0;;;;;;;4633:9;:18;;;;;;;;;;;;;;;;;;;;;;;;;4656:11;:20;;;;;;;-1:-1:-1;4656:20:0;;;;4514:167::o;3849:103::-;3906:9;;-1:-1:-1;;;;;3906:9:0;3894:10;:21;3886:39;;;;-1:-1:-1;;;3886:39:0;;8886:2:1;3886:39:0;;;8868:21:1;8925:1;8905:18;;;8898:29;-1:-1:-1;;;8943:18:1;;;8936:36;8989:18;;3886:39:0;8684:329:1;3886:39:0;3938:9;;;3930:17;;-1:-1:-1;;;;;;3930:17:0;-1:-1:-1;;;;;3938:9:0;;;3930:17;;;;;;3849:103::o;1864:28::-;;;;;;;;;;;;2069:81;2130:5;;-1:-1:-1;;;;;2130:5:0;2118:10;:17;2110:35;;;;-1:-1:-1;;;2110:35:0;;9220:2:1;2110:35:0;;;9202:21:1;9259:1;9239:18;;;9232:29;-1:-1:-1;;;9277:18:1;;;9270:36;9323:18;;2110:35:0;9018:329:1;2110:35:0;2069:81::o;2155:1244::-;2229:10;;2247:6;;2244:954;;2264:2;2268:1;2264:5;2261:79;;2329:4;2314:12;2324:2;2314:7;:12;:::i;:::-;:19;;;;:::i;:::-;2303:30;;;;:::i;:::-;;;2261:79;2356:7;:14;2345:8;;2394:64;2409:3;2406:1;:6;2394:64;;;2437:11;2449:1;2437:14;;;;;;;;:::i;:::-;;;;;;;;;2426:25;;;;;:::i;:::-;;-1:-1:-1;2414:3:0;;;;:::i;:::-;;;;2394:64;;;;2467:6;2463:315;2478:3;2475:1;:6;2463:315;;;2495:13;2511:9;2521:1;2511:12;;;;;;;;:::i;:::-;;;;;;;;;;2551:11;:14;;-1:-1:-1;;;;;2511:12:0;;;;-1:-1:-1;2568:7:0;;2563:1;;2551:14;;;;;;:::i;:::-;;;;;;;;;2541:7;:24;;;;:::i;:::-;:34;;;;:::i;:::-;2530:45;-1:-1:-1;2585:5:0;;2582:190;;2600:74;;-1:-1:-1;;;2600:74:0;;-1:-1:-1;;;;;10072:32:1;;;2600:74:0;;;10054:51:1;10121:18;;;10114:34;;;2600:30:0;;;;;10027:18:1;;2600:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2689:68:0;;-1:-1:-1;;;2689:68:0;;-1:-1:-1;;;;;10072:32:1;;;2689:68:0;;;10054:51:1;10121:18;;;10114:34;;;2689:30:0;;;;;10027:18:1;;2689:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2582:190;2488:290;;2483:3;;;;;:::i;:::-;;;;2463:315;;;;2255:528;;2244:954;;;2809:7;;:21;;;-1:-1:-1;;;2809:21:0;;;;2798:8;;-1:-1:-1;;;;;2809:7:0;;:19;;:21;;;;;;;;;;;;;;:7;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2847:7;:14;2798:32;;-1:-1:-1;2836:8:0;2867:326;2882:3;2879:1;:6;2867:326;;;2899:13;2915:9;2925:1;2915:12;;;;;;;;:::i;:::-;;;;;;;;;;2955:7;;2973;:10;;-1:-1:-1;;;;;2915:12:0;;;;-1:-1:-1;2987:3:0;;2955:7;;;;:17;;2973:7;2981:1;;2973:10;;;;;;:::i;:::-;;;;;;;;;;;2955:29;;;;;;-1:-1:-1;;;;;;2955:29:0;;;-1:-1:-1;;;;;2973:10:0;;;2955:29;;;733:51:1;706:18;;2955:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2945:39;;:7;:39;:::i;:::-;:45;;;;:::i;:::-;2934:56;-1:-1:-1;3000:5:0;;2997:190;;3015:74;;-1:-1:-1;;;3015:74:0;;-1:-1:-1;;;;;10072:32:1;;;3015:74:0;;;10054:51:1;10121:18;;;10114:34;;;3015:30:0;;;;;10027:18:1;;3015:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;3104:68:0;;-1:-1:-1;;;3104:68:0;;-1:-1:-1;;;;;10072:32:1;;;3104:68:0;;;10054:51:1;10121:18;;;10114:34;;;3104:30:0;;;;;10027:18:1;;3104:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2997:190;2892:301;;2887:3;;;;;:::i;:::-;;;;2867:326;;;;2792:406;;2244:954;3219:39;;-1:-1:-1;;;3219:39:0;;3252:4;3219:39;;;733:51:1;3208:8:0;;-1:-1:-1;;;;;3219:24:0;;;;;706:18:1;;3219:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3278:13;;3208:50;;-1:-1:-1;;;;;;3278:13:0;3300:17;;;;;:28;;;3327:1;3321:3;:7;3300:28;3297:93;;;3337:40;;-1:-1:-1;;;3337:40:0;;-1:-1:-1;;;;;10072:32:1;;;3337:40:0;;;10054:51:1;10121:18;;;10114:34;;;3337:30:0;;;;;10027:18:1;;3337:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3202:193;;2214:1185;2155:1244;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:180:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:1;;14:180;-1:-1:-1;14:180:1:o;199:131::-;-1:-1:-1;;;;;274:31:1;;264:42;;254:70;;320:1;317;310:12;335:247;394:6;447:2;435:9;426:7;422:23;418:32;415:52;;;463:1;460;453:12;415:52;502:9;489:23;521:31;546:5;521:31;:::i;:::-;571:5;335:247;-1:-1:-1;;;335:247:1:o;795:850::-;927:6;935;943;951;959;1012:3;1000:9;991:7;987:23;983:33;980:53;;;1029:1;1026;1019:12;980:53;1068:9;1055:23;1087:31;1112:5;1087:31;:::i;:::-;1137:5;-1:-1:-1;1194:2:1;1179:18;;1166:32;1207:33;1166:32;1207:33;:::i;:::-;1259:7;-1:-1:-1;1318:2:1;1303:18;;1290:32;1331:33;1290:32;1331:33;:::i;:::-;1383:7;-1:-1:-1;1442:2:1;1427:18;;1414:32;1455:33;1414:32;1455:33;:::i;:::-;1507:7;-1:-1:-1;1566:3:1;1551:19;;1538:33;1580;1538;1580;:::i;:::-;1632:7;1622:17;;;795:850;;;;;;;;:::o;1650:127::-;1711:10;1706:3;1702:20;1699:1;1692:31;1742:4;1739:1;1732:15;1766:4;1763:1;1756:15;1782:275;1853:2;1847:9;1918:2;1899:13;;-1:-1:-1;;1895:27:1;1883:40;;1953:18;1938:34;;1974:22;;;1935:62;1932:88;;;2000:18;;:::i;:::-;2036:2;2029:22;1782:275;;-1:-1:-1;1782:275:1:o;2062:183::-;2122:4;2155:18;2147:6;2144:30;2141:56;;;2177:18;;:::i;:::-;-1:-1:-1;2222:1:1;2218:14;2234:4;2214:25;;2062:183::o;2250:748::-;2315:5;2368:3;2361:4;2353:6;2349:17;2345:27;2335:55;;2386:1;2383;2376:12;2335:55;2422:6;2409:20;2448:4;2472:60;2488:43;2528:2;2488:43;:::i;:::-;2472:60;:::i;:::-;2566:15;;;2652:1;2648:10;;;;2636:23;;2632:32;;;2597:12;;;;2676:15;;;2673:35;;;2704:1;2701;2694:12;2673:35;2740:2;2732:6;2728:15;2752:217;2768:6;2763:3;2760:15;2752:217;;;2848:3;2835:17;2865:31;2890:5;2865:31;:::i;:::-;2909:18;;2947:12;;;;2785;;2752:217;;;-1:-1:-1;2987:5:1;2250:748;-1:-1:-1;;;;;;2250:748:1:o;3003:662::-;3057:5;3110:3;3103:4;3095:6;3091:17;3087:27;3077:55;;3128:1;3125;3118:12;3077:55;3164:6;3151:20;3190:4;3214:60;3230:43;3270:2;3230:43;:::i;3214:60::-;3308:15;;;3394:1;3390:10;;;;3378:23;;3374:32;;;3339:12;;;;3418:15;;;3415:35;;;3446:1;3443;3436:12;3415:35;3482:2;3474:6;3470:15;3494:142;3510:6;3505:3;3502:15;3494:142;;;3576:17;;3564:30;;3614:12;;;;3527;;3494:142;;3670:1468;3838:6;3846;3854;3907:2;3895:9;3886:7;3882:23;3878:32;3875:52;;;3923:1;3920;3913:12;3875:52;3963:9;3950:23;3992:18;4033:2;4025:6;4022:14;4019:34;;;4049:1;4046;4039:12;4019:34;4087:6;4076:9;4072:22;4062:32;;4132:7;4125:4;4121:2;4117:13;4113:27;4103:55;;4154:1;4151;4144:12;4103:55;4190:2;4177:16;4212:4;4236:60;4252:43;4292:2;4252:43;:::i;4236:60::-;4330:15;;;4412:1;4408:10;;;;4400:19;;4396:28;;;4361:12;;;;4436:19;;;4433:39;;;4468:1;4465;4458:12;4433:39;4492:11;;;;4512:217;4528:6;4523:3;4520:15;4512:217;;;4608:3;4595:17;4625:31;4650:5;4625:31;:::i;:::-;4669:18;;4545:12;;;;4707;;;;4512:217;;;4748:5;-1:-1:-1;;4791:18:1;;4778:32;;-1:-1:-1;;4822:16:1;;;4819:36;;;4851:1;4848;4841:12;4819:36;4874:74;4940:7;4929:8;4918:9;4914:24;4874:74;:::i;:::-;4864:84;;5001:2;4990:9;4986:18;4973:32;4957:48;;5030:2;5020:8;5017:16;5014:36;;;5046:1;5043;5036:12;5014:36;;5069:63;5124:7;5113:8;5102:9;5098:24;5069:63;:::i;:::-;5059:73;;;3670:1468;;;;;:::o;5778:472::-;5871:6;5879;5887;5940:2;5928:9;5919:7;5915:23;5911:32;5908:52;;;5956:1;5953;5946:12;5908:52;5995:9;5982:23;6014:31;6039:5;6014:31;:::i;:::-;6064:5;-1:-1:-1;6121:2:1;6106:18;;6093:32;6134:33;6093:32;6134:33;:::i;:::-;5778:472;;6186:7;;-1:-1:-1;;;6240:2:1;6225:18;;;;6212:32;;5778:472::o;7487:127::-;7548:10;7543:3;7539:20;7536:1;7529:31;7579:4;7576:1;7569:15;7603:4;7600:1;7593:15;7619:127;7680:10;7675:3;7671:20;7668:1;7661:31;7711:4;7708:1;7701:15;7735:4;7732:1;7725:15;7751:135;7790:3;-1:-1:-1;;7811:17:1;;7808:43;;;7831:18;;:::i;:::-;-1:-1:-1;7878:1:1;7867:13;;7751:135::o;8233:184::-;8303:6;8356:2;8344:9;8335:7;8331:23;8327:32;8324:52;;;8372:1;8369;8362:12;8324:52;-1:-1:-1;8395:16:1;;8233:184;-1:-1:-1;8233:184:1:o;8422:125::-;8462:4;8490:1;8487;8484:8;8481:34;;;8495:18;;:::i;:::-;-1:-1:-1;8532:9:1;;8422:125::o;8552:127::-;8613:10;8608:3;8604:20;8601:1;8594:31;8644:4;8641:1;8634:15;8668:4;8665:1;8658:15;9352:168;9392:7;9458:1;9454;9450:6;9446:14;9443:1;9440:21;9435:1;9428:9;9421:17;9417:45;9414:71;;;9465:18;;:::i;:::-;-1:-1:-1;9505:9:1;;9352:168::o;9525:217::-;9565:1;9591;9581:132;;9635:10;9630:3;9626:20;9623:1;9616:31;9670:4;9667:1;9660:15;9698:4;9695:1;9688:15;9581:132;-1:-1:-1;9727:9:1;;9525:217::o;9747:128::-;9787:3;9818:1;9814:6;9811:1;9808:13;9805:39;;;9824:18;;:::i;:::-;-1:-1:-1;9860:9:1;;9747:128::o;10159:277::-;10226:6;10279:2;10267:9;10258:7;10254:23;10250:32;10247:52;;;10295:1;10292;10285:12;10247:52;10327:9;10321:16;10380:5;10373:13;10366:21;10359:5;10356:32;10346:60;;10402:1;10399;10392:12
Swarm Source
ipfs://ab9d63a1a7793370087f09564d18a7f40e388c47e2d54693614b2e8af3f58166
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.