@bitriel/bitriel-farm
Version:
Yield Farming Smart Contracts for BitrielSwap Protocol
332 lines (331 loc) • 24.6 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "BitrielStake",
"sourceName": "contracts/BitrielStake.sol",
"abi": [
{
"inputs": [
{
"internalType": "contract IBitrielToken",
"name": "_bitriel",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "bitriel",
"outputs": [
{
"internalType": "contract IBitrielToken",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "subtractedValue",
"type": "uint256"
}
],
"name": "decreaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "enter",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "addedValue",
"type": "uint256"
}
],
"name": "increaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "leave",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x60806040523480156200001157600080fd5b506040516200123638038062001236833981810160405260208110156200003757600080fd5b5051604080518082018252600c81526b4269747269656c5374616b6560a01b6020828101918252835180850190945260048452633c212a2960e11b9084015281519192916200008991600391620000d9565b5080516200009f906004906020840190620000d9565b5050600580546001600160a01b0390931661010002610100600160a81b031960ff1990941660121793909316929092179091555062000185565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826200011157600085556200015c565b82601f106200012c57805160ff19168380011785556200015c565b828001600101855582156200015c579182015b828111156200015c5782518255916020019190600101906200013f565b506200016a9291506200016e565b5090565b5b808211156200016a57600081556001016200016f565b6110a180620001956000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806370a082311161008c578063a59f3e0c11610066578063a59f3e0c146102bf578063a9059cbb146102dc578063dd62ed3e14610308578063ee24881114610336576100ea565b806370a082311461026557806395d89b411461028b578063a457c2d714610293576100ea565b806323b872dd116100c857806323b872dd146101c6578063313ce567146101fc578063395093511461021a57806367dfd4c914610246576100ea565b806306fdde03146100ef578063095ea7b31461016c57806318160ddd146101ac575b600080fd5b6100f761035a565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610131578181015183820152602001610119565b50505050905090810190601f16801561015e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101986004803603604081101561018257600080fd5b506001600160a01b0381351690602001356103f0565b604080519115158252519081900360200190f35b6101b461040e565b60408051918252519081900360200190f35b610198600480360360608110156101dc57600080fd5b506001600160a01b03813581169160208101359091169060400135610414565b61020461049b565b6040805160ff9092168252519081900360200190f35b6101986004803603604081101561023057600080fd5b506001600160a01b0381351690602001356104a4565b6102636004803603602081101561025c57600080fd5b50356104f2565b005b6101b46004803603602081101561027b57600080fd5b50356001600160a01b0316610628565b6100f7610643565b610198600480360360408110156102a957600080fd5b506001600160a01b0381351690602001356106a4565b610263600480360360208110156102d557600080fd5b503561070c565b610198600480360360408110156102f257600080fd5b506001600160a01b038135169060200135610862565b6101b46004803603604081101561031e57600080fd5b506001600160a01b0381358116916020013516610876565b61033e6108a1565b604080516001600160a01b039092168252519081900360200190f35b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103e65780601f106103bb576101008083540402835291602001916103e6565b820191906000526020600020905b8154815290600101906020018083116103c957829003601f168201915b5050505050905090565b60006104046103fd6108b5565b84846108b9565b5060015b92915050565b60025490565b60006104218484846109a5565b6104918461042d6108b5565b61048c85604051806060016040528060288152602001610fb5602891396001600160a01b038a1660009081526001602052604081209061046b6108b5565b6001600160a01b031681526020810191909152604001600020549190610b00565b6108b9565b5060019392505050565b60055460ff1690565b60006104046104b16108b5565b8461048c85600160006104c26108b5565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610b97565b600554604080516370a0823160e01b8152306004820152905160009261010090046001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561054257600080fd5b505afa158015610556573d6000803e3d6000fd5b505050506040513d602081101561056c57600080fd5b50519050600061057a61040e565b905060006105928261058c8686610bf8565b90610c51565b905061059e3385610cb8565b6005546040805163a9059cbb60e01b81523360048201526024810184905290516101009092046001600160a01b03169163a9059cbb916044808201926020929091908290030181600087803b1580156105f657600080fd5b505af115801561060a573d6000803e3d6000fd5b505050506040513d602081101561062057600080fd5b505050505050565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103e65780601f106103bb576101008083540402835291602001916103e6565b60006104046106b16108b5565b8461048c8560405180606001604052806025815260200161104760259139600160006106db6108b5565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610b00565b600554604080516370a0823160e01b8152306004820152905160009261010090046001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561075c57600080fd5b505afa158015610770573d6000803e3d6000fd5b505050506040513d602081101561078657600080fd5b50519050600061079461040e565b90508015806107a1575081155b156107b5576107b03384610db4565b6107d3565b60006107c58361058c8685610bf8565b90506107d13382610db4565b505b600554604080516323b872dd60e01b81523360048201523060248201526044810186905290516101009092046001600160a01b0316916323b872dd916064808201926020929091908290030181600087803b15801561083157600080fd5b505af1158015610845573d6000803e3d6000fd5b505050506040513d602081101561085b57600080fd5b5050505050565b600061040461086f6108b5565b84846109a5565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60055461010090046001600160a01b031681565b3390565b6001600160a01b0383166108fe5760405162461bcd60e51b81526004018080602001828103825260248152602001806110236024913960400191505060405180910390fd5b6001600160a01b0382166109435760405162461bcd60e51b8152600401808060200182810382526022815260200180610f4c6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166109ea5760405162461bcd60e51b8152600401808060200182810382526025815260200180610ffe6025913960400191505060405180910390fd5b6001600160a01b038216610a2f5760405162461bcd60e51b8152600401808060200182810382526023815260200180610f076023913960400191505060405180910390fd5b610a3a838383610ea4565b610a7781604051806060016040528060268152602001610f6e602691396001600160a01b0386166000908152602081905260409020549190610b00565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610aa69082610b97565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610b8f5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b54578181015183820152602001610b3c565b50505050905090810190601f168015610b815780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610bf1576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600082610c0757506000610408565b82820282848281610c1457fe5b0414610bf15760405162461bcd60e51b8152600401808060200182810382526021815260200180610f946021913960400191505060405180910390fd5b6000808211610ca7576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610cb057fe5b049392505050565b6001600160a01b038216610cfd5760405162461bcd60e51b8152600401808060200182810382526021815260200180610fdd6021913960400191505060405180910390fd5b610d0982600083610ea4565b610d4681604051806060016040528060228152602001610f2a602291396001600160a01b0385166000908152602081905260409020549190610b00565b6001600160a01b038316600090815260208190526040902055600254610d6c9082610ea9565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6001600160a01b038216610e0f576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610e1b60008383610ea4565b600254610e289082610b97565b6002556001600160a01b038216600090815260208190526040902054610e4e9082610b97565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b505050565b600082821115610f00576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220a03ca67bad57bfa3a84b8635b15531030af1ea5c6b776ff9daddb6a4010c82a564736f6c63430007060033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c806370a082311161008c578063a59f3e0c11610066578063a59f3e0c146102bf578063a9059cbb146102dc578063dd62ed3e14610308578063ee24881114610336576100ea565b806370a082311461026557806395d89b411461028b578063a457c2d714610293576100ea565b806323b872dd116100c857806323b872dd146101c6578063313ce567146101fc578063395093511461021a57806367dfd4c914610246576100ea565b806306fdde03146100ef578063095ea7b31461016c57806318160ddd146101ac575b600080fd5b6100f761035a565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610131578181015183820152602001610119565b50505050905090810190601f16801561015e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101986004803603604081101561018257600080fd5b506001600160a01b0381351690602001356103f0565b604080519115158252519081900360200190f35b6101b461040e565b60408051918252519081900360200190f35b610198600480360360608110156101dc57600080fd5b506001600160a01b03813581169160208101359091169060400135610414565b61020461049b565b6040805160ff9092168252519081900360200190f35b6101986004803603604081101561023057600080fd5b506001600160a01b0381351690602001356104a4565b6102636004803603602081101561025c57600080fd5b50356104f2565b005b6101b46004803603602081101561027b57600080fd5b50356001600160a01b0316610628565b6100f7610643565b610198600480360360408110156102a957600080fd5b506001600160a01b0381351690602001356106a4565b610263600480360360208110156102d557600080fd5b503561070c565b610198600480360360408110156102f257600080fd5b506001600160a01b038135169060200135610862565b6101b46004803603604081101561031e57600080fd5b506001600160a01b0381358116916020013516610876565b61033e6108a1565b604080516001600160a01b039092168252519081900360200190f35b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103e65780601f106103bb576101008083540402835291602001916103e6565b820191906000526020600020905b8154815290600101906020018083116103c957829003601f168201915b5050505050905090565b60006104046103fd6108b5565b84846108b9565b5060015b92915050565b60025490565b60006104218484846109a5565b6104918461042d6108b5565b61048c85604051806060016040528060288152602001610fb5602891396001600160a01b038a1660009081526001602052604081209061046b6108b5565b6001600160a01b031681526020810191909152604001600020549190610b00565b6108b9565b5060019392505050565b60055460ff1690565b60006104046104b16108b5565b8461048c85600160006104c26108b5565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610b97565b600554604080516370a0823160e01b8152306004820152905160009261010090046001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561054257600080fd5b505afa158015610556573d6000803e3d6000fd5b505050506040513d602081101561056c57600080fd5b50519050600061057a61040e565b905060006105928261058c8686610bf8565b90610c51565b905061059e3385610cb8565b6005546040805163a9059cbb60e01b81523360048201526024810184905290516101009092046001600160a01b03169163a9059cbb916044808201926020929091908290030181600087803b1580156105f657600080fd5b505af115801561060a573d6000803e3d6000fd5b505050506040513d602081101561062057600080fd5b505050505050565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103e65780601f106103bb576101008083540402835291602001916103e6565b60006104046106b16108b5565b8461048c8560405180606001604052806025815260200161104760259139600160006106db6108b5565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610b00565b600554604080516370a0823160e01b8152306004820152905160009261010090046001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561075c57600080fd5b505afa158015610770573d6000803e3d6000fd5b505050506040513d602081101561078657600080fd5b50519050600061079461040e565b90508015806107a1575081155b156107b5576107b03384610db4565b6107d3565b60006107c58361058c8685610bf8565b90506107d13382610db4565b505b600554604080516323b872dd60e01b81523360048201523060248201526044810186905290516101009092046001600160a01b0316916323b872dd916064808201926020929091908290030181600087803b15801561083157600080fd5b505af1158015610845573d6000803e3d6000fd5b505050506040513d602081101561085b57600080fd5b5050505050565b600061040461086f6108b5565b84846109a5565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60055461010090046001600160a01b031681565b3390565b6001600160a01b0383166108fe5760405162461bcd60e51b81526004018080602001828103825260248152602001806110236024913960400191505060405180910390fd5b6001600160a01b0382166109435760405162461bcd60e51b8152600401808060200182810382526022815260200180610f4c6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166109ea5760405162461bcd60e51b8152600401808060200182810382526025815260200180610ffe6025913960400191505060405180910390fd5b6001600160a01b038216610a2f5760405162461bcd60e51b8152600401808060200182810382526023815260200180610f076023913960400191505060405180910390fd5b610a3a838383610ea4565b610a7781604051806060016040528060268152602001610f6e602691396001600160a01b0386166000908152602081905260409020549190610b00565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610aa69082610b97565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610b8f5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b54578181015183820152602001610b3c565b50505050905090810190601f168015610b815780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610bf1576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600082610c0757506000610408565b82820282848281610c1457fe5b0414610bf15760405162461bcd60e51b8152600401808060200182810382526021815260200180610f946021913960400191505060405180910390fd5b6000808211610ca7576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610cb057fe5b049392505050565b6001600160a01b038216610cfd5760405162461bcd60e51b8152600401808060200182810382526021815260200180610fdd6021913960400191505060405180910390fd5b610d0982600083610ea4565b610d4681604051806060016040528060228152602001610f2a602291396001600160a01b0385166000908152602081905260409020549190610b00565b6001600160a01b038316600090815260208190526040902055600254610d6c9082610ea9565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6001600160a01b038216610e0f576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610e1b60008383610ea4565b600254610e289082610b97565b6002556001600160a01b038216600090815260208190526040902054610e4e9082610b97565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b505050565b600082821115610f00576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220a03ca67bad57bfa3a84b8635b15531030af1ea5c6b776ff9daddb6a4010c82a564736f6c63430007060033",
"linkReferences": {},
"deployedLinkReferences": {}
}