UNPKG

@augumented-finance/protocol-v1

Version:

Augmented Protocol smart contracts

708 lines 30.8 kB
"use strict"; /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ Object.defineProperty(exports, "__esModule", { value: true }); exports.VariableDebtTokenFactory = void 0; const contracts_1 = require("@ethersproject/contracts"); class VariableDebtTokenFactory 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.VariableDebtTokenFactory = VariableDebtTokenFactory; 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 = "0x608060405260006009556000600a553480156200001b57600080fd5b506040805180820182526009808252682222a12a2fa9aa2aa160b91b602080840182815285518087019096529285528401528151919291600091620000639183919062000097565b5081516200007990600190602085019062000097565b506002805460ff191660ff9290921691909117905550620001339050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000da57805160ff19168380011785556200010a565b828001600101855582156200010a579182015b828111156200010a578251825591602001919060010190620000ed565b50620001189291506200011c565b5090565b5b808211156200011857600081556001016200011d565b61194a80620001436000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c80638bd3a60d116100c3578063b3f1c93d1161007c578063b3f1c93d1461028f578063c04a8a10146102a2578063dd62ed3e146102b5578063dde43cba146102c8578063e655dbd8146102d0578063f5298aca146102e357610158565b80638bd3a60d1461026257806395d89b4114610277578063a457c2d71461020c578063a9059cbb1461017b578063b16a19de1461027f578063b1bf962d1461028757610158565b8063313ce56711610115578063313ce567146101f7578063395093511461020c5780636bd76d241461021f57806370a08231146102325780637535d2461461024557806375d264131461025a57610158565b806306fdde031461015d578063095ea7b31461017b5780630afbcdc91461019b57806318160ddd146101bc5780631da24f3e146101d157806323b872dd146101e4575b600080fd5b6101656102f6565b60405161017291906116a4565b60405180910390f35b61018e6101893660046113f2565b61038c565b6040516101729190611699565b6101ae6101a9366004611319565b6103a4565b60405161017292919061189a565b6101c46103c1565b6040516101729190611891565b6101c46101df366004611319565b61045e565b61018e6101f236600461136d565b610471565b6101ff61048a565b60405161017291906118a8565b61018e61021a3660046113f2565b610493565b6101c461022d366004611335565b61049d565b6101c4610240366004611319565b6104c8565b61024d610575565b60405161017291906115c0565b61024d610584565b61027561027036600461146d565b610593565b005b610165610616565b61024d610676565b6101c4610685565b61018e61029d3660046113ad565b61068f565b6102756102b03660046113f2565b61081a565b6101c46102c3366004611335565b6108ad565b6101c46108b5565b6102756102de366004611319565b6108bf565b6102756102f136600461141d565b610992565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103825780601f1061035757610100808354040283529160200191610382565b820191906000526020600020905b81548152906001019060200180831161036557829003601f168201915b5050505050905090565b6000610396610ad1565b61039e610ae9565b92915050565b6000806103b083610aeb565b6103b8610b06565b91509150915091565b60055460065460405163386497fd60e01b8152600092610459926001600160a01b039182169263386497fd926103fb9216906004016115c0565b60206040518083038186803b15801561041357600080fd5b505afa158015610427573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044b919061155d565b610453610b06565b90610b0c565b905090565b600061046982610aeb565b90505b919050565b600061047b610ad1565b610483610ae9565b9392505050565b60025460ff1690565b600061039e610ad1565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b6000806104d483610aeb565b9050806104e557600091505061046c565b60055460065460405163386497fd60e01b8152610483926001600160a01b039081169263386497fd9261051e92909116906004016115c0565b60206040518083038186803b15801561053657600080fd5b505afa15801561054a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056e919061155d565b8290610b0c565b6005546001600160a01b031690565b6007546001600160a01b031690565b6001600061059f610b9c565b90506000806105ae8484610ba1565b915091506105bd898989610c7f565b6105cb8a8a8a8a8a8a610cbf565b806105d657600a8490555b6105e1898989610c7f565b6105ef8a8a8a8a8a8a610cbf565b806105fa5760098490555b8161060a5760098390556000600a555b50505050505050505050565b60018054604080516020601f600260001961010087891615020190951694909404938401819004810282018101909252828152606093909290918301828280156103825780601f1061035757610100808354040283529160200191610382565b6006546001600160a01b031690565b6000610459610b06565b6005546000906001600160a01b03166106a6610d46565b6001600160a01b03161460405180604001604052806002815260200161323960f01b815250906106f25760405162461bcd60e51b81526004016106e991906116a4565b60405180910390fd5b50836001600160a01b0316856001600160a01b03161461071757610717848685610d4a565b600061072285610aeb565b905060006107308585610e08565b6040805180820190915260028152611a9b60f11b60208201529091508161076a5760405162461bcd60e51b81526004016106e991906116a4565b50610776868286610eb3565b856001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040516107ba9190611891565b60405180910390a3856001600160a01b0316876001600160a01b03167f2f00e3cdd69a77be7ed215ec7b2a36784dd158f921fca79ac29deffa353fe6ee878760405161080792919061189a565b60405180910390a3501595945050505050565b8060086000610827610d46565b6001600160a01b039081168252602080830193909352604091820160009081209187168082529190935291209190915561085f610d46565b6006546040516001600160a01b03928316927fda919360433220e13b51e8c211e490d148e61a3bd53de8c097194e458b97f3e1926108a1929116908690611680565b60405180910390a35050565b600092915050565b6000610459610b9c565b60055460408051630b6b5afb60e11b8152905161094c926001600160a01b0316916316d6b5f6916004808301926020929190829003018186803b15801561090557600080fd5b505afa158015610919573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093d9190611451565b610945610d46565b6008610f4f565b60405180604001604052806002815260200161383160f01b815250906109855760405162461bcd60e51b81526004016106e991906116a4565b5061098f81610f6e565b50565b6005546001600160a01b03166109a6610d46565b6001600160a01b03161460405180604001604052806002815260200161323960f01b815250906109e95760405162461bcd60e51b81526004016106e991906116a4565b5060006109f68383610e08565b60408051808201909152600281526106a760f31b602082015290915081610a305760405162461bcd60e51b81526004016106e991906116a4565b50610a3c848284610f90565b60006001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610a809190611891565b60405180910390a3836001600160a01b03167f49995e5dd6158cf69ad3e9777c46755a1a826a446c6416992167462dad033b2a8484604051610ac392919061189a565b60405180910390a250505050565b60405162461bcd60e51b81526004016106e990611833565b565b6001600160a01b031660009081526003602052604090205490565b60045490565b6000821580610b19575081155b15610b265750600061039e565b816b019d971e4fe8401e740000001981610b3c57fe5b0483111560405180604001604052806002815260200161068760f31b81525090610b795760405162461bcd60e51b81526004016106e991906116a4565b50506b033b2e3c9fd0803ce800000091026b019d971e4fe8401e74000000010490565b600190565b60008060008411610bc45760405162461bcd60e51b81526004016106e9906116b7565b82841115610be45760405162461bcd60e51b81526004016106e9906117b4565b6000600a54118015610bf7575082600954105b91508180610c085750610c08611019565b80610c14575060095483115b610c305760405162461bcd60e51b81526004016106e990611725565b8115610c575783600a5411610c575760405162461bcd60e51b81526004016106e9906117eb565b6009548411610c74578115610c6c576001600a555b506001610c78565b5060005b9250929050565b8251610c929060009060208601906111cc565b508151610ca69060019060208501906111cc565b506002805460ff191660ff929092169190911790555050565b8551600580546001600160a01b039283166001600160a01b031991821681179092556040808a015160068054919095169216821790935560208901519251919290917f2bb6ce244a49e83b442fa9c0617811f0929cb9961fd5ce013ebf708dc4d8bf0291610d36918a908a908a908a908a9061160a565b60405180910390a3505050505050565b3390565b6040805180820182526002815261353960f01b6020808301919091526001600160a01b038087166000908152600883528481209187168152915291822054610d9391849061101f565b6001600160a01b03808616600081815260086020908152604080832089861680855292529182902085905560065491519495509391927fda919360433220e13b51e8c211e490d148e61a3bd53de8c097194e458b97f3e192610dfa92909116908690611680565b60405180910390a350505050565b604080518082019091526002815261035360f41b602082015260009082610e425760405162461bcd60e51b81526004016106e991906116a4565b5060408051808201909152600280825261068760f31b60208301528304906b033b2e3c9fd0803ce8000000821904851115610e905760405162461bcd60e51b81526004016106e991906116a4565b5082816b033b2e3c9fd0803ce800000086020181610eaa57fe5b04949350505050565b6001600160a01b038316610ed95760405162461bcd60e51b81526004016106e99061185a565b610ee56000848461104b565b600454610ef28184611050565b60048190556001600160a01b038516600090815260036020526040812054919250610f1d8286611050565b6001600160a01b03871660009081526003602052604090208190559050610f478683838688611075565b505050505050565b6000610f6682610f608686866110fe565b9061117f565b949350505050565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610fb65760405162461bcd60e51b81526004016106e990611773565b610fc28360008461104b565b600454610fcf8184611186565b60048190556001600160a01b038516600090815260036020908152604080832054815160608101909252602280835294955093610f1d92889291906118f39083013984919061101f565b303b1590565b600081848411156110435760405162461bcd60e51b81526004016106e991906116a4565b505050900390565b505050565b6000828201838110156104835760405162461bcd60e51b81526004016106e9906116ee565b6007546001600160a01b03168061108c57506110f7565b806001600160a01b031663de95ce036110a36111c8565b88888888886040518763ffffffff1660e01b81526004016110c9969594939291906115d4565b600060405180830381600087803b1580156110e357600080fd5b505af115801561060a573d6000803e3d6000fd5b5050505050565b60405163cc8b29c160e01b81526000906001600160a01b0385169063cc8b29c19061112f9086908690600401611680565b60206040518083038186803b15801561114757600080fd5b505afa15801561115b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f66919061155d565b9081161490565b600061048383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061101f565b3090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061120d57805160ff191683800117855561123a565b8280016001018555821561123a579182015b8281111561123a57825182559160200191906001019061121f565b5061124692915061124a565b5090565b5b80821115611246576000815560010161124b565b60008083601f840112611270578182fd5b50813567ffffffffffffffff811115611287578182fd5b602083019150836020828501011115610c7857600080fd5b600082601f8301126112af578081fd5b813567ffffffffffffffff8111156112c5578182fd5b6112d8601f8201601f19166020016118b6565b91508082528360208285010111156112ef57600080fd5b8060208401602084013760009082016020015292915050565b803560ff8116811461039e57600080fd5b60006020828403121561132a578081fd5b8135610483816118dd565b60008060408385031215611347578081fd5b8235611352816118dd565b91506020830135611362816118dd565b809150509250929050565b600080600060608486031215611381578081fd5b833561138c816118dd565b9250602084013561139c816118dd565b929592945050506040919091013590565b600080600080608085870312156113c2578081fd5b84356113cd816118dd565b935060208501356113dd816118dd565b93969395505050506040820135916060013590565b60008060408385031215611404578182fd5b823561140f816118dd565b946020939093013593505050565b600080600060608486031215611431578283fd5b833561143c816118dd565b95602085013595506040909401359392505050565b600060208284031215611462578081fd5b8151610483816118dd565b60008060008060008086880360e0811215611486578283fd5b6060811215611493578283fd5b5061149e60606118b6565b87356114a9816118dd565b815260208801356114b9816118dd565b602082015260408801356114cc816118dd565b60408201529550606087013567ffffffffffffffff808211156114ed578384fd5b6114f98a838b0161129f565b9650608089013591508082111561150e578384fd5b61151a8a838b0161129f565b95506115298a60a08b01611308565b945060c089013591508082111561153e578384fd5b5061154b89828a0161125f565b979a9699509497509295939492505050565b60006020828403121561156e578081fd5b5051919050565b60008151808452815b8181101561159a5760208185018101518683018201520161157e565b818111156115ab5782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03968716815294909516602085015260408401929092526060830152608082015260a081019190915260c00190565b6001600160a01b038716815260a06020820181905260009061162e90830188611575565b82810360408401526116408188611575565b905060ff8616606084015282810360808401528381528385602083013781602085830101526020601f19601f860116820101915050979650505050505050565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b6000602082526104836020830184611575565b6020808252601e908201527f696e636f727265637420696e697469616c697a6572207265766973696f6e0000604082015260600190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b6020808252601b908201527f696e636f727265637420636f6e7472616374207265766973696f6e0000000000604082015260600190565b60208082526028908201527f696e636f7272656374206f72646572206f662063616c6c7320746f20696e697460408201526769616c697a65727360c01b606082015260800190565b6020808252600d908201526c1393d517d4d5541413d4951151609a1b604082015260600190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b918252602082015260400190565b60ff91909116815260200190565b60405181810167ffffffffffffffff811182821017156118d557600080fd5b604052919050565b6001600160a01b038116811461098f57600080fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365a2646970667358221220a22327aec61159c4d479405fd775db7d7a958047a148ee09b46321182c81f50c64736f6c634300060c0033"; //# sourceMappingURL=VariableDebtTokenFactory.js.map