UNPKG

@augmentedfinance/protocol-v1

Version:

Augmented Protocol smart contracts

669 lines 37.7 kB
"use strict"; /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ Object.defineProperty(exports, "__esModule", { value: true }); exports.RewardFreezerFactory = void 0; const contracts_1 = require("@ethersproject/contracts"); class RewardFreezerFactory extends contracts_1.ContractFactory { constructor(signer) { super(_abi, _bytecode, signer); } deploy(accessController, rewardMinter, overrides) { return super.deploy(accessController, rewardMinter, overrides || {}); } getDeployTransaction(accessController, rewardMinter, overrides) { return super.getDeployTransaction(accessController, rewardMinter, 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.RewardFreezerFactory = RewardFreezerFactory; const _abi = [ { inputs: [ { internalType: "contract IMarketAccessController", name: "accessController", type: "address", }, { internalType: "contract IRewardMinter", name: "rewardMinter", type: "address", }, ], stateMutability: "nonpayable", type: "constructor", }, { anonymous: false, inputs: [ { indexed: false, internalType: "uint256", name: "baseline", type: "uint256", }, { indexed: false, internalType: "uint256", name: "totalRate", type: "uint256", }, { indexed: false, internalType: "uint256", name: "mask", type: "uint256", }, ], name: "BaselineUpdated", 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: "minter", type: "address", }, ], name: "RewardMinterSet", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "pool", type: "address", }, { indexed: false, internalType: "uint256", name: "mask", type: "uint256", }, ], name: "RewardPoolAdded", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "pool", type: "address", }, { indexed: false, internalType: "uint256", name: "mask", type: "uint256", }, ], name: "RewardPoolRemoved", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "user", type: "address", }, { indexed: false, internalType: "uint256", name: "amount", type: "uint256", }, { indexed: true, internalType: "address", name: "fromPool", type: "address", }, ], name: "RewardsAllocated", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "user", type: "address", }, { indexed: true, internalType: "address", name: "to", type: "address", }, { indexed: false, internalType: "uint256", name: "amount", type: "uint256", }, ], name: "RewardsClaimed", type: "event", }, { inputs: [ { internalType: "contract IManagedRewardPool", name: "pool", type: "address", }, ], name: "addRewardPool", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "holder", type: "address", }, { internalType: "uint256", name: "allocated", type: "uint256", }, { internalType: "uint32", name: "since", type: "uint32", }, { internalType: "enum AllocationMode", name: "mode", type: "uint8", }, ], name: "allocatedByPool", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "holder", type: "address", }, ], name: "balanceOf", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "claimReward", outputs: [ { internalType: "uint256", name: "claimed", type: "uint256", }, { internalType: "uint256", name: "extra", type: "uint256", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "receiver", type: "address", }, { internalType: "uint256", name: "includeMask", type: "uint256", }, ], name: "claimRewardTo", outputs: [ { internalType: "uint256", name: "claimed", type: "uint256", }, { internalType: "uint256", name: "extra", type: "uint256", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "holder", type: "address", }, ], name: "claimablePools", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "holder", type: "address", }, ], name: "claimableReward", outputs: [ { internalType: "uint256", name: "claimable", type: "uint256", }, { internalType: "uint256", name: "extra", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "holder", type: "address", }, { internalType: "uint256", name: "includeMask", type: "uint256", }, ], name: "claimableRewardFor", outputs: [ { internalType: "uint256", name: "claimable", type: "uint256", }, { internalType: "uint256", name: "extra", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getAccessController", outputs: [ { internalType: "contract IMarketAccessController", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getFreezePercentage", outputs: [ { internalType: "uint16", name: "", type: "uint16", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getMeltDownAt", outputs: [ { internalType: "uint32", name: "", type: "uint32", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "pool", type: "address", }, ], name: "getPoolMask", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getPools", outputs: [ { internalType: "contract IManagedRewardPool[]", name: "", type: "address[]", }, { internalType: "uint256", name: "ignoreMask", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint256", name: "allMask", type: "uint256", }, ], name: "getPoolsByMask", outputs: [ { internalType: "address[]", name: "pools", type: "address[]", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getRewardMinter", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "addr", type: "address", }, ], name: "isConfigAdmin", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "isPaused", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "addr", type: "address", }, ], name: "isRateAdmin", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "contract IManagedRewardPool", name: "pool", type: "address", }, ], name: "removeRewardPool", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "contract IManagedRewardPool[]", name: "pools", type: "address[]", }, { internalType: "uint16[]", name: "pcts", type: "uint16[]", }, { internalType: "uint256", name: "baseline", type: "uint256", }, ], name: "setBaselinePercentagesAndRate", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint256", name: "includeMask", type: "uint256", }, ], name: "setClaimablePools", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address[]", name: "accounts", type: "address[]", }, { internalType: "uint256", name: "includeMask", type: "uint256", }, ], name: "setClaimablePoolsFor", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint16", name: "freezePortion", type: "uint16", }, ], name: "setFreezePercentage", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint32", name: "at", type: "uint32", }, ], name: "setMeltDownAt", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bool", name: "paused", type: "bool", }, ], name: "setPaused", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "contract IRewardMinter", name: "minter", type: "address", }, ], name: "setRewardMinter", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint256", name: "baseline", type: "uint256", }, ], name: "updateBaseline", outputs: [ { internalType: "uint256", name: "totalRate", type: "uint256", }, ], stateMutability: "nonpayable", type: "function", }, ]; const _bytecode = "0x60806040523480156200001157600080fd5b50604051620029f1380380620029f1833981016040819052620000349162000066565b600080546001600160a01b039384166001600160a01b03199182161790915560018054929093169116179055620000bd565b6000806040838503121562000079578182fd5b82516200008681620000a4565b60208401519092506200009981620000a4565b809150509250929050565b6001600160a01b0381168114620000ba57600080fd5b50565b61292480620000cd6000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c806370a08231116100f9578063b6de34c911610097578063d49ebe8f11610071578063d49ebe8f146103b7578063dcc03ee8146103ca578063ddebfb92146103dd578063e9503425146103f057600080fd5b8063b6de34c914610389578063b88a802f1461039c578063ce91a059146103a457600080fd5b8063a6c3b8e8116100d3578063a6c3b8e814610345578063a7a0b84a14610358578063b0286b181461036b578063b187bd261461037e57600080fd5b806370a082311461030c57806371703b871461031f5780639cb9a5541461033257600080fd5b8063354f352c1161016657806352284ea11161014057806352284ea1146102a5578063657b931d146102b8578063673a2a1f146102d35780636eb85981146102e957600080fd5b8063354f352c146102695780634b4739ea146102815780634dfdd3e51461029457600080fd5b80630ca2103d146101ae57806311bf2c20146101d457806316c38b3c146101e757806316d6b5f6146101fc57806326fd2712146102215780632803b7b114610241575b600080fd5b6101c16101bc36600461255b565b610403565b6040519081526020015b60405180910390f35b6101c16101e2366004612399565b610510565b6101fa6101f53660046124f0565b61055d565b005b6000546001600160a01b03165b6040516001600160a01b0390911681526020016101cb565b61023461022f36600461255b565b6105dc565b6040516101cb9190612616565b61025461024f3660046123b5565b610731565b604080519283526020830191909152016101cb565b60095460405163ffffffff90911681526020016101cb565b6101fa61028f36600461247f565b610754565b6001546001600160a01b0316610209565b6101fa6102b3366004612399565b61096c565b6102c0610c73565b60405161ffff90911681526020016101cb565b6102db610cab565b6040516101cb929190612663565b6102fc6102f7366004612399565b610d18565b60405190151581526020016101cb565b6101c161031a366004612399565b610d4b565b6101fa61032d3660046125fa565b610d8c565b6101c1610340366004612399565b610d9d565b6101fa610353366004612399565b610daa565b6101fa610366366004612399565b61108a565b6101fa6103793660046123e0565b6110e6565b60075460ff166102fc565b6102546103973660046123b5565b6111ed565b610254611259565b6102fc6103b2366004612399565b611281565b6101fa6103c536600461255b565b6112ae565b6101fa6103d8366004612539565b6112cb565b6101fa6103eb366004612435565b6112dc565b6102546103fe366004612399565b61135b565b600061040d611376565b610419826006546113b8565b600655604080518082019091526002815261070760f31b6020820152909150828211156104625760405162461bcd60e51b815260040161045991906126b4565b60405180910390fd5b50600154604051637ee9914160e11b8152306004820152602481018390526001600160a01b039091169063fdd3228290604401600060405180830381600087803b1580156104af57600080fd5b505af11580156104c3573d6000803e3d6000fd5b5050600654604080518681526020810186905280820192909252517f18c675fa7ed56fd1568a92bfa0c5d6993152c61c09bc673f68c14f165e2820bb9350908190036060019150a1919050565b6001600160a01b038116600090815260036020526040812054806105375750600092915050565b6001610546816201000061280d565b8216610552919061280d565b6001901b9392505050565b6040805180820190915260028152611b9b60f11b6020820152600054610593916001600160a01b039091169033906001906114d9565b6007805460ff191682151590811790915560405190815233907facaf4ee8e6a4949ca96787d73dfff5165ff2c555b2304b8517dc5396053add859060200160405180910390a250565b6060600554196105f683600254600019600190911b011690565b1691506000825b801561062257600181161561061a578161061681612858565b9250505b60011c6105fd565b508067ffffffffffffffff81111561064a57634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610673578160200160208202803683370190505b5091506000905080835b835183101561072957600181161561071457600282815481106106b057634e487b7160e01b600052603260045260246000fd5b9060005260206000200160009054906101000a90046001600160a01b03168484815181106106ee57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03909216602092830291909101909101528261071081612858565b9350505b61071f826001612707565b915060011c61067d565b505050919050565b60008061074884610742868661150a565b4261156b565b915091505b9250929050565b61075c611376565b83821461079f5760405162461bcd60e51b81526020600482015260116024820152700dad2e6dac2e8c6d0cac840d8cadccee8d607b1b6044820152606401610459565b60065460005b8581101561094a5760006107e78888848181106107d257634e487b7160e01b600052603260045260246000fd5b90506020020160208101906101e29190612399565b9050806108255760405162461bcd60e51b815260206004820152600c60248201526b1d5b9adb9bdddb881c1bdbdb60a21b6044820152606401610459565b87878381811061084557634e487b7160e01b600052603260045260246000fd5b905060200201602081019061085a9190612399565b6001600160a01b0316634800df8c87878581811061088857634e487b7160e01b600052603260045260246000fd5b905060200201602081019061089d9190612539565b6040516001600160e01b031960e084901b16815261ffff9091166004820152602401600060405180830381600087803b1580156108d957600080fd5b505af11580156108ed573d6000803e3d6000fd5b50505050600086868481811061091357634e487b7160e01b600052603260045260246000fd5b90506020020160208101906109289190612539565b61ffff16111561093757918217915b508061094281612858565b9150506107a5565b50600681905560001982146109645761096282610403565b505b505050505050565b6109746115d1565b6001600160a01b0381166109c15760405162461bcd60e51b81526020600482015260146024820152731c995dd85c99081c1bdbdb081c995c5d5a5c995960621b6044820152606401610459565b6001600160a01b038116600090815260036020526040902054806109e3575050565b600060016109f4816201000061280d565b8316610a00919061280d565b9050826001600160a01b031660028281548110610a2d57634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b031614610a815760405162461bcd60e51b815260206004820152600f60248201526e1d5b995e1c1958dd1959081c1bdbdb608a1b6044820152606401610459565b600060028281548110610aa457634e487b7160e01b600052603260045260246000fd5b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918516808252600383526040808320839055600580546001871b9081179091558151630746363d60e01b815291519094630746363d926004808201939182900301818787803b158015610b1e57600080fd5b505af1158015610b32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b569190612573565b90508015610c28576001600160ff1b03811115610bae5760405162461bcd60e51b815260206004820152601660248201527532bc31b2b9b9b4bb32903232b0b63637b1b0ba34b7b760511b6044820152606401610459565b6001546001600160a01b031663ab6de77986610bc984612873565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b158015610c0f57600080fd5b505af1158015610c23573d6000803e3d6000fd5b505050505b846001600160a01b03167ff157e68e2245c70cbc79c5da7477f57616bf886825f65d57b9ff756847672e7b83604051610c6391815260200190565b60405180910390a2505050505b50565b600954600090640100000000900461ffff16610c91600160646127a1565b610c9c9060646127a1565b610ca691906127ea565b905090565b60606000600260055481805480602002602001604051908101604052809291908181526020018280548015610d0957602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610ceb575b50505050509150915091509091565b600080546001600160a01b0316610d3857506001600160a01b0316301490565b610d458262800010611613565b92915050565b60006001600160a01b038216610d6357506000919050565b600080610d758461074286600061150a565b9092509050610d848183612707565b949350505050565b610d946115d1565b610c7081611632565b6000610d4582600061150a565b610db26115d1565b6001600160a01b038116610dff5760405162461bcd60e51b81526020600482015260146024820152731c995dd85c99081c1bdbdb081c995c5d5a5c995960621b6044820152606401610459565b6001600160a01b03811660009081526003602052604090205415610e5a5760405162461bcd60e51b8152602060048201526012602482015271185b1c9958591e481c9959da5cdd195c995960721b6044820152606401610459565b60025460ff1015610e9e5760405162461bcd60e51b815260206004820152600e60248201526d746f6f206d616e7920706f6f6c7360901b6044820152606401610459565b60028054600180820183557f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace820180546001600160a01b0319166001600160a01b0386169081179091559254600084815260036020908152604080832093909355600680549490951b93841790945581516355f4f19760e01b815291519294909390926355f4f19792600480820193929182900301818787803b158015610f4457600080fd5b505af1158015610f58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7c9190612573565b90508015611042576001600160ff1b03811115610fdb5760405162461bcd60e51b815260206004820152601760248201527f65786365737369766520707265616c6c6f636174696f6e0000000000000000006044820152606401610459565b60015460405163ab6de77960e01b81526001600160a01b038581166004830152602482018490529091169063ab6de77990604401600060405180830381600087803b15801561102957600080fd5b505af115801561103d573d6000803e3d6000fd5b505050505b826001600160a01b03167f305b52f8a9bfeffbe21e94adcd199148b2e85fc8305a3d121d99d078937df7d98360405161107d91815260200190565b60405180910390a2505050565b6110926115d1565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f2ad2d6dc5545aec43acc94f1b5c82f80a64f6c7ffae5eb863a8b3d02d1bf973e9060200160405180910390a150565b336000908152600360205260408120549061110560016201000061280d565b82169050806111455760405162461bcd60e51b815260206004820152600c60248201526b1d5b9adb9bdddb881c1bdbdb60a21b6044820152606401610459565b60109190911c90841561119f5761115e86868487611675565b60405185815233906001600160a01b038816907f311f9037d22bffc94ed576587a0a76d15ce73b8ae0536c7f6319477740d5e8f29060200160405180910390a35b60008360028111156111c157634e487b7160e01b600052602160045260246000fd5b14156111ce5750506111e7565b610964866111dd60018461280d565b6001901b856116bb565b50505050565b6000806111f8611700565b6001600160a01b0384166112455760405162461bcd60e51b81526020600482015260146024820152731c9958d95a5d995c881a5cc81c995c5d5a5c995960621b6044820152606401610459565b61074833611253338661150a565b8661173e565b600080611264611700565b6112793361127333600061150a565b3361173e565b915091509091565b600080546001600160a01b03166112a157506001600160a01b0316301490565b610d458262800008611613565b6112b8338261150a565b3360009081526004602052604090205550565b6112d36115d1565b610c70816117c2565b6112e46115d1565b815b80156111e757806112f681612841565b915050600084848381811061131b57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906113309190612399565b905061133c818461150a565b6001600160a01b039091166000908152600460205260409020556112e6565b60008061136d8361074285600061150a565b91509150915091565b61137f33610d18565b60405180604001604052806002815260200161383960f01b81525090610c705760405162461bcd60e51b815260040161045991906126b4565b60055419166000808060015b8481116114cf578085166113e157806113dc576114cf565b6114ba565b60008060028460ff168154811061140857634e487b7160e01b600052603260045260246000fd5b600091825260209091200154604051630ca2103d60e01b8152600481018a90526001600160a01b0390911690630ca2103d906024016040805180830381600087803b15801561145657600080fd5b505af115801561146a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061148e919061250c565b91509150806000146114ab576114a48187612707565b95506114b7565b816114b7578219871696505b50505b6114c5826001612747565b915060011b6113c4565b5091949293505050565b6114e4848484611803565b81906115035760405162461bcd60e51b815260040161045991906126b4565b5050505050565b60008161153657506005546001600160a01b038316600090815260046020526040902054901916610d45565b6005546001600160a01b0384166000908152600460205260409020546002549119916001901b60001901841617169392505050565b6000806001600160a01b0385166115b95760405162461bcd60e51b81526020600482015260126024820152711a1bdb19195c881a5cc81c995c5d5a5c995960721b6044820152606401610459565b6115c485858561181e565b915091505b935093915050565b6115da33611281565b60405180604001604052806002815260200161383160f01b81525090610c705760405162461bcd60e51b815260040161045991906126b4565b6000805461162b906001600160a01b03168484611803565b9392505050565b60095463ffffffff16158061165057506009544263ffffffff909116115b61165957600080fd5b6009805463ffffffff191663ffffffff92909216919091179055565b6116808484836119be565b925082156111e7576001600160a01b0384166000908152600a6020526040812080548592906116b0908490612707565b909155505050505050565b6001600160a01b03831660009081526004602052604090205482811683146111e7576001600160a01b0384166000908152600460205260409020818417905550505050565b600754604080518082019091526002815261393160f01b60208201529060ff1615610c705760405162461bcd60e51b815260040161045991906126b4565b60008061174b85856119d5565b909250905081156115c957611761858484611b76565b61176b9082612707565b9050826001600160a01b0316856001600160a01b03167f9310ccfcb8de723f578a9e4282ea9f521f05ae40dc08f3068dfad528a65ee3c7846040516117b291815260200190565b60405180910390a3935093915050565b806117cf600160646127a1565b6117da9060646127a1565b6117e491906127ea565b600960046101000a81548161ffff021916908361ffff16021790555050565b600080611811858585611b8e565b9092161515949350505050565b6000806000806000805b8715611971576001881661183b57611958565b600080600061184984611c12565b604051638abc37d360e01b81526001600160a01b038e8116600483015263ffffffff8d1660248301529190911690638abc37d39060440160606040518083038186803b15801561189857600080fd5b505afa1580156118ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118d0919061258b565b919450925090506118e18289612707565b9750826118f057505050611958565b8063ffffffff168763ffffffff1614156119185761190e8387612707565b9550505050611958565b85156119515760008061192d8e898b8a611c50565b909250905061193c828c612707565b9a50611948818b612707565b99506001965050505b9550909350505b611963816001612707565b60019890981c979050611828565b50600082118061197f575080155b156119b3576000806119938a858786611c50565b90925090506119a28288612707565b96506119ae8187612707565b955050505b505050935093915050565b60006119cc84848442611c93565b50949350505050565b6000808080808060015b878111611b2a578088166119fc57806119f757611b2a565b611b15565b6000806000611a0d8560ff16611c12565b6040516001623d2ea360e11b031981526001600160a01b038e81166004830152919091169063ff85a2ba90602401606060405180830381600087803b158015611a5557600080fd5b505af1158015611a69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a8d91906125c3565b92509250925080611aa257611aa28c85611d9c565b82611aaf57505050611b15565b8163ffffffff168863ffffffff161415611ad757611acd8388612707565b9650505050611b15565b8615611b0f57600080611aeb8e8a8c611de1565b9092509050611afa828d612707565b9b50611b06818c612707565b9a506001975050505b50955093505b611b20826001612747565b915060011b6119df565b50506000821180611b39575080155b15611b6c57600080611b4c898587611de1565b9092509050611b5b8288612707565b9650611b678187612707565b955050505b5050509250929050565b6000611b8483836000611e42565b5060009392505050565b60405163cc8b29c160e01b81526001600160a01b038381166004830152602482018390526000919085169063cc8b29c19060440160206040518083038186803b158015611bda57600080fd5b505afa158015611bee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d849190612573565b600060028281548110611c3557634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b031692915050565b600080611c608686864287611eac565b6001600160a01b0388166000908152600a60205260409020549193509150611c889083612707565b915094509492505050565b6001600160a01b03841660009081526008602052604081205481906001600160e01b0316818080611cc78a8a8a8a85611f0c565b919450925090506002816003811115611cf057634e487b7160e01b600052602160045260246000fd5b1415611d2d576001600160a01b038a16600090815260086020526040902063ffffffff8816600160e01b026001600160e01b038416179055611d6f565b6003816003811115611d4f57634e487b7160e01b600052602160045260246000fd5b1415611d6f576001600160a01b038a166000908152600860205260408120555b81841015611d8857611d81848361280d565b9150611d8d565b600091505b50909890975095505050505050565b6001600160a01b03821660009081526004602052604090205481811615611ddc576001600160a01b03831660009081526004602052604090208219821690555b505050565b600080611def8585856121c4565b6001600160a01b0387166000908152600a602052604090205491935091508015611e3957611e1d8184612707565b6001600160a01b0387166000908152600a602052604081205592505b50935093915050565b600154604051635c404f7960e11b81526001600160a01b0385811660048301526024820185905283151560448301529091169063b8809ef290606401600060405180830381600087803b158015611e9857600080fd5b505af1158015610962573d6000803e3d6000fd5b6001600160a01b03851660009081526008602052604081205481906001600160e01b0316611edd8888888888611f0c565b50909350915081811015611efc57611ef5818361280d565b9150611f01565b600091505b509550959350505050565b6009546000908190819063ffffffff1615801590611f35575060095463ffffffff808716911611155b15611fa2578315611f4e575085915060009050806121b9565b6001600160a01b0388166000908152600860205260409020546001600160e01b0316915081611f8657508591506000905060016121b9565b611f908288612707565b965086600060039250925092506121b9565b611fae600160646127a1565b611fb99060646127a1565b60095461ffff918216640100000000909104909116101561200157600954611fee908890640100000000900461ffff166121d3565b9250611ffa838861280d565b9650612007565b60009692505b60095463ffffffff16156121005760008711801561202a575063ffffffff861615155b801561204157508463ffffffff168663ffffffff16105b156120765760006120538888886122c8565b90508015612074576120658185612707565b9350612071818961280d565b97505b505b836121005750506001600160a01b0386166000908152600860205260409020546001600160e01b031660018115612100576001600160a01b0388166000908152600860205260408120546120d9908490600160e01b900463ffffffff168861231f565b905080156120fe576120eb8185612707565b93506120f7818461280d565b9250600291505b505b86156121b957600081600381111561212857634e487b7160e01b600052602160045260246000fd5b148015612133575083155b1561215d576001600160a01b0388166000908152600860205260409020546001600160e01b031691505b6121678783612707565b91506001600160e01b038211156121b55760405162461bcd60e51b81526020600482015260126024820152710e4caeec2e4c840d2e640e8dede40d0d2ced60731b6044820152606401610459565b5060025b955095509592505050565b6000806115c485858542611c93565b60008215806121e0575081155b156121ed57506000610d45565b8160026121fc600160646127a1565b6122079060646127a1565b612211919061276c565b6122219061ffff1660001961280d565b61222b919061278d565b83111560405180604001604052806002815260200161068760f31b815250906122675760405162461bcd60e51b815260040161045991906126b4565b50612274600160646127a1565b61227f9060646127a1565b61ffff166002612291600160646127a1565b61229c9060646127a1565b6122a6919061276c565b61ffff166122b484866127cb565b6122be9190612707565b61162b919061278d565b6009546000906122df90849063ffffffff16612824565b63ffffffff1660016122f18585612824565b6122fc90600161271f565b63ffffffff16901c63ffffffff168561231591906127cb565b610d84919061278d565b60095460009061233690849063ffffffff16612824565b63ffffffff166123468484612824565b6123159063ffffffff16866127cb565b60008083601f840112612367578182fd5b50813567ffffffffffffffff81111561237e578182fd5b6020830191508360208260051b850101111561074d57600080fd5b6000602082840312156123aa578081fd5b813561162b816128b9565b600080604083850312156123c7578081fd5b82356123d2816128b9565b946020939093013593505050565b600080600080608085870312156123f5578182fd5b8435612400816128b9565b9350602085013592506040850135612417816128dc565b915060608501356003811061242a578182fd5b939692955090935050565b600080600060408486031215612449578283fd5b833567ffffffffffffffff81111561245f578384fd5b61246b86828701612356565b909790965060209590950135949350505050565b600080600080600060608688031215612496578081fd5b853567ffffffffffffffff808211156124ad578283fd5b6124b989838a01612356565b909750955060208801359150808211156124d1578283fd5b506124de88828901612356565b96999598509660400135949350505050565b600060208284031215612501578081fd5b813561162b816128ce565b6000806040838503121561251e578182fd5b8251612529816128ce565b6020939093015192949293505050565b60006020828403121561254a578081fd5b813561ffff8116811461162b578182fd5b60006020828403121561256c578081fd5b5035919050565b600060208284031215612584578081fd5b5051919050565b60008060006060848603121561259f578081fd5b835192506020840151915060408401516125b8816128dc565b809150509250925092565b6000806000606084860312156125d7578081fd5b8351925060208401516125e9816128dc565b60408501519092506125b8816128ce565b60006020828403121561260b578081fd5b813561162b816128dc565b6020808252825182820181905260009190848201906040850190845b818110156126575783516001600160a01b031683529284019291840191600101612632565b50909695505050505050565b604080825283519082018190526000906020906060840190828701845b828110156126a55781516001600160a01b031684529284019290840190600101612680565b50505092019290925292915050565b6000602080835283518082850152825b818110156126e0578581018301518582016040015282016126c4565b818111156126f15783604083870101525b50601f01601f1916929092016040019392505050565b6000821982111561271a5761271a61288d565b500190565b600063ffffffff80831681851680830382111561273e5761273e61288d565b01949350505050565b600060ff821660ff84168060ff038211156127645761276461288d565b019392505050565b600061ffff80841680612781576127816128a3565b92169190910492915050565b60008261279c5761279c6128a3565b500490565b600061ffff808316818516818304811182151516156127c2576127c261288d565b02949350505050565b60008160001904831182151516156127e5576127e561288d565b500290565b600061ffff838116908316818110156128055761280561288d565b039392505050565b60008282101561281f5761281f61288d565b500390565b600063ffffffff838116908316818110156128055761280561288d565b6000816128505761285061288d565b506000190190565b600060001982141561286c5761286c61288d565b5060010190565b6000600160ff1b8214156128895761288961288d565b0390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b6001600160a01b0381168114610c7057600080fd5b8015158114610c7057600080fd5b63ffffffff81168114610c7057600080fdfea26469706673582212202261426129a92d69c028ea6bf5ee715b85ccf54db655f38852f0359fb6e1956864736f6c63430008040033"; //# sourceMappingURL=RewardFreezerFactory.js.map