UNPKG

@augmentedfinance/protocol-v1

Version:

Augmented Protocol smart contracts

709 lines 38.9 kB
"use strict"; /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ Object.defineProperty(exports, "__esModule", { value: true }); exports.ReferralRewardPoolFactory = void 0; const contracts_1 = require("@ethersproject/contracts"); class ReferralRewardPoolFactory extends contracts_1.ContractFactory { constructor(signer) { super(_abi, _bytecode, signer); } deploy(controller, initialRate, baselinePercentage, rewardPoolName, overrides) { return super.deploy(controller, initialRate, baselinePercentage, rewardPoolName, overrides || {}); } getDeployTransaction(controller, initialRate, baselinePercentage, rewardPoolName, overrides) { return super.getDeployTransaction(controller, initialRate, baselinePercentage, rewardPoolName, 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.ReferralRewardPoolFactory = ReferralRewardPoolFactory; const _abi = [ { inputs: [ { internalType: "contract IRewardController", name: "controller", type: "address", }, { internalType: "uint256", name: "initialRate", type: "uint256", }, { internalType: "uint16", name: "baselinePercentage", type: "uint16", }, { internalType: "string", name: "rewardPoolName", type: "string", }, ], 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", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint256", name: "refCode", type: "uint256", }, { indexed: false, internalType: "address", name: "from", type: "address", }, { indexed: true, internalType: "address", name: "to", type: "address", }, ], name: "RefCodeDelegated", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "provider", type: "address", }, { indexed: true, internalType: "address", name: "spender", type: "address", }, { indexed: false, internalType: "uint256", name: "value", type: "uint256", }, { indexed: false, internalType: "uint256", name: "since", type: "uint256", }, ], name: "RewardClaimedByPermit", type: "event", }, { inputs: [], name: "CLAIM_TYPEHASH", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "DOMAIN_SEPARATOR", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "EIP712_REVISION", outputs: [ { internalType: "bytes", name: "", type: "bytes", }, ], stateMutability: "view", type: "function", }, { 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: [], name: "availableReward", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", 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: "provider", type: "address", }, { internalType: "address", name: "spender", type: "address", }, { internalType: "uint256", name: "value", type: "uint256", }, { internalType: "uint256", name: "issuedAt", type: "uint256", }, { internalType: "uint256[]", name: "codes", type: "uint256[]", }, { internalType: "uint8", name: "v", type: "uint8", }, { internalType: "bytes32", name: "r", type: "bytes32", }, { internalType: "bytes32", name: "s", type: "bytes32", }, ], name: "claimRewardByPermit", outputs: [], stateMutability: "nonpayable", 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: [ { internalType: "address", name: "addr", type: "address", }, ], name: "defaultCode", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "pure", 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: [], name: "isPaused", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "addr", type: "address", }, ], name: "nonces", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint256", name: "refCode", type: "uint256", }, { internalType: "address", name: "to", type: "address", }, ], name: "registerCustomCode", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint32", name: "shortRefCode", type: "uint32", }, { internalType: "address", name: "to", type: "address", }, ], name: "registerShortCode", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint32[]", name: "shortRefCode", type: "uint32[]", }, { internalType: "address[]", name: "to", type: "address[]", }, ], name: "registerShortCodes", outputs: [], stateMutability: "nonpayable", 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: "address", name: "owner", type: "address", }, { internalType: "uint256[]", name: "codes", type: "uint256[]", }, ], name: "timestampsOf", outputs: [ { internalType: "uint32[]", name: "timestamps", type: "uint32[]", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint256", name: "refCode", type: "uint256", }, { internalType: "address", name: "to", type: "address", }, ], name: "transferCodeTo", 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 = "0x60806040523480156200001157600080fd5b5060405162002a1e38038062002a1e833981016040819052620000349162000524565b808484846200005b838383604051806020016040528060008152506200008960201b60201c565b5050815162000073915060049060208401906200047e565b506200007e620000c8565b5050505050620007dd565b80516200009e9060049060208401906200047e565b50620000a9620000c8565b620000c284848484620001a260201b62000e091760201c565b50505050565b60405146907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f90620000fd906004906200063f565b60408051918290038220828201825260018352603160f81b6020938401528151928301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66060820152608081018290523060a082015260c00160408051808303601f1901815291905280516020909101206001557f265432d9ba1d254ba8daf4961d4ec3919fd59f12c8000580f6c934f66aff503160025550565b600080546001600160a01b0319166001600160a01b03861617905561ffff821615620001d357620001d382620001e5565b8215620000c257620000c283620002ca565b620001ef62000310565b61ffff81166200020b57620002056000620002ca565b62000273565b6200021960016064620006fd565b62000226906064620006fd565b61ffff168161ffff161115620002735760405162461bcd60e51b815260206004820152600d60248201526c696c6c6567616c2076616c756560981b60448201526064015b60405180910390fd5b6000805461ffff60a01b1916600160a01b61ffff8416908102919091179091556040519081527fa4a0021d5a3e887ed39092287593218ba56daabb698755739666df81df918409906020015b60405180910390a150565b620002d462000310565b620002df816200036c565b6040518181527fe65c987b2e4668e09ba867026921588005b2b2063607a1e7e7d91683c8f91b7b90602001620002bf565b6000546001600160a01b03166200036a5760405162461bcd60e51b815260206004820152601660248201527f636f6e74726f6c6c65722069732072657175697265640000000000000000000060448201526064016200026a565b565b62000382816200038560201b62000e4c1760201c565b50565b6200038281428160085414156200039a575050565b600b5463ffffffff9081169082168114620003cf57600854620003bd83620003d4565b6008849055620000c281838562000443565b505050565b600b5463ffffffff9081169082161015620004275760405162461bcd60e51b8152602060048201526012602482015271726574726f6163746976652075706461746560701b60448201526064016200026a565b600b805463ffffffff191663ffffffff92909216919091179055565b6200044f82826200074c565b620004619063ffffffff16846200072a565b60096000828254620004749190620006e2565b9091555050505050565b8280546200048c9062000774565b90600052602060002090601f016020900481019282620004b05760008555620004fb565b82601f10620004cb57805160ff1916838001178555620004fb565b82800160010185558215620004fb579182015b82811115620004fb578251825591602001919060010190620004de565b50620005099291506200050d565b5090565b5b808211156200050957600081556001016200050e565b600080600080608085870312156200053a578384fd5b84516001600160a01b038116811462000551578485fd5b809450506020808601519350604086015161ffff8116811462000572578384fd5b60608701519093506001600160401b03808211156200058f578384fd5b818801915088601f830112620005a3578384fd5b815181811115620005b857620005b8620007c7565b604051601f8201601f19908116603f01168101908382118183101715620005e357620005e3620007c7565b816040528281528b86848701011115620005fb578687fd5b8693505b828410156200061e5784840186015181850187015292850192620005ff565b828411156200062f57868684830101525b989b979a50959850505050505050565b600080835482600182811c9150808316806200065c57607f831692505b60208084108214156200067d57634e487b7160e01b87526022600452602487fd5b818015620006945760018114620006a657620006d4565b60ff19861689528489019650620006d4565b60008a815260209020885b86811015620006cc5781548b820152908501908301620006b1565b505084890196505b509498975050505050505050565b60008219821115620006f857620006f8620007b1565b500190565b600061ffff80831681851681830481118215151615620007215762000721620007b1565b02949350505050565b6000816000190483118215151615620007475762000747620007b1565b500290565b600063ffffffff838116908316818110156200076c576200076c620007b1565b039392505050565b600181811c908216806200078957607f821691505b60208210811415620007ab57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b61223180620007ed6000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c806378160376116100f957806392efda7911610097578063b187bd2611610071578063b187bd26146103ee578063b6fe2e9c1461040b578063d29939831461041e578063ff85a2ba1461042657600080fd5b806392efda79146103755780639a13419914610390578063a8346a8c146103b057600080fd5b806386d6ea05116100d357806386d6ea05146103085780638abc37d31461031b5780638dd082be1461034f5780639131f3a01461036257600080fd5b8063781603761461029f5780637ecebe00146102cc578063820e3e10146102f557600080fd5b80634800df8c1161016657806355f4f1971161014057806355f4f19714610273578063679aefce1461027b578063691a3168146102835780636b0509b11461029657600080fd5b80634800df8c146102375780634ad84b341461024a5780634d25c4f11461025257600080fd5b80630746363d146101ae5780630ca2103d146101c957806316c38b3c146101f35780631dd0f483146102085780633644e5151461021b5780634558bc7e14610224575b600080fd5b6101b661045b565b6040519081526020015b60405180910390f35b6101dc6101d7366004611e66565b610470565b6040805192151583526020830191909152016101c0565b610206610201366004611df8565b6104cd565b005b610206610216366004611bc0565b61053f565b6101b660015481565b6101b6610232366004611bc0565b61059f565b610206610245366004611e4c565b610601565b6101b6610615565b600054600160a01b900461ffff1660405161ffff90911681526020016101c0565b6101b661061f565b6101b661062e565b610206610291366004611e96565b610638565b6101b660025481565b6102bf604051806040016040528060018152602001603160f81b81525081565b6040516101c09190612049565b6101b66102da366004611bc0565b6001600160a01b031660009081526003602052604090205490565b610206610303366004611ed4565b610692565b610206610316366004611d8f565b6106aa565b61032e610329366004611d5b565b61075a565b60408051938452602084019290925263ffffffff16908201526060016101c0565b61020661035d366004611e96565b610791565b610206610370366004611c1b565b610927565b6000546040516001600160a01b0390911681526020016101c0565b6103a361039e366004611cc1565b610a58565b6040516101c09190611f8a565b6103c36103be366004611d14565b610c17565b6040805194855263ffffffff90931660208501529015159183019190915260608201526080016101c0565b600054600160b01b900460ff1660405190151581526020016101c0565b610206610419366004611be3565b610c43565b6102bf610d5c565b610439610434366004611bc0565b610dee565b6040805193845263ffffffff90921660208401521515908201526060016101c0565b6000610465610e56565b50600090565b905090565b60008061047b610e56565b600054600160a01b900461ffff166104a0576000610497610e9d565b91509150915091565b6000546104b9908490600160a01b900461ffff16610ea8565b90506104c481610fa6565b60019150915091565b6104d5610fe7565b60005460ff600160b01b90910416151581151514610505576000805460ff60b01b1916600160b01b831515021790555b604051811515815233907facaf4ee8e6a4949ca96787d73dfff5165ff2c555b2304b8517dc5396053add859060200160405180910390a250565b610547611017565b6001600160a01b038116600081815260056020908152604091829020805460ff1916905590519182527f1589f8555933761a3cff8aa925061be3b46e2dd43f621322ab611d300f62b1d991015b60405180910390a150565b60006001600160a01b0382166105b757506000919050565b6040516bffffffffffffffffffffffff19606084901b1660208281019190915263ffffffff9160340160408051601f198184030181529190528051602090910120901b1792915050565b610609610e56565b61061281611059565b50565b600061046b611127565b6000610629610e56565b610465565b600061046b610e9d565b63ffffffff82116106845760405162461bcd60e51b815260206004820152601160248201527014915197d0d3d11157d49154d154959151607a1b60448201526064015b60405180910390fd5b61068e8282611132565b5050565b61069a6112bd565b61068e8263ffffffff1682611132565b6106b26112bd565b8281146106be57600080fd5b60005b81811015610753576107418585838181106106ec57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906107019190611eba565b63ffffffff1684848481811061072757634e487b7160e01b600052603260045260246000fd5b905060200201602081019061073c9190611bc0565b611132565b8061074b81612191565b9150506106c1565b5050505050565b60008060004263ffffffff168463ffffffff16101561077857600080fd5b61078285856112ea565b90966000965090945092505050565b816107d25760405162461bcd60e51b815260206004820152601160248201527014915197d0d3d11157d491545552549151607a1b604482015260640161067b565b6001600160a01b0381166107f85760405162461bcd60e51b815260040161067b9061205c565b6000828152600660205260409020546001600160a01b03166108655761081d3361059f565b82146108605760405162461bcd60e51b815260206004820152601260248201527114915197d0d3d11157d393d517d3d5d3915160721b604482015260640161067b565b6108c2565b6000828152600660205260409020546001600160a01b031633146108c25760405162461bcd60e51b81526020600482015260146024820152732922a32fa1a7a222afaba927a723afa7aba722a960611b604482015260640161067b565b60008281526006602090815260409182902080546001600160a01b0319166001600160a01b038516908117909155915133815284917f1aad32946403f8aaaf366b41a0e7d3e0afeb6ed8caa5bb3d3f77daa78fc89d6c91015b60405180910390a35050565b61092f6112f5565b6001600160a01b03881660009081526003602052604090205480871161098a5760405162461bcd60e51b815260206004820152601060248201526f455850495245445f49535355414e434560801b604482015260640161067b565b868763ffffffff161461099c57600080fd5b60006002548b8b8b858c8c8c6040516020016109bf989796959493929190611fd4565b6040516020818303038152906040528051906020012090506109e98b8b8c8c8c86888c8c8c61133a565b6109f58a88888b6114dc565b896001600160a01b03168b6001600160a01b03167f6f1fe2f44cdea955bf766955498ab414d71d12aee1ec5b9102f9be8d162375d98b85604051610a43929190918252602082015260400190565b60405180910390a35050505050505050505050565b60606001600160a01b038416610a805760405162461bcd60e51b815260040161067b9061205c565b8167ffffffffffffffff811115610aa757634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610ad0578160200160208202803683370190505b50905060005b82811015610c0f57846001600160a01b031660066000868685818110610b0c57634e487b7160e01b600052603260045260246000fd5b60209081029290920135835250810191909152604001600020546001600160a01b031614610b785763ffffffff828281518110610b5957634e487b7160e01b600052603260045260246000fd5b602002602001019063ffffffff16908163ffffffff1681525050610bfd565b60076000858584818110610b9c57634e487b7160e01b600052603260045260246000fd5b90506020020135815260200190815260200160002060009054906101000a900463ffffffff16828281518110610be257634e487b7160e01b600052603260045260246000fd5b602002602001019063ffffffff16908163ffffffff16815250505b80610c0781612191565b915050610ad6565b509392505050565b600080600080610c25610e56565b610c31888888886116a7565b929b919a509850909650945050505050565b610c4b611017565b6001600160a01b038216610c985760405162461bcd60e51b81526020600482015260146024820152731c1c9bdd9a59195c881a5cc81c995c5d5a5c995960621b604482015260640161067b565b6001600160a01b03811615610ce65760405162461bcd60e51b81526020600482015260146024820152731d1bdad95b881a5cc81d5b9cdd5c1c1bdc9d195960621b604482015260640161067b565b6001600160a01b03821660009081526005602052604090819020805460ff19166001179055517fcfac21410bfc65e4496174539de6f9373ddaa361e97587fa950b527df5b8d15c90610d5090849084906001600160a01b0392831681529116602082015260400190565b60405180910390a15050565b606060048054610d6b90612156565b80601f0160208091040260200160405190810160405280929190818152602001828054610d9790612156565b8015610de45780601f10610db957610100808354040283529160200191610de4565b820191906000526020600020905b815481529060010190602001808311610dc757829003601f168201915b5050505050905090565b6000806000610dfb610e56565b506000938493508392509050565b600080546001600160a01b0319166001600160a01b03861617905561ffff821615610e3757610e3782611059565b8215610e4657610e4683610fa6565b50505050565b61061281426116e7565b6000546001600160a01b0316331460405180604001604052806002815260200161039360f41b815250906106125760405162461bcd60e51b815260040161067b9190612049565b600061046b60085490565b6000821580610eb5575081155b15610ec257506000610fa0565b816002610ed1600160646120d1565b610edc9060646120d1565b610ee6919061209c565b610ef69061ffff1660001961211a565b610f0091906120bd565b83111560405180604001604052806002815260200161068760f31b81525090610f3c5760405162461bcd60e51b815260040161067b9190612049565b50610f49600160646120d1565b610f549060646120d1565b61ffff166002610f66600160646120d1565b610f719060646120d1565b610f7b919061209c565b61ffff16610f8984866120fb565b610f939190612084565b610f9d91906120bd565b90505b92915050565b610fae61172a565b610fb78161177b565b6040518181527fe65c987b2e4668e09ba867026921588005b2b2063607a1e7e7d91683c8f91b7b90602001610594565b611015610ff2611784565b336001604051806040016040528060028152602001611b9b60f11b81525061180b565b565b61102033611835565b60405180604001604052806002815260200161383160f01b815250906106125760405162461bcd60e51b815260040161067b9190612049565b61106161172a565b61ffff8116611079576110746000610fa6565b6110d7565b611085600160646120d1565b6110909060646120d1565b61ffff168161ffff1611156110d75760405162461bcd60e51b815260206004820152600d60248201526c696c6c6567616c2076616c756560981b604482015260640161067b565b6000805461ffff60a01b1916600160a01b61ffff8416908102919091179091556040519081527fa4a0021d5a3e887ed39092287593218ba56daabb698755739666df81df91840990602001610594565b600061046b426118c8565b63ffffffff82101561118957816111845760405162461bcd60e51b815260206004820152601660248201527516915493d7d4915197d0d3d11157d49154d15495915160521b604482015260640161067b565b6111df565b63ffffffff82811614156111df5760405162461bcd60e51b815260206004820152601960248201527f44454641554c545f5245465f434f44455f524553455256454400000000000000604482015260640161067b565b6001600160a01b0381166112055760405162461bcd60e51b815260040161067b9061205c565b6000828152600660205260409020546001600160a01b0316156112605760405162461bcd60e51b815260206004820152601360248201527214915197d0d3d11157d49151d254d511549151606a1b604482015260640161067b565b600082815260066020908152604080832080546001600160a01b0319166001600160a01b03861690811790915590519283529184917f1aad32946403f8aaaf366b41a0e7d3e0afeb6ed8caa5bb3d3f77daa78fc89d6c910161091b565b6110156112c8611784565b336040805180604001604052806002815260200161363160f01b81525061180b565b6000805b9250929050565b600054604080518082019091526002815261393160f01b602082015290600160b01b900460ff16156106125760405162461bcd60e51b815260040161067b9190612049565b6001600160a01b038a161580159061136a57506001600160a01b038a1660009081526005602052604090205460ff165b6113a95760405162461bcd60e51b815260206004820152601060248201526f24a72b20a624a22fa82927ab24a222a960811b604482015260640161067b565b60015460405161190160f01b602082015260228101919091526042810186905260009060620160408051601f1981840301815282825280516020918201206000845290830180835281905260ff8716918301919091526060820185905260808201849052915060019060a0016020604051602081039080840390855afa158015611437573d6000803e3d6000fd5b505050602060405103516001600160a01b03168b6001600160a01b0316146114955760405162461bcd60e51b8152602060048201526011602482015270494e56414c49445f5349474e415455524560781b604482015260640161067b565b866001600160a01b038b16600090815260036020526040902055876114ba57506114d0565b6114c38861190c565b6114ce898942611915565b505b50505050505050505050565b6001600160a01b0384166115025760405162461bcd60e51b815260040161067b9061205c565b60005b8281101561075357846001600160a01b03166006600086868581811061153b57634e487b7160e01b600052603260045260246000fd5b60209081029290920135835250810191909152604001600020546001600160a01b0316146115a45760405162461bcd60e51b815260206004820152601660248201527524a72b20a624a22fa922a32fa1a7a222afa7aba722a960511b604482015260640161067b565b8163ffffffff16600760008686858181106115cf57634e487b7160e01b600052603260045260246000fd5b602090810292909201358352508101919091526040016000205463ffffffff161061163c5760405162461bcd60e51b815260206004820152601a60248201527f494e56414c49445f5245465f434f44455f54494d455354414d50000000000000604482015260640161067b565b816007600086868581811061166157634e487b7160e01b600052603260045260246000fd5b90506020020135815260200190815260200160002060006101000a81548163ffffffff021916908363ffffffff160217905550808061169f90612191565b915050611505565b60008080806116b68782612084565b935061ffff8516156116dd576116d0848661ffff16610ea8565b6116da9087612084565b95505b5094509450949050565b8160085414156116f5575050565b600b5463ffffffff90811690821681146117255760085461171583611922565b6008849055610e4681838561198f565b505050565b6000546001600160a01b03166110155760405162461bcd60e51b815260206004820152601660248201527518dbdb9d1c9bdb1b195c881a5cc81c995c5d5a5c995960521b604482015260640161067b565b61061281610e4c565b60008060009054906101000a90046001600160a01b03166001600160a01b03166316d6b5f66040518163ffffffff1660e01b815260040160206040518083038186803b1580156117d357600080fd5b505afa1580156117e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046b9190611e30565b6118168484846119c4565b81906107535760405162461bcd60e51b815260040161067b9190612049565b600080546001600160a01b031615801590610fa0575060005460405163ce91a05960e01b81526001600160a01b0384811660048301529091169063ce91a0599060240160206040518083038186803b15801561189057600080fd5b505afa1580156118a4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa09190611e14565b600a54600b54600091906118e29063ffffffff1684612131565b63ffffffff166008546118f591906120fb565b6009546119029190612084565b610fa0919061211a565b61068e816119df565b6117258383836000611a2c565b600b5463ffffffff90811690821610156119735760405162461bcd60e51b8152602060048201526012602482015271726574726f6163746976652075706461746560701b604482015260640161067b565b600b805463ffffffff191663ffffffff92909216919091179055565b6119998282612131565b6119a99063ffffffff16846120fb565b600960008282546119ba9190612084565b9091555050505050565b6000806119d2858585611a9a565b9092161515949350505050565b6000611a0d6119ec611127565b83604051806040016040528060028152602001611b1960f11b815250611b26565b905081600a6000828254611a219190612084565b909155509092915050565b6000546040516316050d6360e31b81526001600160a01b039091169063b0286b1890611a62908790879087908790600401611f3a565b600060405180830381600087803b158015611a7c57600080fd5b505af1158015611a90573d6000803e3d6000fd5b5050505050505050565b60405163cc8b29c160e01b81526001600160a01b038381166004830152602482018390526000919085169063cc8b29c19060440160206040518083038186803b158015611ae657600080fd5b505afa158015611afa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b1e9190611e7e565b949350505050565b60008184841115611b4a5760405162461bcd60e51b815260040161067b9190612049565b505050900390565b60008083601f840112611b63578182fd5b50813567ffffffffffffffff811115611b7a578182fd5b6020830191508360208260051b85010111156112ee57600080fd5b803561ffff81168114611ba757600080fd5b919050565b803563ffffffff81168114611ba757600080fd5b600060208284031215611bd1578081fd5b8135611bdc816121d8565b9392505050565b60008060408385031215611bf5578081fd5b8235611c00816121d8565b91506020830135611c10816121d8565b809150509250929050565b60008060008060008060008060006101008a8c031215611c39578485fd5b8935611c44816121d8565b985060208a0135611c54816121d8565b975060408a0135965060608a0135955060808a013567ffffffffffffffff811115611c7d578586fd5b611c898c828d01611b52565b90965094505060a08a013560ff81168114611ca2578384fd5b8093505060c08a0135915060e08a013590509295985092959850929598565b600080600060408486031215611cd5578283fd5b8335611ce0816121d8565b9250602084013567ffffffffffffffff811115611cfb578283fd5b611d0786828701611b52565b9497909650939450505050565b60008060008060808587031215611d29578384fd5b8435611d34816121d8565b93506020850135925060408501359150611d5060608601611b95565b905092959194509250565b60008060408385031215611d6d578182fd5b8235611d78816121d8565b9150611d8660208401611bac565b90509250929050565b60008060008060408587031215611da4578384fd5b843567ffffffffffffffff80821115611dbb578586fd5b611dc788838901611b52565b90965094506020870135915080821115611ddf578384fd5b50611dec87828801611b52565b95989497509550505050565b600060208284031215611e09578081fd5b8135611bdc816121ed565b600060208284031215611e25578081fd5b8151611bdc816121ed565b600060208284031215611e41578081fd5b8151611bdc816121d8565b600060208284031215611e5d578081fd5b610f9d82611b95565b600060208284031215611e77578081fd5b5035919050565b600060208284031215611e8f578081fd5b5051919050565b60008060408385031215611ea8578182fd5b823591506020830135611c10816121d8565b600060208284031215611ecb578081fd5b610f9d82611bac565b60008060408385031215611ee6578182fd5b611c0083611bac565b60008151808452815b81811015611f1457602081850181015186830182015201611ef8565b81811115611f255782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b03851681526020810184905263ffffffff831660408201526080810160038310611f7b57634e487b7160e01b600052602160045260246000fd5b82606083015295945050505050565b6020808252825182820181905260009190848201906040850190845b81811015611fc857835163ffffffff1683529284019291840191600101611fa6565b50909695505050505050565b8881526001600160a01b03888116602083015287166040820152606081018690526080810185905260a0810184905260e060c08201819052810182905260006101006001600160fb1b03841115612029578182fd5b8360051b8086838601379290920190910190815298975050505050505050565b602081526000610f9d6020830184611eef565b6020808252600e908201526d13d5d3915497d49154555254915160921b604082015260600190565b60008219821115612097576120976121ac565b500190565b600061ffff808416806120b1576120b16121c2565b92169190910492915050565b6000826120cc576120cc6121c2565b500490565b600061ffff808316818516818304811182151516156120f2576120f26121ac565b02949350505050565b6000816000190483118215151615612115576121156121ac565b500290565b60008282101561212c5761212c6121ac565b500390565b600063ffffffff8381169083168181101561214e5761214e6121ac565b039392505050565b600181811c9082168061216a57607f821691505b6020821081141561218b57634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156121a5576121a56121ac565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b6001600160a01b038116811461061257600080fd5b801515811461061257600080fdfea2646970667358221220ea195221f4bbb698cb58bff5163523e57c8e09fa820f67e7baaf4455a380525164736f6c63430008040033"; //# sourceMappingURL=ReferralRewardPoolFactory.js.map