@augumented-finance/protocol-v1
Version:
Augmented Protocol smart contracts
837 lines • 37.7 kB
JavaScript
"use strict";
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
Object.defineProperty(exports, "__esModule", { value: true });
exports.MockStableDebtTokenFactory = void 0;
const contracts_1 = require("@ethersproject/contracts");
class MockStableDebtTokenFactory 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.MockStableDebtTokenFactory = MockStableDebtTokenFactory;
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: "fromUser",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "toUser",
type: "address",
},
{
indexed: false,
internalType: "address",
name: "asset",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "amount",
type: "uint256",
},
],
name: "BorrowAllowanceDelegated",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "user",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "amount",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "currentBalance",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "balanceIncrease",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "avgStableRate",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "newTotalSupply",
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: "user",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "onBehalfOf",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "amount",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "currentBalance",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "balanceIncrease",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "newRate",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "avgStableRate",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "newTotalSupply",
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: "POOL",
outputs: [
{
internalType: "contract ILendingPool",
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",
},
{
internalType: "address",
name: "",
type: "address",
},
],
name: "allowance",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
name: "approve",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "delegatee",
type: "address",
},
{
internalType: "uint256",
name: "amount",
type: "uint256",
},
],
name: "approveDelegation",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "balanceOf",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "fromUser",
type: "address",
},
{
internalType: "address",
name: "toUser",
type: "address",
},
],
name: "borrowAllowance",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "user",
type: "address",
},
{
internalType: "uint256",
name: "amount",
type: "uint256",
},
],
name: "burn",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "cumulatedInterest",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "decimals",
outputs: [
{
internalType: "uint8",
name: "",
type: "uint8",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
name: "decreaseAllowance",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "getAverageStableRate",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "getIncentivesController",
outputs: [
{
internalType: "contract IBalanceHook",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "getSupplyData",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
{
internalType: "uint256",
name: "",
type: "uint256",
},
{
internalType: "uint256",
name: "",
type: "uint256",
},
{
internalType: "uint40",
name: "",
type: "uint40",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "getTotalSupplyAndAvgRate",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "getTotalSupplyLastUpdated",
outputs: [
{
internalType: "uint40",
name: "",
type: "uint40",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "user",
type: "address",
},
],
name: "getUserLastUpdated",
outputs: [
{
internalType: "uint40",
name: "",
type: "uint40",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "user",
type: "address",
},
],
name: "getUserStableRate",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "uint256",
name: "",
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: "address",
name: "onBehalfOf",
type: "address",
},
{
internalType: "uint256",
name: "amount",
type: "uint256",
},
{
internalType: "uint256",
name: "rate",
type: "uint256",
},
],
name: "mint",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "name",
outputs: [
{
internalType: "string",
name: "",
type: "string",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "user",
type: "address",
},
],
name: "principalBalanceOf",
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: [],
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: "",
type: "address",
},
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
name: "transfer",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
name: "transferFrom",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "nonpayable",
type: "function",
},
];
const _bytecode = "0x608060405260006009556000600a553480156200001b57600080fd5b506040805180820182526009808252682222a12a2fa9aa2aa160b91b602080840182815285518087019096529285528401528151919291600091620000639183919062000097565b5081516200007990600190602085019062000097565b506002805460ff191660ff9290921691909117905550620001339050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000da57805160ff19168380011785556200010a565b828001600101855582156200010a579182015b828111156200010a578251825591602001919060010190620000ed565b50620001189291506200011c565b5090565b5b808211156200011857600081556001016200011d565b61206680620001436000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c806395d89b4111610104578063c04a8a10116100a2578063e655dbd811610071578063e655dbd814610384578063e748489014610397578063e78c9b3b1461039f578063f731e9be146103b2576101cf565b8063c04a8a1014610343578063c634dfaa14610356578063dd62ed3e14610369578063dde43cba1461037c576101cf565b8063a9059cbb116100de578063a9059cbb146101f2578063b16a19de14610315578063b3f1c93d1461031d578063b9c7e26614610330576101cf565b806395d89b41146102fa5780639dc29fac14610302578063a457c2d71461024f576101cf565b806370a0823111610171578063797743381161014b57806379774338146102a557806379ce6b8c146102bd5780638bd3a60d146102dd57806390f6fcf2146102f2576101cf565b806370a08231146102755780637535d2461461028857806375d264131461029d576101cf565b806323b872dd116101ad57806323b872dd14610227578063313ce5671461023a578063395093511461024f5780636bd76d2414610262576101cf565b806306fdde03146101d4578063095ea7b3146101f257806318160ddd14610212575b600080fd5b6101dc6103c8565b6040516101e99190611d9a565b60405180910390f35b610205610200366004611acb565b61045e565b6040516101e99190611d8f565b61021a610476565b6040516101e99190611f50565b610205610235366004611a46565b610488565b6102426104a1565b6040516101e99190611fe6565b61020561025d366004611acb565b6104aa565b61021a610270366004611a0e565b6104b4565b61021a6102833660046119f2565b6104df565b610290610518565b6040516101e99190611c85565b610290610527565b6102ad610536565b6040516101e99493929190611fb2565b6102d06102cb3660046119f2565b61056c565b6040516101e99190611fd4565b6102f06102eb366004611b32565b61058e565b005b61021a610611565b6101dc610617565b6102f0610310366004611acb565b610677565b610290610963565b61020561032b366004611a86565b610972565b61021a61033e3660046119f2565b610c5a565b6102f0610351366004611acb565b610c8f565b61021a6103643660046119f2565b610d22565b61021a610377366004611a0e565b610d2d565b61021a610d35565b6102f06103923660046119f2565b610d3f565b6102d0610e12565b61021a6103ad3660046119f2565b610e1f565b6103ba610e3a565b6040516101e9929190611f59565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104545780601f1061042957610100808354040283529160200191610454565b820191906000526020600020905b81548152906001019060200180831161043757829003601f168201915b5050505050905090565b6000610468610e53565b610470610e6b565b92915050565b6000610483600f54610e6d565b905090565b6000610492610e53565b61049a610e6b565b9392505050565b60025460ff1690565b6000610470610e53565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b6000806104eb83610eb5565b9050806104fc576000915050610513565b61050f61050884610c5a565b8290610ed0565b9150505b919050565b6005546001600160a01b031690565b6007546001600160a01b031690565b6000806000806000600f54905061054b610f60565b61055482610e6d565b601254919790965091945064ffffffffff1692509050565b6001600160a01b031660009081526010602052604090205464ffffffffff1690565b6001600061059a610f66565b90506000806105a98484610f78565b915091506105b8898989611056565b6105c68a8a8a8a8a8a611096565b806105d157600a8490555b6105dc898989611056565b6105ea8a8a8a8a8a8a611096565b806105f55760098490555b816106055760098390556000600a555b50505050505050505050565b600f5490565b60018054604080516020601f600260001961010087891615020190951694909404938401819004810282018101909252828152606093909290918301828280156104545780601f1061042957610100808354040283529160200191610454565b6005546001600160a01b031661068b61111d565b6001600160a01b03161460405180604001604052806002815260200161323960f01b815250906106d75760405162461bcd60e51b81526004016106ce9190611d9a565b60405180910390fd5b506000806106e484611121565b925092505060006106f3610476565b6001600160a01b038616600090815260116020526040812054919250908190868411610728576000600f8190556004556107aa565b610732848861117a565b600481905591506000610750610747866111bc565b600f5490610ed0565b905060006107676107608a6111bc565b8490610ed0565b90508181106107835760006004819055600f81905594506107a7565b61079f61078f856111bc565b610799848461117a565b9061120c565b600f81905594505b50505b858714156107e8576001600160a01b038816600090815260116020908152604080832083905560109091529020805464ffffffffff19169055610816565b6001600160a01b0388166000908152601060205260409020805464ffffffffff19164264ffffffffff161790555b6012805464ffffffffff19164264ffffffffff16179055868511156108a9576000610841868961117a565b905061084e8982856112b7565b886001600160a01b0316896001600160a01b03167fc16f4e4ca34d790de4c656c72fd015c667d688f20be64eea360618545c4c530f838a8a878a8a60405161089b96959493929190611f8a565b60405180910390a35061090d565b60006108b5888761117a565b90506108c289828561130b565b886001600160a01b03167f44bd20a79e993bdcc7cbedf54a3b4d19fb78490124b6b90d04fe3242eea579e88289898888604051610903959493929190611f67565b60405180910390a2505b60006001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef896040516109519190611f50565b60405180910390a35050505050505050565b6006546001600160a01b031690565b6005546000906001600160a01b031661098961111d565b6001600160a01b03161460405180604001604052806002815260200161323960f01b815250906109cc5760405162461bcd60e51b81526004016106ce9190611d9a565b506109d5611876565b846001600160a01b0316866001600160a01b0316146109f9576109f9858786611350565b600080610a0587611121565b9250925050610a12610476565b808452600f546080850152610a27908761140e565b60048190556020840152610a3a866111bc565b6040840152610a98610a54610a4f848961140e565b6111bc565b604085015161079990610a679089610ed0565b610a92610a73876111bc565b6001600160a01b038d1660009081526011602052604090205490610ed0565b9061140e565b60608401819052604080518082019091526002815261373960f01b6020820152906fffffffffffffffffffffffffffffffff1015610ae95760405162461bcd60e51b81526004016106ce9190611d9a565b5060608301516001600160a01b03881660009081526011602090815260408083209390935560108152919020805464ffffffffff421664ffffffffff199182168117909255601280549091169091179055830151610b7f90610b4a906111bc565b610799610b64866040015189610ed090919063ffffffff16565b610a92610b7488600001516111bc565b608089015190610ed0565b600f8190556080840152610ba187610b97888461140e565b85602001516112b7565b866001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef88604051610be59190611f50565b60405180910390a3866001600160a01b0316886001600160a01b03167fc16f4e4ca34d790de4c656c72fd015c667d688f20be64eea360618545c4c530f888585886060015189608001518a60200151604051610c4696959493929190611f8a565b60405180910390a350159695505050505050565b6001600160a01b0381166000908152601160209081526040808320546010909252822054610470919064ffffffffff16611433565b8060086000610c9c61111d565b6001600160a01b0390811682526020808301939093526040918201600090812091871680825291909352912091909155610cd461111d565b6006546040516001600160a01b03928316927fda919360433220e13b51e8c211e490d148e61a3bd53de8c097194e458b97f3e192610d16929116908690611d76565b60405180910390a35050565b600061047082610eb5565b600092915050565b6000610483610f66565b60055460408051630b6b5afb60e11b81529051610dcc926001600160a01b0316916316d6b5f6916004808301926020929190829003018186803b158015610d8557600080fd5b505afa158015610d99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbd9190611b16565b610dc561111d565b6008611440565b60405180604001604052806002815260200161383160f01b81525090610e055760405162461bcd60e51b81526004016106ce9190611d9a565b50610e0f81611457565b50565b60125464ffffffffff1690565b6001600160a01b031660009081526011602052604090205490565b600f546000908190610e4b81610e6d565b925090509091565b60405162461bcd60e51b81526004016106ce90611f29565b565b600080610e78610f60565b905080610e89576000915050610513565b601254600090610ea190859064ffffffffff16611433565b9050610ead8282610ed0565b949350505050565b6001600160a01b031660009081526003602052604090205490565b6000821580610edd575081155b15610eea57506000610470565b816b019d971e4fe8401e740000001981610f0057fe5b0483111560405180604001604052806002815260200161068760f31b81525090610f3d5760405162461bcd60e51b81526004016106ce9190611d9a565b50506b033b2e3c9fd0803ce800000091026b019d971e4fe8401e74000000010490565b60045490565b6000610f70611507565b600101905090565b60008060008411610f9b5760405162461bcd60e51b81526004016106ce90611dad565b82841115610fbb5760405162461bcd60e51b81526004016106ce90611eaa565b6000600a54118015610fce575082600954105b91508180610fdf5750610fdf61150c565b80610feb575060095483115b6110075760405162461bcd60e51b81526004016106ce90611e5c565b811561102e5783600a541161102e5760405162461bcd60e51b81526004016106ce90611ee1565b600954841161104b578115611043576001600a555b50600161104f565b5060005b9250929050565b82516110699060009060208601906118a5565b50815161107d9060019060208501906118a5565b506002805460ff191660ff929092169190911790555050565b8551600580546001600160a01b039283166001600160a01b031991821681179092556040808a015160068054919095169216821790935560208901519251919290917f2bb6ce244a49e83b442fa9c0617811f0929cb9961fd5ce013ebf708dc4d8bf029161110d918a908a908a908a908a90611d00565b60405180910390a3505050505050565b3390565b60008060008061113085610eb5565b90508061114857600080600093509350935050611173565b600061115d82611157886104df565b9061117a565b90508161116a818361140e565b90955093509150505b9193909250565b600061049a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611512565b6000633b9aca0082810290839082041460405180604001604052806002815260200161068760f31b815250906112055760405162461bcd60e51b81526004016106ce9190611d9a565b5092915050565b604080518082019091526002815261035360f41b6020820152600090826112465760405162461bcd60e51b81526004016106ce9190611d9a565b5060408051808201909152600280825261068760f31b60208301528304906b033b2e3c9fd0803ce80000008219048511156112945760405162461bcd60e51b81526004016106ce9190611d9a565b5082816b033b2e3c9fd0803ce8000000860201816112ae57fe5b04949350505050565b6001600160a01b038316600090815260036020526040812054906112db828561140e565b6001600160a01b038616600090815260036020526040902081905590506113048583838661153e565b5050505050565b6001600160a01b03831660009081526003602090815260408083205481518083019092526002825261038360f41b928201929092529091906112db9083908690611512565b6040805180820182526002815261353960f01b6020808301919091526001600160a01b038087166000908152600883528481209187168152915291822054611399918490611512565b6001600160a01b03808616600081815260086020908152604080832089861680855292529182902085905560065491519495509391927fda919360433220e13b51e8c211e490d148e61a3bd53de8c097194e458b97f3e19261140092909116908690611d76565b60405180910390a350505050565b60008282018381101561049a5760405162461bcd60e51b81526004016106ce90611de4565b600061049a83834261159b565b6000610ead82611451868686611671565b906116f2565b611460816116f9565b6001600160a01b038116158015906114e45750806001600160a01b031663a649d3216040518163ffffffff1660e01b815260040160206040518083038186803b1580156114ac57600080fd5b505afa1580156114c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e49190611af6565b60128054911515650100000000000265ff00000000001990921691909117905550565b600190565b303b1590565b600081848411156115365760405162461bcd60e51b81526004016106ce9190611d9a565b505050900390565b60125465010000000000900460ff1661155d5761155d8484848461171b565b6000611567610527565b6001600160a01b0316141561157b57611595565b600061158685610c5a565b905061130485858585856117a6565b50505050565b6000806115af8364ffffffffff861661117a565b9050806115c6576115be611828565b91505061049a565b60001981016000600283116115dc5760006115e1565b600283035b90506301e13380870460006115f68280610ed0565b905060006116048284610ed0565b90506000600261161e846116188a8a611838565b90611838565b8161162557fe5b0490506000600661163c8461161889818d8d611838565b8161164357fe5b04905061166181610a9284816116598a8e611838565b610a92611828565b9c9b505050505050505050505050565b60405163cc8b29c160e01b81526000906001600160a01b0385169063cc8b29c1906116a29086908690600401611d76565b60206040518083038186803b1580156116ba57600080fd5b505afa1580156116ce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ead9190611c22565b9081161490565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6007546001600160a01b0316806117325750611595565b806001600160a01b03166395a05254611749611872565b878787876040518663ffffffff1660e01b815260040161176d959493929190611c99565b600060405180830381600087803b15801561178757600080fd5b505af115801561179b573d6000803e3d6000fd5b505050505050505050565b6007546001600160a01b0316806117bd5750611304565b806001600160a01b031663de95ce036117d4611872565b88888888886040518763ffffffff1660e01b81526004016117fa96959493929190611cca565b600060405180830381600087803b15801561181457600080fd5b505af1158015610605573d6000803e3d6000fd5b6b033b2e3c9fd0803ce800000090565b60008261184757506000610470565b8282028284828161185457fe5b041461049a5760405162461bcd60e51b81526004016106ce90611e1b565b3090565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106118e657805160ff1916838001178555611913565b82800160010185558215611913579182015b828111156119135782518255916020019190600101906118f8565b5061191f929150611923565b5090565b5b8082111561191f5760008155600101611924565b60008083601f840112611949578182fd5b50813567ffffffffffffffff811115611960578182fd5b60208301915083602082850101111561104f57600080fd5b600082601f830112611988578081fd5b813567ffffffffffffffff81111561199e578182fd5b6119b1601f8201601f1916602001611ff4565b91508082528360208285010111156119c857600080fd5b8060208401602084013760009082016020015292915050565b803560ff8116811461047057600080fd5b600060208284031215611a03578081fd5b813561049a8161201b565b60008060408385031215611a20578081fd5b8235611a2b8161201b565b91506020830135611a3b8161201b565b809150509250929050565b600080600060608486031215611a5a578081fd5b8335611a658161201b565b92506020840135611a758161201b565b929592945050506040919091013590565b60008060008060808587031215611a9b578081fd5b8435611aa68161201b565b93506020850135611ab68161201b565b93969395505050506040820135916060013590565b60008060408385031215611add578182fd5b8235611ae88161201b565b946020939093013593505050565b600060208284031215611b07578081fd5b8151801515811461049a578182fd5b600060208284031215611b27578081fd5b815161049a8161201b565b60008060008060008086880360e0811215611b4b578283fd5b6060811215611b58578283fd5b50611b636060611ff4565b8735611b6e8161201b565b81526020880135611b7e8161201b565b60208201526040880135611b918161201b565b60408201529550606087013567ffffffffffffffff80821115611bb2578384fd5b611bbe8a838b01611978565b96506080890135915080821115611bd3578384fd5b611bdf8a838b01611978565b9550611bee8a60a08b016119e1565b945060c0890135915080821115611c03578384fd5b50611c1089828a01611938565b979a9699509497509295939492505050565b600060208284031215611c33578081fd5b5051919050565b60008151808452815b81811015611c5f57602081850181015186830182015201611c43565b81811115611c705782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03958616815293909416602084015260408301919091526060820152608081019190915260a00190565b6001600160a01b03968716815294909516602085015260408401929092526060830152608082015260a081019190915260c00190565b6001600160a01b038716815260a060208201819052600090611d2490830188611c3a565b8281036040840152611d368188611c3a565b905060ff8616606084015282810360808401528381528385602083013781602085830101526020601f19601f860116820101915050979650505050505050565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b60006020825261049a6020830184611c3a565b6020808252601e908201527f696e636f727265637420696e697469616c697a6572207265766973696f6e0000604082015260600190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252601b908201527f696e636f727265637420636f6e7472616374207265766973696f6e0000000000604082015260600190565b60208082526028908201527f696e636f7272656374206f72646572206f662063616c6c7320746f20696e697460408201526769616c697a65727360c01b606082015260800190565b6020808252600d908201526c1393d517d4d5541413d4951151609a1b604082015260600190565b90815260200190565b918252602082015260400190565b948552602085019390935260408401919091526060830152608082015260a00190565b958652602086019490945260408501929092526060840152608083015260a082015260c00190565b9384526020840192909252604083015264ffffffffff16606082015260800190565b64ffffffffff91909116815260200190565b60ff91909116815260200190565b60405181810167ffffffffffffffff8111828210171561201357600080fd5b604052919050565b6001600160a01b0381168114610e0f57600080fdfea264697066735822122031ba9f4042415d937a27ecee4e24d4537f62817b3de2d86ea43bc34c3697fc9f64736f6c634300060c0033";
//# sourceMappingURL=MockStableDebtTokenFactory.js.map