Overview
ETH Balance
0 ETH
Token Holdings
More Info
ContractCreator
Multi Chain
Multichain Addresses
N/ALoading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0xcCc9F7...CEcAd4BD The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
Fed
Compiler Version
v0.8.13+commit.abaa5c0e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-12-07 */ // SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.13; interface IMarket { function recall(uint amount) external; function totalDebt() external view returns (uint); function borrowPaused() external view returns (bool); } interface IDola { function mint(address to, uint amount) external; function burn(uint amount) external; function balanceOf(address user) external view returns (uint); function transfer(address to, uint amount) external returns (bool); } interface IDBR { function markets(address) external view returns (bool); } /** @title The Market Fed @notice Feds are a class of contracts in the Inverse Finance ecosystem responsible for minting and burning DOLA. This specific Fed can expand DOLA supply into markets and contract DOLA supply from markets. */ contract Fed { IDBR public immutable dbr; IDola public immutable dola; address public gov; address public chair; uint public supplyCeiling; uint public globalSupply; mapping (IMarket => uint) public supplies; constructor (IDBR _dbr, IDola _dola, address _gov, address _chair, uint _supplyCeiling) { dbr = _dbr; dola = _dola; gov = _gov; chair = _chair; supplyCeiling = _supplyCeiling; } /** @notice Change the governance of the Fed contact. Only callable by governance. @param _gov The address of the new governance contract */ function changeGov(address _gov) public { require(msg.sender == gov, "ONLY GOV"); gov = _gov; } /** @notice Set the supply ceiling of the Fed. Only callable by governance. @param _supplyCeiling Amount to set the supply ceiling to */ function changeSupplyCeiling(uint _supplyCeiling) public { require(msg.sender == gov, "ONLY GOV"); supplyCeiling = _supplyCeiling; } /** @notice Set the chair of the fed. Only callable by governance. @param _chair Address of the new chair. */ function changeChair(address _chair) public { require(msg.sender == gov, "ONLY GOV"); chair = _chair; } /** @notice Set the address of the chair to the 0 address. Only callable by the chair. @dev Useful for immediately removing chair powers in case of a wallet compromise. */ function resign() public { require(msg.sender == chair, "ONLY CHAIR"); chair = address(0); } /** @notice Expand the amount of DOLA by depositing the amount into a specific market. @dev While not immediately dangerous to the DOLA peg, make sure the market can absorb the new potential supply. @param market The market to add additional DOLA supply to. @param amount The amount of DOLA to mint and supply to the market. */ function expansion(IMarket market, uint amount) public { require(msg.sender == chair, "ONLY CHAIR"); require(dbr.markets(address(market)), "UNSUPPORTED MARKET"); require(market.borrowPaused() != true, "CANNOT EXPAND PAUSED MARKETS"); dola.mint(address(market), amount); supplies[market] += amount; globalSupply += amount; require(globalSupply <= supplyCeiling); emit Expansion(market, amount); } /** @notice Contract the amount of DOLA by withdrawing some amount of DOLA from a market, before burning it. @dev Markets can have more DOLA in them than they've been supplied, due to force replenishes. This call will revert if trying to contract more than have been supplied. @param market The market to withdraw DOLA from @param amount The amount of DOLA to withdraw and burn. */ function contraction(IMarket market, uint amount) public { require(msg.sender == chair, "ONLY CHAIR"); require(dbr.markets(address(market)), "UNSUPPORTED MARKET"); uint supply = supplies[market]; require(amount <= supply, "AMOUNT TOO BIG"); // can't burn profits market.recall(amount); dola.burn(amount); supplies[market] -= amount; globalSupply -= amount; emit Contraction(market, amount); } /** @notice Gets the profit of a market. @param market The market to withdraw profit from. @return A uint representing the profit of the market. */ function getProfit(IMarket market) public view returns (uint) { uint marketValue = dola.balanceOf(address(market)) + market.totalDebt(); uint supply = supplies[market]; if(supply >= marketValue) return 0; return marketValue - supply; } /** @notice Takes profit from a market @param market The market to take profit from. */ function takeProfit(IMarket market) public { uint profit = getProfit(market); if(profit > 0) { market.recall(profit); dola.transfer(gov, profit); } } event Expansion(IMarket indexed market, uint amount); event Contraction(IMarket indexed market, uint amount); }
[{"inputs":[{"internalType":"contract IDBR","name":"_dbr","type":"address"},{"internalType":"contract IDola","name":"_dola","type":"address"},{"internalType":"address","name":"_gov","type":"address"},{"internalType":"address","name":"_chair","type":"address"},{"internalType":"uint256","name":"_supplyCeiling","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"contract IMarket","name":"market","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Contraction","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"contract IMarket","name":"market","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Expansion","type":"event"},{"inputs":[],"name":"chair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_chair","type":"address"}],"name":"changeChair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_gov","type":"address"}],"name":"changeGov","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_supplyCeiling","type":"uint256"}],"name":"changeSupplyCeiling","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IMarket","name":"market","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"contraction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dbr","outputs":[{"internalType":"contract IDBR","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dola","outputs":[{"internalType":"contract IDola","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IMarket","name":"market","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"expansion","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IMarket","name":"market","type":"address"}],"name":"getProfit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"globalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"gov","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"resign","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IMarket","name":"","type":"address"}],"name":"supplies","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"supplyCeiling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IMarket","name":"market","type":"address"}],"name":"takeProfit","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100f55760003560e01c8063b891f79711610097578063c7ed69cd11610066578063c7ed69cd146101e6578063ea0593e41461020d578063fa95a40114610234578063fdf893f51461024757600080fd5b8063b891f7971461019a578063b90d0bcd146101ad578063c002e56e146101c0578063c600e1dc146101d357600080fd5b806369652fcf116100d357806369652fcf146101615780637e33f7891461016b5780638b7238211461017e578063a962ef1e1461018757600080fd5b806312d43a51146100fa578063274cee311461012a5780632b52684d14610158575b600080fd5b60005461010d906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61014a610138366004610b35565b60046020526000908152604090205481565b604051908152602001610121565b61014a60025481565b61016961025a565b005b610169610179366004610b59565b61029f565b61014a60035481565b610169610195366004610b35565b6102ce565b6101696101a8366004610b72565b61031a565b6101696101bb366004610b35565b6105c6565b6101696101ce366004610b35565b6106d1565b61014a6101e1366004610b35565b61071d565b61010d7f0000000000000000000000007f51228934f1e8a5f09c4dbc1e249cf6581976f281565b61010d7f00000000000000000000000050e6a8a893bda08d31adca88e8b99cc3f9b2de9a81565b610169610242366004610b72565b610855565b60015461010d906001600160a01b031681565b6001546001600160a01b0316331461028d5760405162461bcd60e51b815260040161028490610b9e565b60405180910390fd5b600180546001600160a01b0319169055565b6000546001600160a01b031633146102c95760405162461bcd60e51b815260040161028490610bc2565b600255565b6000546001600160a01b031633146102f85760405162461bcd60e51b815260040161028490610bc2565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b031633146103445760405162461bcd60e51b815260040161028490610b9e565b604051638e8f294b60e01b81526001600160a01b0383811660048301527f0000000000000000000000007f51228934f1e8a5f09c4dbc1e249cf6581976f21690638e8f294b90602401602060405180830381865afa1580156103aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ce9190610be4565b61040f5760405162461bcd60e51b8152602060048201526012602482015271155394d5541413d49511510813505492d15560721b6044820152606401610284565b6001600160a01b038216600090815260046020526040902054808211156104695760405162461bcd60e51b815260206004820152600e60248201526d414d4f554e5420544f4f2042494760901b6044820152606401610284565b604051637d32e79360e01b8152600481018390526001600160a01b03841690637d32e79390602401600060405180830381600087803b1580156104ab57600080fd5b505af11580156104bf573d6000803e3d6000fd5b5050604051630852cd8d60e31b8152600481018590527f00000000000000000000000050e6a8a893bda08d31adca88e8b99cc3f9b2de9a6001600160a01b031692506342966c689150602401600060405180830381600087803b15801561052557600080fd5b505af1158015610539573d6000803e3d6000fd5b505050506001600160a01b03831660009081526004602052604081208054849290610565908490610c1c565b92505081905550816003600082825461057e9190610c1c565b90915550506040518281526001600160a01b038416907f6bfec639a4f12aa59c8346bbc8be8ca30057bc316778a9919c9bda271f1741cb9060200160405180910390a2505050565b60006105d18261071d565b905080156106cd57604051637d32e79360e01b8152600481018290526001600160a01b03831690637d32e79390602401600060405180830381600087803b15801561061b57600080fd5b505af115801561062f573d6000803e3d6000fd5b505060005460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018590527f00000000000000000000000050e6a8a893bda08d31adca88e8b99cc3f9b2de9a909116925063a9059cbb91506044016020604051808303816000875af11580156106a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cb9190610be4565b505b5050565b6000546001600160a01b031633146106fb5760405162461bcd60e51b815260040161028490610bc2565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600080826001600160a01b031663fc7b9c186040518163ffffffff1660e01b8152600401602060405180830381865afa15801561075e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107829190610c33565b6040516370a0823160e01b81526001600160a01b0385811660048301527f00000000000000000000000050e6a8a893bda08d31adca88e8b99cc3f9b2de9a16906370a0823190602401602060405180830381865afa1580156107e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080c9190610c33565b6108169190610c4c565b6001600160a01b038416600090815260046020526040902054909150818110610843575060009392505050565b61084d8183610c1c565b949350505050565b6001546001600160a01b0316331461087f5760405162461bcd60e51b815260040161028490610b9e565b604051638e8f294b60e01b81526001600160a01b0383811660048301527f0000000000000000000000007f51228934f1e8a5f09c4dbc1e249cf6581976f21690638e8f294b90602401602060405180830381865afa1580156108e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109099190610be4565b61094a5760405162461bcd60e51b8152602060048201526012602482015271155394d5541413d49511510813505492d15560721b6044820152606401610284565b816001600160a01b031663bcb4bbea6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610988573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ac9190610be4565b15156001036109fd5760405162461bcd60e51b815260206004820152601c60248201527f43414e4e4f5420455850414e4420504155534544204d41524b455453000000006044820152606401610284565b6040516340c10f1960e01b81526001600160a01b038381166004830152602482018390527f00000000000000000000000050e6a8a893bda08d31adca88e8b99cc3f9b2de9a16906340c10f1990604401600060405180830381600087803b158015610a6757600080fd5b505af1158015610a7b573d6000803e3d6000fd5b505050506001600160a01b03821660009081526004602052604081208054839290610aa7908490610c4c565b925050819055508060036000828254610ac09190610c4c565b90915550506002546003541115610ad657600080fd5b816001600160a01b03167fcb1a873dc7afc9834dabddc6e5643ad78e087f41a67dd561559cc6fc92686d7782604051610b1191815260200190565b60405180910390a25050565b6001600160a01b0381168114610b3257600080fd5b50565b600060208284031215610b4757600080fd5b8135610b5281610b1d565b9392505050565b600060208284031215610b6b57600080fd5b5035919050565b60008060408385031215610b8557600080fd5b8235610b9081610b1d565b946020939093013593505050565b6020808252600a908201526927a7262c9021a420a4a960b11b604082015260600190565b60208082526008908201526727a7262c9023a7ab60c11b604082015260600190565b600060208284031215610bf657600080fd5b81518015158114610b5257600080fd5b634e487b7160e01b600052601160045260246000fd5b600082821015610c2e57610c2e610c06565b500390565b600060208284031215610c4557600080fd5b5051919050565b60008219821115610c5f57610c5f610c06565b50019056fea264697066735822122011fd4dcdebee92afec2ece920420e7a12ffa24bf33b3d65e47fddc050e2c4f2364736f6c634300080d0033
Deployed Bytecode Sourcemap
839:4311:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;927:18;;;;;-1:-1:-1;;;;;927:18:0;;;;;;-1:-1:-1;;;;;178:32:1;;;160:51;;148:2;133:18;927::0;;;;;;;;1042:41;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;788:25:1;;;776:2;761:18;1042:41:0;642:177:1;979:25:0;;;;;;2390:115;;;:::i;:::-;;1771:155;;;;;;:::i;:::-;;:::i;1011:24::-;;;;;;1488:118;;;;;;:::i;:::-;;:::i;3763:478::-;;;;;;:::i;:::-;;:::i;4814:207::-;;;;;;:::i;:::-;;:::i;2064:126::-;;;;;;:::i;:::-;;:::i;4422:276::-;;;;;;:::i;:::-;;:::i;861:25::-;;;;;893:27;;;;;2871:472;;;;;;:::i;:::-;;:::i;952:20::-;;;;;-1:-1:-1;;;;;952:20:0;;;2390:115;2448:5;;-1:-1:-1;;;;;2448:5:0;2434:10;:19;2426:42;;;;-1:-1:-1;;;2426:42:0;;;;;;;:::i;:::-;;;;;;;;;2479:5;:18;;-1:-1:-1;;;;;;2479:18:0;;;2390:115::o;1771:155::-;1861:3;;-1:-1:-1;;;;;1861:3:0;1847:10;:17;1839:38;;;;-1:-1:-1;;;1839:38:0;;;;;;;:::i;:::-;1888:13;:30;1771:155::o;1488:118::-;1561:3;;-1:-1:-1;;;;;1561:3:0;1547:10;:17;1539:38;;;;-1:-1:-1;;;1539:38:0;;;;;;;:::i;:::-;1588:3;:10;;-1:-1:-1;;;;;;1588:10:0;-1:-1:-1;;;;;1588:10:0;;;;;;;;;;1488:118::o;3763:478::-;3853:5;;-1:-1:-1;;;;;3853:5:0;3839:10;:19;3831:42;;;;-1:-1:-1;;;3831:42:0;;;;;;;:::i;:::-;3892:28;;-1:-1:-1;;;3892:28:0;;-1:-1:-1;;;;;178:32:1;;;3892:28:0;;;160:51:1;3892:3:0;:11;;;;133:18:1;;3892:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3884:59;;;;-1:-1:-1;;;3884:59:0;;3211:2:1;3884:59:0;;;3193:21:1;3250:2;3230:18;;;3223:30;-1:-1:-1;;;3269:18:1;;;3262:48;3327:18;;3884:59:0;3009:342:1;3884:59:0;-1:-1:-1;;;;;3968:16:0;;3954:11;3968:16;;;:8;:16;;;;;;4003;;;;3995:43;;;;-1:-1:-1;;;3995:43:0;;3558:2:1;3995:43:0;;;3540:21:1;3597:2;3577:18;;;3570:30;-1:-1:-1;;;3616:18:1;;;3609:44;3670:18;;3995:43:0;3356:338:1;3995:43:0;4071:21;;-1:-1:-1;;;4071:21:0;;;;;788:25:1;;;-1:-1:-1;;;;;4071:13:0;;;;;761:18:1;;4071:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4103:17:0;;-1:-1:-1;;;4103:17:0;;;;;788:25:1;;;4103:4:0;-1:-1:-1;;;;;4103:9:0;;-1:-1:-1;4103:9:0;;-1:-1:-1;761:18:1;;4103:17:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;4131:16:0;;;;;;:8;:16;;;;;:26;;4151:6;;4131:16;:26;;4151:6;;4131:26;:::i;:::-;;;;;;;;4184:6;4168:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;4206:27:0;;788:25:1;;;-1:-1:-1;;;;;4206:27:0;;;;;776:2:1;761:18;4206:27:0;;;;;;;3820:421;3763:478;;:::o;4814:207::-;4868:11;4882:17;4892:6;4882:9;:17::i;:::-;4868:31;-1:-1:-1;4913:10:0;;4910:104;;4940:21;;-1:-1:-1;;;4940:21:0;;;;;788:25:1;;;-1:-1:-1;;;;;4940:13:0;;;;;761:18:1;;4940:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4990:3:0;;4976:26;;-1:-1:-1;;;4976:26:0;;-1:-1:-1;;;;;4990:3:0;;;4976:26;;;4135:51:1;4202:18;;;4195:34;;;4976:4:0;:13;;;;-1:-1:-1;4976:13:0;;-1:-1:-1;4108:18:1;;4976:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4910:104;4857:164;4814:207;:::o;2064:126::-;2141:3;;-1:-1:-1;;;;;2141:3:0;2127:10;:17;2119:38;;;;-1:-1:-1;;;2119:38:0;;;;;;;:::i;:::-;2168:5;:14;;-1:-1:-1;;;;;;2168:14:0;-1:-1:-1;;;;;2168:14:0;;;;;;;;;;2064:126::o;4422:276::-;4478:4;4495:16;4548:6;-1:-1:-1;;;;;4548:16:0;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4514:31;;-1:-1:-1;;;4514:31:0;;-1:-1:-1;;;;;178:32:1;;;4514:31:0;;;160:51:1;4514:4:0;:14;;;;133:18:1;;4514:31:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:52;;;;:::i;:::-;-1:-1:-1;;;;;4591:16:0;;4577:11;4591:16;;;:8;:16;;;;;;4495:71;;-1:-1:-1;4621:21:0;;;4618:34;;-1:-1:-1;4651:1:0;;4422:276;-1:-1:-1;;;4422:276:0:o;4618:34::-;4670:20;4684:6;4670:11;:20;:::i;:::-;4663:27;4422:276;-1:-1:-1;;;;4422:276:0:o;2871:472::-;2959:5;;-1:-1:-1;;;;;2959:5:0;2945:10;:19;2937:42;;;;-1:-1:-1;;;2937:42:0;;;;;;;:::i;:::-;2998:28;;-1:-1:-1;;;2998:28:0;;-1:-1:-1;;;;;178:32:1;;;2998:28:0;;;160:51:1;2998:3:0;:11;;;;133:18:1;;2998:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2990:59;;;;-1:-1:-1;;;2990:59:0;;3211:2:1;2990:59:0;;;3193:21:1;3250:2;3230:18;;;3223:30;-1:-1:-1;;;3269:18:1;;;3262:48;3327:18;;2990:59:0;3009:342:1;2990:59:0;3068:6;-1:-1:-1;;;;;3068:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:29;;3093:4;3068:29;3060:70;;;;-1:-1:-1;;;3060:70:0;;4764:2:1;3060:70:0;;;4746:21:1;4803:2;4783:18;;;4776:30;4842;4822:18;;;4815:58;4890:18;;3060:70:0;4562:352:1;3060:70:0;3141:34;;-1:-1:-1;;;3141:34:0;;-1:-1:-1;;;;;4153:32:1;;;3141:34:0;;;4135:51:1;4202:18;;;4195:34;;;3141:4:0;:9;;;;4108:18:1;;3141:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;3186:16:0;;;;;;:8;:16;;;;;:26;;3206:6;;3186:16;:26;;3206:6;;3186:26;:::i;:::-;;;;;;;;3239:6;3223:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;3280:13:0;;3264:12;;:29;;3256:38;;;;;;3320:6;-1:-1:-1;;;;;3310:25:0;;3328:6;3310:25;;;;788::1;;776:2;761:18;;642:177;3310:25:0;;;;;;;;2871:472;;:::o;222:140:1:-;-1:-1:-1;;;;;306:31:1;;296:42;;286:70;;352:1;349;342:12;286:70;222:140;:::o;367:270::-;440:6;493:2;481:9;472:7;468:23;464:32;461:52;;;509:1;506;499:12;461:52;548:9;535:23;567:40;601:5;567:40;:::i;:::-;626:5;367:270;-1:-1:-1;;;367:270:1:o;824:180::-;883:6;936:2;924:9;915:7;911:23;907:32;904:52;;;952:1;949;942:12;904:52;-1:-1:-1;975:23:1;;824:180;-1:-1:-1;824:180:1:o;1270:338::-;1352:6;1360;1413:2;1401:9;1392:7;1388:23;1384:32;1381:52;;;1429:1;1426;1419:12;1381:52;1468:9;1455:23;1487:40;1521:5;1487:40;:::i;:::-;1546:5;1598:2;1583:18;;;;1570:32;;-1:-1:-1;;;1270:338:1:o;2052:334::-;2254:2;2236:21;;;2293:2;2273:18;;;2266:30;-1:-1:-1;;;2327:2:1;2312:18;;2305:40;2377:2;2362:18;;2052:334::o;2391:331::-;2593:2;2575:21;;;2632:1;2612:18;;;2605:29;-1:-1:-1;;;2665:2:1;2650:18;;2643:38;2713:2;2698:18;;2391:331::o;2727:277::-;2794:6;2847:2;2835:9;2826:7;2822:23;2818:32;2815:52;;;2863:1;2860;2853:12;2815:52;2895:9;2889:16;2948:5;2941:13;2934:21;2927:5;2924:32;2914:60;;2970:1;2967;2960:12;3699:127;3760:10;3755:3;3751:20;3748:1;3741:31;3791:4;3788:1;3781:15;3815:4;3812:1;3805:15;3831:125;3871:4;3899:1;3896;3893:8;3890:34;;;3904:18;;:::i;:::-;-1:-1:-1;3941:9:1;;3831:125::o;4240:184::-;4310:6;4363:2;4351:9;4342:7;4338:23;4334:32;4331:52;;;4379:1;4376;4369:12;4331:52;-1:-1:-1;4402:16:1;;4240:184;-1:-1:-1;4240:184:1:o;4429:128::-;4469:3;4500:1;4496:6;4493:1;4490:13;4487:39;;;4506:18;;:::i;:::-;-1:-1:-1;4542:9:1;;4429:128::o
Swarm Source
ipfs://11fd4dcdebee92afec2ece920420e7a12ffa24bf33b3d65e47fddc050e2c4f23
Loading...
Loading
[ 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.