S Price: $0.067947 (-2.61%)
Gas: 55 Gwei

Contract

0xB5aEd208a908bBAd4Cd8e4308A8Ef9E69E644127

Overview

S Balance

Sonic LogoSonic LogoSonic Logo0 S

S Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To

There are no matching entries

Please try again later

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
FeeSynthesizer

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at SonicScan.org on 2025-04-14
*/

/**
 *Submitted for verification at ftmscan.com on 2024-01-31
*/

/*


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;
}


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;

	function _onlyOwner() internal view {
		require(msg.sender==owner,"!Owner");
	}

	function notifyRewardAmount(address _token, uint _amount) external {
		require(
			IERC20(_token).transferFrom(msg.sender, address(this), _amount),
			"Transfer Failed!"
		);
		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));
			if(_tb > 0) {
				IERC20(_token)
					.transfer(redistributor, _tb)
				;
			}
		}
	}

	function claimFees() external {
		wrapper.collectFees();
	}

	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) external {
		require(owner==address(0),"initialized!");
		owner=msg.sender;
		wrapper=_w;
		redistributor=_r;
	}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"name":"becomeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimFees","outputs":[],"stateMutability":"nonpayable","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"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nextOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"notifyRewardAmount","outputs":[],"stateMutability":"nonpayable","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":"_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":"wrapper","outputs":[{"internalType":"contract IWrapper","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

608060405234801561001057600080fd5b506113bb806100206000396000f3fe608060405234801561001057600080fd5b50600436106101155760003560e01c80638da5cb5b116100a2578063d2b51aff11610071578063d2b51aff14610229578063e7b4cf241461023c578063f0fe24721461024f578063f9dca98914610262578063fcf8770f1461026a57600080fd5b80638da5cb5b146101e8578063ac210cc7146101fb578063b66503cf1461020e578063d294f0931461022157600080fd5b8063485cc955116100e9578063485cc955146101855780635913e357146101985780635b4246d4146101ab57806369f3331d146101c2578063826518c9146101d557600080fd5b80626cd2001461011a578063056d14121461012f57806313af4035146101425780632a11ced014610155575b600080fd5b61012d610128366004610f65565b61027d565b005b61012d61013d366004610f93565b6102d0565b61012d610150366004610f93565b6102fa565b610168610163366004610f65565b610362565b6040516001600160a01b0390911681526020015b60405180910390f35b61012d610193366004610fb7565b61038c565b61012d6101a636600461112a565b610410565b6101b460065481565b60405190815260200161017c565b600154610168906001600160a01b031681565b6101b46101e3366004610f65565b61053a565b600054610168906001600160a01b031681565b600354610168906001600160a01b031681565b61012d61021c366004611210565b61055b565b61012d610bac565b61012d610237366004610f65565b610c10565b61012d61024a36600461123c565b610db0565b600254610168906001600160a01b031681565b61012d610e6f565b610168610278366004610f65565b610ed6565b610285610ee6565b670de0b6b3a76400008111156102cb5760405162461bcd60e51b81526020600482015260066024820152653e313030252160d01b60448201526064015b60405180910390fd5b600655565b6102d8610ee6565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b610302610ee6565b6001600160a01b0381166103405760405162461bcd60e51b8152602060048201526005602482015264085c99585b60da1b60448201526064016102c2565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6004818154811061037257600080fd5b6000918252602090912001546001600160a01b0316905081565b6000546001600160a01b0316156103d45760405162461bcd60e51b815260206004820152600c60248201526b696e697469616c697a65642160a01b60448201526064016102c2565b600080546001600160a01b03199081163317909155600380546001600160a01b0393841690831617905560028054939092169216919091179055565b610418610ee6565b61042460046000610f2b565b61043060056000610f2b565b61043c60076000610f2b565b60045460005b8181101561053357600485828151811061045e5761045e61127d565b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b0390921691909117905583516005908590839081106104b0576104b061127d565b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b0390921691909117905582516007908490839081106105025761050261127d565b602090810291909101810151825460018101845560009384529190922001558061052b816112a9565b915050610442565b5050505050565b6007818154811061054a57600080fd5b600091825260209091200154905081565b6040516323b872dd60e01b8152336004820152306024820152604481018290526001600160a01b038316906323b872dd90606401602060405180830381600087803b1580156105a957600080fd5b505af11580156105bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e191906112c4565b6106205760405162461bcd60e51b815260206004820152601060248201526f5472616e73666572204661696c65642160801b60448201526064016102c2565b6006548015610821578060011461065b57670de0b6b3a764000061064482846112e6565b61064e9190611305565b6106589083611327565b91505b6004546000805b828110156106a7576007818154811061067d5761067d61127d565b906000526020600020015482610693919061133e565b91508061069f816112a9565b915050610662565b5060005b82811015610819576000600582815481106106c8576106c861127d565b6000918252602082200154600780546001600160a01b0390921693508591859081106106f6576106f661127d565b90600052602060002001548861070c91906112e6565b6107169190611305565b905080156108045760405163095ea7b360e01b81526001600160a01b0383811660048301526024820183905289169063095ea7b390604401602060405180830381600087803b15801561076857600080fd5b505af115801561077c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a091906112c4565b5060405163b66503cf60e01b81526001600160a01b0389811660048301526024820183905283169063b66503cf90604401600060405180830381600087803b1580156107eb57600080fd5b505af11580156107ff573d6000803e3d6000fd5b505050505b50508080610811906112a9565b9150506106ab565b505050610a9e565b600354604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561086657600080fd5b505afa15801561087a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089e9190611356565b60045490915060005b81811015610a9a576000600582815481106108c4576108c461127d565b6000918252602082200154600354600480546001600160a01b0393841695508893909216916370a082319190879081106109005761090061127d565b60009182526020909120015460405160e083901b6001600160e01b03191681526001600160a01b03909116600482015260240160206040518083038186803b15801561094b57600080fd5b505afa15801561095f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109839190611356565b61098d90896112e6565b6109979190611305565b90508015610a855760405163095ea7b360e01b81526001600160a01b0383811660048301526024820183905289169063095ea7b390604401602060405180830381600087803b1580156109e957600080fd5b505af11580156109fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2191906112c4565b5060405163b66503cf60e01b81526001600160a01b0389811660048301526024820183905283169063b66503cf90604401600060405180830381600087803b158015610a6c57600080fd5b505af1158015610a80573d6000803e3d6000fd5b505050505b50508080610a92906112a9565b9150506108a7565b5050505b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a082319060240160206040518083038186803b158015610ae057600080fd5b505afa158015610af4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b189190611356565b90508015610ba65760025460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529085169063a9059cbb90604401602060405180830381600087803b158015610b6e57600080fd5b505af1158015610b82573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053391906112c4565b50505050565b600360009054906101000a90046001600160a01b03166001600160a01b031663c87965726040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610bfc57600080fd5b505af1158015610ba6573d6000803e3d6000fd5b610c18610ee6565b6004805490610c28600183611327565b81548110610c3857610c3861127d565b600091825260209091200154600480546001600160a01b039092169184908110610c6457610c6461127d565b600091825260209091200180546001600160a01b0319166001600160a01b03929092169190911790556005610c9a600183611327565b81548110610caa57610caa61127d565b600091825260209091200154600580546001600160a01b039092169184908110610cd657610cd661127d565b600091825260209091200180546001600160a01b0319166001600160a01b03929092169190911790556007610d0c600183611327565b81548110610d1c57610d1c61127d565b906000526020600020015460078381548110610d3a57610d3a61127d565b6000918252602090912001556004805480610d5757610d5761136f565b600082815260209020810160001990810180546001600160a01b03191690550190556005805480610d8a57610d8a61136f565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b610db8610ee6565b6004805460018181019092557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b039586166001600160a01b031991821617909155600580548084019091557f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0018054949095169316929092179092556007805491820181556000527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880155565b6001546001600160a01b03163314610eb25760405162461bcd60e51b815260206004820152600660248201526510b7bbb732b960d11b60448201526064016102c2565b600154600080546001600160a01b0319166001600160a01b03909216919091179055565b6005818154811061037257600080fd5b6000546001600160a01b03163314610f295760405162461bcd60e51b815260206004820152600660248201526510a7bbb732b960d11b60448201526064016102c2565b565b5080546000825590600052602060002090810190610f499190610f4c565b50565b5b80821115610f615760008155600101610f4d565b5090565b600060208284031215610f7757600080fd5b5035919050565b6001600160a01b0381168114610f4957600080fd5b600060208284031215610fa557600080fd5b8135610fb081610f7e565b9392505050565b60008060408385031215610fca57600080fd5b8235610fd581610f7e565b91506020830135610fe581610f7e565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561102f5761102f610ff0565b604052919050565b600067ffffffffffffffff82111561105157611051610ff0565b5060051b60200190565b600082601f83011261106c57600080fd5b8135602061108161107c83611037565b611006565b82815260059290921b840181019181810190868411156110a057600080fd5b8286015b848110156110c45780356110b781610f7e565b83529183019183016110a4565b509695505050505050565b600082601f8301126110e057600080fd5b813560206110f061107c83611037565b82815260059290921b8401810191818101908684111561110f57600080fd5b8286015b848110156110c45780358352918301918301611113565b60008060006060848603121561113f57600080fd5b833567ffffffffffffffff8082111561115757600080fd5b818601915086601f83011261116b57600080fd5b8135602061117b61107c83611037565b82815260059290921b8401810191818101908a84111561119a57600080fd5b948201945b838610156111c15785356111b281610f7e565b8252948201949082019061119f565b975050870135925050808211156111d757600080fd5b6111e38783880161105b565b935060408601359150808211156111f957600080fd5b50611206868287016110cf565b9150509250925092565b6000806040838503121561122357600080fd5b823561122e81610f7e565b946020939093013593505050565b60008060006060848603121561125157600080fd5b833561125c81610f7e565b9250602084013561126c81610f7e565b929592945050506040919091013590565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156112bd576112bd611293565b5060010190565b6000602082840312156112d657600080fd5b81518015158114610fb057600080fd5b600081600019048311821515161561130057611300611293565b500290565b60008261132257634e487b7160e01b600052601260045260246000fd5b500490565b60008282101561133957611339611293565b500390565b6000821982111561135157611351611293565b500190565b60006020828403121561136857600080fd5b5051919050565b634e487b7160e01b600052603160045260246000fdfea26469706673582212201f8441c48049bb513e12b85dd718764d19cca52e85dc59235f1e5198b03d9c1664736f6c63430008090033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101155760003560e01c80638da5cb5b116100a2578063d2b51aff11610071578063d2b51aff14610229578063e7b4cf241461023c578063f0fe24721461024f578063f9dca98914610262578063fcf8770f1461026a57600080fd5b80638da5cb5b146101e8578063ac210cc7146101fb578063b66503cf1461020e578063d294f0931461022157600080fd5b8063485cc955116100e9578063485cc955146101855780635913e357146101985780635b4246d4146101ab57806369f3331d146101c2578063826518c9146101d557600080fd5b80626cd2001461011a578063056d14121461012f57806313af4035146101425780632a11ced014610155575b600080fd5b61012d610128366004610f65565b61027d565b005b61012d61013d366004610f93565b6102d0565b61012d610150366004610f93565b6102fa565b610168610163366004610f65565b610362565b6040516001600160a01b0390911681526020015b60405180910390f35b61012d610193366004610fb7565b61038c565b61012d6101a636600461112a565b610410565b6101b460065481565b60405190815260200161017c565b600154610168906001600160a01b031681565b6101b46101e3366004610f65565b61053a565b600054610168906001600160a01b031681565b600354610168906001600160a01b031681565b61012d61021c366004611210565b61055b565b61012d610bac565b61012d610237366004610f65565b610c10565b61012d61024a36600461123c565b610db0565b600254610168906001600160a01b031681565b61012d610e6f565b610168610278366004610f65565b610ed6565b610285610ee6565b670de0b6b3a76400008111156102cb5760405162461bcd60e51b81526020600482015260066024820152653e313030252160d01b60448201526064015b60405180910390fd5b600655565b6102d8610ee6565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b610302610ee6565b6001600160a01b0381166103405760405162461bcd60e51b8152602060048201526005602482015264085c99585b60da1b60448201526064016102c2565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6004818154811061037257600080fd5b6000918252602090912001546001600160a01b0316905081565b6000546001600160a01b0316156103d45760405162461bcd60e51b815260206004820152600c60248201526b696e697469616c697a65642160a01b60448201526064016102c2565b600080546001600160a01b03199081163317909155600380546001600160a01b0393841690831617905560028054939092169216919091179055565b610418610ee6565b61042460046000610f2b565b61043060056000610f2b565b61043c60076000610f2b565b60045460005b8181101561053357600485828151811061045e5761045e61127d565b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b0390921691909117905583516005908590839081106104b0576104b061127d565b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b0390921691909117905582516007908490839081106105025761050261127d565b602090810291909101810151825460018101845560009384529190922001558061052b816112a9565b915050610442565b5050505050565b6007818154811061054a57600080fd5b600091825260209091200154905081565b6040516323b872dd60e01b8152336004820152306024820152604481018290526001600160a01b038316906323b872dd90606401602060405180830381600087803b1580156105a957600080fd5b505af11580156105bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e191906112c4565b6106205760405162461bcd60e51b815260206004820152601060248201526f5472616e73666572204661696c65642160801b60448201526064016102c2565b6006548015610821578060011461065b57670de0b6b3a764000061064482846112e6565b61064e9190611305565b6106589083611327565b91505b6004546000805b828110156106a7576007818154811061067d5761067d61127d565b906000526020600020015482610693919061133e565b91508061069f816112a9565b915050610662565b5060005b82811015610819576000600582815481106106c8576106c861127d565b6000918252602082200154600780546001600160a01b0390921693508591859081106106f6576106f661127d565b90600052602060002001548861070c91906112e6565b6107169190611305565b905080156108045760405163095ea7b360e01b81526001600160a01b0383811660048301526024820183905289169063095ea7b390604401602060405180830381600087803b15801561076857600080fd5b505af115801561077c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a091906112c4565b5060405163b66503cf60e01b81526001600160a01b0389811660048301526024820183905283169063b66503cf90604401600060405180830381600087803b1580156107eb57600080fd5b505af11580156107ff573d6000803e3d6000fd5b505050505b50508080610811906112a9565b9150506106ab565b505050610a9e565b600354604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561086657600080fd5b505afa15801561087a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089e9190611356565b60045490915060005b81811015610a9a576000600582815481106108c4576108c461127d565b6000918252602082200154600354600480546001600160a01b0393841695508893909216916370a082319190879081106109005761090061127d565b60009182526020909120015460405160e083901b6001600160e01b03191681526001600160a01b03909116600482015260240160206040518083038186803b15801561094b57600080fd5b505afa15801561095f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109839190611356565b61098d90896112e6565b6109979190611305565b90508015610a855760405163095ea7b360e01b81526001600160a01b0383811660048301526024820183905289169063095ea7b390604401602060405180830381600087803b1580156109e957600080fd5b505af11580156109fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2191906112c4565b5060405163b66503cf60e01b81526001600160a01b0389811660048301526024820183905283169063b66503cf90604401600060405180830381600087803b158015610a6c57600080fd5b505af1158015610a80573d6000803e3d6000fd5b505050505b50508080610a92906112a9565b9150506108a7565b5050505b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a082319060240160206040518083038186803b158015610ae057600080fd5b505afa158015610af4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b189190611356565b90508015610ba65760025460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529085169063a9059cbb90604401602060405180830381600087803b158015610b6e57600080fd5b505af1158015610b82573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053391906112c4565b50505050565b600360009054906101000a90046001600160a01b03166001600160a01b031663c87965726040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610bfc57600080fd5b505af1158015610ba6573d6000803e3d6000fd5b610c18610ee6565b6004805490610c28600183611327565b81548110610c3857610c3861127d565b600091825260209091200154600480546001600160a01b039092169184908110610c6457610c6461127d565b600091825260209091200180546001600160a01b0319166001600160a01b03929092169190911790556005610c9a600183611327565b81548110610caa57610caa61127d565b600091825260209091200154600580546001600160a01b039092169184908110610cd657610cd661127d565b600091825260209091200180546001600160a01b0319166001600160a01b03929092169190911790556007610d0c600183611327565b81548110610d1c57610d1c61127d565b906000526020600020015460078381548110610d3a57610d3a61127d565b6000918252602090912001556004805480610d5757610d5761136f565b600082815260209020810160001990810180546001600160a01b03191690550190556005805480610d8a57610d8a61136f565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b610db8610ee6565b6004805460018181019092557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b039586166001600160a01b031991821617909155600580548084019091557f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0018054949095169316929092179092556007805491820181556000527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880155565b6001546001600160a01b03163314610eb25760405162461bcd60e51b815260206004820152600660248201526510b7bbb732b960d11b60448201526064016102c2565b600154600080546001600160a01b0319166001600160a01b03909216919091179055565b6005818154811061037257600080fd5b6000546001600160a01b03163314610f295760405162461bcd60e51b815260206004820152600660248201526510a7bbb732b960d11b60448201526064016102c2565b565b5080546000825590600052602060002090810190610f499190610f4c565b50565b5b80821115610f615760008155600101610f4d565b5090565b600060208284031215610f7757600080fd5b5035919050565b6001600160a01b0381168114610f4957600080fd5b600060208284031215610fa557600080fd5b8135610fb081610f7e565b9392505050565b60008060408385031215610fca57600080fd5b8235610fd581610f7e565b91506020830135610fe581610f7e565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561102f5761102f610ff0565b604052919050565b600067ffffffffffffffff82111561105157611051610ff0565b5060051b60200190565b600082601f83011261106c57600080fd5b8135602061108161107c83611037565b611006565b82815260059290921b840181019181810190868411156110a057600080fd5b8286015b848110156110c45780356110b781610f7e565b83529183019183016110a4565b509695505050505050565b600082601f8301126110e057600080fd5b813560206110f061107c83611037565b82815260059290921b8401810191818101908684111561110f57600080fd5b8286015b848110156110c45780358352918301918301611113565b60008060006060848603121561113f57600080fd5b833567ffffffffffffffff8082111561115757600080fd5b818601915086601f83011261116b57600080fd5b8135602061117b61107c83611037565b82815260059290921b8401810191818101908a84111561119a57600080fd5b948201945b838610156111c15785356111b281610f7e565b8252948201949082019061119f565b975050870135925050808211156111d757600080fd5b6111e38783880161105b565b935060408601359150808211156111f957600080fd5b50611206868287016110cf565b9150509250925092565b6000806040838503121561122357600080fd5b823561122e81610f7e565b946020939093013593505050565b60008060006060848603121561125157600080fd5b833561125c81610f7e565b9250602084013561126c81610f7e565b929592945050506040919091013590565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156112bd576112bd611293565b5060010190565b6000602082840312156112d657600080fd5b81518015158114610fb057600080fd5b600081600019048311821515161561130057611300611293565b500290565b60008261132257634e487b7160e01b600052601260045260246000fd5b500490565b60008282101561133957611339611293565b500390565b6000821982111561135157611351611293565b500190565b60006020828403121561136857600080fd5b5051919050565b634e487b7160e01b600052603160045260246000fdfea26469706673582212201f8441c48049bb513e12b85dd718764d19cca52e85dc59235f1e5198b03d9c1664736f6c63430008090033

Deployed Bytecode Sourcemap

1432:3134:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3514:114;;;;;;:::i;:::-;;:::i;:::-;;3417:92;;;;;;:::i;:::-;;:::i;3188:116::-;;;;;;:::i;:::-;;:::i;1571:24::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;751:32:1;;;733:51;;721:2;706:18;1571:24:0;;;;;;;;4401:162;;;;;;:::i;:::-;;:::i;3633:336::-;;;;;;:::i;:::-;;:::i;1631:22::-;;;;;;;;;4842:25:1;;;4830:2;4815:18;1631:22:0;4696:177:1;1484:24:0;;;;;-1:-1:-1;;;;;1484:24:0;;;1682:25;;;;;;:::i;:::-;;:::i;1460:20::-;;;;;-1:-1:-1;;;;;1460:20:0;;;1544:23;;;;;-1:-1:-1;;;;;1544:23:0;;;1799:1318;;;;;;:::i;:::-;;:::i;3122:61::-;;;:::i;4146:250::-;;;;;;:::i;:::-;;:::i;3974:167::-;;;;;;:::i;:::-;;:::i;1512:28::-;;;;;-1:-1:-1;;;;;1512:28:0;;;3309:103;;;:::i;1599:28::-;;;;;;:::i;:::-;;:::i;3514:114::-;3560:12;:10;:12::i;:::-;3589:4;3585:2;:8;;3577:26;;;;-1:-1:-1;;;3577:26:0;;6324:2:1;3577:26:0;;;6306:21:1;6363:1;6343:18;;;6336:29;-1:-1:-1;;;6381:18:1;;;6374:36;6427:18;;3577:26:0;;;;;;;;;3608:10;:15;3514:114::o;3417:92::-;3469:12;:10;:12::i;:::-;3486:13;:18;;-1:-1:-1;;;;;;3486:18:0;-1:-1:-1;;;;;3486:18:0;;;;;;;;;;3417:92::o;3188:116::-;3232:12;:10;:12::i;:::-;-1:-1:-1;;;;;3257:14:0;;3249:31;;;;-1:-1:-1;;;3249:31:0;;6658:2:1;3249:31:0;;;6640:21:1;6697:1;6677:18;;;6670:29;-1:-1:-1;;;6715:18:1;;;6708:35;6760:18;;3249:31:0;6456:328:1;3249:31:0;3285:9;:14;;-1:-1:-1;;;;;;3285:14:0;-1:-1:-1;;;;;3285:14:0;;;;;;;;;;3188:116::o;1571:24::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1571:24:0;;-1:-1:-1;1571:24:0;:::o;4401:162::-;4483:1;4468:5;-1:-1:-1;;;;;4468:5:0;:17;4460:41;;;;-1:-1:-1;;;4460:41:0;;6991:2:1;4460:41:0;;;6973:21:1;7030:2;7010:18;;;7003:30;-1:-1:-1;;;7049:18:1;;;7042:42;7101:18;;4460:41:0;6789:336:1;4460:41:0;4506:5;:16;;-1:-1:-1;;;;;;4506:16:0;;;4512:10;4506:16;;;;4527:7;:10;;-1:-1:-1;;;;;4527:10:0;;;;;;;;;4542:13;:16;;;;;;;;;;;;;;4401:162::o;3633:336::-;3743:12;:10;:12::i;:::-;3760:14;3767:7;;3760:14;:::i;:::-;3779:16;3786:9;;3779:16;:::i;:::-;3800:18;3807:11;;3800:18;:::i;:::-;3834:7;:14;3823:8;3853:112;3868:3;3865:1;:6;3853:112;;;3884:7;3897:2;3900:1;3897:5;;;;;;;;:::i;:::-;;;;;;;;;;;;3884:19;;;;;;;-1:-1:-1;3884:19:0;;;;;;;;;;-1:-1:-1;;;;;;3884:19:0;-1:-1:-1;;;;;3884:19:0;;;;;;;;;3924:5;;3909:9;;3924:5;;3927:1;;3924:5;;;;;;:::i;:::-;;;;;;;;;;;;3909:21;;;;;;;-1:-1:-1;3909:21:0;;;;;;;;;;-1:-1:-1;;;;;;3909:21:0;-1:-1:-1;;;;;3909:21:0;;;;;;;;;3953:5;;3936:11;;3953:5;;3956:1;;3953:5;;;;;;:::i;:::-;;;;;;;;;;;;3936:23;;;;;;;-1:-1:-1;3936:23:0;;;;;;;;;3873:3;;;;:::i;:::-;;;;3853:112;;;;3738:231;3633:336;;;:::o;1682:25::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1682:25:0;:::o;1799:1318::-;1884:63;;-1:-1:-1;;;1884:63:0;;1912:10;1884:63;;;7774:34:1;1932:4:0;7824:18:1;;;7817:43;7876:18;;;7869:34;;;-1:-1:-1;;;;;1884:27:0;;;;;7709:18:1;;1884:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1871:105;;;;-1:-1:-1;;;1871:105:0;;8398:2:1;1871:105:0;;;8380:21:1;8437:2;8417:18;;;8410:30;-1:-1:-1;;;8456:18:1;;;8449:46;8512:18;;1871:105:0;8196:340:1;1871:105:0;1991:10;;2009:6;;2006:954;;2026:2;2030:1;2026:5;2023:79;;2091:4;2076:12;2086:2;2076:7;:12;:::i;:::-;:19;;;;:::i;:::-;2065:30;;;;:::i;:::-;;;2023:79;2118:7;:14;2107:8;;2156:64;2171:3;2168:1;:6;2156:64;;;2199:11;2211:1;2199:14;;;;;;;;:::i;:::-;;;;;;;;;2188:25;;;;;:::i;:::-;;-1:-1:-1;2176:3:0;;;;:::i;:::-;;;;2156:64;;;;2229:6;2225:315;2240:3;2237:1;:6;2225:315;;;2257:13;2273:9;2283:1;2273:12;;;;;;;;:::i;:::-;;;;;;;;;;2313:11;:14;;-1:-1:-1;;;;;2273:12:0;;;;-1:-1:-1;2330:7:0;;2325:1;;2313:14;;;;;;:::i;:::-;;;;;;;;;2303:7;:24;;;;:::i;:::-;:34;;;;:::i;:::-;2292:45;-1:-1:-1;2347:5:0;;2344:190;;2362:74;;-1:-1:-1;;;2362:74:0;;-1:-1:-1;;;;;9391:32:1;;;2362:74:0;;;9373:51:1;9440:18;;;9433:34;;;2362:30:0;;;;;9346:18:1;;2362:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2451:68:0;;-1:-1:-1;;;2451:68:0;;-1:-1:-1;;;;;9391:32:1;;;2451:68:0;;;9373:51:1;9440:18;;;9433:34;;;2451:30:0;;;;;9346:18:1;;2451:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2344:190;2250:290;;2245:3;;;;;:::i;:::-;;;;2225:315;;;;2017:528;;2006:954;;;2571:7;;:21;;;-1:-1:-1;;;2571:21:0;;;;2560:8;;-1:-1:-1;;;;;2571:7:0;;:19;;:21;;;;;;;;;;;;;;:7;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2609:7;:14;2560:32;;-1:-1:-1;2598:8:0;2629:326;2644:3;2641:1;:6;2629:326;;;2661:13;2677:9;2687:1;2677:12;;;;;;;;:::i;:::-;;;;;;;;;;2717:7;;2735;:10;;-1:-1:-1;;;;;2677:12:0;;;;-1:-1:-1;2749:3:0;;2717:7;;;;:17;;2735:7;2743:1;;2735:10;;;;;;:::i;:::-;;;;;;;;;;;2717:29;;;;;;-1:-1:-1;;;;;;2717:29:0;;;-1:-1:-1;;;;;2735:10:0;;;2717:29;;;733:51:1;706:18;;2717:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2707:39;;:7;:39;:::i;:::-;:45;;;;:::i;:::-;2696:56;-1:-1:-1;2762:5:0;;2759:190;;2777:74;;-1:-1:-1;;;2777:74:0;;-1:-1:-1;;;;;9391:32:1;;;2777:74:0;;;9373:51:1;9440:18;;;9433:34;;;2777:30:0;;;;;9346:18:1;;2777:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2866:68:0;;-1:-1:-1;;;2866:68:0;;-1:-1:-1;;;;;9391:32:1;;;2866:68:0;;;9373:51:1;9440:18;;;9433:34;;;2866:30:0;;;;;9346:18:1;;2866:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2759:190;2654:301;;2649:3;;;;;:::i;:::-;;;;2629:326;;;;2554:406;;2006:954;2981:39;;-1:-1:-1;;;2981:39:0;;3014:4;2981:39;;;733:51:1;2970:8:0;;-1:-1:-1;;;;;2981:24:0;;;;;706:18:1;;2981:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2970:50;-1:-1:-1;3029:7:0;;3026:82;;3076:13;;3045:50;;-1:-1:-1;;;3045:50:0;;-1:-1:-1;;;;;3076:13:0;;;3045:50;;;9373:51:1;9440:18;;;9433:34;;;3045:30:0;;;;;;9346:18:1;;3045:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;3026:82::-;2964:149;1866:1251;1799:1318;;:::o;3122:61::-;3157:7;;;;;;;;;-1:-1:-1;;;;;3157:7:0;-1:-1:-1;;;;;3157:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4146:250;4200:12;:10;:12::i;:::-;4228:7;:14;;;4269:5;4273:1;4228:14;4269:5;:::i;:::-;4261:14;;;;;;;;:::i;:::-;;;;;;;;;;;4247:7;:11;;-1:-1:-1;;;;;4261:14:0;;;;4255:2;;4247:11;;;;;;:::i;:::-;;;;;;;;;;:28;;-1:-1:-1;;;;;;4247:28:0;-1:-1:-1;;;;;4247:28:0;;;;;;;;;;4296:9;4306:5;-1:-1:-1;4306:3:0;:5;:::i;:::-;4296:16;;;;;;;;:::i;:::-;;;;;;;;;;;4280:9;:13;;-1:-1:-1;;;;;4296:16:0;;;;4290:2;;4280:13;;;;;;:::i;:::-;;;;;;;;;;:32;;-1:-1:-1;;;;;;4280:32:0;-1:-1:-1;;;;;4280:32:0;;;;;;;;;;4335:11;4347:5;-1:-1:-1;4347:3:0;:5;:::i;:::-;4335:18;;;;;;;;:::i;:::-;;;;;;;;;4317:11;4329:2;4317:15;;;;;;;;:::i;:::-;;;;;;;;;;:36;4358:7;:13;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;4358:13:0;;;;;-1:-1:-1;;;;;;4358:13:0;;;;;;4376:9;:15;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;4376:15:0;;;;;-1:-1:-1;;;;;;4376:15:0;;;;;;-1:-1:-1;;4146:250:0:o;3974:167::-;4055:12;:10;:12::i;:::-;4072:7;:16;;;;;;;;;;;;;-1:-1:-1;;;;;4072:16:0;;;-1:-1:-1;;;;;;4072:16:0;;;;;;;4093:9;:18;;;;;;;;;;;;;;;;;;;;;;;;;4116:11;:20;;;;;;;-1:-1:-1;4116:20:0;;;;3974:167::o;3309:103::-;3366:9;;-1:-1:-1;;;;;3366:9:0;3354:10;:21;3346:39;;;;-1:-1:-1;;;3346:39:0;;10001:2:1;3346:39:0;;;9983:21:1;10040:1;10020:18;;;10013:29;-1:-1:-1;;;10058:18:1;;;10051:36;10104:18;;3346:39:0;9799:329:1;3346:39:0;3398:9;;;3390:17;;-1:-1:-1;;;;;;3390:17:0;-1:-1:-1;;;;;3398:9:0;;;3390:17;;;;;;3309:103::o;1599:28::-;;;;;;;;;;;;1713:81;1774:5;;-1:-1:-1;;;;;1774:5:0;1762:10;:17;1754:35;;;;-1:-1:-1;;;1754:35:0;;10335:2:1;1754:35:0;;;10317:21:1;10374:1;10354:18;;;10347:29;-1:-1:-1;;;10392:18:1;;;10385:36;10438:18;;1754:35:0;10133:329:1;1754:35:0;1713:81::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;:::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:403::-;878:6;886;939:2;927:9;918:7;914:23;910:32;907:52;;;955:1;952;945:12;907:52;994:9;981:23;1013:31;1038:5;1013:31;:::i;:::-;1063:5;-1:-1:-1;1120:2:1;1105:18;;1092:32;1133:33;1092:32;1133:33;:::i;:::-;1185:7;1175:17;;;795:403;;;;;:::o;1203:127::-;1264:10;1259:3;1255:20;1252:1;1245:31;1295:4;1292:1;1285:15;1319:4;1316:1;1309:15;1335:275;1406:2;1400:9;1471:2;1452:13;;-1:-1:-1;;1448:27:1;1436:40;;1506:18;1491:34;;1527:22;;;1488:62;1485:88;;;1553:18;;:::i;:::-;1589:2;1582:22;1335:275;;-1:-1:-1;1335:275:1:o;1615:183::-;1675:4;1708:18;1700:6;1697:30;1694:56;;;1730:18;;:::i;:::-;-1:-1:-1;1775:1:1;1771:14;1787:4;1767:25;;1615:183::o;1803:748::-;1868:5;1921:3;1914:4;1906:6;1902:17;1898:27;1888:55;;1939:1;1936;1929:12;1888:55;1975:6;1962:20;2001:4;2025:60;2041:43;2081:2;2041:43;:::i;:::-;2025:60;:::i;:::-;2119:15;;;2205:1;2201:10;;;;2189:23;;2185:32;;;2150:12;;;;2229:15;;;2226:35;;;2257:1;2254;2247:12;2226:35;2293:2;2285:6;2281:15;2305:217;2321:6;2316:3;2313:15;2305:217;;;2401:3;2388:17;2418:31;2443:5;2418:31;:::i;:::-;2462:18;;2500:12;;;;2338;;2305:217;;;-1:-1:-1;2540:5:1;1803:748;-1:-1:-1;;;;;;1803:748:1:o;2556:662::-;2610:5;2663:3;2656:4;2648:6;2644:17;2640:27;2630:55;;2681:1;2678;2671:12;2630:55;2717:6;2704:20;2743:4;2767:60;2783:43;2823:2;2783:43;:::i;2767:60::-;2861:15;;;2947:1;2943:10;;;;2931:23;;2927:32;;;2892:12;;;;2971:15;;;2968:35;;;2999:1;2996;2989:12;2968:35;3035:2;3027:6;3023:15;3047:142;3063:6;3058:3;3055:15;3047:142;;;3129:17;;3117:30;;3167:12;;;;3080;;3047:142;;3223:1468;3391:6;3399;3407;3460:2;3448:9;3439:7;3435:23;3431:32;3428:52;;;3476:1;3473;3466:12;3428:52;3516:9;3503:23;3545:18;3586:2;3578:6;3575:14;3572:34;;;3602:1;3599;3592:12;3572:34;3640:6;3629:9;3625:22;3615:32;;3685:7;3678:4;3674:2;3670:13;3666:27;3656:55;;3707:1;3704;3697:12;3656:55;3743:2;3730:16;3765:4;3789:60;3805:43;3845:2;3805:43;:::i;3789:60::-;3883:15;;;3965:1;3961:10;;;;3953:19;;3949:28;;;3914:12;;;;3989:19;;;3986:39;;;4021:1;4018;4011:12;3986:39;4045:11;;;;4065:217;4081:6;4076:3;4073:15;4065:217;;;4161:3;4148:17;4178:31;4203:5;4178:31;:::i;:::-;4222:18;;4098:12;;;;4260;;;;4065:217;;;4301:5;-1:-1:-1;;4344:18:1;;4331:32;;-1:-1:-1;;4375:16:1;;;4372:36;;;4404:1;4401;4394:12;4372:36;4427:74;4493:7;4482:8;4471:9;4467:24;4427:74;:::i;:::-;4417:84;;4554:2;4543:9;4539:18;4526:32;4510:48;;4583:2;4573:8;4570:16;4567:36;;;4599:1;4596;4589:12;4567:36;;4622:63;4677:7;4666:8;4655:9;4651:24;4622:63;:::i;:::-;4612:73;;;3223:1468;;;;;:::o;5101:315::-;5169:6;5177;5230:2;5218:9;5209:7;5205:23;5201:32;5198:52;;;5246:1;5243;5236:12;5198:52;5285:9;5272:23;5304:31;5329:5;5304:31;:::i;:::-;5354:5;5406:2;5391:18;;;;5378:32;;-1:-1:-1;;;5101:315:1:o;5421:472::-;5514:6;5522;5530;5583:2;5571:9;5562:7;5558:23;5554:32;5551:52;;;5599:1;5596;5589:12;5551:52;5638:9;5625:23;5657:31;5682:5;5657:31;:::i;:::-;5707:5;-1:-1:-1;5764:2:1;5749:18;;5736:32;5777:33;5736:32;5777:33;:::i;:::-;5421:472;;5829:7;;-1:-1:-1;;;5883:2:1;5868:18;;;;5855:32;;5421:472::o;7130:127::-;7191:10;7186:3;7182:20;7179:1;7172:31;7222:4;7219:1;7212:15;7246:4;7243:1;7236:15;7262:127;7323:10;7318:3;7314:20;7311:1;7304:31;7354:4;7351:1;7344:15;7378:4;7375:1;7368:15;7394:135;7433:3;-1:-1:-1;;7454:17:1;;7451:43;;;7474:18;;:::i;:::-;-1:-1:-1;7521:1:1;7510:13;;7394:135::o;7914:277::-;7981:6;8034:2;8022:9;8013:7;8009:23;8005:32;8002:52;;;8050:1;8047;8040:12;8002:52;8082:9;8076:16;8135:5;8128:13;8121:21;8114:5;8111:32;8101:60;;8157:1;8154;8147:12;8541:168;8581:7;8647:1;8643;8639:6;8635:14;8632:1;8629:21;8624:1;8617:9;8610:17;8606:45;8603:71;;;8654:18;;:::i;:::-;-1:-1:-1;8694:9:1;;8541:168::o;8714:217::-;8754:1;8780;8770:132;;8824:10;8819:3;8815:20;8812:1;8805:31;8859:4;8856:1;8849:15;8887:4;8884:1;8877:15;8770:132;-1:-1:-1;8916:9:1;;8714:217::o;8936:125::-;8976:4;9004:1;9001;8998:8;8995:34;;;9009:18;;:::i;:::-;-1:-1:-1;9046:9:1;;8936:125::o;9066:128::-;9106:3;9137:1;9133:6;9130:1;9127:13;9124:39;;;9143:18;;:::i;:::-;-1:-1:-1;9179:9:1;;9066:128::o;9478:184::-;9548:6;9601:2;9589:9;9580:7;9576:23;9572:32;9569:52;;;9617:1;9614;9607:12;9569:52;-1:-1:-1;9640:16:1;;9478:184;-1:-1:-1;9478:184:1:o;9667:127::-;9728:10;9723:3;9719:20;9716:1;9709:31;9759:4;9756:1;9749:15;9783:4;9780:1;9773:15

Swarm Source

ipfs://1f8441c48049bb513e12b85dd718764d19cca52e85dc59235f1e5198b03d9c16

Block Transaction Gas Used Reward
view all blocks ##produced##

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

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.