@augumented-finance/protocol-v1
Version:
Augmented Protocol smart contracts
876 lines • 45.2 kB
JavaScript
"use strict";
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
Object.defineProperty(exports, "__esModule", { value: true });
exports.MockDepositTokenFactory = void 0;
const contracts_1 = require("@ethersproject/contracts");
class MockDepositTokenFactory 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.MockDepositTokenFactory = MockDepositTokenFactory;
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 = "0x60806040526000600c556000600d553480156200001b57600080fd5b50604080518082018252600c8082526b2222a827a9a4aa2fa9aa2aa160a11b6020808401828152855180870190965292855284015281519192916000916200006691839190620001f6565b5081516200007c906001906020850190620001f6565b506002805460ff191660ff92909216919091179055506200009e9050620000a4565b620002be565b467f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f620000d062000140565b805160209182012060408051808201825260018152603160f81b90840152516200012293927fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc691869130910162000292565b60408051601f19818403018152919052805160209091012060085550565b6060620001576200015c60201b6200043e1760201c565b905090565b60008054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015620001ec5780601f10620001c057610100808354040283529160200191620001ec565b820191906000526020600020905b815481529060010190602001808311620001ce57829003601f168201915b5050505050905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200023957805160ff191683800117855562000269565b8280016001018555821562000269579182015b82811115620002695782518255916020019190600101906200024c565b50620002779291506200027b565b5090565b5b808211156200027757600081556001016200027c565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b612c1380620002ce6000396000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c80637df5bd3b1161011a578063b1bf962d116100ad578063dd62ed3e1161007c578063dd62ed3e146103ea578063dde43cba146103fd578063e655dbd814610405578063f0f4426014610418578063f866c3191461042b576101fb565b8063b1bf962d146103a9578063b9844d8d146103b1578063d505accf146103c4578063d7020d0a146103d7576101fb565b8063a457c2d7116100e9578063a457c2d714610373578063a9059cbb14610386578063ae16733514610399578063b16a19de146103a1576101fb565b80637df5bd3b1461033057806388dd91a1146103455780638bd3a60d1461035857806395d89b411461036b576101fb565b8063313ce5671161019257806370a082311161016157806370a08231146102f85780637535d2461461030b57806375d26413146103205780637816037614610328576101fb565b8063313ce567146102b55780633644e515146102ca57806339509351146102d25780634efecaa5146102e5576101fb565b806318160ddd116101ce57806318160ddd146102725780631da24f3e1461028757806323b872dd1461029a57806330adf81f146102ad576101fb565b806306fdde0314610200578063095ea7b31461021e5780630afbcdc91461023e578063156e29f61461025f575b600080fd5b61020861043e565b60405161021591906126c3565b60405180910390f35b61023161022c3660046122b4565b6104d5565b6040516102159190612631565b61025161024c366004612166565b6104f3565b604051610215929190612acb565b61023161026d3660046122df565b610510565b61027a61065a565b604051610215919061263c565b61027a610295366004612166565b61070c565b6102316102a83660046121ba565b610717565b61027a6107d9565b6102bd6107fd565b6040516102159190612ad9565b61027a610806565b6102316102e03660046122b4565b61080c565b61027a6102f33660046122b4565b61085a565b61027a610306366004612166565b6108d2565b61031361096b565b604051610215919061251f565b61031361097a565b610208610989565b61034361033e36600461249b565b6109a6565b005b6103436103533660046122b4565b610aab565b61034361036636600461234f565b610b07565b610208610d7a565b6102316103813660046122b4565b610dda565b6102316103943660046122b4565b610e42565b610313610ea1565b610313610eb0565b61027a610ebf565b61027a6103bf366004612166565b610ece565b6103436103d236600461223f565b610ee0565b6103436103e53660046121fa565b611072565b61027a6103f8366004612182565b6111c1565b61027a6111ec565b610343610413366004612166565b6111f6565b610343610426366004612166565b6112c9565b6103436104393660046121ba565b611343565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104ca5780601f1061049f576101008083540402835291602001916104ca565b820191906000526020600020905b8154815290600101906020018083116104ad57829003601f168201915b505050505090505b90565b60006104e96104e26113e6565b84846113ea565b5060015b92915050565b6000806104ff83611491565b6105076114ac565b91509150915091565b6005546000906001600160a01b03166105276113e6565b6001600160a01b03161460405180604001604052806002815260200161323960f01b815250906105735760405162461bcd60e51b815260040161056a91906126c3565b60405180910390fd5b50600061057f85611491565b9050600061058d85856114b2565b6040805180820190915260028152611a9b60f11b6020820152909150816105c75760405162461bcd60e51b815260040161056a91906126c3565b506105d386828661155d565b856001600160a01b031660006001600160a01b0316600080516020612b9983398151915287604051610605919061263c565b60405180910390a3856001600160a01b03167f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f8686604051610648929190612acb565b60405180910390a25015949350505050565b6000806106656114ac565b9050806106765760009150506104d2565b60055460065460405163d15e005360e01b8152610706926001600160a01b039081169263d15e0053926106af929091169060040161251f565b60206040518083038186803b1580156106c757600080fd5b505afa1580156106db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ff9190612483565b82906115f9565b91505090565b60006104ed82611491565b60006107268484846001611689565b610796846107326113e6565b61079185604051806060016040528060288152602001612b71602891396001600160a01b038a166000908152600a60205260408120906107706113e6565b6001600160a01b031681526020810191909152604001600020549190611815565b6113ea565b826001600160a01b0316846001600160a01b0316600080516020612b99833981519152846040516107c7919061263c565b60405180910390a35060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60025460ff1690565b60085481565b60006104e96108196113e6565b8461079185600a600061082a6113e6565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490611841565b6005546000906001600160a01b03166108716113e6565b6001600160a01b03161460405180604001604052806002815260200161323960f01b815250906108b45760405162461bcd60e51b815260040161056a91906126c3565b506006546108cc906001600160a01b0316848461186d565b50919050565b60055460065460405163d15e005360e01b81526000926104ed926001600160a01b039182169263d15e00539261090c92169060040161251f565b60206040518083038186803b15801561092457600080fd5b505afa158015610938573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095c9190612483565b61096584611491565b906115f9565b6005546001600160a01b031690565b6007546001600160a01b031690565b604051806040016040528060018152602001603160f81b81525081565b6005546001600160a01b03166109ba6113e6565b6001600160a01b03161460405180604001604052806002815260200161323960f01b815250906109fd5760405162461bcd60e51b815260040161056a91906126c3565b5081610a0857610aa7565b600b546001600160a01b0316610a2881610a2285856114b2565b8461155d565b806001600160a01b031660006001600160a01b0316600080516020612b9983398151915285604051610a5a919061263c565b60405180910390a3806001600160a01b03167f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f8484604051610a9d929190612acb565b60405180910390a2505b5050565b6005546001600160a01b0316610abf6113e6565b6001600160a01b03161460405180604001604052806002815260200161323960f01b81525090610b025760405162461bcd60e51b815260040161056a91906126c3565b505050565b60016000610b136118c3565b9050600080610b2284846118d5565b91509150610b9b8b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c90819084018382808284376000920191909152508c92506119b3915050565b610ba560016119f3565b610bb157610bb16119fb565b610bc160408d0160208e01612166565b600b80546001600160a01b0319166001600160a01b0392909216919091179055610c79610bf3368e90038e018e612416565b8c8c8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508d92508c91508b9050611a93565b80610c8457600d8490555b610cf98b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c90819084018382808284376000920191909152508c92506119b3915050565b610d0360016119f3565b610d0f57610d0f6119fb565b610d1f60408d0160208e01612166565b600b80546001600160a01b0319166001600160a01b0392909216919091179055610d51610bf3368e90038e018e612416565b80610d5c57600c8490555b81610d6c57600c8390556000600d555b505050505050505050505050565b60018054604080516020601f600260001961010087891615020190951694909404938401819004810282018101909252828152606093909290918301828280156104ca5780601f1061049f576101008083540402835291602001916104ca565b60006104e9610de76113e6565b8461079185604051806060016040528060258152602001612bb960259139600a6000610e116113e6565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611815565b6000610e58610e4f6113e6565b84846001611689565b826001600160a01b0316610e6a6113e6565b6001600160a01b0316600080516020612b9983398151915284604051610e90919061263c565b60405180910390a350600192915050565b600b546001600160a01b031690565b6006546001600160a01b031690565b6000610ec96114ac565b905090565b60096020526000908152604090205481565b6001600160a01b038716610f065760405162461bcd60e51b815260040161056a906128a3565b83421115610f265760405162461bcd60e51b815260040161056a90612877565b6001600160a01b0387166000908152600960209081526040808320546008549151909392610f80917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918d918d918d9189918e9101612645565b60405160208183030381529060405280519060200120604051602001610fa7929190612504565b60405160208183030381529060405280519060200120905060018186868660405160008152602001604052604051610fe294939291906126a5565b6020604051602081039080840390855afa158015611004573d6000803e3d6000fd5b505050602060405103516001600160a01b0316896001600160a01b03161461103e5760405162461bcd60e51b815260040161056a906127fe565b6001600160a01b0389166000908152600960205260409020600183019055611067898989611b1a565b505050505050505050565b6005546001600160a01b03166110866113e6565b6001600160a01b03161460405180604001604052806002815260200161323960f01b815250906110c95760405162461bcd60e51b815260040161056a91906126c3565b5060006110d683836114b2565b60408051808201909152600281526106a760f31b6020820152909150816111105760405162461bcd60e51b815260040161056a91906126c3565b5061111c858284611b25565b600654611133906001600160a01b0316858561186d565b60006001600160a01b0316856001600160a01b0316600080516020612b9983398151915285604051611165919061263c565b60405180910390a3836001600160a01b0316856001600160a01b03167f5d624aa9c148153ab3446c1b154f660ee7701e549fe9b62dab7171b1c80e6fa285856040516111b2929190612acb565b60405180910390a35050505050565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b6000610ec96118c3565b60055460408051630b6b5afb60e11b81529051611283926001600160a01b0316916316d6b5f6916004808301926020929190829003018186803b15801561123c57600080fd5b505afa158015611250573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112749190612333565b61127c6113e6565b6008611bae565b60405180604001604052806002815260200161383160f01b815250906112bc5760405162461bcd60e51b815260040161056a91906126c3565b506112c681611bcd565b50565b6005546001600160a01b03166112dd6113e6565b6001600160a01b03161460405180604001604052806002815260200161323960f01b815250906113205760405162461bcd60e51b815260040161056a91906126c3565b50600b80546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03166113576113e6565b6001600160a01b03161460405180604001604052806002815260200161323960f01b8152509061139a5760405162461bcd60e51b815260040161056a91906126c3565b506113a88383836000611689565b816001600160a01b0316836001600160a01b0316600080516020612b99833981519152836040516113d9919061263c565b60405180910390a3505050565b3390565b6001600160a01b0383166114105760405162461bcd60e51b815260040161056a906129cf565b6001600160a01b0382166114365760405162461bcd60e51b815260040161056a90612750565b6001600160a01b038084166000818152600a602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906113d990859061263c565b6001600160a01b031660009081526003602052604090205490565b60045490565b604080518082019091526002815261035360f41b6020820152600090826114ec5760405162461bcd60e51b815260040161056a91906126c3565b5060408051808201909152600280825261068760f31b60208301528304906b033b2e3c9fd0803ce800000082190485111561153a5760405162461bcd60e51b815260040161056a91906126c3565b5082816b033b2e3c9fd0803ce80000008602018161155457fe5b04949350505050565b6001600160a01b0383166115835760405162461bcd60e51b815260040161056a90612a94565b61158f60008484610b02565b60045461159c8184611841565b60048190556001600160a01b0385166000908152600360205260408120549192506115c78286611841565b6001600160a01b038716600090815260036020526040902081905590506115f18683838688611bef565b505050505050565b6000821580611606575081155b15611613575060006104ed565b816b019d971e4fe8401e74000000198161162957fe5b0483111560405180604001604052806002815260200161068760f31b815250906116665760405162461bcd60e51b815260040161056a91906126c3565b50506b033b2e3c9fd0803ce800000091026b019d971e4fe8401e74000000010490565b60065460055460405163d15e005360e01b81526001600160a01b039283169290911690600090829063d15e0053906116c590869060040161251f565b60206040518083038186803b1580156116dd57600080fd5b505afa1580156116f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117159190612483565b90506000611726826109658a611491565b90506000611737836109658a611491565b905061174e89896117488a876114b2565b86611c7e565b85156117bd5760405163d5ed393360e01b81526001600160a01b0385169063d5ed39339061178a9088908d908d908d9089908990600401612533565b600060405180830381600087803b1580156117a457600080fd5b505af11580156117b8573d6000803e3d6000fd5b505050505b876001600160a01b0316896001600160a01b03167f4beccb90f994c31aced7a23b5611020728a23d8ec5cddd1a3e9d97b96fda86668986604051611802929190612acb565b60405180910390a3505050505050505050565b600081848411156118395760405162461bcd60e51b815260040161056a91906126c3565b505050900390565b6000828201838110156118665760405162461bcd60e51b815260040161056a90612792565b9392505050565b610b028363a9059cbb60e01b848460405160240161188c929190612618565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611e8c565b60006118cd611f77565b600101905090565b600080600084116118f85760405162461bcd60e51b815260040161056a90612719565b828411156119185760405162461bcd60e51b815260040161056a9061290b565b6000600d5411801561192b575082600c54105b9150818061193c575061193c611f7c565b806119485750600c5483115b6119645760405162461bcd60e51b815260040161056a90612829565b811561198b5783600d541161198b5760405162461bcd60e51b815260040161056a90612987565b600c5484116119a85781156119a0576001600d555b5060016119ac565b5060005b9250929050565b82516119c6906000906020860190612093565b5081516119da906001906020850190612093565b506002805460ff191660ff929092169190911790555050565b600c54101590565b467f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f611a25611f82565b805160209182012060408051808201825260018152603160f81b9084015251611a7593927fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6918691309101612679565b60408051601f19818403018152919052805160209091012060085550565b8551600580546001600160a01b039283166001600160a01b031991821681179092556040808a015160068054919095169216821790935560208901519251919290917f2bb6ce244a49e83b442fa9c0617811f0929cb9961fd5ce013ebf708dc4d8bf0291611b0a918a908a908a908a908a906125a2565b60405180910390a3505050505050565b610b028383836113ea565b6001600160a01b038316611b4b5760405162461bcd60e51b815260040161056a906128ca565b611b5783600084610b02565b600454611b648184611f8c565b60048190556001600160a01b0385166000908152600360209081526040808320548151606081019092526022808352949550936115c79288929190612b2990830139849190611815565b6000611bc582611bbf868686611fce565b9061204f565b949350505050565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6007546001600160a01b031680611c065750611c77565b806001600160a01b031663de95ce03611c1d612056565b88888888886040518763ffffffff1660e01b8152600401611c439695949392919061256c565b600060405180830381600087803b158015611c5d57600080fd5b505af1158015611c71573d6000803e3d6000fd5b50505050505b5050505050565b6001600160a01b038416611ca45760405162461bcd60e51b815260040161056a90612942565b6001600160a01b038316611cca5760405162461bcd60e51b815260040161056a906126d6565b611cd5848484610b02565b600060036000866001600160a01b03166001600160a01b031681526020019081526020016000205490506000611d2684604051806060016040528060268152602001612b4b60269139849190611815565b6001600160a01b03808816600090815260036020526040808220849055918816815290812054919250611d598287611841565b6001600160a01b038089166000908152600360205260409020829055600754919250168015611067576000611d8c612056565b905060006004549050826001600160a01b031663de95ce03838d8a8a868e6040518763ffffffff1660e01b8152600401611dcb9695949392919061256c565b600060405180830381600087803b158015611de557600080fd5b505af1158015611df9573d6000803e3d6000fd5b50505050896001600160a01b03168b6001600160a01b031614611e7f57826001600160a01b031663de95ce03838c8888868e6040518763ffffffff1660e01b8152600401611e4c9695949392919061256c565b600060405180830381600087803b158015611e6657600080fd5b505af1158015611e7a573d6000803e3d6000fd5b505050505b5050505050505050505050565b611e9e826001600160a01b031661205a565b611eba5760405162461bcd60e51b815260040161056a90612a5d565b60006060836001600160a01b031683604051611ed691906124e8565b6000604051808303816000865af19150503d8060008114611f13576040519150601f19603f3d011682016040523d82523d6000602084013e611f18565b606091505b509150915081611f3a5760405162461bcd60e51b815260040161056a906127c9565b805115611f715780806020019051810190611f559190612313565b611f715760405162461bcd60e51b815260040161056a90612a13565b50505050565b600190565b303b1590565b6060610ec961043e565b600061186683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611815565b60405163cc8b29c160e01b81526000906001600160a01b0385169063cc8b29c190611fff9086908690600401612618565b60206040518083038186803b15801561201757600080fd5b505afa15801561202b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bc59190612483565b9081161490565b3090565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590611bc5575050151592915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106120d457805160ff1916838001178555612101565b82800160010185558215612101579182015b828111156121015782518255916020019190600101906120e6565b5061210d929150612111565b5090565b5b8082111561210d5760008155600101612112565b60008083601f840112612137578182fd5b50813567ffffffffffffffff81111561214e578182fd5b6020830191508360208285010111156119ac57600080fd5b600060208284031215612177578081fd5b813561186681612b13565b60008060408385031215612194578081fd5b823561219f81612b13565b915060208301356121af81612b13565b809150509250929050565b6000806000606084860312156121ce578081fd5b83356121d981612b13565b925060208401356121e981612b13565b929592945050506040919091013590565b6000806000806080858703121561220f578081fd5b843561221a81612b13565b9350602085013561222a81612b13565b93969395505050506040820135916060013590565b600080600080600080600060e0888a031215612259578283fd5b873561226481612b13565b9650602088013561227481612b13565b95506040880135945060608801359350608088013560ff81168114612297578384fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156122c6578182fd5b82356122d181612b13565b946020939093013593505050565b6000806000606084860312156122f3578283fd5b83356122fe81612b13565b95602085013595506040909401359392505050565b600060208284031215612324578081fd5b81518015158114611866578182fd5b600060208284031215612344578081fd5b815161186681612b13565b600080600080600080600080888a0360e081121561236b578283fd5b6060811215612378578283fd5b50889750606089013567ffffffffffffffff80821115612396578384fd5b6123a28c838d01612126565b909950975060808b01359150808211156123ba578384fd5b6123c68c838d01612126565b909750955060a08b0135915060ff821682146123e0578384fd5b90935060c08a013590808211156123f5578384fd5b506124028b828c01612126565b999c989b5096995094979396929594505050565b600060608284031215612427578081fd5b6040516060810181811067ffffffffffffffff82111715612446578283fd5b604052823561245481612b13565b8152602083013561246481612b13565b6020820152604083013561247781612b13565b60408201529392505050565b600060208284031215612494578081fd5b5051919050565b600080604083850312156124ad578182fd5b50508035926020909101359150565b600081518084526124d4816020860160208601612ae7565b601f01601f19169290920160200192915050565b600082516124fa818460208701612ae7565b9190910192915050565b61190160f01b81526002810192909252602282015260420190565b6001600160a01b0391909116815260200190565b6001600160a01b03968716815294861660208601529290941660408401526060830152608082019290925260a081019190915260c00190565b6001600160a01b03968716815294909516602085015260408401929092526060830152608082015260a081019190915260c00190565b6001600160a01b038716815260a0602082018190526000906125c6908301886124bc565b82810360408401526125d881886124bc565b905060ff8616606084015282810360808401528381528385602083013781602085830101526020601f19601f860116820101915050979650505050505050565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b90815260200190565b9586526001600160a01b0394851660208701529290931660408501526060840152608083019190915260a082015260c00190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b93845260ff9290921660208401526040830152606082015260800190565b60006020825261186660208301846124bc565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b6020808252601e908201527f696e636f727265637420696e697469616c697a6572207265766973696f6e0000604082015260600190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252818101527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604082015260600190565b602080825260119082015270494e56414c49445f5349474e415455524560781b604082015260600190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526012908201527124a72b20a624a22fa2ac2824a920aa24a7a760711b604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b6020808252601b908201527f696e636f727265637420636f6e7472616374207265766973696f6e0000000000604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526028908201527f696e636f7272656374206f72646572206f662063616c6c7320746f20696e697460408201526769616c697a65727360c01b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252601f908201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604082015260600190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b918252602082015260400190565b60ff91909116815260200190565b60005b83811015612b02578181015183820152602001612aea565b83811115611f715750506000910152565b6001600160a01b03811681146112c657600080fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f3315949ded18e634bc63c58a7d380267df596e554597ba4ca1ebe953c8e9f6364736f6c634300060c0033";
//# sourceMappingURL=MockDepositTokenFactory.js.map