@augmentedfinance/protocol-v1
Version:
Augmented Protocol smart contracts
761 lines • 43.5 kB
JavaScript
"use strict";
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
Object.defineProperty(exports, "__esModule", { value: true });
exports.ReferralRewardPoolV1Factory = void 0;
const contracts_1 = require("@ethersproject/contracts");
class ReferralRewardPoolV1Factory extends contracts_1.ContractFactory {
constructor(signer) {
super(_abi, _bytecode, signer);
}
deploy(overrides) {
return super.deploy(overrides || {});
}
getDeployTransaction(overrides) {
return super.getDeployTransaction(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.ReferralRewardPoolV1Factory = ReferralRewardPoolV1Factory;
const _abi = [
{
inputs: [],
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: [],
name: "REVISION",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "pure",
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: [
{
components: [
{
internalType: "contract IRewardController",
name: "controller",
type: "address",
},
{
internalType: "string",
name: "poolName",
type: "string",
},
{
internalType: "uint16",
name: "baselinePercentage",
type: "uint16",
},
],
internalType: "struct IInitializableRewardPool.InitRewardPoolData",
name: "data",
type: "tuple",
},
],
name: "initializeRewardPool",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "initializedRewardPoolWith",
outputs: [
{
components: [
{
internalType: "contract IRewardController",
name: "controller",
type: "address",
},
{
internalType: "string",
name: "poolName",
type: "string",
},
{
internalType: "uint16",
name: "baselinePercentage",
type: "uint16",
},
],
internalType: "struct IInitializableRewardPool.InitRewardPoolData",
name: "",
type: "tuple",
},
],
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 = "0x60806040526200001360016000196200064b565b600c556000600d553480156200002857600080fd5b50600080600060405180604001604052806007815260200166149959941bdbdb60ca1b815250808484846200007583838360405180602001604052806000815250620000a360201b60201c565b505081516200008d9150600490602084019062000498565b5062000098620000e2565b5050505050620006e0565b8051620000b890600490602084019062000498565b50620000c3620000e2565b620000dc84848484620001bc60201b62000f441760201c565b50505050565b60405146907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f9062000117906004906200053e565b60408051918290038220828201825260018352603160f81b6020938401528151928301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66060820152608081018290523060a082015260c00160408051808303601f1901815291905280516020909101206001557f265432d9ba1d254ba8daf4961d4ec3919fd59f12c8000580f6c934f66aff503160025550565b600080546001600160a01b0319166001600160a01b03861617905561ffff821615620001ed57620001ed82620001ff565b8215620000dc57620000dc83620002e4565b620002096200032a565b61ffff811662000225576200021f6000620002e4565b6200028d565b6200023360016064620005fc565b62000240906064620005fc565b61ffff168161ffff1611156200028d5760405162461bcd60e51b815260206004820152600d60248201526c696c6c6567616c2076616c756560981b60448201526064015b60405180910390fd5b6000805461ffff60a01b1916600160a01b61ffff8416908102919091179091556040519081527fa4a0021d5a3e887ed39092287593218ba56daabb698755739666df81df918409906020015b60405180910390a150565b620002ee6200032a565b620002f98162000386565b6040518181527fe65c987b2e4668e09ba867026921588005b2b2063607a1e7e7d91683c8f91b7b90602001620002d9565b6000546001600160a01b0316620003845760405162461bcd60e51b815260206004820152601660248201527f636f6e74726f6c6c657220697320726571756972656400000000000000000000604482015260640162000284565b565b6200039c816200039f60201b62000f871760201c565b50565b6200039c8142816008541415620003b4575050565b600b5463ffffffff9081169082168114620003e957600854620003d783620003ee565b6008849055620000dc8183856200045d565b505050565b600b5463ffffffff9081169082161015620004415760405162461bcd60e51b8152602060048201526012602482015271726574726f6163746976652075706461746560701b604482015260640162000284565b600b805463ffffffff191663ffffffff92909216919091179055565b62000469828262000665565b6200047b9063ffffffff168462000629565b600960008282546200048e9190620005e1565b9091555050505050565b828054620004a6906200068d565b90600052602060002090601f016020900481019282620004ca576000855562000515565b82601f10620004e557805160ff191683800117855562000515565b8280016001018555821562000515579182015b8281111562000515578251825591602001919060010190620004f8565b506200052392915062000527565b5090565b5b8082111562000523576000815560010162000528565b600080835482600182811c9150808316806200055b57607f831692505b60208084108214156200057c57634e487b7160e01b87526022600452602487fd5b818015620005935760018114620005a557620005d3565b60ff19861689528489019650620005d3565b60008a815260209020885b86811015620005cb5781548b820152908501908301620005b0565b505084890196505b509498975050505050505050565b60008219821115620005f757620005f7620006ca565b500190565b600061ffff80831681851681830481118215151615620006205762000620620006ca565b02949350505050565b6000816000190483118215151615620006465762000646620006ca565b500290565b600082821015620006605762000660620006ca565b500390565b600063ffffffff83811690831681811015620006855762000685620006ca565b039392505050565b600181811c90821680620006a257607f821691505b60208210811415620006c457634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6129a980620006f06000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c8063781603761161010457806392efda79116100a2578063b6fe2e9c11610071578063b6fe2e9c14610464578063d299398314610477578063dde43cba1461047f578063ff85a2ba1461048657600080fd5b806392efda79146103ce5780639a134199146103e9578063a8346a8c14610409578063b187bd261461044757600080fd5b806386d6ea05116100de57806386d6ea05146103615780638abc37d3146103745780638dd082be146103a85780639131f3a0146103bb57600080fd5b806378160376146102f85780637ecebe0014610325578063820e3e101461034e57600080fd5b80634558bc7e1161017c57806355f4f1971161014b57806355f4f197146102cc578063679aefce146102d4578063691a3168146102dc5780636b0509b1146102ef57600080fd5b80634558bc7e1461027d5780634800df8c146102905780634ad84b34146102a35780634d25c4f1146102ab57600080fd5b80631dd0f483116101b85780631dd0f483146102395780633644e5151461024c57806337a92626146102555780633a7d40891461026857600080fd5b80630746363d146101df5780630ca2103d146101fa57806316c38b3c14610224575b600080fd5b6101e76104bb565b6040519081526020015b60405180910390f35b61020d61020836600461248b565b6104d0565b6040805192151583526020830191909152016101f1565b610237610232366004612342565b61052d565b005b61023761024736600461210a565b61059f565b6101e760015481565b610237610263366004612396565b6105ff565b610270610655565b6040516101f19190612744565b6101e761028b36600461210a565b6106de565b61023761029e366004612471565b610740565b6101e7610754565b600054600160a01b900461ffff1660405161ffff90911681526020016101f1565b6101e761075e565b6101e761076d565b6102376102ea3660046124bb565b610777565b6101e760025481565b610318604051806040016040528060018152602001603160f81b81525081565b6040516101f19190612709565b6101e761033336600461210a565b6001600160a01b031660009081526003602052604090205490565b61023761035c3660046124f9565b6107d1565b61023761036f3660046122d9565b6107e9565b6103876103823660046122a5565b610892565b60408051938452602084019290925263ffffffff16908201526060016101f1565b6102376103b63660046124bb565b6108c9565b6102376103c9366004612165565b610a5f565b6000546040516001600160a01b0390911681526020016101f1565b6103fc6103f736600461220b565b610b90565b6040516101f1919061264a565b61041c61041736600461225e565b610d4f565b6040805194855263ffffffff90931660208501529015159183019190915260608201526080016101f1565b600054600160b01b900460ff1660405190151581526020016101f1565b61023761047236600461212d565b610d7b565b610318610e94565b60016101e7565b61049961049436600461210a565b610f26565b6040805193845263ffffffff90921660208401521515908201526060016101f1565b60006104c5610f91565b50600090565b905090565b6000806104db610f91565b600054600160a01b900461ffff166105005760006104f7610fd8565b91509150915091565b600054610519908490600160a01b900461ffff16610fe3565b9050610524816110e1565b60019150915091565b610535611122565b60005460ff600160b01b90910416151581151514610565576000805460ff60b01b1916600160b01b831515021790555b604051811515815233907facaf4ee8e6a4949ca96787d73dfff5165ff2c555b2304b8517dc5396053add859060200160405180910390a250565b6105a7611152565b6001600160a01b038116600081815260056020908152604091829020805460ff1916905590519182527f1589f8555933761a3cff8aa925061be3b46e2dd43f621322ab611d300f62b1d991015b60405180910390a150565b6001600080600061060f84611194565b9250925092508061063e57600d849055845160408601516020870151610638929160009161140a565b600c8490555b8161064e57600c8390556000600d555b5050505050565b610686604051806060016040528060006001600160a01b0316815260200160608152602001600061ffff1681525090565b60405180606001604052806106a36000546001600160a01b031690565b6001600160a01b031681526020016106b9610e94565b81526020016106d360005461ffff600160a01b9091041690565b61ffff169052919050565b60006001600160a01b0382166106f657506000919050565b6040516bffffffffffffffffffffffff19606084901b1660208281019190915263ffffffff9160340160408051601f198184030181529190528051602090910120901b1792915050565b610748610f91565b61075181611432565b50565b60006104cb611500565b6000610768610f91565b6104c5565b60006104cb610fd8565b63ffffffff82116107c35760405162461bcd60e51b815260206004820152601160248201527014915197d0d3d11157d49154d154959151607a1b60448201526064015b60405180910390fd5b6107cd828261150b565b5050565b6107d9611696565b6107cd8263ffffffff168261150b565b6107f1611696565b8281146107fd57600080fd5b60005b8181101561064e5761088085858381811061082b57634e487b7160e01b600052603260045260246000fd5b905060200201602081019061084091906124df565b63ffffffff1684848481811061086657634e487b7160e01b600052603260045260246000fd5b905060200201602081019061087b919061210a565b61150b565b8061088a816128f3565b915050610800565b60008060004263ffffffff168463ffffffff1610156108b057600080fd5b6108ba85856116c3565b90966000965090945092505050565b8161090a5760405162461bcd60e51b815260206004820152601160248201527014915197d0d3d11157d491545552549151607a1b60448201526064016107ba565b6001600160a01b0381166109305760405162461bcd60e51b81526004016107ba9061271c565b6000828152600660205260409020546001600160a01b031661099d57610955336106de565b82146109985760405162461bcd60e51b815260206004820152601260248201527114915197d0d3d11157d393d517d3d5d3915160721b60448201526064016107ba565b6109fa565b6000828152600660205260409020546001600160a01b031633146109fa5760405162461bcd60e51b81526020600482015260146024820152732922a32fa1a7a222afaba927a723afa7aba722a960611b60448201526064016107ba565b60008281526006602090815260409182902080546001600160a01b0319166001600160a01b038516908117909155915133815284917f1aad32946403f8aaaf366b41a0e7d3e0afeb6ed8caa5bb3d3f77daa78fc89d6c91015b60405180910390a35050565b610a676116ce565b6001600160a01b038816600090815260036020526040902054808711610ac25760405162461bcd60e51b815260206004820152601060248201526f455850495245445f49535355414e434560801b60448201526064016107ba565b868763ffffffff1614610ad457600080fd5b60006002548b8b8b858c8c8c604051602001610af7989796959493929190612694565b604051602081830303815290604052805190602001209050610b218b8b8c8c8c86888c8c8c611713565b610b2d8a88888b6118b5565b896001600160a01b03168b6001600160a01b03167f6f1fe2f44cdea955bf766955498ab414d71d12aee1ec5b9102f9be8d162375d98b85604051610b7b929190918252602082015260400190565b60405180910390a35050505050505050505050565b60606001600160a01b038416610bb85760405162461bcd60e51b81526004016107ba9061271c565b8167ffffffffffffffff811115610bdf57634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610c08578160200160208202803683370190505b50905060005b82811015610d4757846001600160a01b031660066000868685818110610c4457634e487b7160e01b600052603260045260246000fd5b60209081029290920135835250810191909152604001600020546001600160a01b031614610cb05763ffffffff828281518110610c9157634e487b7160e01b600052603260045260246000fd5b602002602001019063ffffffff16908163ffffffff1681525050610d35565b60076000858584818110610cd457634e487b7160e01b600052603260045260246000fd5b90506020020135815260200190815260200160002060009054906101000a900463ffffffff16828281518110610d1a57634e487b7160e01b600052603260045260246000fd5b602002602001019063ffffffff16908163ffffffff16815250505b80610d3f816128f3565b915050610c0e565b509392505050565b600080600080610d5d610f91565b610d6988888888611a80565b929b919a509850909650945050505050565b610d83611152565b6001600160a01b038216610dd05760405162461bcd60e51b81526020600482015260146024820152731c1c9bdd9a59195c881a5cc81c995c5d5a5c995960621b60448201526064016107ba565b6001600160a01b03811615610e1e5760405162461bcd60e51b81526020600482015260146024820152731d1bdad95b881a5cc81d5b9cdd5c1c1bdc9d195960621b60448201526064016107ba565b6001600160a01b03821660009081526005602052604090819020805460ff19166001179055517fcfac21410bfc65e4496174539de6f9373ddaa361e97587fa950b527df5b8d15c90610e8890849084906001600160a01b0392831681529116602082015260400190565b60405180910390a15050565b606060048054610ea3906128b8565b80601f0160208091040260200160405190810160405280929190818152602001828054610ecf906128b8565b8015610f1c5780601f10610ef157610100808354040283529160200191610f1c565b820191906000526020600020905b815481529060010190602001808311610eff57829003601f168201915b5050505050905090565b6000806000610f33610f91565b5060009150819050805b9193909250565b600080546001600160a01b0319166001600160a01b03861617905561ffff821615610f7257610f7282611432565b8215610f8157610f81836110e1565b50505050565b6107518142611ac0565b6000546001600160a01b0316331460405180604001604052806002815260200161039360f41b815250906107515760405162461bcd60e51b81526004016107ba9190612709565b60006104cb60085490565b6000821580610ff0575081155b15610ffd575060006110db565b81600261100c60016064612833565b611017906064612833565b61102191906127fe565b6110319061ffff1660001961287c565b61103b919061281f565b83111560405180604001604052806002815260200161068760f31b815250906110775760405162461bcd60e51b81526004016107ba9190612709565b5061108460016064612833565b61108f906064612833565b61ffff1660026110a160016064612833565b6110ac906064612833565b6110b691906127fe565b61ffff166110c4848661285d565b6110ce91906127e6565b6110d8919061281f565b90505b92915050565b6110e9611b03565b6110f281611b54565b6040518181527fe65c987b2e4668e09ba867026921588005b2b2063607a1e7e7d91683c8f91b7b906020016105f4565b61115061112d611b5d565b336001604051806040016040528060028152602001611b9b60f11b815250611be4565b565b61115b33611c0e565b60405180604001604052806002815260200161383160f01b815250906107515760405162461bcd60e51b81526004016107ba9190612709565b60016000806111a58360001961287c565b83106111f35760405162461bcd60e51b815260206004820152601960248201527f696e76616c696420636f6e7472616374207265766973696f6e0000000000000060448201526064016107ba565b600084116112435760405162461bcd60e51b815260206004820152601e60248201527f696e636f727265637420696e697469616c697a6572207265766973696f6e000060448201526064016107ba565b828411156112935760405162461bcd60e51b815260206004820152601e60248201527f696e636f6e73697374656e7420636f6e7472616374207265766973696f6e000060448201526064016107ba565b6112a0600160001961287c565b600c54101561131c576000600d541180156112bc575082600c54105b915081806112c95750303b155b806112d55750600c5483115b6113175760405162461bcd60e51b8152602060048201526013602482015272185b1c9958591e481a5b9a5d1a585b1a5e9959606a1b60448201526064016107ba565b61138c565b611329600160001961287c565b600c541480156113385750303b155b61137a5760405162461bcd60e51b81526020600482015260136024820152721a5b9a5d1a585b1a5e995c88189b1bd8dad959606a1b60448201526064016107ba565b6000600c55600d546000199350151591505b81156113e35783600d54116113e35760405162461bcd60e51b815260206004820152601f60248201527f696e636f7272656374206f72646572206f6620696e697469616c697a6572730060448201526064016107ba565b600c5484116114005781156113f8576001600d555b506001610f3d565b5060009193909250565b805161141d906004906020840190612003565b50611426611ca1565b610f8184848484610f44565b61143a611b03565b61ffff81166114525761144d60006110e1565b6114b0565b61145e60016064612833565b611469906064612833565b61ffff168161ffff1611156114b05760405162461bcd60e51b815260206004820152600d60248201526c696c6c6567616c2076616c756560981b60448201526064016107ba565b6000805461ffff60a01b1916600160a01b61ffff8416908102919091179091556040519081527fa4a0021d5a3e887ed39092287593218ba56daabb698755739666df81df918409906020016105f4565b60006104cb42611d79565b63ffffffff821015611562578161155d5760405162461bcd60e51b815260206004820152601660248201527516915493d7d4915197d0d3d11157d49154d15495915160521b60448201526064016107ba565b6115b8565b63ffffffff82811614156115b85760405162461bcd60e51b815260206004820152601960248201527f44454641554c545f5245465f434f44455f52455345525645440000000000000060448201526064016107ba565b6001600160a01b0381166115de5760405162461bcd60e51b81526004016107ba9061271c565b6000828152600660205260409020546001600160a01b0316156116395760405162461bcd60e51b815260206004820152601360248201527214915197d0d3d11157d49151d254d511549151606a1b60448201526064016107ba565b600082815260066020908152604080832080546001600160a01b0319166001600160a01b03861690811790915590519283529184917f1aad32946403f8aaaf366b41a0e7d3e0afeb6ed8caa5bb3d3f77daa78fc89d6c9101610a53565b6111506116a1611b5d565b336040805180604001604052806002815260200161363160f01b815250611be4565b6000805b9250929050565b600054604080518082019091526002815261393160f01b602082015290600160b01b900460ff16156107515760405162461bcd60e51b81526004016107ba9190612709565b6001600160a01b038a161580159061174357506001600160a01b038a1660009081526005602052604090205460ff165b6117825760405162461bcd60e51b815260206004820152601060248201526f24a72b20a624a22fa82927ab24a222a960811b60448201526064016107ba565b60015460405161190160f01b602082015260228101919091526042810186905260009060620160408051601f1981840301815282825280516020918201206000845290830180835281905260ff8716918301919091526060820185905260808201849052915060019060a0016020604051602081039080840390855afa158015611810573d6000803e3d6000fd5b505050602060405103516001600160a01b03168b6001600160a01b03161461186e5760405162461bcd60e51b8152602060048201526011602482015270494e56414c49445f5349474e415455524560781b60448201526064016107ba565b866001600160a01b038b166000908152600360205260409020558761189357506118a9565b61189c88611dbd565b6118a7898942611dc6565b505b50505050505050505050565b6001600160a01b0384166118db5760405162461bcd60e51b81526004016107ba9061271c565b60005b8281101561064e57846001600160a01b03166006600086868581811061191457634e487b7160e01b600052603260045260246000fd5b60209081029290920135835250810191909152604001600020546001600160a01b03161461197d5760405162461bcd60e51b815260206004820152601660248201527524a72b20a624a22fa922a32fa1a7a222afa7aba722a960511b60448201526064016107ba565b8163ffffffff16600760008686858181106119a857634e487b7160e01b600052603260045260246000fd5b602090810292909201358352508101919091526040016000205463ffffffff1610611a155760405162461bcd60e51b815260206004820152601a60248201527f494e56414c49445f5245465f434f44455f54494d455354414d5000000000000060448201526064016107ba565b8160076000868685818110611a3a57634e487b7160e01b600052603260045260246000fd5b90506020020135815260200190815260200160002060006101000a81548163ffffffff021916908363ffffffff1602179055508080611a78906128f3565b9150506118de565b6000808080611a8f87826127e6565b935061ffff851615611ab657611aa9848661ffff16610fe3565b611ab390876127e6565b95505b5094509450949050565b816008541415611ace575050565b600b5463ffffffff9081169082168114611afe57600854611aee83611dd3565b6008849055610f81818385611e40565b505050565b6000546001600160a01b03166111505760405162461bcd60e51b815260206004820152601660248201527518dbdb9d1c9bdb1b195c881a5cc81c995c5d5a5c995960521b60448201526064016107ba565b61075181610f87565b60008060009054906101000a90046001600160a01b03166001600160a01b03166316d6b5f66040518163ffffffff1660e01b815260040160206040518083038186803b158015611bac57600080fd5b505afa158015611bc0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cb919061237a565b611bef848484611e75565b819061064e5760405162461bcd60e51b81526004016107ba9190612709565b600080546001600160a01b0316158015906110db575060005460405163ce91a05960e01b81526001600160a01b0384811660048301529091169063ce91a0599060240160206040518083038186803b158015611c6957600080fd5b505afa158015611c7d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110db919061235e565b60405146907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f90611cd49060049061255f565b60408051918290038220828201825260018352603160f81b6020938401528151928301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66060820152608081018290523060a082015260c00160408051808303601f1901815291905280516020909101206001557f265432d9ba1d254ba8daf4961d4ec3919fd59f12c8000580f6c934f66aff503160025550565b600a54600b5460009190611d939063ffffffff1684612893565b63ffffffff16600854611da6919061285d565b600954611db391906127e6565b6110db919061287c565b6107cd81611e90565b611afe8383836000611edd565b600b5463ffffffff9081169082161015611e245760405162461bcd60e51b8152602060048201526012602482015271726574726f6163746976652075706461746560701b60448201526064016107ba565b600b805463ffffffff191663ffffffff92909216919091179055565b611e4a8282612893565b611e5a9063ffffffff168461285d565b60096000828254611e6b91906127e6565b9091555050505050565b600080611e83858585611f4b565b9092161515949350505050565b6000611ebe611e9d611500565b83604051806040016040528060028152602001611b1960f11b815250611fd7565b905081600a6000828254611ed291906127e6565b909155509092915050565b6000546040516316050d6360e31b81526001600160a01b039091169063b0286b1890611f139087908790879087906004016125fa565b600060405180830381600087803b158015611f2d57600080fd5b505af1158015611f41573d6000803e3d6000fd5b5050505050505050565b60405163cc8b29c160e01b81526001600160a01b038381166004830152602482018390526000919085169063cc8b29c19060440160206040518083038186803b158015611f9757600080fd5b505afa158015611fab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fcf91906124a3565b949350505050565b60008184841115611ffb5760405162461bcd60e51b81526004016107ba9190612709565b505050900390565b82805461200f906128b8565b90600052602060002090601f0160209004810192826120315760008555612077565b82601f1061204a57805160ff1916838001178555612077565b82800160010185558215612077579182015b8281111561207757825182559160200191906001019061205c565b50612083929150612087565b5090565b5b808211156120835760008155600101612088565b60008083601f8401126120ad578081fd5b50813567ffffffffffffffff8111156120c4578182fd5b6020830191508360208260051b85010111156116c757600080fd5b803561ffff811681146120f157600080fd5b919050565b803563ffffffff811681146120f157600080fd5b60006020828403121561211b578081fd5b813561212681612950565b9392505050565b6000806040838503121561213f578081fd5b823561214a81612950565b9150602083013561215a81612950565b809150509250929050565b60008060008060008060008060006101008a8c031215612183578485fd5b893561218e81612950565b985060208a013561219e81612950565b975060408a0135965060608a0135955060808a013567ffffffffffffffff8111156121c7578586fd5b6121d38c828d0161209c565b90965094505060a08a013560ff811681146121ec578384fd5b8093505060c08a0135915060e08a013590509295985092959850929598565b60008060006040848603121561221f578283fd5b833561222a81612950565b9250602084013567ffffffffffffffff811115612245578283fd5b6122518682870161209c565b9497909650939450505050565b60008060008060808587031215612273578384fd5b843561227e81612950565b9350602085013592506040850135915061229a606086016120df565b905092959194509250565b600080604083850312156122b7578182fd5b82356122c281612950565b91506122d0602084016120f6565b90509250929050565b600080600080604085870312156122ee578384fd5b843567ffffffffffffffff80821115612305578586fd5b6123118883890161209c565b90965094506020870135915080821115612329578384fd5b506123368782880161209c565b95989497509550505050565b600060208284031215612353578081fd5b813561212681612965565b60006020828403121561236f578081fd5b815161212681612965565b60006020828403121561238b578081fd5b815161212681612950565b600060208083850312156123a8578182fd5b823567ffffffffffffffff808211156123bf578384fd5b90840190606082870312156123d2578384fd5b6123da61278c565b82356123e581612950565b815282840135828111156123f7578586fd5b8301601f81018813612407578586fd5b8035838111156124195761241961293a565b61242b601f8201601f191687016127b5565b93508084528886828401011115612440578687fd5b80868301878601378686828601015250508184820152612462604084016120df565b60408201529695505050505050565b600060208284031215612482578081fd5b6110d8826120df565b60006020828403121561249c578081fd5b5035919050565b6000602082840312156124b4578081fd5b5051919050565b600080604083850312156124cd578182fd5b82359150602083013561215a81612950565b6000602082840312156124f0578081fd5b6110d8826120f6565b6000806040838503121561250b578182fd5b61214a836120f6565b60008151808452815b818110156125395760208185018101518683018201520161251d565b8181111561254a5782602083870101525b50601f01601f19169290920160200192915050565b600080835482600182811c91508083168061257b57607f831692505b602080841082141561259b57634e487b7160e01b87526022600452602487fd5b8180156125af57600181146125c0576125ec565b60ff198616895284890196506125ec565b60008a815260209020885b868110156125e45781548b8201529085019083016125cb565b505084890196505b509498975050505050505050565b6001600160a01b03851681526020810184905263ffffffff83166040820152608081016003831061263b57634e487b7160e01b600052602160045260246000fd5b82606083015295945050505050565b6020808252825182820181905260009190848201906040850190845b8181101561268857835163ffffffff1683529284019291840191600101612666565b50909695505050505050565b8881526001600160a01b03888116602083015287166040820152606081018690526080810185905260a0810184905260e060c08201819052810182905260006101006001600160fb1b038411156126e9578182fd5b8360051b8086838601379290920190910190815298975050505050505050565b6020815260006110d86020830184612514565b6020808252600e908201526d13d5d3915497d49154555254915160921b604082015260600190565b602080825282516001600160a01b031682820152820151606060408301526000906127726080840182612514565b905061ffff60408501511660608401528091505092915050565b6040516060810167ffffffffffffffff811182821017156127af576127af61293a565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156127de576127de61293a565b604052919050565b600082198211156127f9576127f961290e565b500190565b600061ffff8084168061281357612813612924565b92169190910492915050565b60008261282e5761282e612924565b500490565b600061ffff808316818516818304811182151516156128545761285461290e565b02949350505050565b60008160001904831182151516156128775761287761290e565b500290565b60008282101561288e5761288e61290e565b500390565b600063ffffffff838116908316818110156128b0576128b061290e565b039392505050565b600181811c908216806128cc57607f821691505b602082108114156128ed57634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156129075761290761290e565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461075157600080fd5b801515811461075157600080fdfea2646970667358221220985fd907e8aa6994ca49dff4dd55fc32d0f8a70b1710b65e30d49a50e167fed564736f6c63430008040033";
//# sourceMappingURL=ReferralRewardPoolV1Factory.js.map