UNPKG

@augumented-finance/protocol-v1

Version:

Augmented Protocol smart contracts

708 lines 30.9 kB
"use strict"; /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ Object.defineProperty(exports, "__esModule", { value: true }); exports.MockVariableDebtTokenFactory = void 0; const contracts_1 = require("@ethersproject/contracts"); class MockVariableDebtTokenFactory 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.MockVariableDebtTokenFactory = MockVariableDebtTokenFactory; 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: "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: true, internalType: "address", name: "onBehalfOf", 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: "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: "user", 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", }, { 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: "", type: "address", }, { internalType: "uint256", name: "", 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: "", 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: "index", 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: "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: [], 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 = "0x608060405260006009556000600a553480156200001b57600080fd5b506040805180820182526009808252682222a12a2fa9aa2aa160b91b602080840182815285518087019096529285528401528151919291600091620000639183919062000097565b5081516200007990600190602085019062000097565b506002805460ff191660ff9290921691909117905550620001339050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000da57805160ff19168380011785556200010a565b828001600101855582156200010a579182015b828111156200010a578251825591602001919060010190620000ed565b50620001189291506200011c565b5090565b5b808211156200011857600081556001016200011d565b61195c80620001436000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c80638bd3a60d116100c3578063b3f1c93d1161007c578063b3f1c93d1461028f578063c04a8a10146102a2578063dd62ed3e146102b5578063dde43cba146102c8578063e655dbd8146102d0578063f5298aca146102e357610158565b80638bd3a60d1461026257806395d89b4114610277578063a457c2d71461020c578063a9059cbb1461017b578063b16a19de1461027f578063b1bf962d1461028757610158565b8063313ce56711610115578063313ce567146101f7578063395093511461020c5780636bd76d241461021f57806370a08231146102325780637535d2461461024557806375d264131461025a57610158565b806306fdde031461015d578063095ea7b31461017b5780630afbcdc91461019b57806318160ddd146101bc5780631da24f3e146101d157806323b872dd146101e4575b600080fd5b6101656102f6565b60405161017291906116b6565b60405180910390f35b61018e610189366004611404565b61038c565b60405161017291906116ab565b6101ae6101a936600461132b565b6103a4565b6040516101729291906118ac565b6101c46103c1565b60405161017291906118a3565b6101c46101df36600461132b565b61045e565b61018e6101f236600461137f565b610471565b6101ff61048a565b60405161017291906118ba565b61018e61021a366004611404565b610493565b6101c461022d366004611347565b61049d565b6101c461024036600461132b565b6104c8565b61024d610575565b60405161017291906115d2565b61024d610584565b61027561027036600461147f565b610593565b005b610165610616565b61024d610676565b6101c4610685565b61018e61029d3660046113bf565b61068f565b6102756102b0366004611404565b61081a565b6101c46102c3366004611347565b6108ad565b6101c46108b5565b6102756102de36600461132b565b6108bf565b6102756102f136600461142f565b610992565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103825780601f1061035757610100808354040283529160200191610382565b820191906000526020600020905b81548152906001019060200180831161036557829003601f168201915b5050505050905090565b6000610396610ad1565b61039e610ae9565b92915050565b6000806103b083610aeb565b6103b8610b06565b91509150915091565b60055460065460405163386497fd60e01b8152600092610459926001600160a01b039182169263386497fd926103fb9216906004016115d2565b60206040518083038186803b15801561041357600080fd5b505afa158015610427573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044b919061156f565b610453610b06565b90610b0c565b905090565b600061046982610aeb565b90505b919050565b600061047b610ad1565b610483610ae9565b9392505050565b60025460ff1690565b600061039e610ad1565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b6000806104d483610aeb565b9050806104e557600091505061046c565b60055460065460405163386497fd60e01b8152610483926001600160a01b039081169263386497fd9261051e92909116906004016115d2565b60206040518083038186803b15801561053657600080fd5b505afa15801561054a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056e919061156f565b8290610b0c565b6005546001600160a01b031690565b6007546001600160a01b031690565b6001600061059f610b9c565b90506000806105ae8484610bae565b915091506105bd898989610c8c565b6105cb8a8a8a8a8a8a610ccc565b806105d657600a8490555b6105e1898989610c8c565b6105ef8a8a8a8a8a8a610ccc565b806105fa5760098490555b8161060a5760098390556000600a555b50505050505050505050565b60018054604080516020601f600260001961010087891615020190951694909404938401819004810282018101909252828152606093909290918301828280156103825780601f1061035757610100808354040283529160200191610382565b6006546001600160a01b031690565b6000610459610b06565b6005546000906001600160a01b03166106a6610d53565b6001600160a01b03161460405180604001604052806002815260200161323960f01b815250906106f25760405162461bcd60e51b81526004016106e991906116b6565b60405180910390fd5b50836001600160a01b0316856001600160a01b03161461071757610717848685610d57565b600061072285610aeb565b905060006107308585610e15565b6040805180820190915260028152611a9b60f11b60208201529091508161076a5760405162461bcd60e51b81526004016106e991906116b6565b50610776868286610ec0565b856001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040516107ba91906118a3565b60405180910390a3856001600160a01b0316876001600160a01b03167f2f00e3cdd69a77be7ed215ec7b2a36784dd158f921fca79ac29deffa353fe6ee87876040516108079291906118ac565b60405180910390a3501595945050505050565b8060086000610827610d53565b6001600160a01b039081168252602080830193909352604091820160009081209187168082529190935291209190915561085f610d53565b6006546040516001600160a01b03928316927fda919360433220e13b51e8c211e490d148e61a3bd53de8c097194e458b97f3e1926108a1929116908690611692565b60405180910390a35050565b600092915050565b6000610459610b9c565b60055460408051630b6b5afb60e11b8152905161094c926001600160a01b0316916316d6b5f6916004808301926020929190829003018186803b15801561090557600080fd5b505afa158015610919573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093d9190611463565b610945610d53565b6008610f5c565b60405180604001604052806002815260200161383160f01b815250906109855760405162461bcd60e51b81526004016106e991906116b6565b5061098f81610f7b565b50565b6005546001600160a01b03166109a6610d53565b6001600160a01b03161460405180604001604052806002815260200161323960f01b815250906109e95760405162461bcd60e51b81526004016106e991906116b6565b5060006109f68383610e15565b60408051808201909152600281526106a760f31b602082015290915081610a305760405162461bcd60e51b81526004016106e991906116b6565b50610a3c848284610f9d565b60006001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610a8091906118a3565b60405180910390a3836001600160a01b03167f49995e5dd6158cf69ad3e9777c46755a1a826a446c6416992167462dad033b2a8484604051610ac39291906118ac565b60405180910390a250505050565b60405162461bcd60e51b81526004016106e990611845565b565b6001600160a01b031660009081526003602052604090205490565b60045490565b6000821580610b19575081155b15610b265750600061039e565b816b019d971e4fe8401e740000001981610b3c57fe5b0483111560405180604001604052806002815260200161068760f31b81525090610b795760405162461bcd60e51b81526004016106e991906116b6565b50506b033b2e3c9fd0803ce800000091026b019d971e4fe8401e74000000010490565b6000610ba6611026565b600101905090565b60008060008411610bd15760405162461bcd60e51b81526004016106e9906116c9565b82841115610bf15760405162461bcd60e51b81526004016106e9906117c6565b6000600a54118015610c04575082600954105b91508180610c155750610c1561102b565b80610c21575060095483115b610c3d5760405162461bcd60e51b81526004016106e990611737565b8115610c645783600a5411610c645760405162461bcd60e51b81526004016106e9906117fd565b6009548411610c81578115610c79576001600a555b506001610c85565b5060005b9250929050565b8251610c9f9060009060208601906111de565b508151610cb39060019060208501906111de565b506002805460ff191660ff929092169190911790555050565b8551600580546001600160a01b039283166001600160a01b031991821681179092556040808a015160068054919095169216821790935560208901519251919290917f2bb6ce244a49e83b442fa9c0617811f0929cb9961fd5ce013ebf708dc4d8bf0291610d43918a908a908a908a908a9061161c565b60405180910390a3505050505050565b3390565b6040805180820182526002815261353960f01b6020808301919091526001600160a01b038087166000908152600883528481209187168152915291822054610da0918490611031565b6001600160a01b03808616600081815260086020908152604080832089861680855292529182902085905560065491519495509391927fda919360433220e13b51e8c211e490d148e61a3bd53de8c097194e458b97f3e192610e0792909116908690611692565b60405180910390a350505050565b604080518082019091526002815261035360f41b602082015260009082610e4f5760405162461bcd60e51b81526004016106e991906116b6565b5060408051808201909152600280825261068760f31b60208301528304906b033b2e3c9fd0803ce8000000821904851115610e9d5760405162461bcd60e51b81526004016106e991906116b6565b5082816b033b2e3c9fd0803ce800000086020181610eb757fe5b04949350505050565b6001600160a01b038316610ee65760405162461bcd60e51b81526004016106e99061186c565b610ef26000848461105d565b600454610eff8184611062565b60048190556001600160a01b038516600090815260036020526040812054919250610f2a8286611062565b6001600160a01b03871660009081526003602052604090208190559050610f548683838688611087565b505050505050565b6000610f7382610f6d868686611110565b90611191565b949350505050565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610fc35760405162461bcd60e51b81526004016106e990611785565b610fcf8360008461105d565b600454610fdc8184611198565b60048190556001600160a01b038516600090815260036020908152604080832054815160608101909252602280835294955093610f2a928892919061190590830139849190611031565b600190565b303b1590565b600081848411156110555760405162461bcd60e51b81526004016106e991906116b6565b505050900390565b505050565b6000828201838110156104835760405162461bcd60e51b81526004016106e990611700565b6007546001600160a01b03168061109e5750611109565b806001600160a01b031663de95ce036110b56111da565b88888888886040518763ffffffff1660e01b81526004016110db969594939291906115e6565b600060405180830381600087803b1580156110f557600080fd5b505af115801561060a573d6000803e3d6000fd5b5050505050565b60405163cc8b29c160e01b81526000906001600160a01b0385169063cc8b29c1906111419086908690600401611692565b60206040518083038186803b15801561115957600080fd5b505afa15801561116d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f73919061156f565b9081161490565b600061048383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611031565b3090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061121f57805160ff191683800117855561124c565b8280016001018555821561124c579182015b8281111561124c578251825591602001919060010190611231565b5061125892915061125c565b5090565b5b80821115611258576000815560010161125d565b60008083601f840112611282578182fd5b50813567ffffffffffffffff811115611299578182fd5b602083019150836020828501011115610c8557600080fd5b600082601f8301126112c1578081fd5b813567ffffffffffffffff8111156112d7578182fd5b6112ea601f8201601f19166020016118c8565b915080825283602082850101111561130157600080fd5b8060208401602084013760009082016020015292915050565b803560ff8116811461039e57600080fd5b60006020828403121561133c578081fd5b8135610483816118ef565b60008060408385031215611359578081fd5b8235611364816118ef565b91506020830135611374816118ef565b809150509250929050565b600080600060608486031215611393578081fd5b833561139e816118ef565b925060208401356113ae816118ef565b929592945050506040919091013590565b600080600080608085870312156113d4578081fd5b84356113df816118ef565b935060208501356113ef816118ef565b93969395505050506040820135916060013590565b60008060408385031215611416578182fd5b8235611421816118ef565b946020939093013593505050565b600080600060608486031215611443578283fd5b833561144e816118ef565b95602085013595506040909401359392505050565b600060208284031215611474578081fd5b8151610483816118ef565b60008060008060008086880360e0811215611498578283fd5b60608112156114a5578283fd5b506114b060606118c8565b87356114bb816118ef565b815260208801356114cb816118ef565b602082015260408801356114de816118ef565b60408201529550606087013567ffffffffffffffff808211156114ff578384fd5b61150b8a838b016112b1565b96506080890135915080821115611520578384fd5b61152c8a838b016112b1565b955061153b8a60a08b0161131a565b945060c0890135915080821115611550578384fd5b5061155d89828a01611271565b979a9699509497509295939492505050565b600060208284031215611580578081fd5b5051919050565b60008151808452815b818110156115ac57602081850181015186830182015201611590565b818111156115bd5782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03968716815294909516602085015260408401929092526060830152608082015260a081019190915260c00190565b6001600160a01b038716815260a06020820181905260009061164090830188611587565b82810360408401526116528188611587565b905060ff8616606084015282810360808401528381528385602083013781602085830101526020601f19601f860116820101915050979650505050505050565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b6000602082526104836020830184611587565b6020808252601e908201527f696e636f727265637420696e697469616c697a6572207265766973696f6e0000604082015260600190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b6020808252601b908201527f696e636f727265637420636f6e7472616374207265766973696f6e0000000000604082015260600190565b60208082526028908201527f696e636f7272656374206f72646572206f662063616c6c7320746f20696e697460408201526769616c697a65727360c01b606082015260800190565b6020808252600d908201526c1393d517d4d5541413d4951151609a1b604082015260600190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b918252602082015260400190565b60ff91909116815260200190565b60405181810167ffffffffffffffff811182821017156118e757600080fd5b604052919050565b6001600160a01b038116811461098f57600080fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365a2646970667358221220f0b3a7a7aea0037759a124993184d0d9c69eac46580a6d778fbc477f0ee2784064736f6c634300060c0033"; //# sourceMappingURL=MockVariableDebtTokenFactory.js.map