@augmentedfinance/protocol-v1
Version:
Augmented Protocol smart contracts
364 lines • 19.6 kB
JavaScript
;
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
Object.defineProperty(exports, "__esModule", { value: true });
exports.OracleRouterFactory = void 0;
const contracts_1 = require("@ethersproject/contracts");
class OracleRouterFactory extends contracts_1.ContractFactory {
constructor(signer) {
super(_abi, _bytecode, signer);
}
deploy(acl, assets, sources, fallbackOracle, quoteToken, quoteValue, overrides) {
return super.deploy(acl, assets, sources, fallbackOracle, quoteToken, quoteValue, overrides || {});
}
getDeployTransaction(acl, assets, sources, fallbackOracle, quoteToken, quoteValue, overrides) {
return super.getDeployTransaction(acl, assets, sources, fallbackOracle, quoteToken, quoteValue, 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.OracleRouterFactory = OracleRouterFactory;
const _abi = [
{
inputs: [
{
internalType: "contract IMarketAccessController",
name: "acl",
type: "address",
},
{
internalType: "address[]",
name: "assets",
type: "address[]",
},
{
internalType: "address[]",
name: "sources",
type: "address[]",
},
{
internalType: "address",
name: "fallbackOracle",
type: "address",
},
{
internalType: "address",
name: "quoteToken",
type: "address",
},
{
internalType: "uint256",
name: "quoteValue",
type: "uint256",
},
],
stateMutability: "nonpayable",
type: "constructor",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "address",
name: "asset",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "price",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "timestamp",
type: "uint256",
},
],
name: "AssetPriceUpdated",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "asset",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "source",
type: "address",
},
],
name: "AssetSourceUpdated",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "asset",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "index",
type: "uint256",
},
{
indexed: true,
internalType: "address",
name: "underlyingSource",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "underlyingPrice",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "timestamp",
type: "uint256",
},
{
indexed: false,
internalType: "enum SourceType",
name: "sourceType",
type: "uint8",
},
],
name: "DerivedAssetSourceUpdated",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "uint256",
name: "price",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "timestamp",
type: "uint256",
},
],
name: "EthPriceUpdated",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "fallbackOracle",
type: "address",
},
],
name: "FallbackOracleUpdated",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "quote",
type: "address",
},
],
name: "QuoteSet",
type: "event",
},
{
inputs: [
{
internalType: "address",
name: "asset",
type: "address",
},
],
name: "getAssetPrice",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address[]",
name: "assets",
type: "address[]",
},
],
name: "getAssetSources",
outputs: [
{
internalType: "address[]",
name: "result",
type: "address[]",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address[]",
name: "assets",
type: "address[]",
},
],
name: "getAssetsPrices",
outputs: [
{
internalType: "uint256[]",
name: "",
type: "uint256[]",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "getFallbackOracle",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "getQuote",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "getQuoteAndValue",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "asset",
type: "address",
},
],
name: "getSourceOfAsset",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address[]",
name: "assets",
type: "address[]",
},
{
internalType: "address[]",
name: "sources",
type: "address[]",
},
],
name: "setAssetSources",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "fallbackOracle",
type: "address",
},
],
name: "setFallbackOracle",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "asset",
type: "address",
},
],
name: "updateAssetSource",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
];
const _bytecode = "0x60c06040523480156200001157600080fd5b50604051620014293803806200142983398101604081905262000034916200050e565b600080546001600160a01b0319166001600160a01b03888116919091178255606084901b6001600160601b03191660805260a0839052604051908416917ff8103a83f0fcc0cb9a5476c36b64bde5ec8eaa63c25b90c58509efc18584f70791a26200009f83620000b7565b620000ab858562000101565b5050505050506200062c565b600280546001600160a01b0319166001600160a01b0383169081179091556040517fce7a780d33665b1ea097af5f155e3821b809ecbaa839d3b33aa83ba28168cefb90600090a250565b8051825114620001585760405162461bcd60e51b815260206004820152601a60248201527f494e434f4e53495354454e545f504152414d535f4c454e47544800000000000060448201526064015b60405180910390fd5b60005b82518110156200035a57306001600160a01b03168282815181106200019057634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b03161415620001e25760405162461bcd60e51b815260206004820152600e60248201526d494c4c4547414c5f534f5552434560901b60448201526064016200014f565b8181815181106200020357634e487b7160e01b600052603260045260246000fd5b6020026020010151600160008584815181106200023057634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055508181815181106200029d57634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b0316838281518110620002cf57634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b03167f22c5b7b2d8561d39f7f210b6b326a1aa69f15311163082308ac4877db6339dc160405160405180910390a3620003458282815181106200033157634e487b7160e01b600052603260045260246000fd5b60200260200101516200035f60201b60201c565b806200035181620005d8565b9150506200015b565b505050565b6001600160a01b03811615801590620003ed5750600019816001600160a01b031663668a0f026040518163ffffffff1660e01b815260040160206040518083038186803b158015620003b057600080fd5b505afa158015620003c5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003eb9190620005bf565b145b156200044957806001600160a01b031663673a7e286040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200042f57600080fd5b505af115801562000444573d6000803e3d6000fd5b505050505b50565b8051620004598162000616565b919050565b600082601f8301126200046f578081fd5b815160206001600160401b03808311156200048e576200048e62000600565b8260051b604051601f19603f83011681018181108482111715620004b657620004b662000600565b60405284815283810192508684018288018501891015620004d5578687fd5b8692505b858310156200050257620004ed816200044c565b845292840192600192909201918401620004d9565b50979650505050505050565b60008060008060008060c0878903121562000527578182fd5b8651620005348162000616565b60208801519096506001600160401b038082111562000551578384fd5b6200055f8a838b016200045e565b9650604089015191508082111562000575578384fd5b506200058489828a016200045e565b9450506060870151620005978162000616565b6080880151909350620005aa8162000616565b8092505060a087015190509295509295509295565b600060208284031215620005d1578081fd5b5051919050565b6000600019821415620005f957634e487b7160e01b81526011600452602481fd5b5060010190565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146200044957600080fd5b60805160601c60a051610dc062000669600039600061060b01526000818160ba015281816104d5015281816104f901526105d10152610dc06000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806392bf2be01161006657806392bf2be01461013b5780639d23d9f214610167578063abfd531014610187578063b04ffb401461019a578063b3596f07146101c157600080fd5b8063170aee73146100a3578063171755b1146100b857806320004c8e146100f7578063258f6e551461010a5780636210308c1461012a575b600080fd5b6100b66100b1366004610b9c565b6101e2565b005b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020015b60405180910390f35b6100b6610105366004610b9c565b61022e565b61011d610118366004610bca565b610255565b6040516100ee9190610c8b565b6002546001600160a01b03166100da565b6100da610149366004610b9c565b6001600160a01b039081166000908152600160205260409020541690565b61017a610175366004610bca565b61033e565b6040516100ee9190610cd8565b6100b6610195366004610c0a565b61041d565b6101a26104d0565b604080516001600160a01b0390931683526020830191909152016100ee565b6101d46101cf366004610b9c565b610525565b6040519081526020016100ee565b60408051808201909152600a815269149154d5149250d5115160b21b602082015260005461020091610221916001600160a01b03169033908490610716565b61022a82610740565b5050565b6001600160a01b03808216600090815260016020526040902054610252911661078a565b50565b60608167ffffffffffffffff81111561027e57634e487b7160e01b600052604160045260246000fd5b6040519080825280602002602001820160405280156102a7578160200160208202803683370190505b50905060005b82811015610337576102ed8484838181106102d857634e487b7160e01b600052603260045260246000fd5b90506020020160208101906101499190610b9c565b82828151811061030d57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03909216602092830291909101909101528061032f81610d63565b9150506102ad565b5092915050565b606060008267ffffffffffffffff81111561036957634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610392578160200160208202803683370190505b50905060005b83811015610415576103d88585838181106103c357634e487b7160e01b600052603260045260246000fd5b90506020020160208101906101cf9190610b9c565b8282815181106103f857634e487b7160e01b600052603260045260246000fd5b60209081029190910101528061040d81610d63565b915050610398565b509392505050565b60408051808201909152600a815269149154d5149250d5115160b21b60208201526000546102009161045c916001600160a01b03169033908490610716565b6104c98585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505060408051602080890282810182019093528882529093508892508791829185019084908082843760009201919091525061086792505050565b5050505050565b6000807f000000000000000000000000000000000000000000000000000000000000000061051d7f0000000000000000000000000000000000000000000000000000000000000000610525565b915091509091565b6001600160a01b0380821660009081526001602052604081205490911680156105cf576000816001600160a01b03166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561058357600080fd5b505afa158015610597573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105bb9190610c73565b905060008113156105cd579392505050565b505b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161415610639577f00000000000000000000000000000000000000000000000000000000000000008015610637579392505050565b505b6002546001600160a01b0316156106d95760025460405163b3596f0760e01b81526001600160a01b038581166004830152600092169063b3596f079060240160206040518083038186803b15801561069057600080fd5b505afa1580156106a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c89190610c73565b905080156106d7579392505050565b505b60405162461bcd60e51b815260206004820152600d60248201526c155392d393d5d397d054d4d155609a1b60448201526064015b60405180910390fd5b610721848484610aab565b81906104c95760405162461bcd60e51b815260040161070d9190610d10565b600280546001600160a01b0319166001600160a01b0383169081179091556040517fce7a780d33665b1ea097af5f155e3821b809ecbaa839d3b33aa83ba28168cefb90600090a250565b6001600160a01b038116158015906108135750600019816001600160a01b031663668a0f026040518163ffffffff1660e01b815260040160206040518083038186803b1580156107d957600080fd5b505afa1580156107ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108119190610c73565b145b1561025257806001600160a01b031663673a7e286040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561085357600080fd5b505af11580156104c9573d6000803e3d6000fd5b80518251146108b85760405162461bcd60e51b815260206004820152601a60248201527f494e434f4e53495354454e545f504152414d535f4c454e475448000000000000604482015260640161070d565b60005b8251811015610aa657306001600160a01b03168282815181106108ee57634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b0316141561093e5760405162461bcd60e51b815260206004820152600e60248201526d494c4c4547414c5f534f5552434560901b604482015260640161070d565b81818151811061095e57634e487b7160e01b600052603260045260246000fd5b60200260200101516001600085848151811061098a57634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055508181815181106109f657634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b0316838281518110610a2757634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b03167f22c5b7b2d8561d39f7f210b6b326a1aa69f15311163082308ac4877db6339dc160405160405180910390a3610a94828281518110610a8757634e487b7160e01b600052603260045260246000fd5b602002602001015161078a565b80610a9e81610d63565b9150506108bb565b505050565b600080610ab9858585610ac6565b9092161515949350505050565b60405163cc8b29c160e01b81526001600160a01b038381166004830152602482018390526000919085169063cc8b29c19060440160206040518083038186803b158015610b1257600080fd5b505afa158015610b26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4a9190610c73565b949350505050565b60008083601f840112610b63578182fd5b50813567ffffffffffffffff811115610b7a578182fd5b6020830191508360208260051b8501011115610b9557600080fd5b9250929050565b600060208284031215610bad578081fd5b81356001600160a01b0381168114610bc3578182fd5b9392505050565b60008060208385031215610bdc578081fd5b823567ffffffffffffffff811115610bf2578182fd5b610bfe85828601610b52565b90969095509350505050565b60008060008060408587031215610c1f578182fd5b843567ffffffffffffffff80821115610c36578384fd5b610c4288838901610b52565b90965094506020870135915080821115610c5a578384fd5b50610c6787828801610b52565b95989497509550505050565b600060208284031215610c84578081fd5b5051919050565b6020808252825182820181905260009190848201906040850190845b81811015610ccc5783516001600160a01b031683529284019291840191600101610ca7565b50909695505050505050565b6020808252825182820181905260009190848201906040850190845b81811015610ccc57835183529284019291840191600101610cf4565b6000602080835283518082850152825b81811015610d3c57858101830151858201604001528201610d20565b81811115610d4d5783604083870101525b50601f01601f1916929092016040019392505050565b6000600019821415610d8357634e487b7160e01b81526011600452602481fd5b506001019056fea2646970667358221220cd3f13f7b02b57189610a74be208dce6f0f1d78860f3c9ae33658c86667bc06564736f6c63430008040033";
//# sourceMappingURL=OracleRouterFactory.js.map