UNPKG

@augmentedfinance/protocol-v1

Version:

Augmented Protocol smart contracts

414 lines 21.1 kB
"use strict"; /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ Object.defineProperty(exports, "__esModule", { value: true }); exports.TreasuryRewardPoolFactory = void 0; const contracts_1 = require("@ethersproject/contracts"); class TreasuryRewardPoolFactory extends contracts_1.ContractFactory { constructor(signer) { super(_abi, _bytecode, signer); } deploy(controller, initialRate, baselinePercentage, overrides) { return super.deploy(controller, initialRate, baselinePercentage, overrides || {}); } getDeployTransaction(controller, initialRate, baselinePercentage, overrides) { return super.getDeployTransaction(controller, initialRate, baselinePercentage, overrides || {}); } attach(address) { return super.attach(address); } connect(signer) { return super.connect(signer); } static connect(address, signerOrProvider) { return new contracts_1.Contract(address, _abi, signerOrProvider); } } exports.TreasuryRewardPoolFactory = TreasuryRewardPoolFactory; const _abi = [ { inputs: [ { internalType: "contract IRewardController", name: "controller", type: "address", }, { internalType: "uint256", name: "initialRate", type: "uint256", }, { internalType: "uint16", name: "baselinePercentage", type: "uint16", }, ], stateMutability: "nonpayable", type: "constructor", }, { anonymous: false, inputs: [ { indexed: false, internalType: "uint16", name: "", type: "uint16", }, ], name: "BaselinePercentageUpdated", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "by", type: "address", }, { indexed: false, internalType: "bool", name: "paused", type: "bool", }, ], name: "EmergencyPaused", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "provider", type: "address", }, { indexed: false, internalType: "address", name: "token", type: "address", }, ], name: "ProviderAdded", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "provider", type: "address", }, ], name: "ProviderRemoved", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "uint256", name: "rate", type: "uint256", }, ], name: "RateUpdated", type: "event", }, { inputs: [ { internalType: "address", name: "", type: "address", }, { internalType: "address", name: "", type: "address", }, ], name: "addRewardProvider", outputs: [], stateMutability: "view", type: "function", }, { inputs: [], name: "attachedToRewardController", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "holder", type: "address", }, { internalType: "uint32", name: "at", type: "uint32", }, ], name: "calcRewardFor", outputs: [ { internalType: "uint256", name: "amount", type: "uint256", }, { internalType: "uint256", name: "", type: "uint256", }, { internalType: "uint32", name: "since", type: "uint32", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "holder", type: "address", }, ], name: "claimRewardFor", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, { internalType: "uint32", name: "", type: "uint32", }, { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "holder", type: "address", }, { internalType: "uint256", name: "baseAmount", type: "uint256", }, { internalType: "uint256", name: "limit", type: "uint256", }, { internalType: "uint16", name: "minPct", type: "uint16", }, ], name: "claimRewardWithLimitFor", outputs: [ { internalType: "uint256", name: "amount", type: "uint256", }, { internalType: "uint32", name: "since", type: "uint32", }, { internalType: "bool", name: "keepPull", type: "bool", }, { internalType: "uint256", name: "newLimit", type: "uint256", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "detachedFromRewardController", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "getBaselinePercentage", outputs: [ { internalType: "uint16", name: "", type: "uint16", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getPoolName", outputs: [ { internalType: "string", name: "", type: "string", }, ], stateMutability: "pure", type: "function", }, { inputs: [], name: "getRate", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getRewardController", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "isPaused", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "", type: "address", }, ], name: "removeRewardProvider", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint16", name: "factor", type: "uint16", }, ], name: "setBaselinePercentage", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bool", name: "paused", type: "bool", }, ], name: "setPaused", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint256", name: "baseline", type: "uint256", }, ], name: "updateBaseline", outputs: [ { internalType: "bool", name: "hasBaseline", type: "bool", }, { internalType: "uint256", name: "appliedRate", type: "uint256", }, ], stateMutability: "nonpayable", type: "function", }, ]; const _bytecode = "0x60806040523480156200001157600080fd5b506040516200156c3803806200156c833981016040819052620000349162000348565b8282826200005a838383604051806020016040528060008152506200006660201b60201c565b50505050505062000446565b600080546001600160a01b0319166001600160a01b03861617905561ffff82161562000097576200009782620000af565b8215620000a957620000a98362000194565b50505050565b620000b9620001da565b61ffff8116620000d557620000cf600062000194565b6200013d565b620000e360016064620003b9565b620000f0906064620003b9565b61ffff168161ffff1611156200013d5760405162461bcd60e51b815260206004820152600d60248201526c696c6c6567616c2076616c756560981b60448201526064015b60405180910390fd5b6000805461ffff60a01b1916600160a01b61ffff8416908102919091179091556040519081527fa4a0021d5a3e887ed39092287593218ba56daabb698755739666df81df918409906020015b60405180910390a150565b6200019e620001da565b620001a98162000236565b6040518181527fe65c987b2e4668e09ba867026921588005b2b2063607a1e7e7d91683c8f91b7b9060200162000189565b6000546001600160a01b0316620002345760405162461bcd60e51b815260206004820152601660248201527f636f6e74726f6c6c657220697320726571756972656400000000000000000000604482015260640162000134565b565b6200024c816200024f60201b620004b11760201c565b50565b6200024c814281600154141562000264575050565b60045463ffffffff9081169082168114620002995760015462000287836200029e565b6001849055620000a98183856200030d565b505050565b60045463ffffffff9081169082161015620002f15760405162461bcd60e51b8152602060048201526012602482015271726574726f6163746976652075706461746560701b604482015260640162000134565b6004805463ffffffff191663ffffffff92909216919091179055565b62000319828262000408565b6200032b9063ffffffff1684620003e6565b600260008282546200033e91906200039e565b9091555050505050565b6000806000606084860312156200035d578283fd5b83516001600160a01b038116811462000374578384fd5b60208501516040860151919450925061ffff8116811462000393578182fd5b809150509250925092565b60008219821115620003b457620003b462000430565b500190565b600061ffff80831681851681830481118215151615620003dd57620003dd62000430565b02949350505050565b600081600019048311821515161562000403576200040362000430565b500290565b600063ffffffff8381169083168181101562000428576200042862000430565b039392505050565b634e487b7160e01b600052601160045260246000fd5b61111680620004566000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063679aefce11610097578063b187bd2611610066578063b187bd2614610238578063b6fe2e9c14610255578063d299398314610268578063ff85a2ba1461029657600080fd5b8063679aefce146101a35780638abc37d3146101ab57806392efda79146101df578063a8346a8c146101fa57600080fd5b80631dd0f483116100d35780631dd0f483146101545780634800df8c146101675780634d25c4f11461017a57806355f4f1971461019b57600080fd5b80630746363d146100fa5780630ca2103d1461011557806316c38b3c1461013f575b600080fd5b6101026102cb565b6040519081526020015b60405180910390f35b610128610123366004610eec565b6102e0565b60408051921515835260208301919091520161010c565b61015261014d366004610e9a565b61033d565b005b610152610162366004610da7565b6103af565b610152610175366004610ed2565b6103ba565b600054600160a01b900461ffff1660405161ffff909116815260200161010c565b6101026103cb565b6101026103dd565b6101be6101b9366004610e65565b6103e7565b60408051938452602084019290925263ffffffff169082015260600161010c565b6000546040516001600160a01b03909116815260200161010c565b61020d610208366004610e1e565b61041e565b6040805194855263ffffffff909316602085015290151591830191909152606082015260800161010c565b600054600160b01b900460ff16604051901515815260200161010c565b610152610263366004610de6565b61044a565b604080518082018252600c81526b151c99585cdd5c9e541bdbdb60a21b6020820152905161010c9190610f6c565b6102a96102a4366004610da7565b61048d565b6040805193845263ffffffff909216602084015215159082015260600161010c565b60006102d56104bb565b50600090565b905090565b6000806102eb6104bb565b600054600160a01b900461ffff16610310576000610307610502565b91509150915091565b600054610329908490600160a01b900461ffff1661050d565b90506103348161060b565b60019150915091565b610345610653565b60005460ff600160b01b90910416151581151514610375576000805460ff60b01b1916600160b01b831515021790555b604051811515815233907facaf4ee8e6a4949ca96787d73dfff5165ff2c555b2304b8517dc5396053add859060200160405180910390a250565b6103b7610683565b50565b6103c26104bb565b6103b7816106c5565b60006103d56104bb565b6102d5610793565b60006102db610502565b60008060004263ffffffff168463ffffffff16101561040557600080fd5b61040f858561079b565b90966000965090945092505050565b60008060008061042c6104bb565b610438888888886107f1565b929b919a509850909650945050505050565b610452610683565b60405162461bcd60e51b815260206004820152600b60248201526a155394d5541413d495115160aa1b60448201526064015b60405180910390fd5b600080600061049a6104bb565b6104a384610842565b9250925092505b9193909250565b6103b7814261089f565b6000546001600160a01b0316331460405180604001604052806002815260200161039360f41b815250906103b75760405162461bcd60e51b81526004016104849190610f6c565b60006102db60015490565b600082158061051a575081155b1561052757506000610605565b8160026105366001606461100c565b61054190606461100c565b61054b9190610fd7565b61055b9061ffff16600019611055565b6105659190610ff8565b83111560405180604001604052806002815260200161068760f31b815250906105a15760405162461bcd60e51b81526004016104849190610f6c565b506105ae6001606461100c565b6105b990606461100c565b61ffff1660026105cb6001606461100c565b6105d690606461100c565b6105e09190610fd7565b61ffff166105ee8486611036565b6105f89190610fbf565b6106029190610ff8565b90505b92915050565b6106136108e4565b61061c81610935565b6040518181527fe65c987b2e4668e09ba867026921588005b2b2063607a1e7e7d91683c8f91b7b906020015b60405180910390a150565b61068161065e61093e565b336001604051806040016040528060028152602001611b9b60f11b8152506109c5565b565b61068c336109f6565b60405180604001604052806002815260200161383160f01b815250906103b75760405162461bcd60e51b81526004016104849190610f6c565b6106cd6108e4565b61ffff81166106e5576106e0600061060b565b610743565b6106f16001606461100c565b6106fc90606461100c565b61ffff168161ffff1611156107435760405162461bcd60e51b815260206004820152600d60248201526c696c6c6567616c2076616c756560981b6044820152606401610484565b6000805461ffff60a01b1916600160a01b61ffff8416908102919091179091556040519081527fa4a0021d5a3e887ed39092287593218ba56daabb698755739666df81df91840990602001610648565b610681610a89565b6000806001600160a01b038416158015906107cb57506004546001600160a01b0385811664010000000090920416145b156107e3576107d983610b08565b83915091506107ea565b5060009050805b9250929050565b60008060008061080088610842565b919550935091506108118785610fbf565b935061ffff8516156108385761082b848661ffff1661050d565b6108359087610fbf565b95505b5094509450949050565b600080806001600160a01b0384161580159061087357506004546001600160a01b0385811664010000000090920416145b1561089157610883600019610b4c565b4260019250925092506104aa565b506000938493508392509050565b8160015414156108ad575050565b60045463ffffffff90811690821681146108df576001546108cd83610b80565b60018490556108dd818385610bed565b505b505050565b6000546001600160a01b03166106815760405162461bcd60e51b815260206004820152601660248201527518dbdb9d1c9bdb1b195c881a5cc81c995c5d5a5c995960521b6044820152606401610484565b6103b7816104b1565b60008060009054906101000a90046001600160a01b03166001600160a01b03166316d6b5f66040518163ffffffff1660e01b815260040160206040518083038186803b15801561098d57600080fd5b505afa1580156109a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102db9190610dca565b6109d0848484610c22565b81906109ef5760405162461bcd60e51b81526004016104849190610f6c565b5050505050565b600080546001600160a01b031615801590610605575060005460405163ce91a05960e01b81526001600160a01b0384811660048301529091169063ce91a0599060240160206040518083038186803b158015610a5157600080fd5b505afa158015610a65573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106059190610eb6565b6000610a93610c3d565b6004549091506001600160a01b03808316640100000000909204161415610ab75750565b60048054640100000000600160c01b0319166401000000006001600160a01b03841690810291909117909155156103b7576000610af5600019610b4c565b9050610b048282426002610c8b565b5050565b60035460045460009190610b229063ffffffff168461106c565b63ffffffff16600154610b359190611036565b600254610b429190610fbf565b6106059190611055565b6000610b56610cf9565b905080821015610b635750805b8060036000828254610b759190610fbf565b909155509092915050565b60045463ffffffff9081169082161015610bd15760405162461bcd60e51b8152602060048201526012602482015271726574726f6163746976652075706461746560701b6044820152606401610484565b6004805463ffffffff191663ffffffff92909216919091179055565b610bf7828261106c565b610c079063ffffffff1684611036565b60026000828254610c189190610fbf565b9091555050505050565b600080610c30858585610d04565b9092161515949350505050565b6000610c4761093e565b604051635c9fcd8560e11b81526208000060048201526001600160a01b03919091169063b93f9b0a9060240160206040518083038186803b15801561098d57600080fd5b6000546040516316050d6360e31b81526001600160a01b039091169063b0286b1890610cc1908790879087908790600401610f1c565b600060405180830381600087803b158015610cdb57600080fd5b505af1158015610cef573d6000803e3d6000fd5b5050505050505050565b60006102db42610b08565b60405163cc8b29c160e01b81526001600160a01b038381166004830152602482018390526000919085169063cc8b29c19060440160206040518083038186803b158015610d5057600080fd5b505afa158015610d64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d889190610f04565b949350505050565b803561ffff81168114610da257600080fd5b919050565b600060208284031215610db8578081fd5b8135610dc3816110bd565b9392505050565b600060208284031215610ddb578081fd5b8151610dc3816110bd565b60008060408385031215610df8578081fd5b8235610e03816110bd565b91506020830135610e13816110bd565b809150509250929050565b60008060008060808587031215610e33578182fd5b8435610e3e816110bd565b93506020850135925060408501359150610e5a60608601610d90565b905092959194509250565b60008060408385031215610e77578182fd5b8235610e82816110bd565b9150602083013563ffffffff81168114610e13578182fd5b600060208284031215610eab578081fd5b8135610dc3816110d2565b600060208284031215610ec7578081fd5b8151610dc3816110d2565b600060208284031215610ee3578081fd5b61060282610d90565b600060208284031215610efd578081fd5b5035919050565b600060208284031215610f15578081fd5b5051919050565b6001600160a01b03851681526020810184905263ffffffff831660408201526080810160038310610f5d57634e487b7160e01b600052602160045260246000fd5b82606083015295945050505050565b6000602080835283518082850152825b81811015610f9857858101830151858201604001528201610f7c565b81811115610fa95783604083870101525b50601f01601f1916929092016040019392505050565b60008219821115610fd257610fd2611091565b500190565b600061ffff80841680610fec57610fec6110a7565b92169190910492915050565b600082611007576110076110a7565b500490565b600061ffff8083168185168183048111821515161561102d5761102d611091565b02949350505050565b600081600019048311821515161561105057611050611091565b500290565b60008282101561106757611067611091565b500390565b600063ffffffff8381169083168181101561108957611089611091565b039392505050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b6001600160a01b03811681146103b757600080fd5b80151581146103b757600080fdfea2646970667358221220f0f0ccf9e8b18fb0e600a93e84d7495185a67e2567786a02e4bd1c03940061f164736f6c63430008040033"; //# sourceMappingURL=TreasuryRewardPoolFactory.js.map