mirror of
https://github.com/Instadapp/aave-protocol-v2.git
synced 2024-07-29 21:47:30 +00:00
548 lines
19 KiB
TypeScript
548 lines
19 KiB
TypeScript
/* Generated by ts-generator ver. 0.0.8 */
|
|
/* tslint:disable */
|
|
|
|
import { Contract, ContractFactory, Signer } from "ethers";
|
|
import { Provider } from "ethers/providers";
|
|
import { UnsignedTransaction } from "ethers/utils/transaction";
|
|
|
|
import { TransactionOverrides } from ".";
|
|
import { StableDebtToken } from "./StableDebtToken";
|
|
|
|
export class StableDebtTokenFactory extends ContractFactory {
|
|
constructor(signer?: Signer) {
|
|
super(_abi, _bytecode, signer);
|
|
}
|
|
|
|
deploy(overrides?: TransactionOverrides): Promise<StableDebtToken> {
|
|
return super.deploy(overrides) as Promise<StableDebtToken>;
|
|
}
|
|
getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction {
|
|
return super.getDeployTransaction(overrides);
|
|
}
|
|
attach(address: string): StableDebtToken {
|
|
return super.attach(address) as StableDebtToken;
|
|
}
|
|
connect(signer: Signer): StableDebtTokenFactory {
|
|
return super.connect(signer) as StableDebtTokenFactory;
|
|
}
|
|
static connect(
|
|
address: string,
|
|
signerOrProvider: Signer | Provider
|
|
): StableDebtToken {
|
|
return new Contract(address, _abi, signerOrProvider) as StableDebtToken;
|
|
}
|
|
}
|
|
|
|
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"
|
|
}
|
|
],
|
|
name: "Transfer",
|
|
type: "event"
|
|
},
|
|
{
|
|
anonymous: false,
|
|
inputs: [
|
|
{
|
|
indexed: false,
|
|
internalType: "address",
|
|
name: "_user",
|
|
type: "address"
|
|
},
|
|
{
|
|
indexed: false,
|
|
internalType: "uint256",
|
|
name: "_amount",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
indexed: false,
|
|
internalType: "uint256",
|
|
name: "_previousBalance",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
indexed: false,
|
|
internalType: "uint256",
|
|
name: "_currentBalance",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
indexed: false,
|
|
internalType: "uint256",
|
|
name: "_balanceIncrease",
|
|
type: "uint256"
|
|
}
|
|
],
|
|
name: "burnDebt",
|
|
type: "event"
|
|
},
|
|
{
|
|
anonymous: false,
|
|
inputs: [
|
|
{
|
|
indexed: false,
|
|
internalType: "address",
|
|
name: "_user",
|
|
type: "address"
|
|
},
|
|
{
|
|
indexed: false,
|
|
internalType: "uint256",
|
|
name: "_amount",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
indexed: false,
|
|
internalType: "uint256",
|
|
name: "_previousBalance",
|
|
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"
|
|
}
|
|
],
|
|
name: "mintDebt",
|
|
type: "event"
|
|
},
|
|
{
|
|
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: "account",
|
|
type: "address"
|
|
}
|
|
],
|
|
name: "balanceOf",
|
|
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: [],
|
|
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: "getAverageStableRate",
|
|
outputs: [
|
|
{
|
|
internalType: "uint256",
|
|
name: "",
|
|
type: "uint256"
|
|
}
|
|
],
|
|
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: "spender",
|
|
type: "address"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "addedValue",
|
|
type: "uint256"
|
|
}
|
|
],
|
|
name: "increaseAllowance",
|
|
outputs: [
|
|
{
|
|
internalType: "bool",
|
|
name: "",
|
|
type: "bool"
|
|
}
|
|
],
|
|
stateMutability: "nonpayable",
|
|
type: "function"
|
|
},
|
|
{
|
|
inputs: [
|
|
{
|
|
internalType: "string",
|
|
name: "_name",
|
|
type: "string"
|
|
},
|
|
{
|
|
internalType: "string",
|
|
name: "_symbol",
|
|
type: "string"
|
|
},
|
|
{
|
|
internalType: "uint8",
|
|
name: "_decimals",
|
|
type: "uint8"
|
|
},
|
|
{
|
|
internalType: "address",
|
|
name: "_underlying",
|
|
type: "address"
|
|
},
|
|
{
|
|
internalType: "contract ILendingPoolAddressesProvider",
|
|
name: "_addressesProvider",
|
|
type: "address"
|
|
}
|
|
],
|
|
name: "init",
|
|
outputs: [],
|
|
stateMutability: "nonpayable",
|
|
type: "function"
|
|
},
|
|
{
|
|
inputs: [
|
|
{
|
|
internalType: "address",
|
|
name: "_user",
|
|
type: "address"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "_amount",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "_rate",
|
|
type: "uint256"
|
|
}
|
|
],
|
|
name: "mint",
|
|
outputs: [],
|
|
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: [],
|
|
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: [],
|
|
name: "underlyingAssetAddress",
|
|
outputs: [
|
|
{
|
|
internalType: "address",
|
|
name: "",
|
|
type: "address"
|
|
}
|
|
],
|
|
stateMutability: "view",
|
|
type: "function"
|
|
}
|
|
];
|
|
|
|
const _bytecode =
|
|
"0x608060405234801561001057600080fd5b50611298806100206000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806381e75277116100ad578063a457c2d711610071578063a457c2d714610285578063a9059cbb146104be578063c634dfaa146104ea578063dd62ed3e14610510578063e78c9b3b1461053e57610121565b806381e752771461031757806389d1a0fc1461045e57806390f6fcf21461048257806395d89b411461048a5780639dc29fac1461049257610121565b806323b872dd116100f457806323b872dd14610231578063313ce56714610267578063395093511461028557806370a08231146102b157806379ce6b8c146102d757610121565b806306fdde0314610126578063095ea7b3146101a3578063156e29f6146101e357806318160ddd14610217575b600080fd5b61012e610564565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610168578181015183820152602001610150565b50505050905090810190601f1680156101955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101cf600480360360408110156101b957600080fd5b506001600160a01b0381351690602001356105f1565b604080519115158252519081900360200190f35b610215600480360360608110156101f957600080fd5b506001600160a01b038135169060208101359060400135610639565b005b61021f61083e565b60408051918252519081900360200190f35b6101cf6004803603606081101561024757600080fd5b506001600160a01b03813581169160208101359091169060400135610844565b61026f61088c565b6040805160ff9092168252519081900360200190f35b6101cf6004803603604081101561029b57600080fd5b506001600160a01b038135169060200135610895565b61021f600480360360208110156102c757600080fd5b50356001600160a01b03166108e4565b6102fd600480360360208110156102ed57600080fd5b50356001600160a01b031661098e565b6040805164ffffffffff9092168252519081900360200190f35b610215600480360360a081101561032d57600080fd5b81019060208101813564010000000081111561034857600080fd5b82018360208201111561035a57600080fd5b8035906020019184600183028401116401000000008311171561037c57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092959493602081019350359150506401000000008111156103cf57600080fd5b8201836020820111156103e157600080fd5b8035906020019184600183028401116401000000008311171561040357600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505060ff8335169350506001600160a01b036020830135811692604001351690506109b3565b610466610a98565b604080516001600160a01b039092168252519081900360200190f35b61021f610aac565b61012e610ab3565b610215600480360360408110156104a857600080fd5b506001600160a01b038135169060200135610b0b565b6101cf600480360360408110156104d457600080fd5b506001600160a01b038135169060200135610844565b61021f6004803603602081101561050057600080fd5b50356001600160a01b0316610c98565b61021f6004803603604081101561052657600080fd5b506001600160a01b0381358116916020013516610895565b61021f6004803603602081101561055457600080fd5b50356001600160a01b0316610cb3565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105e95780601f106105be576101008083540402835291602001916105e9565b820191906000526020600020905b8154815290600101906020018083116105cc57829003601f168201915b505050505081565b6040805162461bcd60e51b81526020600482015260166024820152751054141493d5905317d393d517d4d5541413d495115160521b6044820152905160009181900360640190fd5b6004546001600160a01b03163314610689576040805162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa1a0a62622a960911b604482015290519081900360640190fd5b610691611188565b600080600061069f87610cce565b9250925092506106ba86600054610d3c90919063ffffffff16565b84526106c586610d9f565b60208501526107476106e56106e0848963ffffffff610d3c16565b610d9f565b602086015161073b906106fe908963ffffffff610db516565b61072f61070a87610d9f565b6001600160a01b038d166000908152600760205260409020549063ffffffff610db516565b9063ffffffff610d3c16565b9063ffffffff610df916565b60408581018290526001600160a01b0389166000908152600760205220908155600101805464ffffffffff19164264ffffffffff1617905583516107c59061078e90610d9f565b61073b6107a8876020015189610db590919063ffffffff16565b61072f6107b6600054610d9f565b6006549063ffffffff610db516565b6006556107d28787610e31565b60408085015181516001600160a01b038a16815260208101899052808301869052606081018590526080810184905260a081019190915290517f94ba3ac5ed6fee7b49ed817c5ee964eed9bd5da6860344f95fc56997e920381d9181900360c00190a150505050505050565b60005481565b6040805162461bcd60e51b81526020600482015260166024820152751514905394d1915497d393d517d4d5541413d495115160521b6044820152905160009181900360640190fd5b60035460ff1681565b6040805162461bcd60e51b815260206004820152601760248201527f414c4c4f57414e43455f4e4f545f535550504f525445440000000000000000006044820152905160009181900360640190fd5b6001600160a01b03811660009081526005602052604081205461090957506000610989565b6001600160a01b03821660009081526007602052604081208054600182015491929161093c919064ffffffffff16610e8f565b905061098461097f8261097360056000896001600160a01b03166001600160a01b0316815260200190815260200160002054610d9f565b9063ffffffff610db516565b610ee7565b925050505b919050565b6001600160a01b031660009081526007602052604090206001015464ffffffffff1690565b84516109c69060019060208801906111a9565b5083516109da9060029060208701906111a9565b506003805460ff191660ff851617610100600160a81b0319166101006001600160a01b03858116919091029190911790915560408051630261bf8b60e01b8152905191831691630261bf8b91600480820192602092909190829003018186803b158015610a4657600080fd5b505afa158015610a5a573d6000803e3d6000fd5b505050506040513d6020811015610a7057600080fd5b5051600480546001600160a01b0319166001600160a01b039092169190911790555050505050565b60035461010090046001600160a01b031681565b6006545b90565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156105e95780601f106105be576101008083540402835291602001916105e9565b6004546001600160a01b03163314610b5b576040805162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa1a0a62622a960911b604482015290519081900360640190fd5b6000806000610b6985610cce565b9250925092506000610b8685600054610f0790919063ffffffff16565b90506000610b9386610d9f565b905081610ba4576000600655610bfb565b610bf7610bb083610d9f565b6001600160a01b03891660009081526007602052604090205461073b90610bdd908563ffffffff610db516565b610beb6107b6600054610d9f565b9063ffffffff610f0716565b6006555b83861415610c2e576001600160a01b0387166000908152600760205260408120908155600101805464ffffffffff191690555b610c388787610f49565b604080516001600160a01b038916815260208101889052808201879052606081018690526080810185905290517fecde08620c30706a4d7ba53e9163327f2e12a6cea2709dd6a9226fed28c2bb729181900360a00190a150505050505050565b6001600160a01b031660009081526005602052604090205490565b6001600160a01b031660009081526007602052604090205490565b6001600160a01b0381166000908152600560205260408120548190819080610d00575060009250829150819050610d35565b6000610d0f82610beb886108e4565b9050610d1b8682610e31565b81610d2c818363ffffffff610d3c16565b90955093509150505b9193909250565b600082820183811015610d96576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b6000610d9982633b9aca0063ffffffff610f8716565b6000610d966b033b2e3c9fd0803ce8000000610ded610dda868663ffffffff610f8716565b6b019d971e4fe8401e7400000090610d3c565b9063ffffffff610fe016565b600060028204610e2983610ded610e1c876b033b2e3c9fd0803ce8000000610f87565b849063ffffffff610d3c16565b949350505050565b600054610e44908263ffffffff610d3c16565b60009081556001600160a01b038316815260056020526040902054610e6f908263ffffffff610d3c16565b6001600160a01b0390921660009081526005602052604090209190915550565b600080610ea94264ffffffffff851663ffffffff610f0716565b90506000610ec1856301e1338063ffffffff610fe016565b9050610ede82610ed2610e1c611022565b9063ffffffff61103216565b95945050505050565b6000631dcd6500610f00633b9aca00610ded8386610d3c565b9392505050565b6000610d9683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061108c565b600054610f5c908263ffffffff610f0716565b60009081556001600160a01b038316815260056020526040902054610e6f908263ffffffff610f0716565b600082610f9657506000610d99565b82820282848281610fa357fe5b0414610d965760405162461bcd60e51b81526004018080602001828103825260218152602001806112426021913960400191505060405180910390fd5b6000610d9683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611123565b6b033b2e3c9fd0803ce800000090565b60006002820661104e576b033b2e3c9fd0803ce8000000611050565b825b90506002820491505b8115610d99576110698384610db5565b925060028206156110815761107e8184610db5565b90505b600282049150611059565b6000818484111561111b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156110e05781810151838201526020016110c8565b50505050905090810190601f16801561110d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836111725760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156110e05781810151838201526020016110c8565b50600083858161117e57fe5b0495945050505050565b60405180606001604052806000815260200160008152602001600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106111ea57805160ff1916838001178555611217565b82800160010185558215611217579182015b828111156112175782518255916020019190600101906111fc565b50611223929150611227565b5090565b610ab091905b80821115611223576000815560010161122d56fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220f25962a19ad0c5cecb0711febaba090442681a048835a42f685a3e6d8a34132364736f6c63430006080033";
|