S Price: $0.576781 (-2.84%)

Contract

0x5023217a94416ddb2aa4fbF00B4Fd24Cbf56f04C

Overview

S Balance

Sonic LogoSonic LogoSonic Logo0 S

S Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

Please try again later

Parent Transaction Hash Block From To
View All Internal 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
/**
 *Submitted for verification at SonicScan.org on 2025-01-03
*/

/**
 *Submitted for verification at basescan.org on 2024-04-10
*/

/**
 *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

Contract ABI

[{"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"}]

608060405234801561001057600080fd5b50611585806100206000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80638da5cb5b116100b8578063d2b51aff1161007c578063d2b51aff14610270578063dd1d9cca14610283578063e7b4cf2414610296578063f0fe2472146102a9578063f9dca989146102bc578063fcf8770f146102c457600080fd5b80638da5cb5b1461021c578063ac210cc71461022f578063ccfcd61514610242578063d21220a714610255578063d294f0931461026857600080fd5b80632a11ced0116100ff5780632a11ced0146101b95780635913e357146101cc5780635b4246d4146101df57806369f3331d146101f6578063826518c91461020957600080fd5b80626cd2001461013b578063056d1412146101505780630dfe16811461016357806313af4035146101935780631459457a146101a6575b600080fd5b61014e610149366004611123565b6102d7565b005b61014e61015e366004611151565b61032a565b600954610176906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61014e6101a1366004611151565b610354565b61014e6101b4366004611175565b6103bc565b6101766101c7366004611123565b61046d565b61014e6101da366004611320565b610497565b6101e860065481565b60405190815260200161018a565b600154610176906001600160a01b031681565b6101e8610217366004611123565b6105c1565b600054610176906001600160a01b031681565b600354610176906001600160a01b031681565b61014e610250366004611175565b6105e2565b600a54610176906001600160a01b031681565b61014e61068b565b61014e61027e366004611123565b610831565b600854610176906001600160a01b031681565b61014e6102a4366004611406565b6109d1565b600254610176906001600160a01b031681565b61014e610a90565b6101766102d2366004611123565b610af7565b6102df610b07565b670de0b6b3a76400008111156103255760405162461bcd60e51b81526020600482015260066024820152653e313030252160d01b60448201526064015b60405180910390fd5b600655565b610332610b07565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b61035c610b07565b6001600160a01b03811661039a5760405162461bcd60e51b8152602060048201526005602482015264085c99585b60da1b604482015260640161031c565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316156104045760405162461bcd60e51b815260206004820152600c60248201526b696e697469616c697a65642160a01b604482015260640161031c565b60008054336001600160a01b0319918216179091556002805482166001600160a01b039788161790556003805482169587169590951790945560088054851693861693909317909255600980548416918516919091179055600a80549092169216919091179055565b6004818154811061047d57600080fd5b6000918252602090912001546001600160a01b0316905081565b61049f610b07565b6104ab600460006110f1565b6104b7600560006110f1565b6104c3600760006110f1565b60045460005b818110156105ba5760048582815181106104e5576104e5611447565b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b03909216919091179055835160059085908390811061053757610537611447565b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b03909216919091179055825160079084908390811061058957610589611447565b60209081029190910181015182546001810184556000938452919092200155806105b281611473565b9150506104c9565b5050505050565b600781815481106105d157600080fd5b600091825260209091200154905081565b6000546001600160a01b0316331461062c5760405162461bcd60e51b815260206004820152600d60248201526c756e617574686f72697a65642160981b604482015260640161031c565b600280546001600160a01b03199081166001600160a01b03978816179091556003805482169587169590951790945560088054851693861693909317909255600980548416918516919091179055600a80549092169216919091179055565b600854600954600a54604051633a600ce760e01b81526001600160a01b0392831660048201529082166024820152911690633a600ce790604401600060405180830381600087803b1580156106df57600080fd5b505af11580156106f3573d6000803e3d6000fd5b50506009546040516370a0823160e01b8152306004820152600093506001600160a01b0390911691506370a082319060240160206040518083038186803b15801561073d57600080fd5b505afa158015610751573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610775919061148e565b9050801561079357600954610793906001600160a01b031682610b4c565b50600a546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a082319060240160206040518083038186803b1580156107d857600080fd5b505afa1580156107ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610810919061148e565b9050801561082e57600a5461082e906001600160a01b031682610b4c565b50565b610839610b07565b60048054906108496001836114a7565b8154811061085957610859611447565b600091825260209091200154600480546001600160a01b03909216918490811061088557610885611447565b600091825260209091200180546001600160a01b0319166001600160a01b039290921691909117905560056108bb6001836114a7565b815481106108cb576108cb611447565b600091825260209091200154600580546001600160a01b0390921691849081106108f7576108f7611447565b600091825260209091200180546001600160a01b0319166001600160a01b0392909216919091179055600761092d6001836114a7565b8154811061093d5761093d611447565b90600052602060002001546007838154811061095b5761095b611447565b6000918252602090912001556004805480610978576109786114be565b600082815260209020810160001990810180546001600160a01b031916905501905560058054806109ab576109ab6114be565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b6109d9610b07565b6004805460018181019092557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b039586166001600160a01b031991821617909155600580548084019091557f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0018054949095169316929092179092556007805491820181556000527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880155565b6001546001600160a01b03163314610ad35760405162461bcd60e51b815260206004820152600660248201526510b7bbb732b960d11b604482015260640161031c565b600154600080546001600160a01b0319166001600160a01b03909216919091179055565b6005818154811061047d57600080fd5b6000546001600160a01b03163314610b4a5760405162461bcd60e51b815260206004820152600660248201526510a7bbb732b960d11b604482015260640161031c565b565b6006548015610d4d5780600114610b8757670de0b6b3a7640000610b7082846114d4565b610b7a91906114f3565b610b8490836114a7565b91505b6004546000805b82811015610bd35760078181548110610ba957610ba9611447565b906000526020600020015482610bbf9190611515565b915080610bcb81611473565b915050610b8e565b5060005b82811015610d4557600060058281548110610bf457610bf4611447565b6000918252602082200154600780546001600160a01b039092169350859185908110610c2257610c22611447565b906000526020600020015488610c3891906114d4565b610c4291906114f3565b90508015610d305760405163095ea7b360e01b81526001600160a01b0383811660048301526024820183905289169063095ea7b390604401602060405180830381600087803b158015610c9457600080fd5b505af1158015610ca8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ccc919061152d565b5060405163b66503cf60e01b81526001600160a01b0389811660048301526024820183905283169063b66503cf90604401600060405180830381600087803b158015610d1757600080fd5b505af1158015610d2b573d6000803e3d6000fd5b505050505b50508080610d3d90611473565b915050610bd7565b505050610fca565b600354604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b158015610d9257600080fd5b505afa158015610da6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dca919061148e565b60045490915060005b81811015610fc657600060058281548110610df057610df0611447565b6000918252602082200154600354600480546001600160a01b0393841695508893909216916370a08231919087908110610e2c57610e2c611447565b60009182526020909120015460405160e083901b6001600160e01b03191681526001600160a01b03909116600482015260240160206040518083038186803b158015610e7757600080fd5b505afa158015610e8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eaf919061148e565b610eb990896114d4565b610ec391906114f3565b90508015610fb15760405163095ea7b360e01b81526001600160a01b0383811660048301526024820183905289169063095ea7b390604401602060405180830381600087803b158015610f1557600080fd5b505af1158015610f29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4d919061152d565b5060405163b66503cf60e01b81526001600160a01b0389811660048301526024820183905283169063b66503cf90604401600060405180830381600087803b158015610f9857600080fd5b505af1158015610fac573d6000803e3d6000fd5b505050505b50508080610fbe90611473565b915050610dd3565b5050505b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a082319060240160206040518083038186803b15801561100c57600080fd5b505afa158015611020573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611044919061148e565b6002549091506001600160a01b031680158015906110625750600082115b156105ba5760405163a9059cbb60e01b81526001600160a01b0382811660048301526024820184905286169063a9059cbb90604401602060405180830381600087803b1580156110b157600080fd5b505af11580156110c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e9919061152d565b505050505050565b508054600082559060005260206000209081019061082e91905b8082111561111f576000815560010161110b565b5090565b60006020828403121561113557600080fd5b5035919050565b6001600160a01b038116811461082e57600080fd5b60006020828403121561116357600080fd5b813561116e8161113c565b9392505050565b600080600080600060a0868803121561118d57600080fd5b85356111988161113c565b945060208601356111a88161113c565b935060408601356111b88161113c565b925060608601356111c88161113c565b915060808601356111d88161113c565b809150509295509295909350565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611225576112256111e6565b604052919050565b600067ffffffffffffffff821115611247576112476111e6565b5060051b60200190565b600082601f83011261126257600080fd5b813560206112776112728361122d565b6111fc565b82815260059290921b8401810191818101908684111561129657600080fd5b8286015b848110156112ba5780356112ad8161113c565b835291830191830161129a565b509695505050505050565b600082601f8301126112d657600080fd5b813560206112e66112728361122d565b82815260059290921b8401810191818101908684111561130557600080fd5b8286015b848110156112ba5780358352918301918301611309565b60008060006060848603121561133557600080fd5b833567ffffffffffffffff8082111561134d57600080fd5b818601915086601f83011261136157600080fd5b813560206113716112728361122d565b82815260059290921b8401810191818101908a84111561139057600080fd5b948201945b838610156113b75785356113a88161113c565b82529482019490820190611395565b975050870135925050808211156113cd57600080fd5b6113d987838801611251565b935060408601359150808211156113ef57600080fd5b506113fc868287016112c5565b9150509250925092565b60008060006060848603121561141b57600080fd5b83356114268161113c565b925060208401356114368161113c565b929592945050506040919091013590565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156114875761148761145d565b5060010190565b6000602082840312156114a057600080fd5b5051919050565b6000828210156114b9576114b961145d565b500390565b634e487b7160e01b600052603160045260246000fd5b60008160001904831182151516156114ee576114ee61145d565b500290565b60008261151057634e487b7160e01b600052601260045260246000fd5b500490565b600082198211156115285761152861145d565b500190565b60006020828403121561153f57600080fd5b8151801515811461116e57600080fdfea264697066735822122053a346f106ba5876664c161bbede87090ad2147d6b41efc879479d23e9711cc264736f6c63430008090033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101365760003560e01c80638da5cb5b116100b8578063d2b51aff1161007c578063d2b51aff14610270578063dd1d9cca14610283578063e7b4cf2414610296578063f0fe2472146102a9578063f9dca989146102bc578063fcf8770f146102c457600080fd5b80638da5cb5b1461021c578063ac210cc71461022f578063ccfcd61514610242578063d21220a714610255578063d294f0931461026857600080fd5b80632a11ced0116100ff5780632a11ced0146101b95780635913e357146101cc5780635b4246d4146101df57806369f3331d146101f6578063826518c91461020957600080fd5b80626cd2001461013b578063056d1412146101505780630dfe16811461016357806313af4035146101935780631459457a146101a6575b600080fd5b61014e610149366004611123565b6102d7565b005b61014e61015e366004611151565b61032a565b600954610176906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61014e6101a1366004611151565b610354565b61014e6101b4366004611175565b6103bc565b6101766101c7366004611123565b61046d565b61014e6101da366004611320565b610497565b6101e860065481565b60405190815260200161018a565b600154610176906001600160a01b031681565b6101e8610217366004611123565b6105c1565b600054610176906001600160a01b031681565b600354610176906001600160a01b031681565b61014e610250366004611175565b6105e2565b600a54610176906001600160a01b031681565b61014e61068b565b61014e61027e366004611123565b610831565b600854610176906001600160a01b031681565b61014e6102a4366004611406565b6109d1565b600254610176906001600160a01b031681565b61014e610a90565b6101766102d2366004611123565b610af7565b6102df610b07565b670de0b6b3a76400008111156103255760405162461bcd60e51b81526020600482015260066024820152653e313030252160d01b60448201526064015b60405180910390fd5b600655565b610332610b07565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b61035c610b07565b6001600160a01b03811661039a5760405162461bcd60e51b8152602060048201526005602482015264085c99585b60da1b604482015260640161031c565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316156104045760405162461bcd60e51b815260206004820152600c60248201526b696e697469616c697a65642160a01b604482015260640161031c565b60008054336001600160a01b0319918216179091556002805482166001600160a01b039788161790556003805482169587169590951790945560088054851693861693909317909255600980548416918516919091179055600a80549092169216919091179055565b6004818154811061047d57600080fd5b6000918252602090912001546001600160a01b0316905081565b61049f610b07565b6104ab600460006110f1565b6104b7600560006110f1565b6104c3600760006110f1565b60045460005b818110156105ba5760048582815181106104e5576104e5611447565b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b03909216919091179055835160059085908390811061053757610537611447565b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b03909216919091179055825160079084908390811061058957610589611447565b60209081029190910181015182546001810184556000938452919092200155806105b281611473565b9150506104c9565b5050505050565b600781815481106105d157600080fd5b600091825260209091200154905081565b6000546001600160a01b0316331461062c5760405162461bcd60e51b815260206004820152600d60248201526c756e617574686f72697a65642160981b604482015260640161031c565b600280546001600160a01b03199081166001600160a01b03978816179091556003805482169587169590951790945560088054851693861693909317909255600980548416918516919091179055600a80549092169216919091179055565b600854600954600a54604051633a600ce760e01b81526001600160a01b0392831660048201529082166024820152911690633a600ce790604401600060405180830381600087803b1580156106df57600080fd5b505af11580156106f3573d6000803e3d6000fd5b50506009546040516370a0823160e01b8152306004820152600093506001600160a01b0390911691506370a082319060240160206040518083038186803b15801561073d57600080fd5b505afa158015610751573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610775919061148e565b9050801561079357600954610793906001600160a01b031682610b4c565b50600a546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a082319060240160206040518083038186803b1580156107d857600080fd5b505afa1580156107ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610810919061148e565b9050801561082e57600a5461082e906001600160a01b031682610b4c565b50565b610839610b07565b60048054906108496001836114a7565b8154811061085957610859611447565b600091825260209091200154600480546001600160a01b03909216918490811061088557610885611447565b600091825260209091200180546001600160a01b0319166001600160a01b039290921691909117905560056108bb6001836114a7565b815481106108cb576108cb611447565b600091825260209091200154600580546001600160a01b0390921691849081106108f7576108f7611447565b600091825260209091200180546001600160a01b0319166001600160a01b0392909216919091179055600761092d6001836114a7565b8154811061093d5761093d611447565b90600052602060002001546007838154811061095b5761095b611447565b6000918252602090912001556004805480610978576109786114be565b600082815260209020810160001990810180546001600160a01b031916905501905560058054806109ab576109ab6114be565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b6109d9610b07565b6004805460018181019092557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b039586166001600160a01b031991821617909155600580548084019091557f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0018054949095169316929092179092556007805491820181556000527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880155565b6001546001600160a01b03163314610ad35760405162461bcd60e51b815260206004820152600660248201526510b7bbb732b960d11b604482015260640161031c565b600154600080546001600160a01b0319166001600160a01b03909216919091179055565b6005818154811061047d57600080fd5b6000546001600160a01b03163314610b4a5760405162461bcd60e51b815260206004820152600660248201526510a7bbb732b960d11b604482015260640161031c565b565b6006548015610d4d5780600114610b8757670de0b6b3a7640000610b7082846114d4565b610b7a91906114f3565b610b8490836114a7565b91505b6004546000805b82811015610bd35760078181548110610ba957610ba9611447565b906000526020600020015482610bbf9190611515565b915080610bcb81611473565b915050610b8e565b5060005b82811015610d4557600060058281548110610bf457610bf4611447565b6000918252602082200154600780546001600160a01b039092169350859185908110610c2257610c22611447565b906000526020600020015488610c3891906114d4565b610c4291906114f3565b90508015610d305760405163095ea7b360e01b81526001600160a01b0383811660048301526024820183905289169063095ea7b390604401602060405180830381600087803b158015610c9457600080fd5b505af1158015610ca8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ccc919061152d565b5060405163b66503cf60e01b81526001600160a01b0389811660048301526024820183905283169063b66503cf90604401600060405180830381600087803b158015610d1757600080fd5b505af1158015610d2b573d6000803e3d6000fd5b505050505b50508080610d3d90611473565b915050610bd7565b505050610fca565b600354604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b158015610d9257600080fd5b505afa158015610da6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dca919061148e565b60045490915060005b81811015610fc657600060058281548110610df057610df0611447565b6000918252602082200154600354600480546001600160a01b0393841695508893909216916370a08231919087908110610e2c57610e2c611447565b60009182526020909120015460405160e083901b6001600160e01b03191681526001600160a01b03909116600482015260240160206040518083038186803b158015610e7757600080fd5b505afa158015610e8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eaf919061148e565b610eb990896114d4565b610ec391906114f3565b90508015610fb15760405163095ea7b360e01b81526001600160a01b0383811660048301526024820183905289169063095ea7b390604401602060405180830381600087803b158015610f1557600080fd5b505af1158015610f29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4d919061152d565b5060405163b66503cf60e01b81526001600160a01b0389811660048301526024820183905283169063b66503cf90604401600060405180830381600087803b158015610f9857600080fd5b505af1158015610fac573d6000803e3d6000fd5b505050505b50508080610fbe90611473565b915050610dd3565b5050505b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a082319060240160206040518083038186803b15801561100c57600080fd5b505afa158015611020573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611044919061148e565b6002549091506001600160a01b031680158015906110625750600082115b156105ba5760405163a9059cbb60e01b81526001600160a01b0382811660048301526024820184905286169063a9059cbb90604401602060405180830381600087803b1580156110b157600080fd5b505af11580156110c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e9919061152d565b505050505050565b508054600082559060005260206000209081019061082e91905b8082111561111f576000815560010161110b565b5090565b60006020828403121561113557600080fd5b5035919050565b6001600160a01b038116811461082e57600080fd5b60006020828403121561116357600080fd5b813561116e8161113c565b9392505050565b600080600080600060a0868803121561118d57600080fd5b85356111988161113c565b945060208601356111a88161113c565b935060408601356111b88161113c565b925060608601356111c88161113c565b915060808601356111d88161113c565b809150509295509295909350565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611225576112256111e6565b604052919050565b600067ffffffffffffffff821115611247576112476111e6565b5060051b60200190565b600082601f83011261126257600080fd5b813560206112776112728361122d565b6111fc565b82815260059290921b8401810191818101908684111561129657600080fd5b8286015b848110156112ba5780356112ad8161113c565b835291830191830161129a565b509695505050505050565b600082601f8301126112d657600080fd5b813560206112e66112728361122d565b82815260059290921b8401810191818101908684111561130557600080fd5b8286015b848110156112ba5780358352918301918301611309565b60008060006060848603121561133557600080fd5b833567ffffffffffffffff8082111561134d57600080fd5b818601915086601f83011261136157600080fd5b813560206113716112728361122d565b82815260059290921b8401810191818101908a84111561139057600080fd5b948201945b838610156113b75785356113a88161113c565b82529482019490820190611395565b975050870135925050808211156113cd57600080fd5b6113d987838801611251565b935060408601359150808211156113ef57600080fd5b506113fc868287016112c5565b9150509250925092565b60008060006060848603121561141b57600080fd5b83356114268161113c565b925060208401356114368161113c565b929592945050506040919091013590565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156114875761148761145d565b5060010190565b6000602082840312156114a057600080fd5b5051919050565b6000828210156114b9576114b961145d565b500390565b634e487b7160e01b600052603160045260246000fd5b60008160001904831182151516156114ee576114ee61145d565b500290565b60008261151057634e487b7160e01b600052601260045260246000fd5b500490565b600082198211156115285761152861145d565b500190565b60006020828403121561153f57600080fd5b8151801515811461116e57600080fdfea264697066735822122053a346f106ba5876664c161bbede87090ad2147d6b41efc879479d23e9711cc264736f6c63430008090033

Deployed Bytecode Sourcemap

1768:3760:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4123:114;;;;;;:::i;:::-;;:::i;:::-;;4026:92;;;;;;:::i;:::-;;:::i;2088:21::-;;;;;-1:-1:-1;;;;;2088:21:0;;;;;;-1:-1:-1;;;;;751:32:1;;;733:51;;721:2;706:18;2088:21:0;;;;;;;;3797:116;;;;;;:::i;:::-;;:::i;5010:264::-;;;;;;:::i;:::-;;:::i;1907:24::-;;;;;;:::i;:::-;;:::i;4242:336::-;;;;;;:::i;:::-;;:::i;1967:22::-;;;;;;;;;5289:25:1;;;5277:2;5262:18;1967:22:0;5143:177:1;1820:24:0;;;;;-1:-1:-1;;;;;1820:24:0;;;2018:25;;;;;;:::i;:::-;;:::i;1796:20::-;;;;;-1:-1:-1;;;;;1796:20:0;;;1880:23;;;;;-1:-1:-1;;;;;1880:23:0;;;5279:246;;;;;;:::i;:::-;;:::i;2113:21::-;;;;;-1:-1:-1;;;;;2113:21:0;;;3475:317;;;:::i;4755:250::-;;;;;;:::i;:::-;;:::i;2047:37::-;;;;;-1:-1:-1;;;;;2047:37:0;;;4583:167;;;;;;:::i;:::-;;:::i;1848:28::-;;;;;-1:-1:-1;;;;;1848:28:0;;;3918:103;;;:::i;1935:28::-;;;;;;:::i;:::-;;:::i;4123:114::-;4169:12;:10;:12::i;:::-;4198:4;4194:2;:8;;4186:26;;;;-1:-1:-1;;;4186:26:0;;6681:2:1;4186:26:0;;;6663:21:1;6720:1;6700:18;;;6693:29;-1:-1:-1;;;6738:18:1;;;6731:36;6784:18;;4186:26:0;;;;;;;;;4217:10;:15;4123:114::o;4026:92::-;4078:12;:10;:12::i;:::-;4095:13;:18;;-1:-1:-1;;;;;;4095:18:0;-1:-1:-1;;;;;4095:18:0;;;;;;;;;;4026:92::o;3797:116::-;3841:12;:10;:12::i;:::-;-1:-1:-1;;;;;3866:14:0;;3858:31;;;;-1:-1:-1;;;3858:31:0;;7015:2:1;3858:31:0;;;6997:21:1;7054:1;7034:18;;;7027:29;-1:-1:-1;;;7072:18:1;;;7065:35;7117:18;;3858:31:0;6813:328:1;3858:31:0;3894:9;:14;;-1:-1:-1;;;;;;3894:14:0;-1:-1:-1;;;;;3894:14:0;;;;;;;;;;3797:116::o;5010:264::-;5138:1;5123:5;-1:-1:-1;;;;;5123:5:0;:17;5115:41;;;;-1:-1:-1;;;5115:41:0;;7348:2:1;5115:41:0;;;7330:21:1;7387:2;7367:18;;;7360:30;-1:-1:-1;;;7406:18:1;;;7399:42;7458:18;;5115:41:0;7146:336:1;5115:41:0;5161:5;:16;;5167:10;-1:-1:-1;;;;;;5161:16:0;;;;;;;5182:13;:16;;;;-1:-1:-1;;;;;5182:16:0;;;;;;5203:7;:10;;;;;;;;;;;;;;5218:14;:17;;;;;;;;;;;;;;5240:6;:12;;;;;;;;;;;;;5257:6;:12;;;;;;;;;;;;;5010:264::o;1907:24::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1907:24:0;;-1:-1:-1;1907:24:0;:::o;4242:336::-;4352:12;:10;:12::i;:::-;4369:14;4376:7;;4369:14;:::i;:::-;4388:16;4395:9;;4388:16;:::i;:::-;4409:18;4416:11;;4409:18;:::i;:::-;4443:7;:14;4432:8;4462:112;4477:3;4474:1;:6;4462:112;;;4493:7;4506:2;4509:1;4506:5;;;;;;;;:::i;:::-;;;;;;;;;;;;4493:19;;;;;;;-1:-1:-1;4493:19:0;;;;;;;;;;-1:-1:-1;;;;;;4493:19:0;-1:-1:-1;;;;;4493:19:0;;;;;;;;;4533:5;;4518:9;;4533:5;;4536:1;;4533:5;;;;;;:::i;:::-;;;;;;;;;;;;4518:21;;;;;;;-1:-1:-1;4518:21:0;;;;;;;;;;-1:-1:-1;;;;;;4518:21:0;-1:-1:-1;;;;;4518:21:0;;;;;;;;;4562:5;;4545:11;;4562:5;;4565:1;;4562:5;;;;;;:::i;:::-;;;;;;;;;;;;4545:23;;;;;;;-1:-1:-1;4545:23:0;;;;;;;;;4482:3;;;;:::i;:::-;;;;4462:112;;;;4347:231;4242:336;;;:::o;2018:25::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2018:25:0;:::o;5279:246::-;5406:5;;-1:-1:-1;;;;;5406:5:0;5394:10;:17;5386:42;;;;-1:-1:-1;;;5386:42:0;;8093:2:1;5386:42:0;;;8075:21:1;8132:2;8112:18;;;8105:30;-1:-1:-1;;;8151:18:1;;;8144:43;8204:18;;5386:42:0;7891:337:1;5386:42:0;5433:13;:16;;-1:-1:-1;;;;;;5433:16:0;;;-1:-1:-1;;;;;5433:16:0;;;;;;;5454:7;:10;;;;;;;;;;;;;;5469:14;:17;;;;;;;;;;;;;;5491:6;:12;;;;;;;;;;;;;5508:6;:12;;;;;;;;;;;;;5279:246::o;3475:317::-;3538:14;;3563:6;;3570;;3538:39;;-1:-1:-1;;;3538:39:0;;-1:-1:-1;;;;;3563:6:0;;;3538:39;;;8445:34:1;3570:6:0;;;8495:18:1;;;8488:43;3538:14:0;;;:24;;8380:18:1;;3538:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3606:6:0;;3599:39;;-1:-1:-1;;;3599:39:0;;3632:4;3599:39;;;733:51:1;3588:8:0;;-1:-1:-1;;;;;;3606:6:0;;;;-1:-1:-1;3599:24:0;;706:18:1;;3599:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3588:50;-1:-1:-1;3647:5:0;;3644:33;;3665:6;;3654:23;;-1:-1:-1;;;;;3665:6:0;3673:3;3654:10;:23::i;:::-;-1:-1:-1;3711:6:0;;3704:39;;-1:-1:-1;;;3704:39:0;;3737:4;3704:39;;;733:51:1;3693:8:0;;-1:-1:-1;;;;;3711:6:0;;3704:24;;706:18:1;;3704:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3693:50;-1:-1:-1;3752:5:0;;3749:33;;3770:6;;3759:23;;-1:-1:-1;;;;;3770:6:0;3778:3;3759:10;:23::i;:::-;3687:101;3475:317::o;4755:250::-;4809:12;:10;:12::i;:::-;4837:7;:14;;;4878:5;4882:1;4837:14;4878:5;:::i;:::-;4870:14;;;;;;;;:::i;:::-;;;;;;;;;;;4856:7;:11;;-1:-1:-1;;;;;4870:14:0;;;;4864:2;;4856:11;;;;;;:::i;:::-;;;;;;;;;;:28;;-1:-1:-1;;;;;;4856:28:0;-1:-1:-1;;;;;4856:28:0;;;;;;;;;;4905:9;4915:5;-1:-1:-1;4915:3:0;:5;:::i;:::-;4905:16;;;;;;;;:::i;:::-;;;;;;;;;;;4889:9;:13;;-1:-1:-1;;;;;4905:16:0;;;;4899:2;;4889:13;;;;;;:::i;:::-;;;;;;;;;;:32;;-1:-1:-1;;;;;;4889:32:0;-1:-1:-1;;;;;4889:32:0;;;;;;;;;;4944:11;4956:5;-1:-1:-1;4956:3:0;:5;:::i;:::-;4944:18;;;;;;;;:::i;:::-;;;;;;;;;4926:11;4938:2;4926:15;;;;;;;;:::i;:::-;;;;;;;;;;:36;4967:7;:13;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;4967:13:0;;;;;-1:-1:-1;;;;;;4967:13:0;;;;;;4985:9;:15;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;4985:15:0;;;;;-1:-1:-1;;;;;;4985:15:0;;;;;;-1:-1:-1;;4755:250:0:o;4583:167::-;4664:12;:10;:12::i;:::-;4681:7;:16;;;;;;;;;;;;;-1:-1:-1;;;;;4681:16:0;;;-1:-1:-1;;;;;;4681:16:0;;;;;;;4702:9;:18;;;;;;;;;;;;;;;;;;;;;;;;;4725:11;:20;;;;;;;-1:-1:-1;4725:20:0;;;;4583:167::o;3918:103::-;3975:9;;-1:-1:-1;;;;;3975:9:0;3963:10;:21;3955:39;;;;-1:-1:-1;;;3955:39:0;;9195:2:1;3955:39:0;;;9177:21:1;9234:1;9214:18;;;9207:29;-1:-1:-1;;;9252:18:1;;;9245:36;9298:18;;3955:39:0;8993:329:1;3955:39:0;4007:9;;;3999:17;;-1:-1:-1;;;;;;3999:17:0;-1:-1:-1;;;;;4007:9:0;;;3999:17;;;;;;3918:103::o;1935:28::-;;;;;;;;;;;;2140:81;2201:5;;-1:-1:-1;;;;;2201:5:0;2189:10;:17;2181:35;;;;-1:-1:-1;;;2181:35:0;;9529:2:1;2181:35:0;;;9511:21:1;9568:1;9548:18;;;9541:29;-1:-1:-1;;;9586:18:1;;;9579:36;9632:18;;2181:35:0;9327:329:1;2181:35:0;2140:81::o;2226:1244::-;2300:10;;2318:6;;2315:954;;2335:2;2339:1;2335:5;2332:79;;2400:4;2385:12;2395:2;2385:7;:12;:::i;:::-;:19;;;;:::i;:::-;2374:30;;;;:::i;:::-;;;2332:79;2427:7;:14;2416:8;;2465:64;2480:3;2477:1;:6;2465:64;;;2508:11;2520:1;2508:14;;;;;;;;:::i;:::-;;;;;;;;;2497:25;;;;;:::i;:::-;;-1:-1:-1;2485:3:0;;;;:::i;:::-;;;;2465:64;;;;2538:6;2534:315;2549:3;2546:1;:6;2534:315;;;2566:13;2582:9;2592:1;2582:12;;;;;;;;:::i;:::-;;;;;;;;;;2622:11;:14;;-1:-1:-1;;;;;2582:12:0;;;;-1:-1:-1;2639:7:0;;2634:1;;2622:14;;;;;;:::i;:::-;;;;;;;;;2612:7;:24;;;;:::i;:::-;:34;;;;:::i;:::-;2601:45;-1:-1:-1;2656:5:0;;2653:190;;2671:74;;-1:-1:-1;;;2671:74:0;;-1:-1:-1;;;;;10381:32:1;;;2671:74:0;;;10363:51:1;10430:18;;;10423:34;;;2671:30:0;;;;;10336:18:1;;2671:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2760:68:0;;-1:-1:-1;;;2760:68:0;;-1:-1:-1;;;;;10381:32:1;;;2760:68:0;;;10363:51:1;10430:18;;;10423:34;;;2760:30:0;;;;;10336:18:1;;2760:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2653:190;2559:290;;2554:3;;;;;:::i;:::-;;;;2534:315;;;;2326:528;;2315:954;;;2880:7;;:21;;;-1:-1:-1;;;2880:21:0;;;;2869:8;;-1:-1:-1;;;;;2880:7:0;;:19;;:21;;;;;;;;;;;;;;:7;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2918:7;:14;2869:32;;-1:-1:-1;2907:8:0;2938:326;2953:3;2950:1;:6;2938:326;;;2970:13;2986:9;2996:1;2986:12;;;;;;;;:::i;:::-;;;;;;;;;;3026:7;;3044;:10;;-1:-1:-1;;;;;2986:12:0;;;;-1:-1:-1;3058:3:0;;3026:7;;;;:17;;3044:7;3052:1;;3044:10;;;;;;:::i;:::-;;;;;;;;;;;3026:29;;;;;;-1:-1:-1;;;;;;3026:29:0;;;-1:-1:-1;;;;;3044:10:0;;;3026:29;;;733:51:1;706:18;;3026:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3016:39;;:7;:39;:::i;:::-;:45;;;;:::i;:::-;3005:56;-1:-1:-1;3071:5:0;;3068:190;;3086:74;;-1:-1:-1;;;3086:74:0;;-1:-1:-1;;;;;10381:32:1;;;3086:74:0;;;10363:51:1;10430:18;;;10423:34;;;3086:30:0;;;;;10336:18:1;;3086:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;3175:68:0;;-1:-1:-1;;;3175:68:0;;-1:-1:-1;;;;;10381:32:1;;;3175:68:0;;;10363:51:1;10430:18;;;10423:34;;;3175:30:0;;;;;10336:18:1;;3175:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3068:190;2963:301;;2958:3;;;;;:::i;:::-;;;;2938:326;;;;2863:406;;2315:954;3290:39;;-1:-1:-1;;;3290:39:0;;3323:4;3290:39;;;733:51:1;3279:8:0;;-1:-1:-1;;;;;3290:24:0;;;;;706:18:1;;3290:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3349:13;;3279:50;;-1:-1:-1;;;;;;3349:13:0;3371:17;;;;;:28;;;3398:1;3392:3;:7;3371:28;3368:93;;;3408:40;;-1:-1:-1;;;3408:40:0;;-1:-1:-1;;;;;10381:32:1;;;3408:40:0;;;10363:51:1;10430:18;;;10423:34;;;3408:30:0;;;;;10336:18:1;;3408:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3273:193;;2285:1185;2226: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;8542:184::-;8612:6;8665:2;8653:9;8644:7;8640:23;8636:32;8633:52;;;8681:1;8678;8671:12;8633:52;-1:-1:-1;8704:16:1;;8542:184;-1:-1:-1;8542:184:1:o;8731:125::-;8771:4;8799:1;8796;8793:8;8790:34;;;8804:18;;:::i;:::-;-1:-1:-1;8841:9:1;;8731:125::o;8861:127::-;8922:10;8917:3;8913:20;8910:1;8903:31;8953:4;8950:1;8943:15;8977:4;8974:1;8967:15;9661:168;9701:7;9767:1;9763;9759:6;9755:14;9752:1;9749:21;9744:1;9737:9;9730:17;9726:45;9723:71;;;9774:18;;:::i;:::-;-1:-1:-1;9814:9:1;;9661:168::o;9834:217::-;9874:1;9900;9890:132;;9944:10;9939:3;9935:20;9932:1;9925:31;9979:4;9976:1;9969:15;10007:4;10004:1;9997:15;9890:132;-1:-1:-1;10036:9:1;;9834:217::o;10056:128::-;10096:3;10127:1;10123:6;10120:1;10117:13;10114:39;;;10133:18;;:::i;:::-;-1:-1:-1;10169:9:1;;10056:128::o;10468:277::-;10535:6;10588:2;10576:9;10567:7;10563:23;10559:32;10556:52;;;10604:1;10601;10594:12;10556:52;10636:9;10630:16;10689:5;10682:13;10675:21;10668:5;10665:32;10655:60;;10711:1;10708;10701:12

Swarm Source

ipfs://53a346f106ba5876664c161bbede87090ad2147d6b41efc879479d23e9711cc2

Block Transaction Gas Used Reward
view all blocks produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits

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.