@augmentedfinance/protocol-v1
Version:
Augmented Protocol smart contracts
498 lines • 27.1 kB
JavaScript
"use strict";
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
Object.defineProperty(exports, "__esModule", { value: true });
exports.TokenWeightedRewardPoolFactory = void 0;
const contracts_1 = require("@ethersproject/contracts");
class TokenWeightedRewardPoolFactory 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.TokenWeightedRewardPoolFactory = TokenWeightedRewardPoolFactory;
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: "provider",
type: "address",
},
{
internalType: "address",
name: "token",
type: "address",
},
],
name: "addRewardProvider",
outputs: [],
stateMutability: "nonpayable",
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: "view",
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: [
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "address",
name: "holder",
type: "address",
},
{
internalType: "uint256",
name: "oldBalance",
type: "uint256",
},
{
internalType: "uint256",
name: "newBalance",
type: "uint256",
},
{
internalType: "uint256",
name: "totalBalance",
type: "uint256",
},
],
name: "handleBalanceUpdate",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "address",
name: "holder",
type: "address",
},
{
internalType: "uint256",
name: "oldBalance",
type: "uint256",
},
{
internalType: "uint256",
name: "newBalance",
type: "uint256",
},
{
internalType: "uint256",
name: "totalBalance",
type: "uint256",
},
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
name: "handleScaledBalanceUpdate",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "isPaused",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "isScaledBalanceUpdateNeeded",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "pure",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "provider",
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 = "0x60806040523480156200001157600080fd5b5060405162001cd638038062001cd68339810160408190526200003491620003fb565b8282826200005a838383604051806020016040528060008152506200006660201b60201c565b5050505050506200051a565b600080546001600160a01b0319166001600160a01b03861617905561ffff82161562000097576200009782620000af565b8215620000a957620000a98362000194565b50505050565b620000b9620001da565b61ffff8116620000d557620000cf600062000194565b6200013d565b620000e3600160646200048d565b620000f09060646200048d565b61ffff168161ffff1611156200013d5760405162461bcd60e51b815260206004820152600d60248201526c696c6c6567616c2076616c756560981b60448201526064015b60405180910390fd5b6000805461ffff60a01b1916600160a01b61ffff8416908102919091179091556040519081527fa4a0021d5a3e887ed39092287593218ba56daabb698755739666df81df918409906020015b60405180910390a150565b6200019e620001da565b620001a98162000236565b6040518181527fe65c987b2e4668e09ba867026921588005b2b2063607a1e7e7d91683c8f91b7b9060200162000189565b6000546001600160a01b0316620002345760405162461bcd60e51b815260206004820152601660248201527f636f6e74726f6c6c657220697320726571756972656400000000000000000000604482015260640162000134565b565b6200024c816200024f60201b620006681760201c565b50565b6200024c81426004546001600160e01b03168214156200026d575050565b6001600160e01b038211156200028257600080fd5b60045463ffffffff600160e01b90910481169082168114620002ef576004546001600160e01b0390811690620002bb908490620002f416565b600480546001600160e01b0319166001600160e01b0386811691909117909155620000a99082811690849086906200037316565b505050565b60045463ffffffff600160e01b909104811690821610156200034e5760405162461bcd60e51b8152602060048201526012602482015271726574726f6163746976652075706461746560701b604482015260640162000134565b6004805463ffffffff909216600160e01b026001600160e01b03909216919091179055565b6006546200038057505050565b8163ffffffff168163ffffffff1614620002ef57600654620003b2906ec097ce7bc90715b34b9f10000000006200046c565b620003be9084620004ba565b9250620003cc8282620004dc565b620003de9063ffffffff1684620004ba565b60056000828254620003f1919062000451565b9091555050505050565b60008060006060848603121562000410578283fd5b83516001600160a01b038116811462000427578384fd5b60208501516040860151919450925061ffff8116811462000446578182fd5b809150509250925092565b6000821982111562000467576200046762000504565b500190565b6000826200048857634e487b7160e01b81526012600452602481fd5b500490565b600061ffff80831681851681830481118215151615620004b157620004b162000504565b02949350505050565b6000816000190483118215151615620004d757620004d762000504565b500290565b600063ffffffff83811690831681811015620004fc57620004fc62000504565b039392505050565b634e487b7160e01b600052601160045260246000fd5b6117ac806200052a6000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c806392efda79116100a2578063b187bd2611610071578063b187bd261461027f578063b6fe2e9c14610291578063d2993983146102a4578063de95ce03146102be578063ff85a2ba146102d157600080fd5b806392efda791461020057806395a052541461021b578063a649d3211461022e578063a8346a8c1461024157600080fd5b80634800df8c116100e95780634800df8c146101885780634d25c4f11461019b57806355f4f197146101bc578063679aefce146101c45780638abc37d3146101cc57600080fd5b80630746363d1461011b5780630ca2103d1461013657806316c38b3c146101605780631dd0f48314610175575b600080fd5b610123610306565b6040519081526020015b60405180910390f35b610149610144366004611582565b61031b565b60408051921515835260208301919091520161012d565b61017361016e366004611514565b610378565b005b610173610183366004611395565b6103ea565b610173610196366004611568565b61046f565b600054600160a01b900461ffff1660405161ffff909116815260200161012d565b610123610480565b61012361048f565b6101df6101da3660046114df565b610499565b60408051938452602084019290925263ffffffff169082015260600161012d565b6000546040516001600160a01b03909116815260200161012d565b6101736102293660046113f0565b6104d2565b60005b604051901515815260200161012d565b61025461024f366004611498565b6104ed565b6040805194855263ffffffff909316602085015290151591830191909152606082015260800161012d565b600054600160b01b900460ff16610231565b61017361029f3660046113b8565b610519565b6040805160208101825260008152905161012d9190611602565b6101736102cc366004611440565b610629565b6102e46102df366004611395565b610645565b6040805193845263ffffffff909216602084015215159082015260600161012d565b6000610310610672565b50600090565b905090565b600080610326610672565b600054600160a01b900461ffff1661034b5760006103426106b9565b91509150915091565b600054610364908490600160a01b900461ffff166106cd565b905061036f816107cb565b60019150915091565b61038061080c565b60005460ff600160b01b909104161515811515146103b0576000805460ff60b01b1916600160b01b831515021790555b604051811515815233907facaf4ee8e6a4949ca96787d73dfff5165ff2c555b2304b8517dc5396053add859060200160405180910390a250565b6103f261083c565b6001546001600160a01b03828116911614158061041657506001600160a01b038116155b1561041e5750565b600180546001600160a01b03191690556040516001600160a01b03821681527f1589f8555933761a3cff8aa925061be3b46e2dd43f621322ab611d300f62b1d9906020015b60405180910390a15b50565b610477610672565b61046c8161087e565b600061048a610672565b610310565b60006103166106b9565b60008060004263ffffffff168463ffffffff1610156104b757600080fd5b6104c1858561094c565b9093506000925090505b9250925092565b6104db81610965565b6104e6848484610972565b5050505050565b6000806000806104fb610672565b610507888888886109ef565b929b919a509850909650945050505050565b61052161083c565b6001600160a01b0382166105735760405162461bcd60e51b81526020600482015260146024820152731c1c9bdd9a59195c881a5cc81c995c5d5a5c995960621b60448201526064015b60405180910390fd5b6001546001600160a01b0316156105cc5760405162461bcd60e51b815260206004820152601760248201527f70726f766964657220697320616c726561647920736574000000000000000000604482015260640161056a565b600180546001600160a01b0319166001600160a01b038481169182179092556040805191825291831660208201527fcfac21410bfc65e4496174539de6f9373ddaa361e97587fa950b527df5b8d15c910160405180910390a15050565b61063282610965565b61063d858585610972565b505050505050565b6000806000610652610672565b61065b84610a40565b9250925092509193909250565b61046c8142610a4e565b6000546001600160a01b0316331460405180604001604052806002815260200161039360f41b8152509061046c5760405162461bcd60e51b815260040161056a9190611602565b60006103166004546001600160e01b031690565b60008215806106da575081155b156106e7575060006107c5565b8160026106f6600160646116a2565b6107019060646116a2565b61070b919061166d565b61071b9061ffff166000196116eb565b610725919061168e565b83111560405180604001604052806002815260200161068760f31b815250906107615760405162461bcd60e51b815260040161056a9190611602565b5061076e600160646116a2565b6107799060646116a2565b61ffff16600261078b600160646116a2565b6107969060646116a2565b6107a0919061166d565b61ffff166107ae84866116cc565b6107b89190611655565b6107c2919061168e565b90505b92915050565b6107d3610add565b6107dc81610b2e565b6040518181527fe65c987b2e4668e09ba867026921588005b2b2063607a1e7e7d91683c8f91b7b90602001610463565b61083a610817610b37565b336001604051806040016040528060028152602001611b9b60f11b815250610bbe565b565b61084533610be8565b60405180604001604052806002815260200161383160f01b8152509061046c5760405162461bcd60e51b815260040161056a9190611602565b610886610add565b61ffff811661089e5761089960006107cb565b6108fc565b6108aa600160646116a2565b6108b59060646116a2565b61ffff168161ffff1611156108fc5760405162461bcd60e51b815260206004820152600d60248201526c696c6c6567616c2076616c756560981b604482015260640161056a565b6000805461ffff60a01b1916600160a01b61ffff8416908102919091179091556040519081527fa4a0021d5a3e887ed39092287593218ba56daabb698755739666df81df91840990602001610463565b6000806109598484610c7b565b915091505b9250929050565b61096e81610d26565b5050565b6001546001600160a01b031633146109cc5760405162461bcd60e51b815260206004820152601760248201527f756e6b6e6f776e207265776172642070726f7669646572000000000000000000604482015260640161056a565b60008060006109dd33878787610d44565b92509250925061063d86848484610d63565b6000806000806109fe88610a40565b91955093509150610a0f8785611655565b935061ffff851615610a3657610a29848661ffff166106cd565b610a339087611655565b95505b5094509450949050565b600080600061065b84610dd1565b6004546001600160e01b0316821415610a65575050565b6001600160e01b03821115610a7957600080fd5b60045463ffffffff600160e01b90910481169082168114610ad8576004546001600160e01b0316610aa983610ddf565b600480546001600160e01b0319166001600160e01b0386811691909117909155610ad69082168385610e5c565b505b505050565b6000546001600160a01b031661083a5760405162461bcd60e51b815260206004820152601660248201527518dbdb9d1c9bdb1b195c881a5cc81c995c5d5a5c995960521b604482015260640161056a565b61046c81610668565b60008060009054906101000a90046001600160a01b03166001600160a01b03166316d6b5f66040518163ffffffff1660e01b815260040160206040518083038186803b158015610b8657600080fd5b505afa158015610b9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610316919061154c565b610bc9848484610ed8565b81906104e65760405162461bcd60e51b815260040161056a9190611602565b600080546001600160a01b0316158015906107c5575060005460405163ce91a05960e01b81526001600160a01b0384811660048301529091169063ce91a0599060240160206040518083038186803b158015610c4357600080fd5b505afa158015610c57573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c59190611530565b6001600160a01b03821660009081526002602052604081205481906001600160c01b0316610cae5750600090508061095e565b6001600160a01b0384166000818152600260209081526040808320815160608101835290546001600160c01b038116825263ffffffff600160c01b8204811683860152600160e01b9091041681830152938352600390915281205490918291610d18919087610ef3565b909890975095505050505050565b6000600654821415610d3a57506000919050565b6107c58242610fdb565b6000806000610d538685611025565b9250925092509450945094915050565b6000546040516316050d6360e31b81526001600160a01b039091169063b0286b1890610d999087908790879087906004016115b2565b600060405180830381600087803b158015610db357600080fd5b505af1158015610dc7573d6000803e3d6000fd5b5050505050505050565b6000808061065b84426110e7565b60045463ffffffff600160e01b90910481169082161015610e375760405162461bcd60e51b8152602060048201526012602482015271726574726f6163746976652075706461746560701b604482015260640161056a565b6004805463ffffffff909216600160e01b026001600160e01b03909216919091179055565b600654610e6857505050565b8163ffffffff168163ffffffff1614610ad857600654610e97906ec097ce7bc90715b34b9f100000000061168e565b610ea190846116cc565b9250610ead8282611702565b610ebd9063ffffffff16846116cc565b60056000828254610ece9190611655565b9091555050505050565b600080610ee68585856111da565b9092161515949350505050565b600554600654600090819015610f6457600080610f0e611266565b915091506006546ec097ce7bc90715b34b9f1000000000610f2f919061168e565b610f3990836116cc565b9150610f458187611702565b610f559063ffffffff16836116cc565b610f5f9086611655565b945050505b84831480610f7a575085516001600160c01b0316155b15610f8e5750506040840151600090610fd2565b6ec097ce7bc90715b34b9f1000000000610fa886856116eb565b8751610fbd91906001600160c01b03166116cc565b610fc7919061168e565b604087015190925090505b93509350939050565b6000806000610fe8611266565b91509150610ff584610ddf565b811561101957611006828286610e5c565b8363ffffffff168163ffffffff16141592505b50506006929092555090565b600080806001600160c01b038411156110765760405162461bcd60e51b81526020600482015260136024820152720c4c2d8c2dcc6ca40d2e640e8dede40d0d2ced606b1b604482015260640161056a565b6001600160a01b038516600090815260026020908152604091829020825160608101845290546001600160c01b038116825263ffffffff600160c01b8204811693830193909352600160e01b9004909116918101919091526110da90869086611285565b9250925092509250925092565b6001600160a01b0382166000908152600260209081526040808320815160608101835290546001600160c01b03811680835263ffffffff600160c01b8304811695840195909552600160e01b90910490931691810191909152829182919061115a576000806000935093509350506104cb565b6001600160a01b038616600090815260036020526040812054819081906111839085908a610ef3565b6001600160a01b038c166000908152600360209081526040808320959095556002905292909220805463ffffffff8c16600160e01b026001600160e01b039091161790559750955060019450505050509250925092565b60405163cc8b29c160e01b81526001600160a01b038381166004830152602482018390526000919085169063cc8b29c19060440160206040518083038186803b15801561122657600080fd5b505afa15801561123a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125e919061159a565b949350505050565b6004546001600160e01b03811691600160e01b90910463ffffffff1690565b6000806000846040015163ffffffff16600014156112a5575060016112a9565b5060005b6001600160a01b038616600090815260036020526040812054429190819081906112d5908a9086610ef3565b6001600160a01b03909c1660008181526003602090815260408083209590955584516060810186526001600160c01b039d8e1681529d81015163ffffffff9081168f83019081529981168f870190815293835260029091529390209b518c54975191518416600160e01b026001600160e01b0392909416600160c01b026001600160e01b03199098169b169a909a17959095179890981697909717909755509690945092505050565b803561ffff8116811461139057600080fd5b919050565b6000602082840312156113a6578081fd5b81356113b181611753565b9392505050565b600080604083850312156113ca578081fd5b82356113d581611753565b915060208301356113e581611753565b809150509250929050565b600080600080600060a08688031215611407578081fd5b853561141281611753565b9450602086013561142281611753565b94979496505050506040830135926060810135926080909101359150565b60008060008060008060c08789031215611458578081fd5b863561146381611753565b9550602087013561147381611753565b95989597505050506040840135936060810135936080820135935060a0909101359150565b600080600080608085870312156114ad578384fd5b84356114b881611753565b935060208501359250604085013591506114d46060860161137e565b905092959194509250565b600080604083850312156114f1578182fd5b82356114fc81611753565b9150602083013563ffffffff811681146113e5578182fd5b600060208284031215611525578081fd5b81356113b181611768565b600060208284031215611541578081fd5b81516113b181611768565b60006020828403121561155d578081fd5b81516113b181611753565b600060208284031215611579578081fd5b6107c28261137e565b600060208284031215611593578081fd5b5035919050565b6000602082840312156115ab578081fd5b5051919050565b6001600160a01b03851681526020810184905263ffffffff8316604082015260808101600383106115f357634e487b7160e01b600052602160045260246000fd5b82606083015295945050505050565b6000602080835283518082850152825b8181101561162e57858101830151858201604001528201611612565b8181111561163f5783604083870101525b50601f01601f1916929092016040019392505050565b6000821982111561166857611668611727565b500190565b600061ffff808416806116825761168261173d565b92169190910492915050565b60008261169d5761169d61173d565b500490565b600061ffff808316818516818304811182151516156116c3576116c3611727565b02949350505050565b60008160001904831182151516156116e6576116e6611727565b500290565b6000828210156116fd576116fd611727565b500390565b600063ffffffff8381169083168181101561171f5761171f611727565b039392505050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b6001600160a01b038116811461046c57600080fd5b801515811461046c57600080fdfea2646970667358221220906ebc93985edb75634e9e6740f797a55368edb6bc361e7cce9bfecedd56501564736f6c63430008040033";
//# sourceMappingURL=TokenWeightedRewardPoolFactory.js.map