UNPKG

@augumented-finance/protocol-v1

Version:

Augmented Protocol smart contracts

876 lines 45.2 kB
"use strict"; /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ Object.defineProperty(exports, "__esModule", { value: true }); exports.DepositTokenFactory = void 0; const contracts_1 = require("@ethersproject/contracts"); class DepositTokenFactory 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.DepositTokenFactory = DepositTokenFactory; const _abi = [ { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "owner", type: "address", }, { indexed: true, internalType: "address", name: "spender", type: "address", }, { indexed: false, internalType: "uint256", name: "value", type: "uint256", }, ], name: "Approval", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "from", type: "address", }, { indexed: true, internalType: "address", name: "to", type: "address", }, { indexed: false, internalType: "uint256", name: "value", type: "uint256", }, { indexed: false, internalType: "uint256", name: "index", type: "uint256", }, ], name: "BalanceTransfer", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "from", type: "address", }, { indexed: true, internalType: "address", name: "target", type: "address", }, { indexed: false, internalType: "uint256", name: "value", type: "uint256", }, { indexed: false, internalType: "uint256", name: "index", type: "uint256", }, ], name: "Burn", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "underlyingAsset", type: "address", }, { indexed: true, internalType: "address", name: "pool", type: "address", }, { indexed: false, internalType: "address", name: "treasury", type: "address", }, { indexed: false, internalType: "string", name: "aTokenName", type: "string", }, { indexed: false, internalType: "string", name: "aTokenSymbol", type: "string", }, { indexed: false, internalType: "uint8", name: "aTokenDecimals", type: "uint8", }, { indexed: false, internalType: "bytes", name: "params", type: "bytes", }, ], name: "Initialized", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "from", type: "address", }, { indexed: false, internalType: "uint256", name: "value", type: "uint256", }, { indexed: false, internalType: "uint256", name: "index", type: "uint256", }, ], name: "Mint", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "from", type: "address", }, { indexed: true, internalType: "address", name: "to", type: "address", }, { indexed: false, internalType: "uint256", name: "value", type: "uint256", }, ], name: "Transfer", type: "event", }, { 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: "PERMIT_TYPEHASH", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "POOL", outputs: [ { internalType: "contract ILendingPool", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "RESERVE_TREASURY_ADDRESS", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "REVISION", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "pure", type: "function", }, { inputs: [], name: "UNDERLYING_ASSET_ADDRESS", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "", type: "address", }, ], name: "_nonces", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "owner", type: "address", }, { internalType: "address", name: "spender", type: "address", }, ], name: "allowance", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "spender", type: "address", }, { internalType: "uint256", name: "amount", type: "uint256", }, ], name: "approve", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "user", type: "address", }, ], name: "balanceOf", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "user", type: "address", }, { internalType: "address", name: "receiverOfUnderlying", type: "address", }, { internalType: "uint256", name: "amount", type: "uint256", }, { internalType: "uint256", name: "index", type: "uint256", }, ], name: "burn", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "decimals", outputs: [ { internalType: "uint8", name: "", type: "uint8", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "spender", type: "address", }, { internalType: "uint256", name: "subtractedValue", type: "uint256", }, ], name: "decreaseAllowance", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "getIncentivesController", outputs: [ { internalType: "contract IBalanceHook", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "user", type: "address", }, ], name: "getScaledUserBalanceAndSupply", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "user", type: "address", }, { internalType: "uint256", name: "amount", type: "uint256", }, ], name: "handleRepayment", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "spender", type: "address", }, { internalType: "uint256", name: "addedValue", type: "uint256", }, ], name: "increaseAllowance", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { components: [ { internalType: "contract ILendingPool", name: "pool", type: "address", }, { internalType: "address", name: "treasury", type: "address", }, { internalType: "address", name: "underlyingAsset", type: "address", }, ], internalType: "struct PoolTokenConfig", name: "config", type: "tuple", }, { internalType: "string", name: "name", type: "string", }, { internalType: "string", name: "symbol", type: "string", }, { internalType: "uint8", name: "decimals", type: "uint8", }, { internalType: "bytes", name: "params", type: "bytes", }, ], name: "initialize", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "user", type: "address", }, { internalType: "uint256", name: "amount", type: "uint256", }, { internalType: "uint256", name: "index", type: "uint256", }, ], name: "mint", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint256", name: "amount", type: "uint256", }, { internalType: "uint256", name: "index", type: "uint256", }, ], name: "mintToTreasury", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "name", outputs: [ { internalType: "string", name: "", type: "string", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "owner", type: "address", }, { internalType: "address", name: "spender", type: "address", }, { internalType: "uint256", name: "value", type: "uint256", }, { internalType: "uint256", name: "deadline", type: "uint256", }, { internalType: "uint8", name: "v", type: "uint8", }, { internalType: "bytes32", name: "r", type: "bytes32", }, { internalType: "bytes32", name: "s", type: "bytes32", }, ], name: "permit", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "user", type: "address", }, ], name: "scaledBalanceOf", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "scaledTotalSupply", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "hook", type: "address", }, ], name: "setIncentivesController", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "treasury", type: "address", }, ], name: "setTreasury", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "symbol", outputs: [ { internalType: "string", name: "", type: "string", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "totalSupply", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "recipient", type: "address", }, { internalType: "uint256", name: "amount", type: "uint256", }, ], name: "transfer", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "sender", type: "address", }, { internalType: "address", name: "recipient", type: "address", }, { internalType: "uint256", name: "amount", type: "uint256", }, ], name: "transferFrom", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "from", type: "address", }, { internalType: "address", name: "to", type: "address", }, { internalType: "uint256", name: "value", type: "uint256", }, ], name: "transferOnLiquidation", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "target", type: "address", }, { internalType: "uint256", name: "amount", type: "uint256", }, ], name: "transferUnderlyingTo", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "nonpayable", type: "function", }, ]; const _bytecode = "0x60806040526000600c556000600d553480156200001b57600080fd5b50604080518082018252600c8082526b2222a827a9a4aa2fa9aa2aa160a11b6020808401828152855180870190965292855284015281519192916000916200006691839190620001f6565b5081516200007c906001906020850190620001f6565b506002805460ff191660ff92909216919091179055506200009e9050620000a4565b620002be565b467f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f620000d062000140565b805160209182012060408051808201825260018152603160f81b90840152516200012293927fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc691869130910162000292565b60408051601f19818403018152919052805160209091012060085550565b6060620001576200015c60201b6200043e1760201c565b905090565b60008054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015620001ec5780601f10620001c057610100808354040283529160200191620001ec565b820191906000526020600020905b815481529060010190602001808311620001ce57829003601f168201915b5050505050905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200023957805160ff191683800117855562000269565b8280016001018555821562000269579182015b82811115620002695782518255916020019190600101906200024c565b50620002779291506200027b565b5090565b5b808211156200027757600081556001016200027c565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b612c0180620002ce6000396000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c80637df5bd3b1161011a578063b1bf962d116100ad578063dd62ed3e1161007c578063dd62ed3e146103ea578063dde43cba146103fd578063e655dbd814610405578063f0f4426014610418578063f866c3191461042b576101fb565b8063b1bf962d146103a9578063b9844d8d146103b1578063d505accf146103c4578063d7020d0a146103d7576101fb565b8063a457c2d7116100e9578063a457c2d714610373578063a9059cbb14610386578063ae16733514610399578063b16a19de146103a1576101fb565b80637df5bd3b1461033057806388dd91a1146103455780638bd3a60d1461035857806395d89b411461036b576101fb565b8063313ce5671161019257806370a082311161016157806370a08231146102f85780637535d2461461030b57806375d26413146103205780637816037614610328576101fb565b8063313ce567146102b55780633644e515146102ca57806339509351146102d25780634efecaa5146102e5576101fb565b806318160ddd116101ce57806318160ddd146102725780631da24f3e1461028757806323b872dd1461029a57806330adf81f146102ad576101fb565b806306fdde0314610200578063095ea7b31461021e5780630afbcdc91461023e578063156e29f61461025f575b600080fd5b61020861043e565b60405161021591906126b1565b60405180910390f35b61023161022c3660046122a2565b6104d5565b604051610215919061261f565b61025161024c366004612154565b6104f3565b604051610215929190612ab9565b61023161026d3660046122cd565b610510565b61027a61065a565b604051610215919061262a565b61027a610295366004612154565b61070c565b6102316102a83660046121a8565b610717565b61027a6107d9565b6102bd6107fd565b6040516102159190612ac7565b61027a610806565b6102316102e03660046122a2565b61080c565b61027a6102f33660046122a2565b61085a565b61027a610306366004612154565b6108d2565b61031361096b565b604051610215919061250d565b61031361097a565b610208610989565b61034361033e366004612489565b6109a6565b005b6103436103533660046122a2565b610aab565b61034361036636600461233d565b610b07565b610208610d7a565b6102316103813660046122a2565b610dda565b6102316103943660046122a2565b610e42565b610313610ea1565b610313610eb0565b61027a610ebf565b61027a6103bf366004612154565b610ece565b6103436103d236600461222d565b610ee0565b6103436103e53660046121e8565b611072565b61027a6103f8366004612170565b6111c1565b61027a6111ec565b610343610413366004612154565b6111f6565b610343610426366004612154565b6112c9565b6103436104393660046121a8565b611343565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104ca5780601f1061049f576101008083540402835291602001916104ca565b820191906000526020600020905b8154815290600101906020018083116104ad57829003601f168201915b505050505090505b90565b60006104e96104e26113e6565b84846113ea565b5060015b92915050565b6000806104ff83611491565b6105076114ac565b91509150915091565b6005546000906001600160a01b03166105276113e6565b6001600160a01b03161460405180604001604052806002815260200161323960f01b815250906105735760405162461bcd60e51b815260040161056a91906126b1565b60405180910390fd5b50600061057f85611491565b9050600061058d85856114b2565b6040805180820190915260028152611a9b60f11b6020820152909150816105c75760405162461bcd60e51b815260040161056a91906126b1565b506105d386828661155d565b856001600160a01b031660006001600160a01b0316600080516020612b8783398151915287604051610605919061262a565b60405180910390a3856001600160a01b03167f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f8686604051610648929190612ab9565b60405180910390a25015949350505050565b6000806106656114ac565b9050806106765760009150506104d2565b60055460065460405163d15e005360e01b8152610706926001600160a01b039081169263d15e0053926106af929091169060040161250d565b60206040518083038186803b1580156106c757600080fd5b505afa1580156106db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ff9190612471565b82906115f9565b91505090565b60006104ed82611491565b60006107268484846001611689565b610796846107326113e6565b61079185604051806060016040528060288152602001612b5f602891396001600160a01b038a166000908152600a60205260408120906107706113e6565b6001600160a01b031681526020810191909152604001600020549190611815565b6113ea565b826001600160a01b0316846001600160a01b0316600080516020612b87833981519152846040516107c7919061262a565b60405180910390a35060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60025460ff1690565b60085481565b60006104e96108196113e6565b8461079185600a600061082a6113e6565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490611841565b6005546000906001600160a01b03166108716113e6565b6001600160a01b03161460405180604001604052806002815260200161323960f01b815250906108b45760405162461bcd60e51b815260040161056a91906126b1565b506006546108cc906001600160a01b0316848461186d565b50919050565b60055460065460405163d15e005360e01b81526000926104ed926001600160a01b039182169263d15e00539261090c92169060040161250d565b60206040518083038186803b15801561092457600080fd5b505afa158015610938573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095c9190612471565b61096584611491565b906115f9565b6005546001600160a01b031690565b6007546001600160a01b031690565b604051806040016040528060018152602001603160f81b81525081565b6005546001600160a01b03166109ba6113e6565b6001600160a01b03161460405180604001604052806002815260200161323960f01b815250906109fd5760405162461bcd60e51b815260040161056a91906126b1565b5081610a0857610aa7565b600b546001600160a01b0316610a2881610a2285856114b2565b8461155d565b806001600160a01b031660006001600160a01b0316600080516020612b8783398151915285604051610a5a919061262a565b60405180910390a3806001600160a01b03167f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f8484604051610a9d929190612ab9565b60405180910390a2505b5050565b6005546001600160a01b0316610abf6113e6565b6001600160a01b03161460405180604001604052806002815260200161323960f01b81525090610b025760405162461bcd60e51b815260040161056a91906126b1565b505050565b60016000610b136118c3565b9050600080610b2284846118c8565b91509150610b9b8b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c90819084018382808284376000920191909152508c92506119a6915050565b610ba560016119e6565b610bb157610bb16119ee565b610bc160408d0160208e01612154565b600b80546001600160a01b0319166001600160a01b0392909216919091179055610c79610bf3368e90038e018e612404565b8c8c8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508d92508c91508b9050611a86565b80610c8457600d8490555b610cf98b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c90819084018382808284376000920191909152508c92506119a6915050565b610d0360016119e6565b610d0f57610d0f6119ee565b610d1f60408d0160208e01612154565b600b80546001600160a01b0319166001600160a01b0392909216919091179055610d51610bf3368e90038e018e612404565b80610d5c57600c8490555b81610d6c57600c8390556000600d555b505050505050505050505050565b60018054604080516020601f600260001961010087891615020190951694909404938401819004810282018101909252828152606093909290918301828280156104ca5780601f1061049f576101008083540402835291602001916104ca565b60006104e9610de76113e6565b8461079185604051806060016040528060258152602001612ba760259139600a6000610e116113e6565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611815565b6000610e58610e4f6113e6565b84846001611689565b826001600160a01b0316610e6a6113e6565b6001600160a01b0316600080516020612b8783398151915284604051610e90919061262a565b60405180910390a350600192915050565b600b546001600160a01b031690565b6006546001600160a01b031690565b6000610ec96114ac565b905090565b60096020526000908152604090205481565b6001600160a01b038716610f065760405162461bcd60e51b815260040161056a90612891565b83421115610f265760405162461bcd60e51b815260040161056a90612865565b6001600160a01b0387166000908152600960209081526040808320546008549151909392610f80917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918d918d918d9189918e9101612633565b60405160208183030381529060405280519060200120604051602001610fa79291906124f2565b60405160208183030381529060405280519060200120905060018186868660405160008152602001604052604051610fe29493929190612693565b6020604051602081039080840390855afa158015611004573d6000803e3d6000fd5b505050602060405103516001600160a01b0316896001600160a01b03161461103e5760405162461bcd60e51b815260040161056a906127ec565b6001600160a01b0389166000908152600960205260409020600183019055611067898989611b0d565b505050505050505050565b6005546001600160a01b03166110866113e6565b6001600160a01b03161460405180604001604052806002815260200161323960f01b815250906110c95760405162461bcd60e51b815260040161056a91906126b1565b5060006110d683836114b2565b60408051808201909152600281526106a760f31b6020820152909150816111105760405162461bcd60e51b815260040161056a91906126b1565b5061111c858284611b18565b600654611133906001600160a01b0316858561186d565b60006001600160a01b0316856001600160a01b0316600080516020612b8783398151915285604051611165919061262a565b60405180910390a3836001600160a01b0316856001600160a01b03167f5d624aa9c148153ab3446c1b154f660ee7701e549fe9b62dab7171b1c80e6fa285856040516111b2929190612ab9565b60405180910390a35050505050565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b6000610ec96118c3565b60055460408051630b6b5afb60e11b81529051611283926001600160a01b0316916316d6b5f6916004808301926020929190829003018186803b15801561123c57600080fd5b505afa158015611250573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112749190612321565b61127c6113e6565b6008611ba1565b60405180604001604052806002815260200161383160f01b815250906112bc5760405162461bcd60e51b815260040161056a91906126b1565b506112c681611bc0565b50565b6005546001600160a01b03166112dd6113e6565b6001600160a01b03161460405180604001604052806002815260200161323960f01b815250906113205760405162461bcd60e51b815260040161056a91906126b1565b50600b80546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03166113576113e6565b6001600160a01b03161460405180604001604052806002815260200161323960f01b8152509061139a5760405162461bcd60e51b815260040161056a91906126b1565b506113a88383836000611689565b816001600160a01b0316836001600160a01b0316600080516020612b87833981519152836040516113d9919061262a565b60405180910390a3505050565b3390565b6001600160a01b0383166114105760405162461bcd60e51b815260040161056a906129bd565b6001600160a01b0382166114365760405162461bcd60e51b815260040161056a9061273e565b6001600160a01b038084166000818152600a602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906113d990859061262a565b6001600160a01b031660009081526003602052604090205490565b60045490565b604080518082019091526002815261035360f41b6020820152600090826114ec5760405162461bcd60e51b815260040161056a91906126b1565b5060408051808201909152600280825261068760f31b60208301528304906b033b2e3c9fd0803ce800000082190485111561153a5760405162461bcd60e51b815260040161056a91906126b1565b5082816b033b2e3c9fd0803ce80000008602018161155457fe5b04949350505050565b6001600160a01b0383166115835760405162461bcd60e51b815260040161056a90612a82565b61158f60008484610b02565b60045461159c8184611841565b60048190556001600160a01b0385166000908152600360205260408120549192506115c78286611841565b6001600160a01b038716600090815260036020526040902081905590506115f18683838688611be2565b505050505050565b6000821580611606575081155b15611613575060006104ed565b816b019d971e4fe8401e74000000198161162957fe5b0483111560405180604001604052806002815260200161068760f31b815250906116665760405162461bcd60e51b815260040161056a91906126b1565b50506b033b2e3c9fd0803ce800000091026b019d971e4fe8401e74000000010490565b60065460055460405163d15e005360e01b81526001600160a01b039283169290911690600090829063d15e0053906116c590869060040161250d565b60206040518083038186803b1580156116dd57600080fd5b505afa1580156116f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117159190612471565b90506000611726826109658a611491565b90506000611737836109658a611491565b905061174e89896117488a876114b2565b86611c71565b85156117bd5760405163d5ed393360e01b81526001600160a01b0385169063d5ed39339061178a9088908d908d908d9089908990600401612521565b600060405180830381600087803b1580156117a457600080fd5b505af11580156117b8573d6000803e3d6000fd5b505050505b876001600160a01b0316896001600160a01b03167f4beccb90f994c31aced7a23b5611020728a23d8ec5cddd1a3e9d97b96fda86668986604051611802929190612ab9565b60405180910390a3505050505050505050565b600081848411156118395760405162461bcd60e51b815260040161056a91906126b1565b505050900390565b6000828201838110156118665760405162461bcd60e51b815260040161056a90612780565b9392505050565b610b028363a9059cbb60e01b848460405160240161188c929190612606565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611e7f565b600190565b600080600084116118eb5760405162461bcd60e51b815260040161056a90612707565b8284111561190b5760405162461bcd60e51b815260040161056a906128f9565b6000600d5411801561191e575082600c54105b9150818061192f575061192f611f6a565b8061193b5750600c5483115b6119575760405162461bcd60e51b815260040161056a90612817565b811561197e5783600d541161197e5760405162461bcd60e51b815260040161056a90612975565b600c54841161199b578115611993576001600d555b50600161199f565b5060005b9250929050565b82516119b9906000906020860190612081565b5081516119cd906001906020850190612081565b506002805460ff191660ff929092169190911790555050565b600c54101590565b467f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f611a18611f70565b805160209182012060408051808201825260018152603160f81b9084015251611a6893927fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6918691309101612667565b60408051601f19818403018152919052805160209091012060085550565b8551600580546001600160a01b039283166001600160a01b031991821681179092556040808a015160068054919095169216821790935560208901519251919290917f2bb6ce244a49e83b442fa9c0617811f0929cb9961fd5ce013ebf708dc4d8bf0291611afd918a908a908a908a908a90612590565b60405180910390a3505050505050565b610b028383836113ea565b6001600160a01b038316611b3e5760405162461bcd60e51b815260040161056a906128b8565b611b4a83600084610b02565b600454611b578184611f7a565b60048190556001600160a01b0385166000908152600360209081526040808320548151606081019092526022808352949550936115c79288929190612b1790830139849190611815565b6000611bb882611bb2868686611fbc565b9061203d565b949350505050565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6007546001600160a01b031680611bf95750611c6a565b806001600160a01b031663de95ce03611c10612044565b88888888886040518763ffffffff1660e01b8152600401611c369695949392919061255a565b600060405180830381600087803b158015611c5057600080fd5b505af1158015611c64573d6000803e3d6000fd5b50505050505b5050505050565b6001600160a01b038416611c975760405162461bcd60e51b815260040161056a90612930565b6001600160a01b038316611cbd5760405162461bcd60e51b815260040161056a906126c4565b611cc8848484610b02565b600060036000866001600160a01b03166001600160a01b031681526020019081526020016000205490506000611d1984604051806060016040528060268152602001612b3960269139849190611815565b6001600160a01b03808816600090815260036020526040808220849055918816815290812054919250611d4c8287611841565b6001600160a01b038089166000908152600360205260409020829055600754919250168015611067576000611d7f612044565b905060006004549050826001600160a01b031663de95ce03838d8a8a868e6040518763ffffffff1660e01b8152600401611dbe9695949392919061255a565b600060405180830381600087803b158015611dd857600080fd5b505af1158015611dec573d6000803e3d6000fd5b50505050896001600160a01b03168b6001600160a01b031614611e7257826001600160a01b031663de95ce03838c8888868e6040518763ffffffff1660e01b8152600401611e3f9695949392919061255a565b600060405180830381600087803b158015611e5957600080fd5b505af1158015611e6d573d6000803e3d6000fd5b505050505b5050505050505050505050565b611e91826001600160a01b0316612048565b611ead5760405162461bcd60e51b815260040161056a90612a4b565b60006060836001600160a01b031683604051611ec991906124d6565b6000604051808303816000865af19150503d8060008114611f06576040519150601f19603f3d011682016040523d82523d6000602084013e611f0b565b606091505b509150915081611f2d5760405162461bcd60e51b815260040161056a906127b7565b805115611f645780806020019051810190611f489190612301565b611f645760405162461bcd60e51b815260040161056a90612a01565b50505050565b303b1590565b6060610ec961043e565b600061186683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611815565b60405163cc8b29c160e01b81526000906001600160a01b0385169063cc8b29c190611fed9086908690600401612606565b60206040518083038186803b15801561200557600080fd5b505afa158015612019573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bb89190612471565b9081161490565b3090565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590611bb8575050151592915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106120c257805160ff19168380011785556120ef565b828001600101855582156120ef579182015b828111156120ef5782518255916020019190600101906120d4565b506120fb9291506120ff565b5090565b5b808211156120fb5760008155600101612100565b60008083601f840112612125578182fd5b50813567ffffffffffffffff81111561213c578182fd5b60208301915083602082850101111561199f57600080fd5b600060208284031215612165578081fd5b813561186681612b01565b60008060408385031215612182578081fd5b823561218d81612b01565b9150602083013561219d81612b01565b809150509250929050565b6000806000606084860312156121bc578081fd5b83356121c781612b01565b925060208401356121d781612b01565b929592945050506040919091013590565b600080600080608085870312156121fd578081fd5b843561220881612b01565b9350602085013561221881612b01565b93969395505050506040820135916060013590565b600080600080600080600060e0888a031215612247578283fd5b873561225281612b01565b9650602088013561226281612b01565b95506040880135945060608801359350608088013560ff81168114612285578384fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156122b4578182fd5b82356122bf81612b01565b946020939093013593505050565b6000806000606084860312156122e1578283fd5b83356122ec81612b01565b95602085013595506040909401359392505050565b600060208284031215612312578081fd5b81518015158114611866578182fd5b600060208284031215612332578081fd5b815161186681612b01565b600080600080600080600080888a0360e0811215612359578283fd5b6060811215612366578283fd5b50889750606089013567ffffffffffffffff80821115612384578384fd5b6123908c838d01612114565b909950975060808b01359150808211156123a8578384fd5b6123b48c838d01612114565b909750955060a08b0135915060ff821682146123ce578384fd5b90935060c08a013590808211156123e3578384fd5b506123f08b828c01612114565b999c989b5096995094979396929594505050565b600060608284031215612415578081fd5b6040516060810181811067ffffffffffffffff82111715612434578283fd5b604052823561244281612b01565b8152602083013561245281612b01565b6020820152604083013561246581612b01565b60408201529392505050565b600060208284031215612482578081fd5b5051919050565b6000806040838503121561249b578182fd5b50508035926020909101359150565b600081518084526124c2816020860160208601612ad5565b601f01601f19169290920160200192915050565b600082516124e8818460208701612ad5565b9190910192915050565b61190160f01b81526002810192909252602282015260420190565b6001600160a01b0391909116815260200190565b6001600160a01b03968716815294861660208601529290941660408401526060830152608082019290925260a081019190915260c00190565b6001600160a01b03968716815294909516602085015260408401929092526060830152608082015260a081019190915260c00190565b6001600160a01b038716815260a0602082018190526000906125b4908301886124aa565b82810360408401526125c681886124aa565b905060ff8616606084015282810360808401528381528385602083013781602085830101526020601f19601f860116820101915050979650505050505050565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b90815260200190565b9586526001600160a01b0394851660208701529290931660408501526060840152608083019190915260a082015260c00190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b93845260ff9290921660208401526040830152606082015260800190565b60006020825261186660208301846124aa565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b6020808252601e908201527f696e636f727265637420696e697469616c697a6572207265766973696f6e0000604082015260600190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252818101527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604082015260600190565b602080825260119082015270494e56414c49445f5349474e415455524560781b604082015260600190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526012908201527124a72b20a624a22fa2ac2824a920aa24a7a760711b604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b6020808252601b908201527f696e636f727265637420636f6e7472616374207265766973696f6e0000000000604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526028908201527f696e636f7272656374206f72646572206f662063616c6c7320746f20696e697460408201526769616c697a65727360c01b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252601f908201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604082015260600190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b918252602082015260400190565b60ff91909116815260200190565b60005b83811015612af0578181015183820152602001612ad8565b83811115611f645750506000910152565b6001600160a01b03811681146112c657600080fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220b16867cf59a58aa687cc7eae54536b186ccb50fdaaf5ece0a30aa12265422b9a64736f6c634300060c0033"; //# sourceMappingURL=DepositTokenFactory.js.map