Overview
FTM Balance
0 FTM
FTM Value
$0.00More Info
Private Name Tags
ContractCreator
Sponsored
Latest 8 from a total of 8 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer Ownersh... | 35207711 | 918 days ago | IN | 0 FTM | 0.00362802 | ||||
Set New Bond | 35201981 | 918 days ago | IN | 0 FTM | 0.0056063 | ||||
Set New Bond | 35201560 | 918 days ago | IN | 0 FTM | 0.00571882 | ||||
Set New Bond | 35200749 | 918 days ago | IN | 0 FTM | 0.00541793 | ||||
Set New Bond | 35198727 | 918 days ago | IN | 0 FTM | 0.00540891 | ||||
Set New Bond | 35198693 | 918 days ago | IN | 0 FTM | 0.00540891 | ||||
Add Token For Bo... | 35134292 | 919 days ago | IN | 0 FTM | 0.01177704 | ||||
0x60a06040 | 35133571 | 919 days ago | IN | 0 FTM | 0.13332154 |
Latest 1 internal transaction
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
35133571 | 919 days ago | Contract Creation | 0 FTM |
Loading...
Loading
Contract Name:
AssentBondManager
Compiler Version
v0.8.11+commit.d7f03943
Contract Source Code (Solidity Multiple files format)
// ___ __ // / | _____________ ____ / /_ // / /| | / ___/ ___/ _ \/ __ \/ __/ // / ___ |(__ |__ ) __/ / / / /_ // /_/ |_/____/____/\___/_/ /_/\__/ // // 2022 - Assent Protocol // SPDX-License-Identifier: MIT pragma solidity 0.8.11; import "./IERC20.sol"; import "./Ownable.sol"; interface IASNT { function mint(address to, uint256 amount) external; function maxSupply() view external returns (uint256); } contract AssentBondManager is Ownable { event RewardsMinted( address indexed caller, address indexed recipient, uint amount ); event ASNTMaxSupplyReached( address indexed recipient, uint amount ); event TokenAdded(uint256 amount); // ASNT token IASNT immutable public ASNT; uint256 public tokenAvailableForBonds; uint256 public totalMintedForBonds; mapping( address => bool ) public isBond; constructor ( IASNT _ASNT ) { ASNT = _ASNT; } function distributeRewards( address _recipient, uint _amount ) external returns ( bool ) { require( isBond[ msg.sender ], "Not approved" ); require( tokenAvailableForBonds >= _amount, "Not enough token available for bonds" ); return _checkBeforeMintRewards( _recipient, _amount ); } function addTokenForBonds(uint256 _amount) public onlyOwner { tokenAvailableForBonds += _amount; emit TokenAdded(_amount); } function getMaxRewardsAvailableForBonds() view external returns (uint256) { return tokenAvailableForBonds; } // Check if a mint is possible function _checkBeforeMintRewards(address _recipient, uint _amount ) internal returns ( bool ) { // Mint only if max supply not reached uint256 _totalSupply = IERC20(address(ASNT)).totalSupply(); uint256 _maxCapSupply = ASNT.maxSupply(); if ((_totalSupply + _amount) <= _maxCapSupply) { ASNT.mint(_recipient, _amount); tokenAvailableForBonds -= _amount; totalMintedForBonds += _amount; emit RewardsMinted(msg.sender, _recipient, _amount); return true; } else { emit ASNTMaxSupplyReached(_recipient, _amount); return false; } } function setNewBond(address _address, bool _statut) external onlyOwner { require(_address != address(0), "setNewBond: ZERO"); isBond[ _address ] = _statut; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.0 (access/Ownable.sol) pragma solidity ^0.8.0; import "./Context.sol"; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"contract IASNT","name":"_ASNT","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ASNTMaxSupplyReached","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"caller","type":"address"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"RewardsMinted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TokenAdded","type":"event"},{"inputs":[],"name":"ASNT","outputs":[{"internalType":"contract IASNT","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"addTokenForBonds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_recipient","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"distributeRewards","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getMaxRewardsAvailableForBonds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBond","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_statut","type":"bool"}],"name":"setNewBond","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"tokenAvailableForBonds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalMintedForBonds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60a060405234801561001057600080fd5b5060405161098d38038061098d83398101604081905261002f91610099565b61003833610049565b6001600160a01b03166080526100c9565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100ab57600080fd5b81516001600160a01b03811681146100c257600080fd5b9392505050565b6080516108956100f86000396000818160b3015281816104b30152818161053901526105f101526108956000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80637b204cc5116100715780637b204cc51461013457806386f1e2a61461013d5780638da5cb5b14610170578063a8031a1d14610181578063b4debe5914610194578063f2fde38b1461019d57600080fd5b80632f241a7b146100ae57806340c99a59146100f25780635ba03a1214610107578063715018a61461011a578063783cb8c014610122575b600080fd5b6100d57f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b610105610100366004610732565b6101b0565b005b61010561011536600461076e565b610257565b6101056102ce565b6001545b6040519081526020016100e9565b61012660015481565b61016061014b366004610787565b60036020526000908152604090205460ff1681565b60405190151581526020016100e9565b6000546001600160a01b03166100d5565b61016061018f3660046107a2565b610304565b61012660025481565b6101056101ab366004610787565b6103c3565b6000546001600160a01b031633146101e35760405162461bcd60e51b81526004016101da906107cc565b60405180910390fd5b6001600160a01b03821661022c5760405162461bcd60e51b815260206004820152601060248201526f7365744e6577426f6e643a205a45524f60801b60448201526064016101da565b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146102815760405162461bcd60e51b81526004016101da906107cc565b80600160008282546102939190610817565b90915550506040518181527fa67ce50963791bd746b56c6ccce13fdae9c9577f368a62d5a60a8157d3cfe33f9060200160405180910390a150565b6000546001600160a01b031633146102f85760405162461bcd60e51b81526004016101da906107cc565b610302600061045e565b565b3360009081526003602052604081205460ff166103525760405162461bcd60e51b815260206004820152600c60248201526b139bdd08185c1c1c9bdd995960a21b60448201526064016101da565b8160015410156103b05760405162461bcd60e51b8152602060048201526024808201527f4e6f7420656e6f75676820746f6b656e20617661696c61626c6520666f7220626044820152636f6e647360e01b60648201526084016101da565b6103ba83836104ae565b90505b92915050565b6000546001600160a01b031633146103ed5760405162461bcd60e51b81526004016101da906107cc565b6001600160a01b0381166104525760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016101da565b61045b8161045e565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561050f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610533919061082f565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d5abeb016040518163ffffffff1660e01b8152600401602060405180830381865afa158015610595573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b9919061082f565b9050806105c68584610817565b116106c8576040516340c10f1960e01b81526001600160a01b038681166004830152602482018690527f000000000000000000000000000000000000000000000000000000000000000016906340c10f1990604401600060405180830381600087803b15801561063557600080fd5b505af1158015610649573d6000803e3d6000fd5b50505050836001600082825461065f9190610848565b9250508190555083600260008282546106789190610817565b90915550506040518481526001600160a01b0386169033907ffa8ccab40e7da8146c2304cd0950334fd30a6ba093abe86261aa13911fed849c9060200160405180910390a36001925050506103bd565b846001600160a01b03167f359d7ae3418251c723b9d8fda28f9075ea47dacaed96a8568aaed77cc6d1236e8560405161070391815260200190565b60405180910390a26000925050506103bd565b80356001600160a01b038116811461072d57600080fd5b919050565b6000806040838503121561074557600080fd5b61074e83610716565b91506020830135801515811461076357600080fd5b809150509250929050565b60006020828403121561078057600080fd5b5035919050565b60006020828403121561079957600080fd5b6103ba82610716565b600080604083850312156107b557600080fd5b6107be83610716565b946020939093013593505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000821982111561082a5761082a610801565b500190565b60006020828403121561084157600080fd5b5051919050565b60008282101561085a5761085a610801565b50039056fea2646970667358221220fd61db09306d0f973f386f2696ed68c46817a2ced39a50ee86abfca01b1fa4ca64736f6c634300080b00330000000000000000000000005b3c1f260e09e653290f24f75abc5e466fd42310
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80637b204cc5116100715780637b204cc51461013457806386f1e2a61461013d5780638da5cb5b14610170578063a8031a1d14610181578063b4debe5914610194578063f2fde38b1461019d57600080fd5b80632f241a7b146100ae57806340c99a59146100f25780635ba03a1214610107578063715018a61461011a578063783cb8c014610122575b600080fd5b6100d57f0000000000000000000000005b3c1f260e09e653290f24f75abc5e466fd4231081565b6040516001600160a01b0390911681526020015b60405180910390f35b610105610100366004610732565b6101b0565b005b61010561011536600461076e565b610257565b6101056102ce565b6001545b6040519081526020016100e9565b61012660015481565b61016061014b366004610787565b60036020526000908152604090205460ff1681565b60405190151581526020016100e9565b6000546001600160a01b03166100d5565b61016061018f3660046107a2565b610304565b61012660025481565b6101056101ab366004610787565b6103c3565b6000546001600160a01b031633146101e35760405162461bcd60e51b81526004016101da906107cc565b60405180910390fd5b6001600160a01b03821661022c5760405162461bcd60e51b815260206004820152601060248201526f7365744e6577426f6e643a205a45524f60801b60448201526064016101da565b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146102815760405162461bcd60e51b81526004016101da906107cc565b80600160008282546102939190610817565b90915550506040518181527fa67ce50963791bd746b56c6ccce13fdae9c9577f368a62d5a60a8157d3cfe33f9060200160405180910390a150565b6000546001600160a01b031633146102f85760405162461bcd60e51b81526004016101da906107cc565b610302600061045e565b565b3360009081526003602052604081205460ff166103525760405162461bcd60e51b815260206004820152600c60248201526b139bdd08185c1c1c9bdd995960a21b60448201526064016101da565b8160015410156103b05760405162461bcd60e51b8152602060048201526024808201527f4e6f7420656e6f75676820746f6b656e20617661696c61626c6520666f7220626044820152636f6e647360e01b60648201526084016101da565b6103ba83836104ae565b90505b92915050565b6000546001600160a01b031633146103ed5760405162461bcd60e51b81526004016101da906107cc565b6001600160a01b0381166104525760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016101da565b61045b8161045e565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000807f0000000000000000000000005b3c1f260e09e653290f24f75abc5e466fd423106001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561050f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610533919061082f565b905060007f0000000000000000000000005b3c1f260e09e653290f24f75abc5e466fd423106001600160a01b031663d5abeb016040518163ffffffff1660e01b8152600401602060405180830381865afa158015610595573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b9919061082f565b9050806105c68584610817565b116106c8576040516340c10f1960e01b81526001600160a01b038681166004830152602482018690527f0000000000000000000000005b3c1f260e09e653290f24f75abc5e466fd4231016906340c10f1990604401600060405180830381600087803b15801561063557600080fd5b505af1158015610649573d6000803e3d6000fd5b50505050836001600082825461065f9190610848565b9250508190555083600260008282546106789190610817565b90915550506040518481526001600160a01b0386169033907ffa8ccab40e7da8146c2304cd0950334fd30a6ba093abe86261aa13911fed849c9060200160405180910390a36001925050506103bd565b846001600160a01b03167f359d7ae3418251c723b9d8fda28f9075ea47dacaed96a8568aaed77cc6d1236e8560405161070391815260200190565b60405180910390a26000925050506103bd565b80356001600160a01b038116811461072d57600080fd5b919050565b6000806040838503121561074557600080fd5b61074e83610716565b91506020830135801515811461076357600080fd5b809150509250929050565b60006020828403121561078057600080fd5b5035919050565b60006020828403121561079957600080fd5b6103ba82610716565b600080604083850312156107b557600080fd5b6107be83610716565b946020939093013593505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000821982111561082a5761082a610801565b500190565b60006020828403121561084157600080fd5b5051919050565b60008282101561085a5761085a610801565b50039056fea2646970667358221220fd61db09306d0f973f386f2696ed68c46817a2ced39a50ee86abfca01b1fa4ca64736f6c634300080b0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000005b3c1f260e09e653290f24f75abc5e466fd42310
-----Decoded View---------------
Arg [0] : _ASNT (address): 0x5B3C1F260E09e653290f24F75abC5e466fD42310
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000005b3c1f260e09e653290f24f75abc5e466fd42310
Deployed Bytecode Sourcemap
487:2067:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;758:27;;;;;;;;-1:-1:-1;;;;;190:32:4;;;172:51;;160:2;145:18;758:27:0;;;;;;;;2365:180;;;;;;:::i;:::-;;:::i;:::-;;1332:155;;;;;;:::i;:::-;;:::i;1714:103:3:-;;;:::i;1495:122:0:-;1587:22;;1495:122;;;1095:25:4;;;1083:2;1068:18;1495:122:0;949:177:4;794:37:0;;;;;;879:40;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1487:14:4;;1480:22;1462:41;;1450:2;1435:18;879:40:0;1322:187:4;1063:87:3;1109:7;1136:6;-1:-1:-1;;;;;1136:6:3;1063:87;;1009:314:0;;;;;;:::i;:::-;;:::i;838:34::-;;;;;;1972:201:3;;;;;;:::i;:::-;;:::i;2365:180:0:-;1109:7:3;1136:6;-1:-1:-1;;;;;1136:6:3;682:10:1;1283:23:3;1275:68;;;;-1:-1:-1;;;1275:68:3;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;2455:22:0;::::1;2447:51;;;::::0;-1:-1:-1;;;2447:51:0;;2544:2:4;2447:51:0::1;::::0;::::1;2526:21:4::0;2583:2;2563:18;;;2556:30;-1:-1:-1;;;2602:18:4;;;2595:46;2658:18;;2447:51:0::1;2342:340:4::0;2447:51:0::1;-1:-1:-1::0;;;;;2509:18:0;;;::::1;;::::0;;;:6:::1;:18;::::0;;;;:28;;-1:-1:-1;;2509:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;2365:180::o;1332:155::-;1109:7:3;1136:6;-1:-1:-1;;;;;1136:6:3;682:10:1;1283:23:3;1275:68;;;;-1:-1:-1;;;1275:68:3;;;;;;;:::i;:::-;1429:7:0::1;1403:22;;:33;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;1460:19:0::1;::::0;1095:25:4;;;1460:19:0::1;::::0;1083:2:4;1068:18;1460:19:0::1;;;;;;;1332:155:::0;:::o;1714:103:3:-;1109:7;1136:6;-1:-1:-1;;;;;1136:6:3;682:10:1;1283:23:3;1275:68;;;;-1:-1:-1;;;1275:68:3;;;;;;;:::i;:::-;1779:30:::1;1806:1;1779:18;:30::i;:::-;1714:103::o:0;1009:314:0:-;1126:10;1091:4;1118:20;;;:6;:20;;;;;;;;1109:47;;;;-1:-1:-1;;;1109:47:0;;3154:2:4;1109:47:0;;;3136:21:4;3193:2;3173:18;;;3166:30;-1:-1:-1;;;3212:18:4;;;3205:42;3264:18;;1109:47:0;2952:336:4;1109:47:0;1202:7;1176:22;;:33;;1167:84;;;;-1:-1:-1;;;1167:84:0;;3495:2:4;1167:84:0;;;3477:21:4;3534:2;3514:18;;;3507:30;3573:34;3553:18;;;3546:62;-1:-1:-1;;;3624:18:4;;;3617:34;3668:19;;1167:84:0;3293:400:4;1167:84:0;1269:46;1294:10;1306:7;1269:23;:46::i;:::-;1262:53;;1009:314;;;;;:::o;1972:201:3:-;1109:7;1136:6;-1:-1:-1;;;;;1136:6:3;682:10:1;1283:23:3;1275:68;;;;-1:-1:-1;;;1275:68:3;;;;;;;:::i;:::-;-1:-1:-1;;;;;2061:22:3;::::1;2053:73;;;::::0;-1:-1:-1;;;2053:73:3;;3900:2:4;2053:73:3::1;::::0;::::1;3882:21:4::0;3939:2;3919:18;;;3912:30;3978:34;3958:18;;;3951:62;-1:-1:-1;;;4029:18:4;;;4022:36;4075:19;;2053:73:3::1;3698:402:4::0;2053:73:3::1;2137:28;2156:8;2137:18;:28::i;:::-;1972:201:::0;:::o;2333:191::-;2407:16;2426:6;;-1:-1:-1;;;;;2443:17:3;;;-1:-1:-1;;;;;;2443:17:3;;;;;;2476:40;;2426:6;;;;;;;2476:40;;2407:16;2476:40;2396:128;2333:191;:::o;1663:694:0:-;1750:4;1816:20;1854:4;-1:-1:-1;;;;;1839:33:0;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1816:58;;1885:21;1909:4;-1:-1:-1;;;;;1909:14:0;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1885:40;-1:-1:-1;1885:40:0;1943:22;1958:7;1943:12;:22;:::i;:::-;1942:41;1938:412;;2000:30;;-1:-1:-1;;;2000:30:0;;-1:-1:-1;;;;;4486:32:4;;;2000:30:0;;;4468:51:4;4535:18;;;4528:34;;;2000:4:0;:9;;;;4441:18:4;;2000:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2071:7;2045:22;;:33;;;;;;;:::i;:::-;;;;;;;;2116:7;2093:19;;:30;;;;;;;:::i;:::-;;;;-1:-1:-1;;2144:46:0;;1095:25:4;;;-1:-1:-1;;;;;2144:46:0;;;2158:10;;2144:46;;1083:2:4;1068:18;2144:46:0;;;;;;;2212:4;2205:11;;;;;;1938:412;2284:10;-1:-1:-1;;;;;2263:41:0;;2296:7;2263:41;;;;1095:25:4;;1083:2;1068:18;;949:177;2263:41:0;;;;;;;;2333:5;2326:12;;;;;;234:173:4;302:20;;-1:-1:-1;;;;;351:31:4;;341:42;;331:70;;397:1;394;387:12;331:70;234:173;;;:::o;412:347::-;477:6;485;538:2;526:9;517:7;513:23;509:32;506:52;;;554:1;551;544:12;506:52;577:29;596:9;577:29;:::i;:::-;567:39;;656:2;645:9;641:18;628:32;703:5;696:13;689:21;682:5;679:32;669:60;;725:1;722;715:12;669:60;748:5;738:15;;;412:347;;;;;:::o;764:180::-;823:6;876:2;864:9;855:7;851:23;847:32;844:52;;;892:1;889;882:12;844:52;-1:-1:-1;915:23:4;;764:180;-1:-1:-1;764:180:4:o;1131:186::-;1190:6;1243:2;1231:9;1222:7;1218:23;1214:32;1211:52;;;1259:1;1256;1249:12;1211:52;1282:29;1301:9;1282:29;:::i;1722:254::-;1790:6;1798;1851:2;1839:9;1830:7;1826:23;1822:32;1819:52;;;1867:1;1864;1857:12;1819:52;1890:29;1909:9;1890:29;:::i;:::-;1880:39;1966:2;1951:18;;;;1938:32;;-1:-1:-1;;;1722:254:4:o;1981:356::-;2183:2;2165:21;;;2202:18;;;2195:30;2261:34;2256:2;2241:18;;2234:62;2328:2;2313:18;;1981:356::o;2687:127::-;2748:10;2743:3;2739:20;2736:1;2729:31;2779:4;2776:1;2769:15;2803:4;2800:1;2793:15;2819:128;2859:3;2890:1;2886:6;2883:1;2880:13;2877:39;;;2896:18;;:::i;:::-;-1:-1:-1;2932:9:4;;2819:128::o;4105:184::-;4175:6;4228:2;4216:9;4207:7;4203:23;4199:32;4196:52;;;4244:1;4241;4234:12;4196:52;-1:-1:-1;4267:16:4;;4105:184;-1:-1:-1;4105:184:4:o;4573:125::-;4613:4;4641:1;4638;4635:8;4632:34;;;4646:18;;:::i;:::-;-1:-1:-1;4683:9:4;;4573:125::o
Swarm Source
ipfs://fd61db09306d0f973f386f2696ed68c46817a2ced39a50ee86abfca01b1fa4ca
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
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.