forked from tornado-packages/tornado-oracles
Compare commits
6 Commits
0f72702650
...
simple-bui
| Author | SHA1 | Date | |
|---|---|---|---|
|
0e9fe6970d
|
|||
|
0fa430f85d
|
|||
|
0649c2da4c
|
|||
|
15b7967c03
|
|||
|
3271e88b13
|
|||
|
ea36e48336
|
1
.gitignore
vendored
1
.gitignore
vendored
@@ -14,7 +14,6 @@ pids
|
|||||||
*.pid.lock
|
*.pid.lock
|
||||||
|
|
||||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||||
#lib
|
|
||||||
lib-cov
|
lib-cov
|
||||||
|
|
||||||
# Coverage directory used by tools like istanbul
|
# Coverage directory used by tools like istanbul
|
||||||
|
|||||||
189
abis/GasPriceOracle.json
Normal file
189
abis/GasPriceOracle.json
Normal file
@@ -0,0 +1,189 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"inputs": [],
|
||||||
|
"stateMutability": "nonpayable",
|
||||||
|
"type": "constructor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs": [],
|
||||||
|
"name": "GAS_UNIT",
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"internalType": "uint256",
|
||||||
|
"name": "",
|
||||||
|
"type": "uint256"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stateMutability": "view",
|
||||||
|
"type": "function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs": [
|
||||||
|
{
|
||||||
|
"internalType": "uint32",
|
||||||
|
"name": "_derivationThresold",
|
||||||
|
"type": "uint32"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name": "changeDerivationThresold",
|
||||||
|
"outputs": [],
|
||||||
|
"stateMutability": "nonpayable",
|
||||||
|
"type": "function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs": [
|
||||||
|
{
|
||||||
|
"internalType": "uint32",
|
||||||
|
"name": "_gasUnit",
|
||||||
|
"type": "uint32"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name": "changeGasUnit",
|
||||||
|
"outputs": [],
|
||||||
|
"stateMutability": "nonpayable",
|
||||||
|
"type": "function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs": [
|
||||||
|
{
|
||||||
|
"internalType": "uint32",
|
||||||
|
"name": "_heartbeat",
|
||||||
|
"type": "uint32"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name": "changeHeartbeat",
|
||||||
|
"outputs": [],
|
||||||
|
"stateMutability": "nonpayable",
|
||||||
|
"type": "function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs": [
|
||||||
|
{
|
||||||
|
"internalType": "address",
|
||||||
|
"name": "_owner",
|
||||||
|
"type": "address"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name": "changeOwnership",
|
||||||
|
"outputs": [],
|
||||||
|
"stateMutability": "nonpayable",
|
||||||
|
"type": "function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs": [],
|
||||||
|
"name": "derivationThresold",
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"internalType": "uint32",
|
||||||
|
"name": "",
|
||||||
|
"type": "uint32"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stateMutability": "view",
|
||||||
|
"type": "function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs": [],
|
||||||
|
"name": "gasPrice",
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"internalType": "uint256",
|
||||||
|
"name": "",
|
||||||
|
"type": "uint256"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stateMutability": "view",
|
||||||
|
"type": "function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs": [],
|
||||||
|
"name": "heartbeat",
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"internalType": "uint32",
|
||||||
|
"name": "",
|
||||||
|
"type": "uint32"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stateMutability": "view",
|
||||||
|
"type": "function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs": [],
|
||||||
|
"name": "maxFeePerGas",
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"internalType": "uint256",
|
||||||
|
"name": "",
|
||||||
|
"type": "uint256"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stateMutability": "view",
|
||||||
|
"type": "function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs": [],
|
||||||
|
"name": "maxPriorityFeePerGas",
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"internalType": "uint256",
|
||||||
|
"name": "",
|
||||||
|
"type": "uint256"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stateMutability": "view",
|
||||||
|
"type": "function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs": [],
|
||||||
|
"name": "owner",
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"internalType": "address",
|
||||||
|
"name": "",
|
||||||
|
"type": "address"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stateMutability": "view",
|
||||||
|
"type": "function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs": [],
|
||||||
|
"name": "pastGasPrice",
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"internalType": "uint32",
|
||||||
|
"name": "",
|
||||||
|
"type": "uint32"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stateMutability": "view",
|
||||||
|
"type": "function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs": [
|
||||||
|
{
|
||||||
|
"internalType": "uint32",
|
||||||
|
"name": "_gasPrice",
|
||||||
|
"type": "uint32"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name": "setGasPrice",
|
||||||
|
"outputs": [],
|
||||||
|
"stateMutability": "nonpayable",
|
||||||
|
"type": "function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs": [],
|
||||||
|
"name": "timestamp",
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"internalType": "uint32",
|
||||||
|
"name": "",
|
||||||
|
"type": "uint32"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stateMutability": "view",
|
||||||
|
"type": "function"
|
||||||
|
}
|
||||||
|
]
|
||||||
File diff suppressed because one or more lines are too long
440
abis/Multicall.json
Normal file
440
abis/Multicall.json
Normal file
@@ -0,0 +1,440 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"inputs": [
|
||||||
|
{
|
||||||
|
"components": [
|
||||||
|
{
|
||||||
|
"internalType": "address",
|
||||||
|
"name": "target",
|
||||||
|
"type": "address"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType": "bytes",
|
||||||
|
"name": "callData",
|
||||||
|
"type": "bytes"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"internalType": "struct Multicall3.Call[]",
|
||||||
|
"name": "calls",
|
||||||
|
"type": "tuple[]"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name": "aggregate",
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"internalType": "uint256",
|
||||||
|
"name": "blockNumber",
|
||||||
|
"type": "uint256"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType": "bytes[]",
|
||||||
|
"name": "returnData",
|
||||||
|
"type": "bytes[]"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stateMutability": "payable",
|
||||||
|
"type": "function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs": [
|
||||||
|
{
|
||||||
|
"components": [
|
||||||
|
{
|
||||||
|
"internalType": "address",
|
||||||
|
"name": "target",
|
||||||
|
"type": "address"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType": "bool",
|
||||||
|
"name": "allowFailure",
|
||||||
|
"type": "bool"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType": "bytes",
|
||||||
|
"name": "callData",
|
||||||
|
"type": "bytes"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"internalType": "struct Multicall3.Call3[]",
|
||||||
|
"name": "calls",
|
||||||
|
"type": "tuple[]"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name": "aggregate3",
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"components": [
|
||||||
|
{
|
||||||
|
"internalType": "bool",
|
||||||
|
"name": "success",
|
||||||
|
"type": "bool"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType": "bytes",
|
||||||
|
"name": "returnData",
|
||||||
|
"type": "bytes"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"internalType": "struct Multicall3.Result[]",
|
||||||
|
"name": "returnData",
|
||||||
|
"type": "tuple[]"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stateMutability": "payable",
|
||||||
|
"type": "function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs": [
|
||||||
|
{
|
||||||
|
"components": [
|
||||||
|
{
|
||||||
|
"internalType": "address",
|
||||||
|
"name": "target",
|
||||||
|
"type": "address"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType": "bool",
|
||||||
|
"name": "allowFailure",
|
||||||
|
"type": "bool"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType": "uint256",
|
||||||
|
"name": "value",
|
||||||
|
"type": "uint256"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType": "bytes",
|
||||||
|
"name": "callData",
|
||||||
|
"type": "bytes"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"internalType": "struct Multicall3.Call3Value[]",
|
||||||
|
"name": "calls",
|
||||||
|
"type": "tuple[]"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name": "aggregate3Value",
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"components": [
|
||||||
|
{
|
||||||
|
"internalType": "bool",
|
||||||
|
"name": "success",
|
||||||
|
"type": "bool"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType": "bytes",
|
||||||
|
"name": "returnData",
|
||||||
|
"type": "bytes"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"internalType": "struct Multicall3.Result[]",
|
||||||
|
"name": "returnData",
|
||||||
|
"type": "tuple[]"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stateMutability": "payable",
|
||||||
|
"type": "function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs": [
|
||||||
|
{
|
||||||
|
"components": [
|
||||||
|
{
|
||||||
|
"internalType": "address",
|
||||||
|
"name": "target",
|
||||||
|
"type": "address"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType": "bytes",
|
||||||
|
"name": "callData",
|
||||||
|
"type": "bytes"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"internalType": "struct Multicall3.Call[]",
|
||||||
|
"name": "calls",
|
||||||
|
"type": "tuple[]"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name": "blockAndAggregate",
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"internalType": "uint256",
|
||||||
|
"name": "blockNumber",
|
||||||
|
"type": "uint256"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType": "bytes32",
|
||||||
|
"name": "blockHash",
|
||||||
|
"type": "bytes32"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"components": [
|
||||||
|
{
|
||||||
|
"internalType": "bool",
|
||||||
|
"name": "success",
|
||||||
|
"type": "bool"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType": "bytes",
|
||||||
|
"name": "returnData",
|
||||||
|
"type": "bytes"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"internalType": "struct Multicall3.Result[]",
|
||||||
|
"name": "returnData",
|
||||||
|
"type": "tuple[]"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stateMutability": "payable",
|
||||||
|
"type": "function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs": [],
|
||||||
|
"name": "getBasefee",
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"internalType": "uint256",
|
||||||
|
"name": "basefee",
|
||||||
|
"type": "uint256"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stateMutability": "view",
|
||||||
|
"type": "function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs": [
|
||||||
|
{
|
||||||
|
"internalType": "uint256",
|
||||||
|
"name": "blockNumber",
|
||||||
|
"type": "uint256"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name": "getBlockHash",
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"internalType": "bytes32",
|
||||||
|
"name": "blockHash",
|
||||||
|
"type": "bytes32"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stateMutability": "view",
|
||||||
|
"type": "function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs": [],
|
||||||
|
"name": "getBlockNumber",
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"internalType": "uint256",
|
||||||
|
"name": "blockNumber",
|
||||||
|
"type": "uint256"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stateMutability": "view",
|
||||||
|
"type": "function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs": [],
|
||||||
|
"name": "getChainId",
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"internalType": "uint256",
|
||||||
|
"name": "chainid",
|
||||||
|
"type": "uint256"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stateMutability": "view",
|
||||||
|
"type": "function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs": [],
|
||||||
|
"name": "getCurrentBlockCoinbase",
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"internalType": "address",
|
||||||
|
"name": "coinbase",
|
||||||
|
"type": "address"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stateMutability": "view",
|
||||||
|
"type": "function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs": [],
|
||||||
|
"name": "getCurrentBlockDifficulty",
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"internalType": "uint256",
|
||||||
|
"name": "difficulty",
|
||||||
|
"type": "uint256"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stateMutability": "view",
|
||||||
|
"type": "function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs": [],
|
||||||
|
"name": "getCurrentBlockGasLimit",
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"internalType": "uint256",
|
||||||
|
"name": "gaslimit",
|
||||||
|
"type": "uint256"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stateMutability": "view",
|
||||||
|
"type": "function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs": [],
|
||||||
|
"name": "getCurrentBlockTimestamp",
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"internalType": "uint256",
|
||||||
|
"name": "timestamp",
|
||||||
|
"type": "uint256"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stateMutability": "view",
|
||||||
|
"type": "function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs": [
|
||||||
|
{
|
||||||
|
"internalType": "address",
|
||||||
|
"name": "addr",
|
||||||
|
"type": "address"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name": "getEthBalance",
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"internalType": "uint256",
|
||||||
|
"name": "balance",
|
||||||
|
"type": "uint256"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stateMutability": "view",
|
||||||
|
"type": "function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs": [],
|
||||||
|
"name": "getLastBlockHash",
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"internalType": "bytes32",
|
||||||
|
"name": "blockHash",
|
||||||
|
"type": "bytes32"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stateMutability": "view",
|
||||||
|
"type": "function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs": [
|
||||||
|
{
|
||||||
|
"internalType": "bool",
|
||||||
|
"name": "requireSuccess",
|
||||||
|
"type": "bool"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"components": [
|
||||||
|
{
|
||||||
|
"internalType": "address",
|
||||||
|
"name": "target",
|
||||||
|
"type": "address"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType": "bytes",
|
||||||
|
"name": "callData",
|
||||||
|
"type": "bytes"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"internalType": "struct Multicall3.Call[]",
|
||||||
|
"name": "calls",
|
||||||
|
"type": "tuple[]"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name": "tryAggregate",
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"components": [
|
||||||
|
{
|
||||||
|
"internalType": "bool",
|
||||||
|
"name": "success",
|
||||||
|
"type": "bool"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType": "bytes",
|
||||||
|
"name": "returnData",
|
||||||
|
"type": "bytes"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"internalType": "struct Multicall3.Result[]",
|
||||||
|
"name": "returnData",
|
||||||
|
"type": "tuple[]"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stateMutability": "payable",
|
||||||
|
"type": "function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs": [
|
||||||
|
{
|
||||||
|
"internalType": "bool",
|
||||||
|
"name": "requireSuccess",
|
||||||
|
"type": "bool"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"components": [
|
||||||
|
{
|
||||||
|
"internalType": "address",
|
||||||
|
"name": "target",
|
||||||
|
"type": "address"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType": "bytes",
|
||||||
|
"name": "callData",
|
||||||
|
"type": "bytes"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"internalType": "struct Multicall3.Call[]",
|
||||||
|
"name": "calls",
|
||||||
|
"type": "tuple[]"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name": "tryBlockAndAggregate",
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"internalType": "uint256",
|
||||||
|
"name": "blockNumber",
|
||||||
|
"type": "uint256"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType": "bytes32",
|
||||||
|
"name": "blockHash",
|
||||||
|
"type": "bytes32"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"components": [
|
||||||
|
{
|
||||||
|
"internalType": "bool",
|
||||||
|
"name": "success",
|
||||||
|
"type": "bool"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType": "bytes",
|
||||||
|
"name": "returnData",
|
||||||
|
"type": "bytes"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"internalType": "struct Multicall3.Result[]",
|
||||||
|
"name": "returnData",
|
||||||
|
"type": "tuple[]"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stateMutability": "payable",
|
||||||
|
"type": "function"
|
||||||
|
}
|
||||||
|
]
|
||||||
@@ -1,292 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"inputs": [
|
|
||||||
{
|
|
||||||
"internalType": "contract MultiWrapper",
|
|
||||||
"name": "_multiWrapper",
|
|
||||||
"type": "address"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"internalType": "contract IOracle[]",
|
|
||||||
"name": "existingOracles",
|
|
||||||
"type": "address[]"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"internalType": "enum OffchainOracle.OracleType[]",
|
|
||||||
"name": "oracleTypes",
|
|
||||||
"type": "uint8[]"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"internalType": "contract IERC20[]",
|
|
||||||
"name": "existingConnectors",
|
|
||||||
"type": "address[]"
|
|
||||||
},
|
|
||||||
{ "internalType": "contract IERC20", "name": "wBase", "type": "address" }
|
|
||||||
],
|
|
||||||
"stateMutability": "nonpayable",
|
|
||||||
"type": "constructor"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"anonymous": false,
|
|
||||||
"inputs": [
|
|
||||||
{
|
|
||||||
"indexed": false,
|
|
||||||
"internalType": "contract IERC20",
|
|
||||||
"name": "connector",
|
|
||||||
"type": "address"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"name": "ConnectorAdded",
|
|
||||||
"type": "event"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"anonymous": false,
|
|
||||||
"inputs": [
|
|
||||||
{
|
|
||||||
"indexed": false,
|
|
||||||
"internalType": "contract IERC20",
|
|
||||||
"name": "connector",
|
|
||||||
"type": "address"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"name": "ConnectorRemoved",
|
|
||||||
"type": "event"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"anonymous": false,
|
|
||||||
"inputs": [
|
|
||||||
{
|
|
||||||
"indexed": false,
|
|
||||||
"internalType": "contract MultiWrapper",
|
|
||||||
"name": "multiWrapper",
|
|
||||||
"type": "address"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"name": "MultiWrapperUpdated",
|
|
||||||
"type": "event"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"anonymous": false,
|
|
||||||
"inputs": [
|
|
||||||
{
|
|
||||||
"indexed": false,
|
|
||||||
"internalType": "contract IOracle",
|
|
||||||
"name": "oracle",
|
|
||||||
"type": "address"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"indexed": false,
|
|
||||||
"internalType": "enum OffchainOracle.OracleType",
|
|
||||||
"name": "oracleType",
|
|
||||||
"type": "uint8"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"name": "OracleAdded",
|
|
||||||
"type": "event"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"anonymous": false,
|
|
||||||
"inputs": [
|
|
||||||
{
|
|
||||||
"indexed": false,
|
|
||||||
"internalType": "contract IOracle",
|
|
||||||
"name": "oracle",
|
|
||||||
"type": "address"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"indexed": false,
|
|
||||||
"internalType": "enum OffchainOracle.OracleType",
|
|
||||||
"name": "oracleType",
|
|
||||||
"type": "uint8"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"name": "OracleRemoved",
|
|
||||||
"type": "event"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"anonymous": false,
|
|
||||||
"inputs": [
|
|
||||||
{
|
|
||||||
"indexed": true,
|
|
||||||
"internalType": "address",
|
|
||||||
"name": "previousOwner",
|
|
||||||
"type": "address"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"indexed": true,
|
|
||||||
"internalType": "address",
|
|
||||||
"name": "newOwner",
|
|
||||||
"type": "address"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"name": "OwnershipTransferred",
|
|
||||||
"type": "event"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"inputs": [
|
|
||||||
{
|
|
||||||
"internalType": "contract IERC20",
|
|
||||||
"name": "connector",
|
|
||||||
"type": "address"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"name": "addConnector",
|
|
||||||
"outputs": [],
|
|
||||||
"stateMutability": "nonpayable",
|
|
||||||
"type": "function"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"inputs": [
|
|
||||||
{
|
|
||||||
"internalType": "contract IOracle",
|
|
||||||
"name": "oracle",
|
|
||||||
"type": "address"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"internalType": "enum OffchainOracle.OracleType",
|
|
||||||
"name": "oracleKind",
|
|
||||||
"type": "uint8"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"name": "addOracle",
|
|
||||||
"outputs": [],
|
|
||||||
"stateMutability": "nonpayable",
|
|
||||||
"type": "function"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"inputs": [],
|
|
||||||
"name": "connectors",
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"internalType": "contract IERC20[]",
|
|
||||||
"name": "allConnectors",
|
|
||||||
"type": "address[]"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"stateMutability": "view",
|
|
||||||
"type": "function"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"inputs": [
|
|
||||||
{
|
|
||||||
"internalType": "contract IERC20",
|
|
||||||
"name": "srcToken",
|
|
||||||
"type": "address"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"internalType": "contract IERC20",
|
|
||||||
"name": "dstToken",
|
|
||||||
"type": "address"
|
|
||||||
},
|
|
||||||
{ "internalType": "bool", "name": "useWrappers", "type": "bool" }
|
|
||||||
],
|
|
||||||
"name": "getRate",
|
|
||||||
"outputs": [{ "internalType": "uint256", "name": "weightedRate", "type": "uint256" }],
|
|
||||||
"stateMutability": "view",
|
|
||||||
"type": "function"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"inputs": [
|
|
||||||
{
|
|
||||||
"internalType": "contract IERC20",
|
|
||||||
"name": "srcToken",
|
|
||||||
"type": "address"
|
|
||||||
},
|
|
||||||
{ "internalType": "bool", "name": "useSrcWrappers", "type": "bool" }
|
|
||||||
],
|
|
||||||
"name": "getRateToEth",
|
|
||||||
"outputs": [{ "internalType": "uint256", "name": "weightedRate", "type": "uint256" }],
|
|
||||||
"stateMutability": "view",
|
|
||||||
"type": "function"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"inputs": [],
|
|
||||||
"name": "multiWrapper",
|
|
||||||
"outputs": [{ "internalType": "contract MultiWrapper", "name": "", "type": "address" }],
|
|
||||||
"stateMutability": "view",
|
|
||||||
"type": "function"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"inputs": [],
|
|
||||||
"name": "oracles",
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"internalType": "contract IOracle[]",
|
|
||||||
"name": "allOracles",
|
|
||||||
"type": "address[]"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"internalType": "enum OffchainOracle.OracleType[]",
|
|
||||||
"name": "oracleTypes",
|
|
||||||
"type": "uint8[]"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"stateMutability": "view",
|
|
||||||
"type": "function"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"inputs": [],
|
|
||||||
"name": "owner",
|
|
||||||
"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
|
|
||||||
"stateMutability": "view",
|
|
||||||
"type": "function"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"inputs": [
|
|
||||||
{
|
|
||||||
"internalType": "contract IERC20",
|
|
||||||
"name": "connector",
|
|
||||||
"type": "address"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"name": "removeConnector",
|
|
||||||
"outputs": [],
|
|
||||||
"stateMutability": "nonpayable",
|
|
||||||
"type": "function"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"inputs": [
|
|
||||||
{
|
|
||||||
"internalType": "contract IOracle",
|
|
||||||
"name": "oracle",
|
|
||||||
"type": "address"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"internalType": "enum OffchainOracle.OracleType",
|
|
||||||
"name": "oracleKind",
|
|
||||||
"type": "uint8"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"name": "removeOracle",
|
|
||||||
"outputs": [],
|
|
||||||
"stateMutability": "nonpayable",
|
|
||||||
"type": "function"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"inputs": [],
|
|
||||||
"name": "renounceOwnership",
|
|
||||||
"outputs": [],
|
|
||||||
"stateMutability": "nonpayable",
|
|
||||||
"type": "function"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"inputs": [
|
|
||||||
{
|
|
||||||
"internalType": "contract MultiWrapper",
|
|
||||||
"name": "_multiWrapper",
|
|
||||||
"type": "address"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"name": "setMultiWrapper",
|
|
||||||
"outputs": [],
|
|
||||||
"stateMutability": "nonpayable",
|
|
||||||
"type": "function"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"inputs": [{ "internalType": "address", "name": "newOwner", "type": "address" }],
|
|
||||||
"name": "transferOwnership",
|
|
||||||
"outputs": [],
|
|
||||||
"stateMutability": "nonpayable",
|
|
||||||
"type": "function"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
555
abis/OffchainOracle.json
Normal file
555
abis/OffchainOracle.json
Normal file
@@ -0,0 +1,555 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"inputs":[
|
||||||
|
{
|
||||||
|
"internalType":"contract MultiWrapper",
|
||||||
|
"name":"_multiWrapper",
|
||||||
|
"type":"address"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType":"contract IOracle[]",
|
||||||
|
"name":"existingOracles",
|
||||||
|
"type":"address[]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType":"enum OffchainOracle.OracleType[]",
|
||||||
|
"name":"oracleTypes",
|
||||||
|
"type":"uint8[]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType":"contract IERC20[]",
|
||||||
|
"name":"existingConnectors",
|
||||||
|
"type":"address[]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType":"contract IERC20",
|
||||||
|
"name":"wBase",
|
||||||
|
"type":"address"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType":"address",
|
||||||
|
"name":"owner",
|
||||||
|
"type":"address"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stateMutability":"nonpayable",
|
||||||
|
"type":"constructor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs":[
|
||||||
|
|
||||||
|
],
|
||||||
|
"name":"ArraysLengthMismatch",
|
||||||
|
"type":"error"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs":[
|
||||||
|
|
||||||
|
],
|
||||||
|
"name":"ConnectorAlreadyAdded",
|
||||||
|
"type":"error"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs":[
|
||||||
|
|
||||||
|
],
|
||||||
|
"name":"InvalidOracleTokenKind",
|
||||||
|
"type":"error"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs":[
|
||||||
|
|
||||||
|
],
|
||||||
|
"name":"OracleAlreadyAdded",
|
||||||
|
"type":"error"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs":[
|
||||||
|
|
||||||
|
],
|
||||||
|
"name":"SameTokens",
|
||||||
|
"type":"error"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs":[
|
||||||
|
|
||||||
|
],
|
||||||
|
"name":"TooBigThreshold",
|
||||||
|
"type":"error"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs":[
|
||||||
|
|
||||||
|
],
|
||||||
|
"name":"UnknownConnector",
|
||||||
|
"type":"error"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs":[
|
||||||
|
|
||||||
|
],
|
||||||
|
"name":"UnknownOracle",
|
||||||
|
"type":"error"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"anonymous":false,
|
||||||
|
"inputs":[
|
||||||
|
{
|
||||||
|
"indexed":false,
|
||||||
|
"internalType":"contract IERC20",
|
||||||
|
"name":"connector",
|
||||||
|
"type":"address"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name":"ConnectorAdded",
|
||||||
|
"type":"event"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"anonymous":false,
|
||||||
|
"inputs":[
|
||||||
|
{
|
||||||
|
"indexed":false,
|
||||||
|
"internalType":"contract IERC20",
|
||||||
|
"name":"connector",
|
||||||
|
"type":"address"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name":"ConnectorRemoved",
|
||||||
|
"type":"event"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"anonymous":false,
|
||||||
|
"inputs":[
|
||||||
|
{
|
||||||
|
"indexed":false,
|
||||||
|
"internalType":"contract MultiWrapper",
|
||||||
|
"name":"multiWrapper",
|
||||||
|
"type":"address"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name":"MultiWrapperUpdated",
|
||||||
|
"type":"event"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"anonymous":false,
|
||||||
|
"inputs":[
|
||||||
|
{
|
||||||
|
"indexed":false,
|
||||||
|
"internalType":"contract IOracle",
|
||||||
|
"name":"oracle",
|
||||||
|
"type":"address"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"indexed":false,
|
||||||
|
"internalType":"enum OffchainOracle.OracleType",
|
||||||
|
"name":"oracleType",
|
||||||
|
"type":"uint8"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name":"OracleAdded",
|
||||||
|
"type":"event"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"anonymous":false,
|
||||||
|
"inputs":[
|
||||||
|
{
|
||||||
|
"indexed":false,
|
||||||
|
"internalType":"contract IOracle",
|
||||||
|
"name":"oracle",
|
||||||
|
"type":"address"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"indexed":false,
|
||||||
|
"internalType":"enum OffchainOracle.OracleType",
|
||||||
|
"name":"oracleType",
|
||||||
|
"type":"uint8"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name":"OracleRemoved",
|
||||||
|
"type":"event"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"anonymous":false,
|
||||||
|
"inputs":[
|
||||||
|
{
|
||||||
|
"indexed":true,
|
||||||
|
"internalType":"address",
|
||||||
|
"name":"previousOwner",
|
||||||
|
"type":"address"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"indexed":true,
|
||||||
|
"internalType":"address",
|
||||||
|
"name":"newOwner",
|
||||||
|
"type":"address"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name":"OwnershipTransferred",
|
||||||
|
"type":"event"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs":[
|
||||||
|
{
|
||||||
|
"internalType":"contract IERC20",
|
||||||
|
"name":"connector",
|
||||||
|
"type":"address"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name":"addConnector",
|
||||||
|
"outputs":[
|
||||||
|
|
||||||
|
],
|
||||||
|
"stateMutability":"nonpayable",
|
||||||
|
"type":"function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs":[
|
||||||
|
{
|
||||||
|
"internalType":"contract IOracle",
|
||||||
|
"name":"oracle",
|
||||||
|
"type":"address"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType":"enum OffchainOracle.OracleType",
|
||||||
|
"name":"oracleKind",
|
||||||
|
"type":"uint8"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name":"addOracle",
|
||||||
|
"outputs":[
|
||||||
|
|
||||||
|
],
|
||||||
|
"stateMutability":"nonpayable",
|
||||||
|
"type":"function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs":[
|
||||||
|
|
||||||
|
],
|
||||||
|
"name":"connectors",
|
||||||
|
"outputs":[
|
||||||
|
{
|
||||||
|
"internalType":"contract IERC20[]",
|
||||||
|
"name":"allConnectors",
|
||||||
|
"type":"address[]"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stateMutability":"view",
|
||||||
|
"type":"function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs":[
|
||||||
|
{
|
||||||
|
"internalType":"contract IERC20",
|
||||||
|
"name":"srcToken",
|
||||||
|
"type":"address"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType":"contract IERC20",
|
||||||
|
"name":"dstToken",
|
||||||
|
"type":"address"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType":"bool",
|
||||||
|
"name":"useWrappers",
|
||||||
|
"type":"bool"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name":"getRate",
|
||||||
|
"outputs":[
|
||||||
|
{
|
||||||
|
"internalType":"uint256",
|
||||||
|
"name":"weightedRate",
|
||||||
|
"type":"uint256"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stateMutability":"view",
|
||||||
|
"type":"function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs":[
|
||||||
|
{
|
||||||
|
"internalType":"contract IERC20",
|
||||||
|
"name":"srcToken",
|
||||||
|
"type":"address"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType":"bool",
|
||||||
|
"name":"useSrcWrappers",
|
||||||
|
"type":"bool"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name":"getRateToEth",
|
||||||
|
"outputs":[
|
||||||
|
{
|
||||||
|
"internalType":"uint256",
|
||||||
|
"name":"weightedRate",
|
||||||
|
"type":"uint256"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stateMutability":"view",
|
||||||
|
"type":"function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs":[
|
||||||
|
{
|
||||||
|
"internalType":"contract IERC20",
|
||||||
|
"name":"srcToken",
|
||||||
|
"type":"address"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType":"bool",
|
||||||
|
"name":"useSrcWrappers",
|
||||||
|
"type":"bool"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType":"contract IERC20[]",
|
||||||
|
"name":"customConnectors",
|
||||||
|
"type":"address[]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType":"uint256",
|
||||||
|
"name":"thresholdFilter",
|
||||||
|
"type":"uint256"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name":"getRateToEthWithCustomConnectors",
|
||||||
|
"outputs":[
|
||||||
|
{
|
||||||
|
"internalType":"uint256",
|
||||||
|
"name":"weightedRate",
|
||||||
|
"type":"uint256"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stateMutability":"view",
|
||||||
|
"type":"function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs":[
|
||||||
|
{
|
||||||
|
"internalType":"contract IERC20",
|
||||||
|
"name":"srcToken",
|
||||||
|
"type":"address"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType":"bool",
|
||||||
|
"name":"useSrcWrappers",
|
||||||
|
"type":"bool"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType":"uint256",
|
||||||
|
"name":"thresholdFilter",
|
||||||
|
"type":"uint256"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name":"getRateToEthWithThreshold",
|
||||||
|
"outputs":[
|
||||||
|
{
|
||||||
|
"internalType":"uint256",
|
||||||
|
"name":"weightedRate",
|
||||||
|
"type":"uint256"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stateMutability":"view",
|
||||||
|
"type":"function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs":[
|
||||||
|
{
|
||||||
|
"internalType":"contract IERC20",
|
||||||
|
"name":"srcToken",
|
||||||
|
"type":"address"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType":"contract IERC20",
|
||||||
|
"name":"dstToken",
|
||||||
|
"type":"address"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType":"bool",
|
||||||
|
"name":"useWrappers",
|
||||||
|
"type":"bool"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType":"contract IERC20[]",
|
||||||
|
"name":"customConnectors",
|
||||||
|
"type":"address[]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType":"uint256",
|
||||||
|
"name":"thresholdFilter",
|
||||||
|
"type":"uint256"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name":"getRateWithCustomConnectors",
|
||||||
|
"outputs":[
|
||||||
|
{
|
||||||
|
"internalType":"uint256",
|
||||||
|
"name":"weightedRate",
|
||||||
|
"type":"uint256"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stateMutability":"view",
|
||||||
|
"type":"function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs":[
|
||||||
|
{
|
||||||
|
"internalType":"contract IERC20",
|
||||||
|
"name":"srcToken",
|
||||||
|
"type":"address"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType":"contract IERC20",
|
||||||
|
"name":"dstToken",
|
||||||
|
"type":"address"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType":"bool",
|
||||||
|
"name":"useWrappers",
|
||||||
|
"type":"bool"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType":"uint256",
|
||||||
|
"name":"thresholdFilter",
|
||||||
|
"type":"uint256"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name":"getRateWithThreshold",
|
||||||
|
"outputs":[
|
||||||
|
{
|
||||||
|
"internalType":"uint256",
|
||||||
|
"name":"weightedRate",
|
||||||
|
"type":"uint256"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stateMutability":"view",
|
||||||
|
"type":"function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs":[
|
||||||
|
|
||||||
|
],
|
||||||
|
"name":"multiWrapper",
|
||||||
|
"outputs":[
|
||||||
|
{
|
||||||
|
"internalType":"contract MultiWrapper",
|
||||||
|
"name":"",
|
||||||
|
"type":"address"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stateMutability":"view",
|
||||||
|
"type":"function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs":[
|
||||||
|
|
||||||
|
],
|
||||||
|
"name":"oracles",
|
||||||
|
"outputs":[
|
||||||
|
{
|
||||||
|
"internalType":"contract IOracle[]",
|
||||||
|
"name":"allOracles",
|
||||||
|
"type":"address[]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType":"enum OffchainOracle.OracleType[]",
|
||||||
|
"name":"oracleTypes",
|
||||||
|
"type":"uint8[]"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stateMutability":"view",
|
||||||
|
"type":"function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs":[
|
||||||
|
|
||||||
|
],
|
||||||
|
"name":"owner",
|
||||||
|
"outputs":[
|
||||||
|
{
|
||||||
|
"internalType":"address",
|
||||||
|
"name":"",
|
||||||
|
"type":"address"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"stateMutability":"view",
|
||||||
|
"type":"function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs":[
|
||||||
|
{
|
||||||
|
"internalType":"contract IERC20",
|
||||||
|
"name":"connector",
|
||||||
|
"type":"address"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name":"removeConnector",
|
||||||
|
"outputs":[
|
||||||
|
|
||||||
|
],
|
||||||
|
"stateMutability":"nonpayable",
|
||||||
|
"type":"function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs":[
|
||||||
|
{
|
||||||
|
"internalType":"contract IOracle",
|
||||||
|
"name":"oracle",
|
||||||
|
"type":"address"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalType":"enum OffchainOracle.OracleType",
|
||||||
|
"name":"oracleKind",
|
||||||
|
"type":"uint8"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name":"removeOracle",
|
||||||
|
"outputs":[
|
||||||
|
|
||||||
|
],
|
||||||
|
"stateMutability":"nonpayable",
|
||||||
|
"type":"function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs":[
|
||||||
|
|
||||||
|
],
|
||||||
|
"name":"renounceOwnership",
|
||||||
|
"outputs":[
|
||||||
|
|
||||||
|
],
|
||||||
|
"stateMutability":"nonpayable",
|
||||||
|
"type":"function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs":[
|
||||||
|
{
|
||||||
|
"internalType":"contract MultiWrapper",
|
||||||
|
"name":"_multiWrapper",
|
||||||
|
"type":"address"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name":"setMultiWrapper",
|
||||||
|
"outputs":[
|
||||||
|
|
||||||
|
],
|
||||||
|
"stateMutability":"nonpayable",
|
||||||
|
"type":"function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inputs":[
|
||||||
|
{
|
||||||
|
"internalType":"address",
|
||||||
|
"name":"newOwner",
|
||||||
|
"type":"address"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name":"transferOwnership",
|
||||||
|
"outputs":[
|
||||||
|
|
||||||
|
],
|
||||||
|
"stateMutability":"nonpayable",
|
||||||
|
"type":"function"
|
||||||
|
}
|
||||||
|
]
|
||||||
36
lib/config.d.ts
vendored
36
lib/config.d.ts
vendored
@@ -1,36 +0,0 @@
|
|||||||
import { LegacyGasPrices } from './types';
|
|
||||||
export declare enum ChainId {
|
|
||||||
MAINNET = 1,
|
|
||||||
GOERLI = 5,
|
|
||||||
BSC = 56,
|
|
||||||
XDAI = 100,
|
|
||||||
POLYGON = 137,
|
|
||||||
OPTIMISM = 10,
|
|
||||||
ARBITRUM = 42161,
|
|
||||||
AVAX = 43114,
|
|
||||||
SEPOLIA = 11155111
|
|
||||||
}
|
|
||||||
export declare enum InstanceTokenSymbol {
|
|
||||||
DAI = "dai",
|
|
||||||
cDAI = "cdai",
|
|
||||||
WBTC = "wbtc",
|
|
||||||
USDT = "usdt",
|
|
||||||
USDC = "usdc"
|
|
||||||
}
|
|
||||||
export type GasPricesConfig = {
|
|
||||||
[chainId in ChainId]: LegacyGasPrices;
|
|
||||||
};
|
|
||||||
export declare const defaultGasPrices: GasPricesConfig;
|
|
||||||
type GasLimitConfig = {
|
|
||||||
[chainId in ChainId]: number;
|
|
||||||
};
|
|
||||||
export declare const defaultWithdrawalGasLimit: GasLimitConfig;
|
|
||||||
type InstanceTokenGasLimitConfig = {
|
|
||||||
[tokenSymbol in InstanceTokenSymbol]: number;
|
|
||||||
};
|
|
||||||
export declare const defaultInstanceTokensGasLimit: InstanceTokenGasLimitConfig;
|
|
||||||
export declare const optimismL1FeeOracleAddress = "0x420000000000000000000000000000000000000F";
|
|
||||||
export declare const offchainOracleAddress = "0x00000000000D6FFc74A8feb35aF5827bf57f6786";
|
|
||||||
export declare const sepoliaOffchainOracleAddress = "0x1f89EAF03E5b260Bc6D4Ae3c3334b1B750F3e127";
|
|
||||||
export declare const multiCallAddress = "0xcA11bde05977b3631167028862bE2a173976CA11";
|
|
||||||
export {};
|
|
||||||
103
lib/config.js
103
lib/config.js
@@ -1,103 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
var _a, _b, _c;
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
|
||||||
exports.multiCallAddress = exports.sepoliaOffchainOracleAddress = exports.offchainOracleAddress = exports.optimismL1FeeOracleAddress = exports.defaultInstanceTokensGasLimit = exports.defaultWithdrawalGasLimit = exports.defaultGasPrices = exports.InstanceTokenSymbol = exports.ChainId = void 0;
|
|
||||||
var ChainId;
|
|
||||||
(function (ChainId) {
|
|
||||||
ChainId[ChainId["MAINNET"] = 1] = "MAINNET";
|
|
||||||
ChainId[ChainId["GOERLI"] = 5] = "GOERLI";
|
|
||||||
ChainId[ChainId["BSC"] = 56] = "BSC";
|
|
||||||
ChainId[ChainId["XDAI"] = 100] = "XDAI";
|
|
||||||
ChainId[ChainId["POLYGON"] = 137] = "POLYGON";
|
|
||||||
ChainId[ChainId["OPTIMISM"] = 10] = "OPTIMISM";
|
|
||||||
ChainId[ChainId["ARBITRUM"] = 42161] = "ARBITRUM";
|
|
||||||
ChainId[ChainId["AVAX"] = 43114] = "AVAX";
|
|
||||||
ChainId[ChainId["SEPOLIA"] = 11155111] = "SEPOLIA";
|
|
||||||
})(ChainId || (exports.ChainId = ChainId = {}));
|
|
||||||
var InstanceTokenSymbol;
|
|
||||||
(function (InstanceTokenSymbol) {
|
|
||||||
InstanceTokenSymbol["DAI"] = "dai";
|
|
||||||
InstanceTokenSymbol["cDAI"] = "cdai";
|
|
||||||
InstanceTokenSymbol["WBTC"] = "wbtc";
|
|
||||||
InstanceTokenSymbol["USDT"] = "usdt";
|
|
||||||
InstanceTokenSymbol["USDC"] = "usdc";
|
|
||||||
})(InstanceTokenSymbol || (exports.InstanceTokenSymbol = InstanceTokenSymbol = {}));
|
|
||||||
exports.defaultGasPrices = (_a = {},
|
|
||||||
_a[ChainId.MAINNET] = {
|
|
||||||
instant: 80,
|
|
||||||
fast: 50,
|
|
||||||
standard: 25,
|
|
||||||
low: 8,
|
|
||||||
},
|
|
||||||
_a[ChainId.GOERLI] = {
|
|
||||||
instant: 80,
|
|
||||||
fast: 50,
|
|
||||||
standard: 25,
|
|
||||||
low: 8,
|
|
||||||
},
|
|
||||||
_a[ChainId.OPTIMISM] = {
|
|
||||||
instant: 0.001,
|
|
||||||
fast: 0.001,
|
|
||||||
standard: 0.001,
|
|
||||||
low: 0.001,
|
|
||||||
},
|
|
||||||
_a[ChainId.XDAI] = {
|
|
||||||
instant: 6,
|
|
||||||
fast: 5,
|
|
||||||
standard: 4,
|
|
||||||
low: 1,
|
|
||||||
},
|
|
||||||
_a[ChainId.BSC] = {
|
|
||||||
instant: 5,
|
|
||||||
fast: 4,
|
|
||||||
standard: 3,
|
|
||||||
low: 3,
|
|
||||||
},
|
|
||||||
_a[ChainId.POLYGON] = {
|
|
||||||
instant: 100,
|
|
||||||
fast: 75,
|
|
||||||
standard: 50,
|
|
||||||
low: 30,
|
|
||||||
},
|
|
||||||
_a[ChainId.ARBITRUM] = {
|
|
||||||
instant: 4,
|
|
||||||
fast: 3,
|
|
||||||
standard: 2.52,
|
|
||||||
low: 2.29,
|
|
||||||
},
|
|
||||||
_a[ChainId.AVAX] = {
|
|
||||||
instant: 225,
|
|
||||||
fast: 35,
|
|
||||||
standard: 25,
|
|
||||||
low: 25,
|
|
||||||
},
|
|
||||||
_a[ChainId.SEPOLIA] = {
|
|
||||||
instant: 80,
|
|
||||||
fast: 50,
|
|
||||||
standard: 25,
|
|
||||||
low: 8,
|
|
||||||
},
|
|
||||||
_a);
|
|
||||||
exports.defaultWithdrawalGasLimit = (_b = {},
|
|
||||||
_b[ChainId.MAINNET] = 550000,
|
|
||||||
_b[ChainId.GOERLI] = 550000,
|
|
||||||
_b[ChainId.ARBITRUM] = 1900000,
|
|
||||||
_b[ChainId.OPTIMISM] = 440000,
|
|
||||||
_b[ChainId.AVAX] = 390000,
|
|
||||||
_b[ChainId.BSC] = 390000,
|
|
||||||
_b[ChainId.POLYGON] = 390000,
|
|
||||||
_b[ChainId.XDAI] = 390000,
|
|
||||||
_b[ChainId.SEPOLIA] = 550000,
|
|
||||||
_b);
|
|
||||||
exports.defaultInstanceTokensGasLimit = (_c = {},
|
|
||||||
_c[InstanceTokenSymbol.DAI] = 55000,
|
|
||||||
_c[InstanceTokenSymbol.cDAI] = 425000,
|
|
||||||
_c[InstanceTokenSymbol.WBTC] = 85000,
|
|
||||||
_c[InstanceTokenSymbol.USDT] = 100000,
|
|
||||||
_c[InstanceTokenSymbol.USDC] = 80000,
|
|
||||||
_c);
|
|
||||||
exports.optimismL1FeeOracleAddress = '0x420000000000000000000000000000000000000F';
|
|
||||||
exports.offchainOracleAddress = '0x00000000000D6FFc74A8feb35aF5827bf57f6786';
|
|
||||||
exports.sepoliaOffchainOracleAddress = '0x1f89EAF03E5b260Bc6D4Ae3c3334b1B750F3e127';
|
|
||||||
exports.multiCallAddress = '0xcA11bde05977b3631167028862bE2a173976CA11';
|
|
||||||
//# sourceMappingURL=config.js.map
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
||||||
14
lib/constants.d.ts
vendored
Normal file
14
lib/constants.d.ts
vendored
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
export declare enum ChainId {
|
||||||
|
MAINNET = 1,
|
||||||
|
BSC = 56,
|
||||||
|
XDAI = 100,
|
||||||
|
POLYGON = 137,
|
||||||
|
OPTIMISM = 10,
|
||||||
|
ARBITRUM = 42161,
|
||||||
|
AVAX = 43114,
|
||||||
|
SEPOLIA = 11155111
|
||||||
|
}
|
||||||
|
export type ChainIdType = ChainId | number;
|
||||||
|
export declare const ENS_CHAINS: ChainId[];
|
||||||
|
export declare const multiCallAddress = "0xcA11bde05977b3631167028862bE2a173976CA11";
|
||||||
|
export declare const POLYGON_GAS_STATION = "https://gasstation.polygon.technology/v2";
|
||||||
18
lib/constants.js
Normal file
18
lib/constants.js
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
"use strict";
|
||||||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.POLYGON_GAS_STATION = exports.multiCallAddress = exports.ENS_CHAINS = exports.ChainId = void 0;
|
||||||
|
var ChainId;
|
||||||
|
(function (ChainId) {
|
||||||
|
ChainId[ChainId["MAINNET"] = 1] = "MAINNET";
|
||||||
|
ChainId[ChainId["BSC"] = 56] = "BSC";
|
||||||
|
ChainId[ChainId["XDAI"] = 100] = "XDAI";
|
||||||
|
ChainId[ChainId["POLYGON"] = 137] = "POLYGON";
|
||||||
|
ChainId[ChainId["OPTIMISM"] = 10] = "OPTIMISM";
|
||||||
|
ChainId[ChainId["ARBITRUM"] = 42161] = "ARBITRUM";
|
||||||
|
ChainId[ChainId["AVAX"] = 43114] = "AVAX";
|
||||||
|
ChainId[ChainId["SEPOLIA"] = 11155111] = "SEPOLIA";
|
||||||
|
})(ChainId || (exports.ChainId = ChainId = {}));
|
||||||
|
exports.ENS_CHAINS = [ChainId.MAINNET, ChainId.SEPOLIA];
|
||||||
|
exports.multiCallAddress = '0xcA11bde05977b3631167028862bE2a173976CA11';
|
||||||
|
exports.POLYGON_GAS_STATION = 'https://gasstation.polygon.technology/v2';
|
||||||
|
//# sourceMappingURL=constants.js.map
|
||||||
1
lib/constants.js.map
Normal file
1
lib/constants.js.map
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,OASX;AATD,WAAY,OAAO;IACjB,2CAAW,CAAA;IACX,oCAAQ,CAAA;IACR,uCAAU,CAAA;IACV,6CAAa,CAAA;IACb,8CAAa,CAAA;IACb,iDAAgB,CAAA;IAChB,yCAAY,CAAA;IACZ,kDAAkB,CAAA;AACpB,CAAC,EATW,OAAO,uBAAP,OAAO,QASlB;AAIY,QAAA,UAAU,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AAEhD,QAAA,gBAAgB,GAAG,4CAA4C,CAAC;AAEhE,QAAA,mBAAmB,GAAG,0CAA0C,CAAC"}
|
||||||
101
lib/contracts/GasPriceOracle.d.ts
vendored
Normal file
101
lib/contracts/GasPriceOracle.d.ts
vendored
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers";
|
||||||
|
import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "./common";
|
||||||
|
export interface GasPriceOracleInterface extends Interface {
|
||||||
|
getFunction(nameOrSignature: "GAS_UNIT" | "changeDerivationThresold" | "changeGasUnit" | "changeHeartbeat" | "changeOwnership" | "derivationThresold" | "gasPrice" | "heartbeat" | "maxFeePerGas" | "maxPriorityFeePerGas" | "owner" | "pastGasPrice" | "setGasPrice" | "timestamp"): FunctionFragment;
|
||||||
|
encodeFunctionData(functionFragment: "GAS_UNIT", values?: undefined): string;
|
||||||
|
encodeFunctionData(functionFragment: "changeDerivationThresold", values: [BigNumberish]): string;
|
||||||
|
encodeFunctionData(functionFragment: "changeGasUnit", values: [BigNumberish]): string;
|
||||||
|
encodeFunctionData(functionFragment: "changeHeartbeat", values: [BigNumberish]): string;
|
||||||
|
encodeFunctionData(functionFragment: "changeOwnership", values: [AddressLike]): string;
|
||||||
|
encodeFunctionData(functionFragment: "derivationThresold", values?: undefined): string;
|
||||||
|
encodeFunctionData(functionFragment: "gasPrice", values?: undefined): string;
|
||||||
|
encodeFunctionData(functionFragment: "heartbeat", values?: undefined): string;
|
||||||
|
encodeFunctionData(functionFragment: "maxFeePerGas", values?: undefined): string;
|
||||||
|
encodeFunctionData(functionFragment: "maxPriorityFeePerGas", values?: undefined): string;
|
||||||
|
encodeFunctionData(functionFragment: "owner", values?: undefined): string;
|
||||||
|
encodeFunctionData(functionFragment: "pastGasPrice", values?: undefined): string;
|
||||||
|
encodeFunctionData(functionFragment: "setGasPrice", values: [BigNumberish]): string;
|
||||||
|
encodeFunctionData(functionFragment: "timestamp", values?: undefined): string;
|
||||||
|
decodeFunctionResult(functionFragment: "GAS_UNIT", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "changeDerivationThresold", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "changeGasUnit", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "changeHeartbeat", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "changeOwnership", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "derivationThresold", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "gasPrice", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "heartbeat", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "maxFeePerGas", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "maxPriorityFeePerGas", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "pastGasPrice", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "setGasPrice", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "timestamp", data: BytesLike): Result;
|
||||||
|
}
|
||||||
|
export interface GasPriceOracle extends BaseContract {
|
||||||
|
connect(runner?: ContractRunner | null): GasPriceOracle;
|
||||||
|
waitForDeployment(): Promise<this>;
|
||||||
|
interface: GasPriceOracleInterface;
|
||||||
|
queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
|
||||||
|
queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
|
||||||
|
on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
|
||||||
|
on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
|
||||||
|
once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
|
||||||
|
once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
|
||||||
|
listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>;
|
||||||
|
listeners(eventName?: string): Promise<Array<Listener>>;
|
||||||
|
removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>;
|
||||||
|
GAS_UNIT: TypedContractMethod<[], [bigint], "view">;
|
||||||
|
changeDerivationThresold: TypedContractMethod<[
|
||||||
|
_derivationThresold: BigNumberish
|
||||||
|
], [
|
||||||
|
void
|
||||||
|
], "nonpayable">;
|
||||||
|
changeGasUnit: TypedContractMethod<[
|
||||||
|
_gasUnit: BigNumberish
|
||||||
|
], [
|
||||||
|
void
|
||||||
|
], "nonpayable">;
|
||||||
|
changeHeartbeat: TypedContractMethod<[
|
||||||
|
_heartbeat: BigNumberish
|
||||||
|
], [
|
||||||
|
void
|
||||||
|
], "nonpayable">;
|
||||||
|
changeOwnership: TypedContractMethod<[
|
||||||
|
_owner: AddressLike
|
||||||
|
], [
|
||||||
|
void
|
||||||
|
], "nonpayable">;
|
||||||
|
derivationThresold: TypedContractMethod<[], [bigint], "view">;
|
||||||
|
gasPrice: TypedContractMethod<[], [bigint], "view">;
|
||||||
|
heartbeat: TypedContractMethod<[], [bigint], "view">;
|
||||||
|
maxFeePerGas: TypedContractMethod<[], [bigint], "view">;
|
||||||
|
maxPriorityFeePerGas: TypedContractMethod<[], [bigint], "view">;
|
||||||
|
owner: TypedContractMethod<[], [string], "view">;
|
||||||
|
pastGasPrice: TypedContractMethod<[], [bigint], "view">;
|
||||||
|
setGasPrice: TypedContractMethod<[
|
||||||
|
_gasPrice: BigNumberish
|
||||||
|
], [
|
||||||
|
void
|
||||||
|
], "nonpayable">;
|
||||||
|
timestamp: TypedContractMethod<[], [bigint], "view">;
|
||||||
|
getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
|
||||||
|
getFunction(nameOrSignature: "GAS_UNIT"): TypedContractMethod<[], [bigint], "view">;
|
||||||
|
getFunction(nameOrSignature: "changeDerivationThresold"): TypedContractMethod<[
|
||||||
|
_derivationThresold: BigNumberish
|
||||||
|
], [
|
||||||
|
void
|
||||||
|
], "nonpayable">;
|
||||||
|
getFunction(nameOrSignature: "changeGasUnit"): TypedContractMethod<[_gasUnit: BigNumberish], [void], "nonpayable">;
|
||||||
|
getFunction(nameOrSignature: "changeHeartbeat"): TypedContractMethod<[_heartbeat: BigNumberish], [void], "nonpayable">;
|
||||||
|
getFunction(nameOrSignature: "changeOwnership"): TypedContractMethod<[_owner: AddressLike], [void], "nonpayable">;
|
||||||
|
getFunction(nameOrSignature: "derivationThresold"): TypedContractMethod<[], [bigint], "view">;
|
||||||
|
getFunction(nameOrSignature: "gasPrice"): TypedContractMethod<[], [bigint], "view">;
|
||||||
|
getFunction(nameOrSignature: "heartbeat"): TypedContractMethod<[], [bigint], "view">;
|
||||||
|
getFunction(nameOrSignature: "maxFeePerGas"): TypedContractMethod<[], [bigint], "view">;
|
||||||
|
getFunction(nameOrSignature: "maxPriorityFeePerGas"): TypedContractMethod<[], [bigint], "view">;
|
||||||
|
getFunction(nameOrSignature: "owner"): TypedContractMethod<[], [string], "view">;
|
||||||
|
getFunction(nameOrSignature: "pastGasPrice"): TypedContractMethod<[], [bigint], "view">;
|
||||||
|
getFunction(nameOrSignature: "setGasPrice"): TypedContractMethod<[_gasPrice: BigNumberish], [void], "nonpayable">;
|
||||||
|
getFunction(nameOrSignature: "timestamp"): TypedContractMethod<[], [bigint], "view">;
|
||||||
|
filters: {};
|
||||||
|
}
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
//# sourceMappingURL=OffchainOracleAbi.js.map
|
//# sourceMappingURL=GasPriceOracle.js.map
|
||||||
1
lib/contracts/GasPriceOracle.js.map
Normal file
1
lib/contracts/GasPriceOracle.js.map
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"version":3,"file":"GasPriceOracle.js","sourceRoot":"","sources":["../../src/contracts/GasPriceOracle.ts"],"names":[],"mappings":""}
|
||||||
228
lib/contracts/Multicall.d.ts
vendored
Normal file
228
lib/contracts/Multicall.d.ts
vendored
Normal file
@@ -0,0 +1,228 @@
|
|||||||
|
import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers";
|
||||||
|
import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "./common";
|
||||||
|
export declare namespace Multicall3 {
|
||||||
|
type CallStruct = {
|
||||||
|
target: AddressLike;
|
||||||
|
callData: BytesLike;
|
||||||
|
};
|
||||||
|
type CallStructOutput = [target: string, callData: string] & {
|
||||||
|
target: string;
|
||||||
|
callData: string;
|
||||||
|
};
|
||||||
|
type Call3Struct = {
|
||||||
|
target: AddressLike;
|
||||||
|
allowFailure: boolean;
|
||||||
|
callData: BytesLike;
|
||||||
|
};
|
||||||
|
type Call3StructOutput = [
|
||||||
|
target: string,
|
||||||
|
allowFailure: boolean,
|
||||||
|
callData: string
|
||||||
|
] & {
|
||||||
|
target: string;
|
||||||
|
allowFailure: boolean;
|
||||||
|
callData: string;
|
||||||
|
};
|
||||||
|
type ResultStruct = {
|
||||||
|
success: boolean;
|
||||||
|
returnData: BytesLike;
|
||||||
|
};
|
||||||
|
type ResultStructOutput = [success: boolean, returnData: string] & {
|
||||||
|
success: boolean;
|
||||||
|
returnData: string;
|
||||||
|
};
|
||||||
|
type Call3ValueStruct = {
|
||||||
|
target: AddressLike;
|
||||||
|
allowFailure: boolean;
|
||||||
|
value: BigNumberish;
|
||||||
|
callData: BytesLike;
|
||||||
|
};
|
||||||
|
type Call3ValueStructOutput = [
|
||||||
|
target: string,
|
||||||
|
allowFailure: boolean,
|
||||||
|
value: bigint,
|
||||||
|
callData: string
|
||||||
|
] & {
|
||||||
|
target: string;
|
||||||
|
allowFailure: boolean;
|
||||||
|
value: bigint;
|
||||||
|
callData: string;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
export interface MulticallInterface extends Interface {
|
||||||
|
getFunction(nameOrSignature: "aggregate" | "aggregate3" | "aggregate3Value" | "blockAndAggregate" | "getBasefee" | "getBlockHash" | "getBlockNumber" | "getChainId" | "getCurrentBlockCoinbase" | "getCurrentBlockDifficulty" | "getCurrentBlockGasLimit" | "getCurrentBlockTimestamp" | "getEthBalance" | "getLastBlockHash" | "tryAggregate" | "tryBlockAndAggregate"): FunctionFragment;
|
||||||
|
encodeFunctionData(functionFragment: "aggregate", values: [Multicall3.CallStruct[]]): string;
|
||||||
|
encodeFunctionData(functionFragment: "aggregate3", values: [Multicall3.Call3Struct[]]): string;
|
||||||
|
encodeFunctionData(functionFragment: "aggregate3Value", values: [Multicall3.Call3ValueStruct[]]): string;
|
||||||
|
encodeFunctionData(functionFragment: "blockAndAggregate", values: [Multicall3.CallStruct[]]): string;
|
||||||
|
encodeFunctionData(functionFragment: "getBasefee", values?: undefined): string;
|
||||||
|
encodeFunctionData(functionFragment: "getBlockHash", values: [BigNumberish]): string;
|
||||||
|
encodeFunctionData(functionFragment: "getBlockNumber", values?: undefined): string;
|
||||||
|
encodeFunctionData(functionFragment: "getChainId", values?: undefined): string;
|
||||||
|
encodeFunctionData(functionFragment: "getCurrentBlockCoinbase", values?: undefined): string;
|
||||||
|
encodeFunctionData(functionFragment: "getCurrentBlockDifficulty", values?: undefined): string;
|
||||||
|
encodeFunctionData(functionFragment: "getCurrentBlockGasLimit", values?: undefined): string;
|
||||||
|
encodeFunctionData(functionFragment: "getCurrentBlockTimestamp", values?: undefined): string;
|
||||||
|
encodeFunctionData(functionFragment: "getEthBalance", values: [AddressLike]): string;
|
||||||
|
encodeFunctionData(functionFragment: "getLastBlockHash", values?: undefined): string;
|
||||||
|
encodeFunctionData(functionFragment: "tryAggregate", values: [boolean, Multicall3.CallStruct[]]): string;
|
||||||
|
encodeFunctionData(functionFragment: "tryBlockAndAggregate", values: [boolean, Multicall3.CallStruct[]]): string;
|
||||||
|
decodeFunctionResult(functionFragment: "aggregate", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "aggregate3", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "aggregate3Value", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "blockAndAggregate", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "getBasefee", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "getBlockHash", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "getBlockNumber", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "getChainId", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "getCurrentBlockCoinbase", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "getCurrentBlockDifficulty", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "getCurrentBlockGasLimit", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "getCurrentBlockTimestamp", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "getEthBalance", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "getLastBlockHash", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "tryAggregate", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "tryBlockAndAggregate", data: BytesLike): Result;
|
||||||
|
}
|
||||||
|
export interface Multicall extends BaseContract {
|
||||||
|
connect(runner?: ContractRunner | null): Multicall;
|
||||||
|
waitForDeployment(): Promise<this>;
|
||||||
|
interface: MulticallInterface;
|
||||||
|
queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
|
||||||
|
queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
|
||||||
|
on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
|
||||||
|
on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
|
||||||
|
once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
|
||||||
|
once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
|
||||||
|
listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>;
|
||||||
|
listeners(eventName?: string): Promise<Array<Listener>>;
|
||||||
|
removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>;
|
||||||
|
aggregate: TypedContractMethod<[
|
||||||
|
calls: Multicall3.CallStruct[]
|
||||||
|
], [
|
||||||
|
[bigint, string[]] & {
|
||||||
|
blockNumber: bigint;
|
||||||
|
returnData: string[];
|
||||||
|
}
|
||||||
|
], "payable">;
|
||||||
|
aggregate3: TypedContractMethod<[
|
||||||
|
calls: Multicall3.Call3Struct[]
|
||||||
|
], [
|
||||||
|
Multicall3.ResultStructOutput[]
|
||||||
|
], "payable">;
|
||||||
|
aggregate3Value: TypedContractMethod<[
|
||||||
|
calls: Multicall3.Call3ValueStruct[]
|
||||||
|
], [
|
||||||
|
Multicall3.ResultStructOutput[]
|
||||||
|
], "payable">;
|
||||||
|
blockAndAggregate: TypedContractMethod<[
|
||||||
|
calls: Multicall3.CallStruct[]
|
||||||
|
], [
|
||||||
|
[
|
||||||
|
bigint,
|
||||||
|
string,
|
||||||
|
Multicall3.ResultStructOutput[]
|
||||||
|
] & {
|
||||||
|
blockNumber: bigint;
|
||||||
|
blockHash: string;
|
||||||
|
returnData: Multicall3.ResultStructOutput[];
|
||||||
|
}
|
||||||
|
], "payable">;
|
||||||
|
getBasefee: TypedContractMethod<[], [bigint], "view">;
|
||||||
|
getBlockHash: TypedContractMethod<[
|
||||||
|
blockNumber: BigNumberish
|
||||||
|
], [
|
||||||
|
string
|
||||||
|
], "view">;
|
||||||
|
getBlockNumber: TypedContractMethod<[], [bigint], "view">;
|
||||||
|
getChainId: TypedContractMethod<[], [bigint], "view">;
|
||||||
|
getCurrentBlockCoinbase: TypedContractMethod<[], [string], "view">;
|
||||||
|
getCurrentBlockDifficulty: TypedContractMethod<[], [bigint], "view">;
|
||||||
|
getCurrentBlockGasLimit: TypedContractMethod<[], [bigint], "view">;
|
||||||
|
getCurrentBlockTimestamp: TypedContractMethod<[], [bigint], "view">;
|
||||||
|
getEthBalance: TypedContractMethod<[addr: AddressLike], [bigint], "view">;
|
||||||
|
getLastBlockHash: TypedContractMethod<[], [string], "view">;
|
||||||
|
tryAggregate: TypedContractMethod<[
|
||||||
|
requireSuccess: boolean,
|
||||||
|
calls: Multicall3.CallStruct[]
|
||||||
|
], [
|
||||||
|
Multicall3.ResultStructOutput[]
|
||||||
|
], "payable">;
|
||||||
|
tryBlockAndAggregate: TypedContractMethod<[
|
||||||
|
requireSuccess: boolean,
|
||||||
|
calls: Multicall3.CallStruct[]
|
||||||
|
], [
|
||||||
|
[
|
||||||
|
bigint,
|
||||||
|
string,
|
||||||
|
Multicall3.ResultStructOutput[]
|
||||||
|
] & {
|
||||||
|
blockNumber: bigint;
|
||||||
|
blockHash: string;
|
||||||
|
returnData: Multicall3.ResultStructOutput[];
|
||||||
|
}
|
||||||
|
], "payable">;
|
||||||
|
getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
|
||||||
|
getFunction(nameOrSignature: "aggregate"): TypedContractMethod<[
|
||||||
|
calls: Multicall3.CallStruct[]
|
||||||
|
], [
|
||||||
|
[bigint, string[]] & {
|
||||||
|
blockNumber: bigint;
|
||||||
|
returnData: string[];
|
||||||
|
}
|
||||||
|
], "payable">;
|
||||||
|
getFunction(nameOrSignature: "aggregate3"): TypedContractMethod<[
|
||||||
|
calls: Multicall3.Call3Struct[]
|
||||||
|
], [
|
||||||
|
Multicall3.ResultStructOutput[]
|
||||||
|
], "payable">;
|
||||||
|
getFunction(nameOrSignature: "aggregate3Value"): TypedContractMethod<[
|
||||||
|
calls: Multicall3.Call3ValueStruct[]
|
||||||
|
], [
|
||||||
|
Multicall3.ResultStructOutput[]
|
||||||
|
], "payable">;
|
||||||
|
getFunction(nameOrSignature: "blockAndAggregate"): TypedContractMethod<[
|
||||||
|
calls: Multicall3.CallStruct[]
|
||||||
|
], [
|
||||||
|
[
|
||||||
|
bigint,
|
||||||
|
string,
|
||||||
|
Multicall3.ResultStructOutput[]
|
||||||
|
] & {
|
||||||
|
blockNumber: bigint;
|
||||||
|
blockHash: string;
|
||||||
|
returnData: Multicall3.ResultStructOutput[];
|
||||||
|
}
|
||||||
|
], "payable">;
|
||||||
|
getFunction(nameOrSignature: "getBasefee"): TypedContractMethod<[], [bigint], "view">;
|
||||||
|
getFunction(nameOrSignature: "getBlockHash"): TypedContractMethod<[blockNumber: BigNumberish], [string], "view">;
|
||||||
|
getFunction(nameOrSignature: "getBlockNumber"): TypedContractMethod<[], [bigint], "view">;
|
||||||
|
getFunction(nameOrSignature: "getChainId"): TypedContractMethod<[], [bigint], "view">;
|
||||||
|
getFunction(nameOrSignature: "getCurrentBlockCoinbase"): TypedContractMethod<[], [string], "view">;
|
||||||
|
getFunction(nameOrSignature: "getCurrentBlockDifficulty"): TypedContractMethod<[], [bigint], "view">;
|
||||||
|
getFunction(nameOrSignature: "getCurrentBlockGasLimit"): TypedContractMethod<[], [bigint], "view">;
|
||||||
|
getFunction(nameOrSignature: "getCurrentBlockTimestamp"): TypedContractMethod<[], [bigint], "view">;
|
||||||
|
getFunction(nameOrSignature: "getEthBalance"): TypedContractMethod<[addr: AddressLike], [bigint], "view">;
|
||||||
|
getFunction(nameOrSignature: "getLastBlockHash"): TypedContractMethod<[], [string], "view">;
|
||||||
|
getFunction(nameOrSignature: "tryAggregate"): TypedContractMethod<[
|
||||||
|
requireSuccess: boolean,
|
||||||
|
calls: Multicall3.CallStruct[]
|
||||||
|
], [
|
||||||
|
Multicall3.ResultStructOutput[]
|
||||||
|
], "payable">;
|
||||||
|
getFunction(nameOrSignature: "tryBlockAndAggregate"): TypedContractMethod<[
|
||||||
|
requireSuccess: boolean,
|
||||||
|
calls: Multicall3.CallStruct[]
|
||||||
|
], [
|
||||||
|
[
|
||||||
|
bigint,
|
||||||
|
string,
|
||||||
|
Multicall3.ResultStructOutput[]
|
||||||
|
] & {
|
||||||
|
blockNumber: bigint;
|
||||||
|
blockHash: string;
|
||||||
|
returnData: Multicall3.ResultStructOutput[];
|
||||||
|
}
|
||||||
|
], "payable">;
|
||||||
|
filters: {};
|
||||||
|
}
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
//# sourceMappingURL=MulticallAbi.js.map
|
//# sourceMappingURL=Multicall.js.map
|
||||||
1
lib/contracts/Multicall.js.map
Normal file
1
lib/contracts/Multicall.js.map
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"version":3,"file":"Multicall.js","sourceRoot":"","sources":["../../src/contracts/Multicall.ts"],"names":[],"mappings":""}
|
||||||
289
lib/contracts/MulticallAbi.d.ts
vendored
289
lib/contracts/MulticallAbi.d.ts
vendored
@@ -1,289 +0,0 @@
|
|||||||
import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, PayableOverrides, PopulatedTransaction, Signer, utils } from 'ethers';
|
|
||||||
import type { FunctionFragment, Result } from '@ethersproject/abi';
|
|
||||||
import type { Listener, Provider } from '@ethersproject/providers';
|
|
||||||
import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from './common';
|
|
||||||
export declare namespace Multicall3 {
|
|
||||||
type CallStruct = {
|
|
||||||
target: string;
|
|
||||||
callData: BytesLike;
|
|
||||||
};
|
|
||||||
type CallStructOutput = [string, string] & {
|
|
||||||
target: string;
|
|
||||||
callData: string;
|
|
||||||
};
|
|
||||||
type Call3Struct = {
|
|
||||||
target: string;
|
|
||||||
allowFailure: boolean;
|
|
||||||
callData: BytesLike;
|
|
||||||
};
|
|
||||||
type Call3StructOutput = [string, boolean, string] & {
|
|
||||||
target: string;
|
|
||||||
allowFailure: boolean;
|
|
||||||
callData: string;
|
|
||||||
};
|
|
||||||
type ResultStruct = {
|
|
||||||
success: boolean;
|
|
||||||
returnData: BytesLike;
|
|
||||||
};
|
|
||||||
type ResultStructOutput = [boolean, string] & {
|
|
||||||
success: boolean;
|
|
||||||
returnData: string;
|
|
||||||
};
|
|
||||||
type Call3ValueStruct = {
|
|
||||||
target: string;
|
|
||||||
allowFailure: boolean;
|
|
||||||
value: BigNumberish;
|
|
||||||
callData: BytesLike;
|
|
||||||
};
|
|
||||||
type Call3ValueStructOutput = [string, boolean, BigNumber, string] & {
|
|
||||||
target: string;
|
|
||||||
allowFailure: boolean;
|
|
||||||
value: BigNumber;
|
|
||||||
callData: string;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
export interface MulticallAbiInterface extends utils.Interface {
|
|
||||||
functions: {
|
|
||||||
'aggregate((address,bytes)[])': FunctionFragment;
|
|
||||||
'aggregate3((address,bool,bytes)[])': FunctionFragment;
|
|
||||||
'aggregate3Value((address,bool,uint256,bytes)[])': FunctionFragment;
|
|
||||||
'blockAndAggregate((address,bytes)[])': FunctionFragment;
|
|
||||||
'getBasefee()': FunctionFragment;
|
|
||||||
'getBlockHash(uint256)': FunctionFragment;
|
|
||||||
'getBlockNumber()': FunctionFragment;
|
|
||||||
'getChainId()': FunctionFragment;
|
|
||||||
'getCurrentBlockCoinbase()': FunctionFragment;
|
|
||||||
'getCurrentBlockDifficulty()': FunctionFragment;
|
|
||||||
'getCurrentBlockGasLimit()': FunctionFragment;
|
|
||||||
'getCurrentBlockTimestamp()': FunctionFragment;
|
|
||||||
'getEthBalance(address)': FunctionFragment;
|
|
||||||
'getLastBlockHash()': FunctionFragment;
|
|
||||||
'tryAggregate(bool,(address,bytes)[])': FunctionFragment;
|
|
||||||
'tryBlockAndAggregate(bool,(address,bytes)[])': FunctionFragment;
|
|
||||||
};
|
|
||||||
getFunction(nameOrSignatureOrTopic: 'aggregate' | 'aggregate3' | 'aggregate3Value' | 'blockAndAggregate' | 'getBasefee' | 'getBlockHash' | 'getBlockNumber' | 'getChainId' | 'getCurrentBlockCoinbase' | 'getCurrentBlockDifficulty' | 'getCurrentBlockGasLimit' | 'getCurrentBlockTimestamp' | 'getEthBalance' | 'getLastBlockHash' | 'tryAggregate' | 'tryBlockAndAggregate'): FunctionFragment;
|
|
||||||
encodeFunctionData(functionFragment: 'aggregate', values: [Multicall3.CallStruct[]]): string;
|
|
||||||
encodeFunctionData(functionFragment: 'aggregate3', values: [Multicall3.Call3Struct[]]): string;
|
|
||||||
encodeFunctionData(functionFragment: 'aggregate3Value', values: [Multicall3.Call3ValueStruct[]]): string;
|
|
||||||
encodeFunctionData(functionFragment: 'blockAndAggregate', values: [Multicall3.CallStruct[]]): string;
|
|
||||||
encodeFunctionData(functionFragment: 'getBasefee', values?: undefined): string;
|
|
||||||
encodeFunctionData(functionFragment: 'getBlockHash', values: [BigNumberish]): string;
|
|
||||||
encodeFunctionData(functionFragment: 'getBlockNumber', values?: undefined): string;
|
|
||||||
encodeFunctionData(functionFragment: 'getChainId', values?: undefined): string;
|
|
||||||
encodeFunctionData(functionFragment: 'getCurrentBlockCoinbase', values?: undefined): string;
|
|
||||||
encodeFunctionData(functionFragment: 'getCurrentBlockDifficulty', values?: undefined): string;
|
|
||||||
encodeFunctionData(functionFragment: 'getCurrentBlockGasLimit', values?: undefined): string;
|
|
||||||
encodeFunctionData(functionFragment: 'getCurrentBlockTimestamp', values?: undefined): string;
|
|
||||||
encodeFunctionData(functionFragment: 'getEthBalance', values: [string]): string;
|
|
||||||
encodeFunctionData(functionFragment: 'getLastBlockHash', values?: undefined): string;
|
|
||||||
encodeFunctionData(functionFragment: 'tryAggregate', values: [boolean, Multicall3.CallStruct[]]): string;
|
|
||||||
encodeFunctionData(functionFragment: 'tryBlockAndAggregate', values: [boolean, Multicall3.CallStruct[]]): string;
|
|
||||||
decodeFunctionResult(functionFragment: 'aggregate', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'aggregate3', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'aggregate3Value', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'blockAndAggregate', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'getBasefee', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'getBlockHash', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'getBlockNumber', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'getChainId', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'getCurrentBlockCoinbase', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'getCurrentBlockDifficulty', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'getCurrentBlockGasLimit', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'getCurrentBlockTimestamp', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'getEthBalance', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'getLastBlockHash', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'tryAggregate', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'tryBlockAndAggregate', data: BytesLike): Result;
|
|
||||||
events: {};
|
|
||||||
}
|
|
||||||
export interface MulticallAbi extends BaseContract {
|
|
||||||
connect(signerOrProvider: Signer | Provider | string): this;
|
|
||||||
attach(addressOrName: string): this;
|
|
||||||
deployed(): Promise<this>;
|
|
||||||
interface: MulticallAbiInterface;
|
|
||||||
queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
|
|
||||||
listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
|
|
||||||
listeners(eventName?: string): Array<Listener>;
|
|
||||||
removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
|
|
||||||
removeAllListeners(eventName?: string): this;
|
|
||||||
off: OnEvent<this>;
|
|
||||||
on: OnEvent<this>;
|
|
||||||
once: OnEvent<this>;
|
|
||||||
removeListener: OnEvent<this>;
|
|
||||||
functions: {
|
|
||||||
aggregate(calls: Multicall3.CallStruct[], overrides?: PayableOverrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
aggregate3(calls: Multicall3.Call3Struct[], overrides?: PayableOverrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
aggregate3Value(calls: Multicall3.Call3ValueStruct[], overrides?: PayableOverrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
blockAndAggregate(calls: Multicall3.CallStruct[], overrides?: PayableOverrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
getBasefee(overrides?: CallOverrides): Promise<[BigNumber] & {
|
|
||||||
basefee: BigNumber;
|
|
||||||
}>;
|
|
||||||
getBlockHash(blockNumber: BigNumberish, overrides?: CallOverrides): Promise<[string] & {
|
|
||||||
blockHash: string;
|
|
||||||
}>;
|
|
||||||
getBlockNumber(overrides?: CallOverrides): Promise<[BigNumber] & {
|
|
||||||
blockNumber: BigNumber;
|
|
||||||
}>;
|
|
||||||
getChainId(overrides?: CallOverrides): Promise<[BigNumber] & {
|
|
||||||
chainid: BigNumber;
|
|
||||||
}>;
|
|
||||||
getCurrentBlockCoinbase(overrides?: CallOverrides): Promise<[string] & {
|
|
||||||
coinbase: string;
|
|
||||||
}>;
|
|
||||||
getCurrentBlockDifficulty(overrides?: CallOverrides): Promise<[BigNumber] & {
|
|
||||||
difficulty: BigNumber;
|
|
||||||
}>;
|
|
||||||
getCurrentBlockGasLimit(overrides?: CallOverrides): Promise<[BigNumber] & {
|
|
||||||
gaslimit: BigNumber;
|
|
||||||
}>;
|
|
||||||
getCurrentBlockTimestamp(overrides?: CallOverrides): Promise<[BigNumber] & {
|
|
||||||
timestamp: BigNumber;
|
|
||||||
}>;
|
|
||||||
getEthBalance(addr: string, overrides?: CallOverrides): Promise<[BigNumber] & {
|
|
||||||
balance: BigNumber;
|
|
||||||
}>;
|
|
||||||
getLastBlockHash(overrides?: CallOverrides): Promise<[string] & {
|
|
||||||
blockHash: string;
|
|
||||||
}>;
|
|
||||||
tryAggregate(requireSuccess: boolean, calls: Multicall3.CallStruct[], overrides?: PayableOverrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
tryBlockAndAggregate(requireSuccess: boolean, calls: Multicall3.CallStruct[], overrides?: PayableOverrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
};
|
|
||||||
aggregate(calls: Multicall3.CallStruct[], overrides?: PayableOverrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
aggregate3(calls: Multicall3.Call3Struct[], overrides?: PayableOverrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
aggregate3Value(calls: Multicall3.Call3ValueStruct[], overrides?: PayableOverrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
blockAndAggregate(calls: Multicall3.CallStruct[], overrides?: PayableOverrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
getBasefee(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
getBlockHash(blockNumber: BigNumberish, overrides?: CallOverrides): Promise<string>;
|
|
||||||
getBlockNumber(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
getChainId(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
getCurrentBlockCoinbase(overrides?: CallOverrides): Promise<string>;
|
|
||||||
getCurrentBlockDifficulty(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
getCurrentBlockGasLimit(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
getCurrentBlockTimestamp(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
getEthBalance(addr: string, overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
getLastBlockHash(overrides?: CallOverrides): Promise<string>;
|
|
||||||
tryAggregate(requireSuccess: boolean, calls: Multicall3.CallStruct[], overrides?: PayableOverrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
tryBlockAndAggregate(requireSuccess: boolean, calls: Multicall3.CallStruct[], overrides?: PayableOverrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
callStatic: {
|
|
||||||
aggregate(calls: Multicall3.CallStruct[], overrides?: CallOverrides): Promise<[BigNumber, string[]] & {
|
|
||||||
blockNumber: BigNumber;
|
|
||||||
returnData: string[];
|
|
||||||
}>;
|
|
||||||
aggregate3(calls: Multicall3.Call3Struct[], overrides?: CallOverrides): Promise<Multicall3.ResultStructOutput[]>;
|
|
||||||
aggregate3Value(calls: Multicall3.Call3ValueStruct[], overrides?: CallOverrides): Promise<Multicall3.ResultStructOutput[]>;
|
|
||||||
blockAndAggregate(calls: Multicall3.CallStruct[], overrides?: CallOverrides): Promise<[
|
|
||||||
BigNumber,
|
|
||||||
string,
|
|
||||||
Multicall3.ResultStructOutput[]
|
|
||||||
] & {
|
|
||||||
blockNumber: BigNumber;
|
|
||||||
blockHash: string;
|
|
||||||
returnData: Multicall3.ResultStructOutput[];
|
|
||||||
}>;
|
|
||||||
getBasefee(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
getBlockHash(blockNumber: BigNumberish, overrides?: CallOverrides): Promise<string>;
|
|
||||||
getBlockNumber(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
getChainId(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
getCurrentBlockCoinbase(overrides?: CallOverrides): Promise<string>;
|
|
||||||
getCurrentBlockDifficulty(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
getCurrentBlockGasLimit(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
getCurrentBlockTimestamp(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
getEthBalance(addr: string, overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
getLastBlockHash(overrides?: CallOverrides): Promise<string>;
|
|
||||||
tryAggregate(requireSuccess: boolean, calls: Multicall3.CallStruct[], overrides?: CallOverrides): Promise<Multicall3.ResultStructOutput[]>;
|
|
||||||
tryBlockAndAggregate(requireSuccess: boolean, calls: Multicall3.CallStruct[], overrides?: CallOverrides): Promise<[
|
|
||||||
BigNumber,
|
|
||||||
string,
|
|
||||||
Multicall3.ResultStructOutput[]
|
|
||||||
] & {
|
|
||||||
blockNumber: BigNumber;
|
|
||||||
blockHash: string;
|
|
||||||
returnData: Multicall3.ResultStructOutput[];
|
|
||||||
}>;
|
|
||||||
};
|
|
||||||
filters: {};
|
|
||||||
estimateGas: {
|
|
||||||
aggregate(calls: Multicall3.CallStruct[], overrides?: PayableOverrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<BigNumber>;
|
|
||||||
aggregate3(calls: Multicall3.Call3Struct[], overrides?: PayableOverrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<BigNumber>;
|
|
||||||
aggregate3Value(calls: Multicall3.Call3ValueStruct[], overrides?: PayableOverrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<BigNumber>;
|
|
||||||
blockAndAggregate(calls: Multicall3.CallStruct[], overrides?: PayableOverrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<BigNumber>;
|
|
||||||
getBasefee(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
getBlockHash(blockNumber: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
getBlockNumber(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
getChainId(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
getCurrentBlockCoinbase(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
getCurrentBlockDifficulty(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
getCurrentBlockGasLimit(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
getCurrentBlockTimestamp(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
getEthBalance(addr: string, overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
getLastBlockHash(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
tryAggregate(requireSuccess: boolean, calls: Multicall3.CallStruct[], overrides?: PayableOverrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<BigNumber>;
|
|
||||||
tryBlockAndAggregate(requireSuccess: boolean, calls: Multicall3.CallStruct[], overrides?: PayableOverrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<BigNumber>;
|
|
||||||
};
|
|
||||||
populateTransaction: {
|
|
||||||
aggregate(calls: Multicall3.CallStruct[], overrides?: PayableOverrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<PopulatedTransaction>;
|
|
||||||
aggregate3(calls: Multicall3.Call3Struct[], overrides?: PayableOverrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<PopulatedTransaction>;
|
|
||||||
aggregate3Value(calls: Multicall3.Call3ValueStruct[], overrides?: PayableOverrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<PopulatedTransaction>;
|
|
||||||
blockAndAggregate(calls: Multicall3.CallStruct[], overrides?: PayableOverrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<PopulatedTransaction>;
|
|
||||||
getBasefee(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
||||||
getBlockHash(blockNumber: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
||||||
getBlockNumber(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
||||||
getChainId(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
||||||
getCurrentBlockCoinbase(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
||||||
getCurrentBlockDifficulty(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
||||||
getCurrentBlockGasLimit(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
||||||
getCurrentBlockTimestamp(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
||||||
getEthBalance(addr: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
||||||
getLastBlockHash(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
||||||
tryAggregate(requireSuccess: boolean, calls: Multicall3.CallStruct[], overrides?: PayableOverrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<PopulatedTransaction>;
|
|
||||||
tryBlockAndAggregate(requireSuccess: boolean, calls: Multicall3.CallStruct[], overrides?: PayableOverrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<PopulatedTransaction>;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
{"version":3,"file":"MulticallAbi.js","sourceRoot":"","sources":["../../src/contracts/MulticallAbi.ts"],"names":[],"mappings":""}
|
|
||||||
304
lib/contracts/OffchainOracle.d.ts
vendored
Normal file
304
lib/contracts/OffchainOracle.d.ts
vendored
Normal file
@@ -0,0 +1,304 @@
|
|||||||
|
import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers";
|
||||||
|
import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "./common";
|
||||||
|
export interface OffchainOracleInterface extends Interface {
|
||||||
|
getFunction(nameOrSignature: "addConnector" | "addOracle" | "connectors" | "getRate" | "getRateToEth" | "getRateToEthWithCustomConnectors" | "getRateToEthWithThreshold" | "getRateWithCustomConnectors" | "getRateWithThreshold" | "multiWrapper" | "oracles" | "owner" | "removeConnector" | "removeOracle" | "renounceOwnership" | "setMultiWrapper" | "transferOwnership"): FunctionFragment;
|
||||||
|
getEvent(nameOrSignatureOrTopic: "ConnectorAdded" | "ConnectorRemoved" | "MultiWrapperUpdated" | "OracleAdded" | "OracleRemoved" | "OwnershipTransferred"): EventFragment;
|
||||||
|
encodeFunctionData(functionFragment: "addConnector", values: [AddressLike]): string;
|
||||||
|
encodeFunctionData(functionFragment: "addOracle", values: [AddressLike, BigNumberish]): string;
|
||||||
|
encodeFunctionData(functionFragment: "connectors", values?: undefined): string;
|
||||||
|
encodeFunctionData(functionFragment: "getRate", values: [AddressLike, AddressLike, boolean]): string;
|
||||||
|
encodeFunctionData(functionFragment: "getRateToEth", values: [AddressLike, boolean]): string;
|
||||||
|
encodeFunctionData(functionFragment: "getRateToEthWithCustomConnectors", values: [AddressLike, boolean, AddressLike[], BigNumberish]): string;
|
||||||
|
encodeFunctionData(functionFragment: "getRateToEthWithThreshold", values: [AddressLike, boolean, BigNumberish]): string;
|
||||||
|
encodeFunctionData(functionFragment: "getRateWithCustomConnectors", values: [AddressLike, AddressLike, boolean, AddressLike[], BigNumberish]): string;
|
||||||
|
encodeFunctionData(functionFragment: "getRateWithThreshold", values: [AddressLike, AddressLike, boolean, BigNumberish]): string;
|
||||||
|
encodeFunctionData(functionFragment: "multiWrapper", values?: undefined): string;
|
||||||
|
encodeFunctionData(functionFragment: "oracles", values?: undefined): string;
|
||||||
|
encodeFunctionData(functionFragment: "owner", values?: undefined): string;
|
||||||
|
encodeFunctionData(functionFragment: "removeConnector", values: [AddressLike]): string;
|
||||||
|
encodeFunctionData(functionFragment: "removeOracle", values: [AddressLike, BigNumberish]): string;
|
||||||
|
encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string;
|
||||||
|
encodeFunctionData(functionFragment: "setMultiWrapper", values: [AddressLike]): string;
|
||||||
|
encodeFunctionData(functionFragment: "transferOwnership", values: [AddressLike]): string;
|
||||||
|
decodeFunctionResult(functionFragment: "addConnector", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "addOracle", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "connectors", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "getRate", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "getRateToEth", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "getRateToEthWithCustomConnectors", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "getRateToEthWithThreshold", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "getRateWithCustomConnectors", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "getRateWithThreshold", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "multiWrapper", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "oracles", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "removeConnector", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "removeOracle", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "setMultiWrapper", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result;
|
||||||
|
}
|
||||||
|
export declare namespace ConnectorAddedEvent {
|
||||||
|
type InputTuple = [connector: AddressLike];
|
||||||
|
type OutputTuple = [connector: string];
|
||||||
|
interface OutputObject {
|
||||||
|
connector: string;
|
||||||
|
}
|
||||||
|
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
|
||||||
|
type Filter = TypedDeferredTopicFilter<Event>;
|
||||||
|
type Log = TypedEventLog<Event>;
|
||||||
|
type LogDescription = TypedLogDescription<Event>;
|
||||||
|
}
|
||||||
|
export declare namespace ConnectorRemovedEvent {
|
||||||
|
type InputTuple = [connector: AddressLike];
|
||||||
|
type OutputTuple = [connector: string];
|
||||||
|
interface OutputObject {
|
||||||
|
connector: string;
|
||||||
|
}
|
||||||
|
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
|
||||||
|
type Filter = TypedDeferredTopicFilter<Event>;
|
||||||
|
type Log = TypedEventLog<Event>;
|
||||||
|
type LogDescription = TypedLogDescription<Event>;
|
||||||
|
}
|
||||||
|
export declare namespace MultiWrapperUpdatedEvent {
|
||||||
|
type InputTuple = [multiWrapper: AddressLike];
|
||||||
|
type OutputTuple = [multiWrapper: string];
|
||||||
|
interface OutputObject {
|
||||||
|
multiWrapper: string;
|
||||||
|
}
|
||||||
|
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
|
||||||
|
type Filter = TypedDeferredTopicFilter<Event>;
|
||||||
|
type Log = TypedEventLog<Event>;
|
||||||
|
type LogDescription = TypedLogDescription<Event>;
|
||||||
|
}
|
||||||
|
export declare namespace OracleAddedEvent {
|
||||||
|
type InputTuple = [oracle: AddressLike, oracleType: BigNumberish];
|
||||||
|
type OutputTuple = [oracle: string, oracleType: bigint];
|
||||||
|
interface OutputObject {
|
||||||
|
oracle: string;
|
||||||
|
oracleType: bigint;
|
||||||
|
}
|
||||||
|
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
|
||||||
|
type Filter = TypedDeferredTopicFilter<Event>;
|
||||||
|
type Log = TypedEventLog<Event>;
|
||||||
|
type LogDescription = TypedLogDescription<Event>;
|
||||||
|
}
|
||||||
|
export declare namespace OracleRemovedEvent {
|
||||||
|
type InputTuple = [oracle: AddressLike, oracleType: BigNumberish];
|
||||||
|
type OutputTuple = [oracle: string, oracleType: bigint];
|
||||||
|
interface OutputObject {
|
||||||
|
oracle: string;
|
||||||
|
oracleType: bigint;
|
||||||
|
}
|
||||||
|
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
|
||||||
|
type Filter = TypedDeferredTopicFilter<Event>;
|
||||||
|
type Log = TypedEventLog<Event>;
|
||||||
|
type LogDescription = TypedLogDescription<Event>;
|
||||||
|
}
|
||||||
|
export declare namespace OwnershipTransferredEvent {
|
||||||
|
type InputTuple = [previousOwner: AddressLike, newOwner: AddressLike];
|
||||||
|
type OutputTuple = [previousOwner: string, newOwner: string];
|
||||||
|
interface OutputObject {
|
||||||
|
previousOwner: string;
|
||||||
|
newOwner: string;
|
||||||
|
}
|
||||||
|
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
|
||||||
|
type Filter = TypedDeferredTopicFilter<Event>;
|
||||||
|
type Log = TypedEventLog<Event>;
|
||||||
|
type LogDescription = TypedLogDescription<Event>;
|
||||||
|
}
|
||||||
|
export interface OffchainOracle extends BaseContract {
|
||||||
|
connect(runner?: ContractRunner | null): OffchainOracle;
|
||||||
|
waitForDeployment(): Promise<this>;
|
||||||
|
interface: OffchainOracleInterface;
|
||||||
|
queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
|
||||||
|
queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
|
||||||
|
on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
|
||||||
|
on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
|
||||||
|
once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
|
||||||
|
once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
|
||||||
|
listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>;
|
||||||
|
listeners(eventName?: string): Promise<Array<Listener>>;
|
||||||
|
removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>;
|
||||||
|
addConnector: TypedContractMethod<[
|
||||||
|
connector: AddressLike
|
||||||
|
], [
|
||||||
|
void
|
||||||
|
], "nonpayable">;
|
||||||
|
addOracle: TypedContractMethod<[
|
||||||
|
oracle: AddressLike,
|
||||||
|
oracleKind: BigNumberish
|
||||||
|
], [
|
||||||
|
void
|
||||||
|
], "nonpayable">;
|
||||||
|
connectors: TypedContractMethod<[], [string[]], "view">;
|
||||||
|
getRate: TypedContractMethod<[
|
||||||
|
srcToken: AddressLike,
|
||||||
|
dstToken: AddressLike,
|
||||||
|
useWrappers: boolean
|
||||||
|
], [
|
||||||
|
bigint
|
||||||
|
], "view">;
|
||||||
|
getRateToEth: TypedContractMethod<[
|
||||||
|
srcToken: AddressLike,
|
||||||
|
useSrcWrappers: boolean
|
||||||
|
], [
|
||||||
|
bigint
|
||||||
|
], "view">;
|
||||||
|
getRateToEthWithCustomConnectors: TypedContractMethod<[
|
||||||
|
srcToken: AddressLike,
|
||||||
|
useSrcWrappers: boolean,
|
||||||
|
customConnectors: AddressLike[],
|
||||||
|
thresholdFilter: BigNumberish
|
||||||
|
], [
|
||||||
|
bigint
|
||||||
|
], "view">;
|
||||||
|
getRateToEthWithThreshold: TypedContractMethod<[
|
||||||
|
srcToken: AddressLike,
|
||||||
|
useSrcWrappers: boolean,
|
||||||
|
thresholdFilter: BigNumberish
|
||||||
|
], [
|
||||||
|
bigint
|
||||||
|
], "view">;
|
||||||
|
getRateWithCustomConnectors: TypedContractMethod<[
|
||||||
|
srcToken: AddressLike,
|
||||||
|
dstToken: AddressLike,
|
||||||
|
useWrappers: boolean,
|
||||||
|
customConnectors: AddressLike[],
|
||||||
|
thresholdFilter: BigNumberish
|
||||||
|
], [
|
||||||
|
bigint
|
||||||
|
], "view">;
|
||||||
|
getRateWithThreshold: TypedContractMethod<[
|
||||||
|
srcToken: AddressLike,
|
||||||
|
dstToken: AddressLike,
|
||||||
|
useWrappers: boolean,
|
||||||
|
thresholdFilter: BigNumberish
|
||||||
|
], [
|
||||||
|
bigint
|
||||||
|
], "view">;
|
||||||
|
multiWrapper: TypedContractMethod<[], [string], "view">;
|
||||||
|
oracles: TypedContractMethod<[
|
||||||
|
], [
|
||||||
|
[string[], bigint[]] & {
|
||||||
|
allOracles: string[];
|
||||||
|
oracleTypes: bigint[];
|
||||||
|
}
|
||||||
|
], "view">;
|
||||||
|
owner: TypedContractMethod<[], [string], "view">;
|
||||||
|
removeConnector: TypedContractMethod<[
|
||||||
|
connector: AddressLike
|
||||||
|
], [
|
||||||
|
void
|
||||||
|
], "nonpayable">;
|
||||||
|
removeOracle: TypedContractMethod<[
|
||||||
|
oracle: AddressLike,
|
||||||
|
oracleKind: BigNumberish
|
||||||
|
], [
|
||||||
|
void
|
||||||
|
], "nonpayable">;
|
||||||
|
renounceOwnership: TypedContractMethod<[], [void], "nonpayable">;
|
||||||
|
setMultiWrapper: TypedContractMethod<[
|
||||||
|
_multiWrapper: AddressLike
|
||||||
|
], [
|
||||||
|
void
|
||||||
|
], "nonpayable">;
|
||||||
|
transferOwnership: TypedContractMethod<[
|
||||||
|
newOwner: AddressLike
|
||||||
|
], [
|
||||||
|
void
|
||||||
|
], "nonpayable">;
|
||||||
|
getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
|
||||||
|
getFunction(nameOrSignature: "addConnector"): TypedContractMethod<[connector: AddressLike], [void], "nonpayable">;
|
||||||
|
getFunction(nameOrSignature: "addOracle"): TypedContractMethod<[
|
||||||
|
oracle: AddressLike,
|
||||||
|
oracleKind: BigNumberish
|
||||||
|
], [
|
||||||
|
void
|
||||||
|
], "nonpayable">;
|
||||||
|
getFunction(nameOrSignature: "connectors"): TypedContractMethod<[], [string[]], "view">;
|
||||||
|
getFunction(nameOrSignature: "getRate"): TypedContractMethod<[
|
||||||
|
srcToken: AddressLike,
|
||||||
|
dstToken: AddressLike,
|
||||||
|
useWrappers: boolean
|
||||||
|
], [
|
||||||
|
bigint
|
||||||
|
], "view">;
|
||||||
|
getFunction(nameOrSignature: "getRateToEth"): TypedContractMethod<[
|
||||||
|
srcToken: AddressLike,
|
||||||
|
useSrcWrappers: boolean
|
||||||
|
], [
|
||||||
|
bigint
|
||||||
|
], "view">;
|
||||||
|
getFunction(nameOrSignature: "getRateToEthWithCustomConnectors"): TypedContractMethod<[
|
||||||
|
srcToken: AddressLike,
|
||||||
|
useSrcWrappers: boolean,
|
||||||
|
customConnectors: AddressLike[],
|
||||||
|
thresholdFilter: BigNumberish
|
||||||
|
], [
|
||||||
|
bigint
|
||||||
|
], "view">;
|
||||||
|
getFunction(nameOrSignature: "getRateToEthWithThreshold"): TypedContractMethod<[
|
||||||
|
srcToken: AddressLike,
|
||||||
|
useSrcWrappers: boolean,
|
||||||
|
thresholdFilter: BigNumberish
|
||||||
|
], [
|
||||||
|
bigint
|
||||||
|
], "view">;
|
||||||
|
getFunction(nameOrSignature: "getRateWithCustomConnectors"): TypedContractMethod<[
|
||||||
|
srcToken: AddressLike,
|
||||||
|
dstToken: AddressLike,
|
||||||
|
useWrappers: boolean,
|
||||||
|
customConnectors: AddressLike[],
|
||||||
|
thresholdFilter: BigNumberish
|
||||||
|
], [
|
||||||
|
bigint
|
||||||
|
], "view">;
|
||||||
|
getFunction(nameOrSignature: "getRateWithThreshold"): TypedContractMethod<[
|
||||||
|
srcToken: AddressLike,
|
||||||
|
dstToken: AddressLike,
|
||||||
|
useWrappers: boolean,
|
||||||
|
thresholdFilter: BigNumberish
|
||||||
|
], [
|
||||||
|
bigint
|
||||||
|
], "view">;
|
||||||
|
getFunction(nameOrSignature: "multiWrapper"): TypedContractMethod<[], [string], "view">;
|
||||||
|
getFunction(nameOrSignature: "oracles"): TypedContractMethod<[
|
||||||
|
], [
|
||||||
|
[string[], bigint[]] & {
|
||||||
|
allOracles: string[];
|
||||||
|
oracleTypes: bigint[];
|
||||||
|
}
|
||||||
|
], "view">;
|
||||||
|
getFunction(nameOrSignature: "owner"): TypedContractMethod<[], [string], "view">;
|
||||||
|
getFunction(nameOrSignature: "removeConnector"): TypedContractMethod<[connector: AddressLike], [void], "nonpayable">;
|
||||||
|
getFunction(nameOrSignature: "removeOracle"): TypedContractMethod<[
|
||||||
|
oracle: AddressLike,
|
||||||
|
oracleKind: BigNumberish
|
||||||
|
], [
|
||||||
|
void
|
||||||
|
], "nonpayable">;
|
||||||
|
getFunction(nameOrSignature: "renounceOwnership"): TypedContractMethod<[], [void], "nonpayable">;
|
||||||
|
getFunction(nameOrSignature: "setMultiWrapper"): TypedContractMethod<[_multiWrapper: AddressLike], [void], "nonpayable">;
|
||||||
|
getFunction(nameOrSignature: "transferOwnership"): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">;
|
||||||
|
getEvent(key: "ConnectorAdded"): TypedContractEvent<ConnectorAddedEvent.InputTuple, ConnectorAddedEvent.OutputTuple, ConnectorAddedEvent.OutputObject>;
|
||||||
|
getEvent(key: "ConnectorRemoved"): TypedContractEvent<ConnectorRemovedEvent.InputTuple, ConnectorRemovedEvent.OutputTuple, ConnectorRemovedEvent.OutputObject>;
|
||||||
|
getEvent(key: "MultiWrapperUpdated"): TypedContractEvent<MultiWrapperUpdatedEvent.InputTuple, MultiWrapperUpdatedEvent.OutputTuple, MultiWrapperUpdatedEvent.OutputObject>;
|
||||||
|
getEvent(key: "OracleAdded"): TypedContractEvent<OracleAddedEvent.InputTuple, OracleAddedEvent.OutputTuple, OracleAddedEvent.OutputObject>;
|
||||||
|
getEvent(key: "OracleRemoved"): TypedContractEvent<OracleRemovedEvent.InputTuple, OracleRemovedEvent.OutputTuple, OracleRemovedEvent.OutputObject>;
|
||||||
|
getEvent(key: "OwnershipTransferred"): TypedContractEvent<OwnershipTransferredEvent.InputTuple, OwnershipTransferredEvent.OutputTuple, OwnershipTransferredEvent.OutputObject>;
|
||||||
|
filters: {
|
||||||
|
"ConnectorAdded(address)": TypedContractEvent<ConnectorAddedEvent.InputTuple, ConnectorAddedEvent.OutputTuple, ConnectorAddedEvent.OutputObject>;
|
||||||
|
ConnectorAdded: TypedContractEvent<ConnectorAddedEvent.InputTuple, ConnectorAddedEvent.OutputTuple, ConnectorAddedEvent.OutputObject>;
|
||||||
|
"ConnectorRemoved(address)": TypedContractEvent<ConnectorRemovedEvent.InputTuple, ConnectorRemovedEvent.OutputTuple, ConnectorRemovedEvent.OutputObject>;
|
||||||
|
ConnectorRemoved: TypedContractEvent<ConnectorRemovedEvent.InputTuple, ConnectorRemovedEvent.OutputTuple, ConnectorRemovedEvent.OutputObject>;
|
||||||
|
"MultiWrapperUpdated(address)": TypedContractEvent<MultiWrapperUpdatedEvent.InputTuple, MultiWrapperUpdatedEvent.OutputTuple, MultiWrapperUpdatedEvent.OutputObject>;
|
||||||
|
MultiWrapperUpdated: TypedContractEvent<MultiWrapperUpdatedEvent.InputTuple, MultiWrapperUpdatedEvent.OutputTuple, MultiWrapperUpdatedEvent.OutputObject>;
|
||||||
|
"OracleAdded(address,uint8)": TypedContractEvent<OracleAddedEvent.InputTuple, OracleAddedEvent.OutputTuple, OracleAddedEvent.OutputObject>;
|
||||||
|
OracleAdded: TypedContractEvent<OracleAddedEvent.InputTuple, OracleAddedEvent.OutputTuple, OracleAddedEvent.OutputObject>;
|
||||||
|
"OracleRemoved(address,uint8)": TypedContractEvent<OracleRemovedEvent.InputTuple, OracleRemovedEvent.OutputTuple, OracleRemovedEvent.OutputObject>;
|
||||||
|
OracleRemoved: TypedContractEvent<OracleRemovedEvent.InputTuple, OracleRemovedEvent.OutputTuple, OracleRemovedEvent.OutputObject>;
|
||||||
|
"OwnershipTransferred(address,address)": TypedContractEvent<OwnershipTransferredEvent.InputTuple, OwnershipTransferredEvent.OutputTuple, OwnershipTransferredEvent.OutputObject>;
|
||||||
|
OwnershipTransferred: TypedContractEvent<OwnershipTransferredEvent.InputTuple, OwnershipTransferredEvent.OutputTuple, OwnershipTransferredEvent.OutputObject>;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
//# sourceMappingURL=OptimismL1FeeOracleAbi.js.map
|
//# sourceMappingURL=OffchainOracle.js.map
|
||||||
1
lib/contracts/OffchainOracle.js.map
Normal file
1
lib/contracts/OffchainOracle.js.map
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"version":3,"file":"OffchainOracle.js","sourceRoot":"","sources":["../../src/contracts/OffchainOracle.ts"],"names":[],"mappings":""}
|
||||||
268
lib/contracts/OffchainOracleAbi.d.ts
vendored
268
lib/contracts/OffchainOracleAbi.d.ts
vendored
@@ -1,268 +0,0 @@
|
|||||||
import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from 'ethers';
|
|
||||||
import type { FunctionFragment, Result, EventFragment } from '@ethersproject/abi';
|
|
||||||
import type { Listener, Provider } from '@ethersproject/providers';
|
|
||||||
import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from './common';
|
|
||||||
export interface OffchainOracleAbiInterface extends utils.Interface {
|
|
||||||
functions: {
|
|
||||||
'addConnector(address)': FunctionFragment;
|
|
||||||
'addOracle(address,uint8)': FunctionFragment;
|
|
||||||
'connectors()': FunctionFragment;
|
|
||||||
'getRate(address,address,bool)': FunctionFragment;
|
|
||||||
'getRateToEth(address,bool)': FunctionFragment;
|
|
||||||
'multiWrapper()': FunctionFragment;
|
|
||||||
'oracles()': FunctionFragment;
|
|
||||||
'owner()': FunctionFragment;
|
|
||||||
'removeConnector(address)': FunctionFragment;
|
|
||||||
'removeOracle(address,uint8)': FunctionFragment;
|
|
||||||
'renounceOwnership()': FunctionFragment;
|
|
||||||
'setMultiWrapper(address)': FunctionFragment;
|
|
||||||
'transferOwnership(address)': FunctionFragment;
|
|
||||||
};
|
|
||||||
getFunction(nameOrSignatureOrTopic: 'addConnector' | 'addOracle' | 'connectors' | 'getRate' | 'getRateToEth' | 'multiWrapper' | 'oracles' | 'owner' | 'removeConnector' | 'removeOracle' | 'renounceOwnership' | 'setMultiWrapper' | 'transferOwnership'): FunctionFragment;
|
|
||||||
encodeFunctionData(functionFragment: 'addConnector', values: [string]): string;
|
|
||||||
encodeFunctionData(functionFragment: 'addOracle', values: [string, BigNumberish]): string;
|
|
||||||
encodeFunctionData(functionFragment: 'connectors', values?: undefined): string;
|
|
||||||
encodeFunctionData(functionFragment: 'getRate', values: [string, string, boolean]): string;
|
|
||||||
encodeFunctionData(functionFragment: 'getRateToEth', values: [string, boolean]): string;
|
|
||||||
encodeFunctionData(functionFragment: 'multiWrapper', values?: undefined): string;
|
|
||||||
encodeFunctionData(functionFragment: 'oracles', values?: undefined): string;
|
|
||||||
encodeFunctionData(functionFragment: 'owner', values?: undefined): string;
|
|
||||||
encodeFunctionData(functionFragment: 'removeConnector', values: [string]): string;
|
|
||||||
encodeFunctionData(functionFragment: 'removeOracle', values: [string, BigNumberish]): string;
|
|
||||||
encodeFunctionData(functionFragment: 'renounceOwnership', values?: undefined): string;
|
|
||||||
encodeFunctionData(functionFragment: 'setMultiWrapper', values: [string]): string;
|
|
||||||
encodeFunctionData(functionFragment: 'transferOwnership', values: [string]): string;
|
|
||||||
decodeFunctionResult(functionFragment: 'addConnector', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'addOracle', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'connectors', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'getRate', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'getRateToEth', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'multiWrapper', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'oracles', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'owner', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'removeConnector', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'removeOracle', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'renounceOwnership', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'setMultiWrapper', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'transferOwnership', data: BytesLike): Result;
|
|
||||||
events: {
|
|
||||||
'ConnectorAdded(address)': EventFragment;
|
|
||||||
'ConnectorRemoved(address)': EventFragment;
|
|
||||||
'MultiWrapperUpdated(address)': EventFragment;
|
|
||||||
'OracleAdded(address,uint8)': EventFragment;
|
|
||||||
'OracleRemoved(address,uint8)': EventFragment;
|
|
||||||
'OwnershipTransferred(address,address)': EventFragment;
|
|
||||||
};
|
|
||||||
getEvent(nameOrSignatureOrTopic: 'ConnectorAdded'): EventFragment;
|
|
||||||
getEvent(nameOrSignatureOrTopic: 'ConnectorRemoved'): EventFragment;
|
|
||||||
getEvent(nameOrSignatureOrTopic: 'MultiWrapperUpdated'): EventFragment;
|
|
||||||
getEvent(nameOrSignatureOrTopic: 'OracleAdded'): EventFragment;
|
|
||||||
getEvent(nameOrSignatureOrTopic: 'OracleRemoved'): EventFragment;
|
|
||||||
getEvent(nameOrSignatureOrTopic: 'OwnershipTransferred'): EventFragment;
|
|
||||||
}
|
|
||||||
export interface ConnectorAddedEventObject {
|
|
||||||
connector: string;
|
|
||||||
}
|
|
||||||
export type ConnectorAddedEvent = TypedEvent<[string], ConnectorAddedEventObject>;
|
|
||||||
export type ConnectorAddedEventFilter = TypedEventFilter<ConnectorAddedEvent>;
|
|
||||||
export interface ConnectorRemovedEventObject {
|
|
||||||
connector: string;
|
|
||||||
}
|
|
||||||
export type ConnectorRemovedEvent = TypedEvent<[string], ConnectorRemovedEventObject>;
|
|
||||||
export type ConnectorRemovedEventFilter = TypedEventFilter<ConnectorRemovedEvent>;
|
|
||||||
export interface MultiWrapperUpdatedEventObject {
|
|
||||||
multiWrapper: string;
|
|
||||||
}
|
|
||||||
export type MultiWrapperUpdatedEvent = TypedEvent<[string], MultiWrapperUpdatedEventObject>;
|
|
||||||
export type MultiWrapperUpdatedEventFilter = TypedEventFilter<MultiWrapperUpdatedEvent>;
|
|
||||||
export interface OracleAddedEventObject {
|
|
||||||
oracle: string;
|
|
||||||
oracleType: number;
|
|
||||||
}
|
|
||||||
export type OracleAddedEvent = TypedEvent<[string, number], OracleAddedEventObject>;
|
|
||||||
export type OracleAddedEventFilter = TypedEventFilter<OracleAddedEvent>;
|
|
||||||
export interface OracleRemovedEventObject {
|
|
||||||
oracle: string;
|
|
||||||
oracleType: number;
|
|
||||||
}
|
|
||||||
export type OracleRemovedEvent = TypedEvent<[string, number], OracleRemovedEventObject>;
|
|
||||||
export type OracleRemovedEventFilter = TypedEventFilter<OracleRemovedEvent>;
|
|
||||||
export interface OwnershipTransferredEventObject {
|
|
||||||
previousOwner: string;
|
|
||||||
newOwner: string;
|
|
||||||
}
|
|
||||||
export type OwnershipTransferredEvent = TypedEvent<[string, string], OwnershipTransferredEventObject>;
|
|
||||||
export type OwnershipTransferredEventFilter = TypedEventFilter<OwnershipTransferredEvent>;
|
|
||||||
export interface OffchainOracleAbi extends BaseContract {
|
|
||||||
connect(signerOrProvider: Signer | Provider | string): this;
|
|
||||||
attach(addressOrName: string): this;
|
|
||||||
deployed(): Promise<this>;
|
|
||||||
interface: OffchainOracleAbiInterface;
|
|
||||||
queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
|
|
||||||
listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
|
|
||||||
listeners(eventName?: string): Array<Listener>;
|
|
||||||
removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
|
|
||||||
removeAllListeners(eventName?: string): this;
|
|
||||||
off: OnEvent<this>;
|
|
||||||
on: OnEvent<this>;
|
|
||||||
once: OnEvent<this>;
|
|
||||||
removeListener: OnEvent<this>;
|
|
||||||
functions: {
|
|
||||||
addConnector(connector: string, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
addOracle(oracle: string, oracleKind: BigNumberish, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
connectors(overrides?: CallOverrides): Promise<[string[]] & {
|
|
||||||
allConnectors: string[];
|
|
||||||
}>;
|
|
||||||
getRate(srcToken: string, dstToken: string, useWrappers: boolean, overrides?: CallOverrides): Promise<[BigNumber] & {
|
|
||||||
weightedRate: BigNumber;
|
|
||||||
}>;
|
|
||||||
getRateToEth(srcToken: string, useSrcWrappers: boolean, overrides?: CallOverrides): Promise<[BigNumber] & {
|
|
||||||
weightedRate: BigNumber;
|
|
||||||
}>;
|
|
||||||
multiWrapper(overrides?: CallOverrides): Promise<[string]>;
|
|
||||||
oracles(overrides?: CallOverrides): Promise<[string[], number[]] & {
|
|
||||||
allOracles: string[];
|
|
||||||
oracleTypes: number[];
|
|
||||||
}>;
|
|
||||||
owner(overrides?: CallOverrides): Promise<[string]>;
|
|
||||||
removeConnector(connector: string, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
removeOracle(oracle: string, oracleKind: BigNumberish, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
renounceOwnership(overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
setMultiWrapper(_multiWrapper: string, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
transferOwnership(newOwner: string, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
};
|
|
||||||
addConnector(connector: string, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
addOracle(oracle: string, oracleKind: BigNumberish, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
connectors(overrides?: CallOverrides): Promise<string[]>;
|
|
||||||
getRate(srcToken: string, dstToken: string, useWrappers: boolean, overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
getRateToEth(srcToken: string, useSrcWrappers: boolean, overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
multiWrapper(overrides?: CallOverrides): Promise<string>;
|
|
||||||
oracles(overrides?: CallOverrides): Promise<[string[], number[]] & {
|
|
||||||
allOracles: string[];
|
|
||||||
oracleTypes: number[];
|
|
||||||
}>;
|
|
||||||
owner(overrides?: CallOverrides): Promise<string>;
|
|
||||||
removeConnector(connector: string, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
removeOracle(oracle: string, oracleKind: BigNumberish, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
renounceOwnership(overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
setMultiWrapper(_multiWrapper: string, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
transferOwnership(newOwner: string, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
callStatic: {
|
|
||||||
addConnector(connector: string, overrides?: CallOverrides): Promise<void>;
|
|
||||||
addOracle(oracle: string, oracleKind: BigNumberish, overrides?: CallOverrides): Promise<void>;
|
|
||||||
connectors(overrides?: CallOverrides): Promise<string[]>;
|
|
||||||
getRate(srcToken: string, dstToken: string, useWrappers: boolean, overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
getRateToEth(srcToken: string, useSrcWrappers: boolean, overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
multiWrapper(overrides?: CallOverrides): Promise<string>;
|
|
||||||
oracles(overrides?: CallOverrides): Promise<[string[], number[]] & {
|
|
||||||
allOracles: string[];
|
|
||||||
oracleTypes: number[];
|
|
||||||
}>;
|
|
||||||
owner(overrides?: CallOverrides): Promise<string>;
|
|
||||||
removeConnector(connector: string, overrides?: CallOverrides): Promise<void>;
|
|
||||||
removeOracle(oracle: string, oracleKind: BigNumberish, overrides?: CallOverrides): Promise<void>;
|
|
||||||
renounceOwnership(overrides?: CallOverrides): Promise<void>;
|
|
||||||
setMultiWrapper(_multiWrapper: string, overrides?: CallOverrides): Promise<void>;
|
|
||||||
transferOwnership(newOwner: string, overrides?: CallOverrides): Promise<void>;
|
|
||||||
};
|
|
||||||
filters: {
|
|
||||||
'ConnectorAdded(address)'(connector?: null): ConnectorAddedEventFilter;
|
|
||||||
ConnectorAdded(connector?: null): ConnectorAddedEventFilter;
|
|
||||||
'ConnectorRemoved(address)'(connector?: null): ConnectorRemovedEventFilter;
|
|
||||||
ConnectorRemoved(connector?: null): ConnectorRemovedEventFilter;
|
|
||||||
'MultiWrapperUpdated(address)'(multiWrapper?: null): MultiWrapperUpdatedEventFilter;
|
|
||||||
MultiWrapperUpdated(multiWrapper?: null): MultiWrapperUpdatedEventFilter;
|
|
||||||
'OracleAdded(address,uint8)'(oracle?: null, oracleType?: null): OracleAddedEventFilter;
|
|
||||||
OracleAdded(oracle?: null, oracleType?: null): OracleAddedEventFilter;
|
|
||||||
'OracleRemoved(address,uint8)'(oracle?: null, oracleType?: null): OracleRemovedEventFilter;
|
|
||||||
OracleRemoved(oracle?: null, oracleType?: null): OracleRemovedEventFilter;
|
|
||||||
'OwnershipTransferred(address,address)'(previousOwner?: string | null, newOwner?: string | null): OwnershipTransferredEventFilter;
|
|
||||||
OwnershipTransferred(previousOwner?: string | null, newOwner?: string | null): OwnershipTransferredEventFilter;
|
|
||||||
};
|
|
||||||
estimateGas: {
|
|
||||||
addConnector(connector: string, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<BigNumber>;
|
|
||||||
addOracle(oracle: string, oracleKind: BigNumberish, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<BigNumber>;
|
|
||||||
connectors(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
getRate(srcToken: string, dstToken: string, useWrappers: boolean, overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
getRateToEth(srcToken: string, useSrcWrappers: boolean, overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
multiWrapper(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
oracles(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
owner(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
removeConnector(connector: string, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<BigNumber>;
|
|
||||||
removeOracle(oracle: string, oracleKind: BigNumberish, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<BigNumber>;
|
|
||||||
renounceOwnership(overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<BigNumber>;
|
|
||||||
setMultiWrapper(_multiWrapper: string, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<BigNumber>;
|
|
||||||
transferOwnership(newOwner: string, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<BigNumber>;
|
|
||||||
};
|
|
||||||
populateTransaction: {
|
|
||||||
addConnector(connector: string, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<PopulatedTransaction>;
|
|
||||||
addOracle(oracle: string, oracleKind: BigNumberish, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<PopulatedTransaction>;
|
|
||||||
connectors(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
||||||
getRate(srcToken: string, dstToken: string, useWrappers: boolean, overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
||||||
getRateToEth(srcToken: string, useSrcWrappers: boolean, overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
||||||
multiWrapper(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
||||||
oracles(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
||||||
owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
||||||
removeConnector(connector: string, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<PopulatedTransaction>;
|
|
||||||
removeOracle(oracle: string, oracleKind: BigNumberish, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<PopulatedTransaction>;
|
|
||||||
renounceOwnership(overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<PopulatedTransaction>;
|
|
||||||
setMultiWrapper(_multiWrapper: string, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<PopulatedTransaction>;
|
|
||||||
transferOwnership(newOwner: string, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<PopulatedTransaction>;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
{"version":3,"file":"OffchainOracleAbi.js","sourceRoot":"","sources":["../../src/contracts/OffchainOracleAbi.ts"],"names":[],"mappings":""}
|
|
||||||
188
lib/contracts/OptimismL1FeeOracle.d.ts
vendored
Normal file
188
lib/contracts/OptimismL1FeeOracle.d.ts
vendored
Normal file
@@ -0,0 +1,188 @@
|
|||||||
|
import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers";
|
||||||
|
import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "./common";
|
||||||
|
export interface OptimismL1FeeOracleInterface extends Interface {
|
||||||
|
getFunction(nameOrSignature: "decimals" | "gasPrice" | "getL1Fee" | "getL1GasUsed" | "l1BaseFee" | "overhead" | "owner" | "renounceOwnership" | "scalar" | "setDecimals" | "setGasPrice" | "setL1BaseFee" | "setOverhead" | "setScalar" | "transferOwnership"): FunctionFragment;
|
||||||
|
getEvent(nameOrSignatureOrTopic: "DecimalsUpdated" | "GasPriceUpdated" | "L1BaseFeeUpdated" | "OverheadUpdated" | "OwnershipTransferred" | "ScalarUpdated"): EventFragment;
|
||||||
|
encodeFunctionData(functionFragment: "decimals", values?: undefined): string;
|
||||||
|
encodeFunctionData(functionFragment: "gasPrice", values?: undefined): string;
|
||||||
|
encodeFunctionData(functionFragment: "getL1Fee", values: [BytesLike]): string;
|
||||||
|
encodeFunctionData(functionFragment: "getL1GasUsed", values: [BytesLike]): string;
|
||||||
|
encodeFunctionData(functionFragment: "l1BaseFee", values?: undefined): string;
|
||||||
|
encodeFunctionData(functionFragment: "overhead", values?: undefined): string;
|
||||||
|
encodeFunctionData(functionFragment: "owner", values?: undefined): string;
|
||||||
|
encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string;
|
||||||
|
encodeFunctionData(functionFragment: "scalar", values?: undefined): string;
|
||||||
|
encodeFunctionData(functionFragment: "setDecimals", values: [BigNumberish]): string;
|
||||||
|
encodeFunctionData(functionFragment: "setGasPrice", values: [BigNumberish]): string;
|
||||||
|
encodeFunctionData(functionFragment: "setL1BaseFee", values: [BigNumberish]): string;
|
||||||
|
encodeFunctionData(functionFragment: "setOverhead", values: [BigNumberish]): string;
|
||||||
|
encodeFunctionData(functionFragment: "setScalar", values: [BigNumberish]): string;
|
||||||
|
encodeFunctionData(functionFragment: "transferOwnership", values: [AddressLike]): string;
|
||||||
|
decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "gasPrice", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "getL1Fee", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "getL1GasUsed", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "l1BaseFee", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "overhead", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "scalar", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "setDecimals", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "setGasPrice", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "setL1BaseFee", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "setOverhead", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "setScalar", data: BytesLike): Result;
|
||||||
|
decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result;
|
||||||
|
}
|
||||||
|
export declare namespace DecimalsUpdatedEvent {
|
||||||
|
type InputTuple = [arg0: BigNumberish];
|
||||||
|
type OutputTuple = [arg0: bigint];
|
||||||
|
interface OutputObject {
|
||||||
|
arg0: bigint;
|
||||||
|
}
|
||||||
|
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
|
||||||
|
type Filter = TypedDeferredTopicFilter<Event>;
|
||||||
|
type Log = TypedEventLog<Event>;
|
||||||
|
type LogDescription = TypedLogDescription<Event>;
|
||||||
|
}
|
||||||
|
export declare namespace GasPriceUpdatedEvent {
|
||||||
|
type InputTuple = [arg0: BigNumberish];
|
||||||
|
type OutputTuple = [arg0: bigint];
|
||||||
|
interface OutputObject {
|
||||||
|
arg0: bigint;
|
||||||
|
}
|
||||||
|
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
|
||||||
|
type Filter = TypedDeferredTopicFilter<Event>;
|
||||||
|
type Log = TypedEventLog<Event>;
|
||||||
|
type LogDescription = TypedLogDescription<Event>;
|
||||||
|
}
|
||||||
|
export declare namespace L1BaseFeeUpdatedEvent {
|
||||||
|
type InputTuple = [arg0: BigNumberish];
|
||||||
|
type OutputTuple = [arg0: bigint];
|
||||||
|
interface OutputObject {
|
||||||
|
arg0: bigint;
|
||||||
|
}
|
||||||
|
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
|
||||||
|
type Filter = TypedDeferredTopicFilter<Event>;
|
||||||
|
type Log = TypedEventLog<Event>;
|
||||||
|
type LogDescription = TypedLogDescription<Event>;
|
||||||
|
}
|
||||||
|
export declare namespace OverheadUpdatedEvent {
|
||||||
|
type InputTuple = [arg0: BigNumberish];
|
||||||
|
type OutputTuple = [arg0: bigint];
|
||||||
|
interface OutputObject {
|
||||||
|
arg0: bigint;
|
||||||
|
}
|
||||||
|
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
|
||||||
|
type Filter = TypedDeferredTopicFilter<Event>;
|
||||||
|
type Log = TypedEventLog<Event>;
|
||||||
|
type LogDescription = TypedLogDescription<Event>;
|
||||||
|
}
|
||||||
|
export declare namespace OwnershipTransferredEvent {
|
||||||
|
type InputTuple = [previousOwner: AddressLike, newOwner: AddressLike];
|
||||||
|
type OutputTuple = [previousOwner: string, newOwner: string];
|
||||||
|
interface OutputObject {
|
||||||
|
previousOwner: string;
|
||||||
|
newOwner: string;
|
||||||
|
}
|
||||||
|
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
|
||||||
|
type Filter = TypedDeferredTopicFilter<Event>;
|
||||||
|
type Log = TypedEventLog<Event>;
|
||||||
|
type LogDescription = TypedLogDescription<Event>;
|
||||||
|
}
|
||||||
|
export declare namespace ScalarUpdatedEvent {
|
||||||
|
type InputTuple = [arg0: BigNumberish];
|
||||||
|
type OutputTuple = [arg0: bigint];
|
||||||
|
interface OutputObject {
|
||||||
|
arg0: bigint;
|
||||||
|
}
|
||||||
|
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
|
||||||
|
type Filter = TypedDeferredTopicFilter<Event>;
|
||||||
|
type Log = TypedEventLog<Event>;
|
||||||
|
type LogDescription = TypedLogDescription<Event>;
|
||||||
|
}
|
||||||
|
export interface OptimismL1FeeOracle extends BaseContract {
|
||||||
|
connect(runner?: ContractRunner | null): OptimismL1FeeOracle;
|
||||||
|
waitForDeployment(): Promise<this>;
|
||||||
|
interface: OptimismL1FeeOracleInterface;
|
||||||
|
queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
|
||||||
|
queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
|
||||||
|
on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
|
||||||
|
on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
|
||||||
|
once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
|
||||||
|
once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
|
||||||
|
listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>;
|
||||||
|
listeners(eventName?: string): Promise<Array<Listener>>;
|
||||||
|
removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>;
|
||||||
|
decimals: TypedContractMethod<[], [bigint], "view">;
|
||||||
|
gasPrice: TypedContractMethod<[], [bigint], "view">;
|
||||||
|
getL1Fee: TypedContractMethod<[_data: BytesLike], [bigint], "view">;
|
||||||
|
getL1GasUsed: TypedContractMethod<[_data: BytesLike], [bigint], "view">;
|
||||||
|
l1BaseFee: TypedContractMethod<[], [bigint], "view">;
|
||||||
|
overhead: TypedContractMethod<[], [bigint], "view">;
|
||||||
|
owner: TypedContractMethod<[], [string], "view">;
|
||||||
|
renounceOwnership: TypedContractMethod<[], [void], "nonpayable">;
|
||||||
|
scalar: TypedContractMethod<[], [bigint], "view">;
|
||||||
|
setDecimals: TypedContractMethod<[
|
||||||
|
_decimals: BigNumberish
|
||||||
|
], [
|
||||||
|
void
|
||||||
|
], "nonpayable">;
|
||||||
|
setGasPrice: TypedContractMethod<[
|
||||||
|
_gasPrice: BigNumberish
|
||||||
|
], [
|
||||||
|
void
|
||||||
|
], "nonpayable">;
|
||||||
|
setL1BaseFee: TypedContractMethod<[
|
||||||
|
_baseFee: BigNumberish
|
||||||
|
], [
|
||||||
|
void
|
||||||
|
], "nonpayable">;
|
||||||
|
setOverhead: TypedContractMethod<[
|
||||||
|
_overhead: BigNumberish
|
||||||
|
], [
|
||||||
|
void
|
||||||
|
], "nonpayable">;
|
||||||
|
setScalar: TypedContractMethod<[_scalar: BigNumberish], [void], "nonpayable">;
|
||||||
|
transferOwnership: TypedContractMethod<[
|
||||||
|
newOwner: AddressLike
|
||||||
|
], [
|
||||||
|
void
|
||||||
|
], "nonpayable">;
|
||||||
|
getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
|
||||||
|
getFunction(nameOrSignature: "decimals"): TypedContractMethod<[], [bigint], "view">;
|
||||||
|
getFunction(nameOrSignature: "gasPrice"): TypedContractMethod<[], [bigint], "view">;
|
||||||
|
getFunction(nameOrSignature: "getL1Fee"): TypedContractMethod<[_data: BytesLike], [bigint], "view">;
|
||||||
|
getFunction(nameOrSignature: "getL1GasUsed"): TypedContractMethod<[_data: BytesLike], [bigint], "view">;
|
||||||
|
getFunction(nameOrSignature: "l1BaseFee"): TypedContractMethod<[], [bigint], "view">;
|
||||||
|
getFunction(nameOrSignature: "overhead"): TypedContractMethod<[], [bigint], "view">;
|
||||||
|
getFunction(nameOrSignature: "owner"): TypedContractMethod<[], [string], "view">;
|
||||||
|
getFunction(nameOrSignature: "renounceOwnership"): TypedContractMethod<[], [void], "nonpayable">;
|
||||||
|
getFunction(nameOrSignature: "scalar"): TypedContractMethod<[], [bigint], "view">;
|
||||||
|
getFunction(nameOrSignature: "setDecimals"): TypedContractMethod<[_decimals: BigNumberish], [void], "nonpayable">;
|
||||||
|
getFunction(nameOrSignature: "setGasPrice"): TypedContractMethod<[_gasPrice: BigNumberish], [void], "nonpayable">;
|
||||||
|
getFunction(nameOrSignature: "setL1BaseFee"): TypedContractMethod<[_baseFee: BigNumberish], [void], "nonpayable">;
|
||||||
|
getFunction(nameOrSignature: "setOverhead"): TypedContractMethod<[_overhead: BigNumberish], [void], "nonpayable">;
|
||||||
|
getFunction(nameOrSignature: "setScalar"): TypedContractMethod<[_scalar: BigNumberish], [void], "nonpayable">;
|
||||||
|
getFunction(nameOrSignature: "transferOwnership"): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">;
|
||||||
|
getEvent(key: "DecimalsUpdated"): TypedContractEvent<DecimalsUpdatedEvent.InputTuple, DecimalsUpdatedEvent.OutputTuple, DecimalsUpdatedEvent.OutputObject>;
|
||||||
|
getEvent(key: "GasPriceUpdated"): TypedContractEvent<GasPriceUpdatedEvent.InputTuple, GasPriceUpdatedEvent.OutputTuple, GasPriceUpdatedEvent.OutputObject>;
|
||||||
|
getEvent(key: "L1BaseFeeUpdated"): TypedContractEvent<L1BaseFeeUpdatedEvent.InputTuple, L1BaseFeeUpdatedEvent.OutputTuple, L1BaseFeeUpdatedEvent.OutputObject>;
|
||||||
|
getEvent(key: "OverheadUpdated"): TypedContractEvent<OverheadUpdatedEvent.InputTuple, OverheadUpdatedEvent.OutputTuple, OverheadUpdatedEvent.OutputObject>;
|
||||||
|
getEvent(key: "OwnershipTransferred"): TypedContractEvent<OwnershipTransferredEvent.InputTuple, OwnershipTransferredEvent.OutputTuple, OwnershipTransferredEvent.OutputObject>;
|
||||||
|
getEvent(key: "ScalarUpdated"): TypedContractEvent<ScalarUpdatedEvent.InputTuple, ScalarUpdatedEvent.OutputTuple, ScalarUpdatedEvent.OutputObject>;
|
||||||
|
filters: {
|
||||||
|
"DecimalsUpdated(uint256)": TypedContractEvent<DecimalsUpdatedEvent.InputTuple, DecimalsUpdatedEvent.OutputTuple, DecimalsUpdatedEvent.OutputObject>;
|
||||||
|
DecimalsUpdated: TypedContractEvent<DecimalsUpdatedEvent.InputTuple, DecimalsUpdatedEvent.OutputTuple, DecimalsUpdatedEvent.OutputObject>;
|
||||||
|
"GasPriceUpdated(uint256)": TypedContractEvent<GasPriceUpdatedEvent.InputTuple, GasPriceUpdatedEvent.OutputTuple, GasPriceUpdatedEvent.OutputObject>;
|
||||||
|
GasPriceUpdated: TypedContractEvent<GasPriceUpdatedEvent.InputTuple, GasPriceUpdatedEvent.OutputTuple, GasPriceUpdatedEvent.OutputObject>;
|
||||||
|
"L1BaseFeeUpdated(uint256)": TypedContractEvent<L1BaseFeeUpdatedEvent.InputTuple, L1BaseFeeUpdatedEvent.OutputTuple, L1BaseFeeUpdatedEvent.OutputObject>;
|
||||||
|
L1BaseFeeUpdated: TypedContractEvent<L1BaseFeeUpdatedEvent.InputTuple, L1BaseFeeUpdatedEvent.OutputTuple, L1BaseFeeUpdatedEvent.OutputObject>;
|
||||||
|
"OverheadUpdated(uint256)": TypedContractEvent<OverheadUpdatedEvent.InputTuple, OverheadUpdatedEvent.OutputTuple, OverheadUpdatedEvent.OutputObject>;
|
||||||
|
OverheadUpdated: TypedContractEvent<OverheadUpdatedEvent.InputTuple, OverheadUpdatedEvent.OutputTuple, OverheadUpdatedEvent.OutputObject>;
|
||||||
|
"OwnershipTransferred(address,address)": TypedContractEvent<OwnershipTransferredEvent.InputTuple, OwnershipTransferredEvent.OutputTuple, OwnershipTransferredEvent.OutputObject>;
|
||||||
|
OwnershipTransferred: TypedContractEvent<OwnershipTransferredEvent.InputTuple, OwnershipTransferredEvent.OutputTuple, OwnershipTransferredEvent.OutputObject>;
|
||||||
|
"ScalarUpdated(uint256)": TypedContractEvent<ScalarUpdatedEvent.InputTuple, ScalarUpdatedEvent.OutputTuple, ScalarUpdatedEvent.OutputObject>;
|
||||||
|
ScalarUpdated: TypedContractEvent<ScalarUpdatedEvent.InputTuple, ScalarUpdatedEvent.OutputTuple, ScalarUpdatedEvent.OutputObject>;
|
||||||
|
};
|
||||||
|
}
|
||||||
3
lib/contracts/OptimismL1FeeOracle.js
Normal file
3
lib/contracts/OptimismL1FeeOracle.js
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
"use strict";
|
||||||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
//# sourceMappingURL=OptimismL1FeeOracle.js.map
|
||||||
1
lib/contracts/OptimismL1FeeOracle.js.map
Normal file
1
lib/contracts/OptimismL1FeeOracle.js.map
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"version":3,"file":"OptimismL1FeeOracle.js","sourceRoot":"","sources":["../../src/contracts/OptimismL1FeeOracle.ts"],"names":[],"mappings":""}
|
||||||
267
lib/contracts/OptimismL1FeeOracleAbi.d.ts
vendored
267
lib/contracts/OptimismL1FeeOracleAbi.d.ts
vendored
@@ -1,267 +0,0 @@
|
|||||||
import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from 'ethers';
|
|
||||||
import type { FunctionFragment, Result, EventFragment } from '@ethersproject/abi';
|
|
||||||
import type { Listener, Provider } from '@ethersproject/providers';
|
|
||||||
import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from './common';
|
|
||||||
export interface OptimismL1FeeOracleAbiInterface extends utils.Interface {
|
|
||||||
functions: {
|
|
||||||
'decimals()': FunctionFragment;
|
|
||||||
'gasPrice()': FunctionFragment;
|
|
||||||
'getL1Fee(bytes)': FunctionFragment;
|
|
||||||
'getL1GasUsed(bytes)': FunctionFragment;
|
|
||||||
'l1BaseFee()': FunctionFragment;
|
|
||||||
'overhead()': FunctionFragment;
|
|
||||||
'owner()': FunctionFragment;
|
|
||||||
'renounceOwnership()': FunctionFragment;
|
|
||||||
'scalar()': FunctionFragment;
|
|
||||||
'setDecimals(uint256)': FunctionFragment;
|
|
||||||
'setGasPrice(uint256)': FunctionFragment;
|
|
||||||
'setL1BaseFee(uint256)': FunctionFragment;
|
|
||||||
'setOverhead(uint256)': FunctionFragment;
|
|
||||||
'setScalar(uint256)': FunctionFragment;
|
|
||||||
'transferOwnership(address)': FunctionFragment;
|
|
||||||
};
|
|
||||||
getFunction(nameOrSignatureOrTopic: 'decimals' | 'gasPrice' | 'getL1Fee' | 'getL1GasUsed' | 'l1BaseFee' | 'overhead' | 'owner' | 'renounceOwnership' | 'scalar' | 'setDecimals' | 'setGasPrice' | 'setL1BaseFee' | 'setOverhead' | 'setScalar' | 'transferOwnership'): FunctionFragment;
|
|
||||||
encodeFunctionData(functionFragment: 'decimals', values?: undefined): string;
|
|
||||||
encodeFunctionData(functionFragment: 'gasPrice', values?: undefined): string;
|
|
||||||
encodeFunctionData(functionFragment: 'getL1Fee', values: [BytesLike]): string;
|
|
||||||
encodeFunctionData(functionFragment: 'getL1GasUsed', values: [BytesLike]): string;
|
|
||||||
encodeFunctionData(functionFragment: 'l1BaseFee', values?: undefined): string;
|
|
||||||
encodeFunctionData(functionFragment: 'overhead', values?: undefined): string;
|
|
||||||
encodeFunctionData(functionFragment: 'owner', values?: undefined): string;
|
|
||||||
encodeFunctionData(functionFragment: 'renounceOwnership', values?: undefined): string;
|
|
||||||
encodeFunctionData(functionFragment: 'scalar', values?: undefined): string;
|
|
||||||
encodeFunctionData(functionFragment: 'setDecimals', values: [BigNumberish]): string;
|
|
||||||
encodeFunctionData(functionFragment: 'setGasPrice', values: [BigNumberish]): string;
|
|
||||||
encodeFunctionData(functionFragment: 'setL1BaseFee', values: [BigNumberish]): string;
|
|
||||||
encodeFunctionData(functionFragment: 'setOverhead', values: [BigNumberish]): string;
|
|
||||||
encodeFunctionData(functionFragment: 'setScalar', values: [BigNumberish]): string;
|
|
||||||
encodeFunctionData(functionFragment: 'transferOwnership', values: [string]): string;
|
|
||||||
decodeFunctionResult(functionFragment: 'decimals', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'gasPrice', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'getL1Fee', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'getL1GasUsed', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'l1BaseFee', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'overhead', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'owner', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'renounceOwnership', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'scalar', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'setDecimals', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'setGasPrice', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'setL1BaseFee', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'setOverhead', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'setScalar', data: BytesLike): Result;
|
|
||||||
decodeFunctionResult(functionFragment: 'transferOwnership', data: BytesLike): Result;
|
|
||||||
events: {
|
|
||||||
'DecimalsUpdated(uint256)': EventFragment;
|
|
||||||
'GasPriceUpdated(uint256)': EventFragment;
|
|
||||||
'L1BaseFeeUpdated(uint256)': EventFragment;
|
|
||||||
'OverheadUpdated(uint256)': EventFragment;
|
|
||||||
'OwnershipTransferred(address,address)': EventFragment;
|
|
||||||
'ScalarUpdated(uint256)': EventFragment;
|
|
||||||
};
|
|
||||||
getEvent(nameOrSignatureOrTopic: 'DecimalsUpdated'): EventFragment;
|
|
||||||
getEvent(nameOrSignatureOrTopic: 'GasPriceUpdated'): EventFragment;
|
|
||||||
getEvent(nameOrSignatureOrTopic: 'L1BaseFeeUpdated'): EventFragment;
|
|
||||||
getEvent(nameOrSignatureOrTopic: 'OverheadUpdated'): EventFragment;
|
|
||||||
getEvent(nameOrSignatureOrTopic: 'OwnershipTransferred'): EventFragment;
|
|
||||||
getEvent(nameOrSignatureOrTopic: 'ScalarUpdated'): EventFragment;
|
|
||||||
}
|
|
||||||
export interface DecimalsUpdatedEventObject {
|
|
||||||
arg0: BigNumber;
|
|
||||||
}
|
|
||||||
export type DecimalsUpdatedEvent = TypedEvent<[BigNumber], DecimalsUpdatedEventObject>;
|
|
||||||
export type DecimalsUpdatedEventFilter = TypedEventFilter<DecimalsUpdatedEvent>;
|
|
||||||
export interface GasPriceUpdatedEventObject {
|
|
||||||
arg0: BigNumber;
|
|
||||||
}
|
|
||||||
export type GasPriceUpdatedEvent = TypedEvent<[BigNumber], GasPriceUpdatedEventObject>;
|
|
||||||
export type GasPriceUpdatedEventFilter = TypedEventFilter<GasPriceUpdatedEvent>;
|
|
||||||
export interface L1BaseFeeUpdatedEventObject {
|
|
||||||
arg0: BigNumber;
|
|
||||||
}
|
|
||||||
export type L1BaseFeeUpdatedEvent = TypedEvent<[BigNumber], L1BaseFeeUpdatedEventObject>;
|
|
||||||
export type L1BaseFeeUpdatedEventFilter = TypedEventFilter<L1BaseFeeUpdatedEvent>;
|
|
||||||
export interface OverheadUpdatedEventObject {
|
|
||||||
arg0: BigNumber;
|
|
||||||
}
|
|
||||||
export type OverheadUpdatedEvent = TypedEvent<[BigNumber], OverheadUpdatedEventObject>;
|
|
||||||
export type OverheadUpdatedEventFilter = TypedEventFilter<OverheadUpdatedEvent>;
|
|
||||||
export interface OwnershipTransferredEventObject {
|
|
||||||
previousOwner: string;
|
|
||||||
newOwner: string;
|
|
||||||
}
|
|
||||||
export type OwnershipTransferredEvent = TypedEvent<[string, string], OwnershipTransferredEventObject>;
|
|
||||||
export type OwnershipTransferredEventFilter = TypedEventFilter<OwnershipTransferredEvent>;
|
|
||||||
export interface ScalarUpdatedEventObject {
|
|
||||||
arg0: BigNumber;
|
|
||||||
}
|
|
||||||
export type ScalarUpdatedEvent = TypedEvent<[BigNumber], ScalarUpdatedEventObject>;
|
|
||||||
export type ScalarUpdatedEventFilter = TypedEventFilter<ScalarUpdatedEvent>;
|
|
||||||
export interface OptimismL1FeeOracleAbi extends BaseContract {
|
|
||||||
connect(signerOrProvider: Signer | Provider | string): this;
|
|
||||||
attach(addressOrName: string): this;
|
|
||||||
deployed(): Promise<this>;
|
|
||||||
interface: OptimismL1FeeOracleAbiInterface;
|
|
||||||
queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
|
|
||||||
listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
|
|
||||||
listeners(eventName?: string): Array<Listener>;
|
|
||||||
removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
|
|
||||||
removeAllListeners(eventName?: string): this;
|
|
||||||
off: OnEvent<this>;
|
|
||||||
on: OnEvent<this>;
|
|
||||||
once: OnEvent<this>;
|
|
||||||
removeListener: OnEvent<this>;
|
|
||||||
functions: {
|
|
||||||
decimals(overrides?: CallOverrides): Promise<[BigNumber]>;
|
|
||||||
gasPrice(overrides?: CallOverrides): Promise<[BigNumber]>;
|
|
||||||
getL1Fee(_data: BytesLike, overrides?: CallOverrides): Promise<[BigNumber]>;
|
|
||||||
getL1GasUsed(_data: BytesLike, overrides?: CallOverrides): Promise<[BigNumber]>;
|
|
||||||
l1BaseFee(overrides?: CallOverrides): Promise<[BigNumber]>;
|
|
||||||
overhead(overrides?: CallOverrides): Promise<[BigNumber]>;
|
|
||||||
owner(overrides?: CallOverrides): Promise<[string]>;
|
|
||||||
renounceOwnership(overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
scalar(overrides?: CallOverrides): Promise<[BigNumber]>;
|
|
||||||
setDecimals(_decimals: BigNumberish, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
setGasPrice(_gasPrice: BigNumberish, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
setL1BaseFee(_baseFee: BigNumberish, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
setOverhead(_overhead: BigNumberish, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
setScalar(_scalar: BigNumberish, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
transferOwnership(newOwner: string, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
};
|
|
||||||
decimals(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
gasPrice(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
getL1Fee(_data: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
getL1GasUsed(_data: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
l1BaseFee(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
overhead(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
owner(overrides?: CallOverrides): Promise<string>;
|
|
||||||
renounceOwnership(overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
scalar(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
setDecimals(_decimals: BigNumberish, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
setGasPrice(_gasPrice: BigNumberish, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
setL1BaseFee(_baseFee: BigNumberish, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
setOverhead(_overhead: BigNumberish, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
setScalar(_scalar: BigNumberish, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
transferOwnership(newOwner: string, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<ContractTransaction>;
|
|
||||||
callStatic: {
|
|
||||||
decimals(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
gasPrice(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
getL1Fee(_data: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
getL1GasUsed(_data: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
l1BaseFee(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
overhead(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
owner(overrides?: CallOverrides): Promise<string>;
|
|
||||||
renounceOwnership(overrides?: CallOverrides): Promise<void>;
|
|
||||||
scalar(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
setDecimals(_decimals: BigNumberish, overrides?: CallOverrides): Promise<void>;
|
|
||||||
setGasPrice(_gasPrice: BigNumberish, overrides?: CallOverrides): Promise<void>;
|
|
||||||
setL1BaseFee(_baseFee: BigNumberish, overrides?: CallOverrides): Promise<void>;
|
|
||||||
setOverhead(_overhead: BigNumberish, overrides?: CallOverrides): Promise<void>;
|
|
||||||
setScalar(_scalar: BigNumberish, overrides?: CallOverrides): Promise<void>;
|
|
||||||
transferOwnership(newOwner: string, overrides?: CallOverrides): Promise<void>;
|
|
||||||
};
|
|
||||||
filters: {
|
|
||||||
'DecimalsUpdated(uint256)'(arg0?: null): DecimalsUpdatedEventFilter;
|
|
||||||
DecimalsUpdated(arg0?: null): DecimalsUpdatedEventFilter;
|
|
||||||
'GasPriceUpdated(uint256)'(arg0?: null): GasPriceUpdatedEventFilter;
|
|
||||||
GasPriceUpdated(arg0?: null): GasPriceUpdatedEventFilter;
|
|
||||||
'L1BaseFeeUpdated(uint256)'(arg0?: null): L1BaseFeeUpdatedEventFilter;
|
|
||||||
L1BaseFeeUpdated(arg0?: null): L1BaseFeeUpdatedEventFilter;
|
|
||||||
'OverheadUpdated(uint256)'(arg0?: null): OverheadUpdatedEventFilter;
|
|
||||||
OverheadUpdated(arg0?: null): OverheadUpdatedEventFilter;
|
|
||||||
'OwnershipTransferred(address,address)'(previousOwner?: string | null, newOwner?: string | null): OwnershipTransferredEventFilter;
|
|
||||||
OwnershipTransferred(previousOwner?: string | null, newOwner?: string | null): OwnershipTransferredEventFilter;
|
|
||||||
'ScalarUpdated(uint256)'(arg0?: null): ScalarUpdatedEventFilter;
|
|
||||||
ScalarUpdated(arg0?: null): ScalarUpdatedEventFilter;
|
|
||||||
};
|
|
||||||
estimateGas: {
|
|
||||||
decimals(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
gasPrice(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
getL1Fee(_data: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
getL1GasUsed(_data: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
l1BaseFee(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
overhead(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
owner(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
renounceOwnership(overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<BigNumber>;
|
|
||||||
scalar(overrides?: CallOverrides): Promise<BigNumber>;
|
|
||||||
setDecimals(_decimals: BigNumberish, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<BigNumber>;
|
|
||||||
setGasPrice(_gasPrice: BigNumberish, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<BigNumber>;
|
|
||||||
setL1BaseFee(_baseFee: BigNumberish, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<BigNumber>;
|
|
||||||
setOverhead(_overhead: BigNumberish, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<BigNumber>;
|
|
||||||
setScalar(_scalar: BigNumberish, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<BigNumber>;
|
|
||||||
transferOwnership(newOwner: string, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<BigNumber>;
|
|
||||||
};
|
|
||||||
populateTransaction: {
|
|
||||||
decimals(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
||||||
gasPrice(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
||||||
getL1Fee(_data: BytesLike, overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
||||||
getL1GasUsed(_data: BytesLike, overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
||||||
l1BaseFee(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
||||||
overhead(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
||||||
owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
||||||
renounceOwnership(overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<PopulatedTransaction>;
|
|
||||||
scalar(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
||||||
setDecimals(_decimals: BigNumberish, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<PopulatedTransaction>;
|
|
||||||
setGasPrice(_gasPrice: BigNumberish, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<PopulatedTransaction>;
|
|
||||||
setL1BaseFee(_baseFee: BigNumberish, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<PopulatedTransaction>;
|
|
||||||
setOverhead(_overhead: BigNumberish, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<PopulatedTransaction>;
|
|
||||||
setScalar(_scalar: BigNumberish, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<PopulatedTransaction>;
|
|
||||||
transferOwnership(newOwner: string, overrides?: Overrides & {
|
|
||||||
from?: string;
|
|
||||||
}): Promise<PopulatedTransaction>;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
{"version":3,"file":"OptimismL1FeeOracleAbi.js","sourceRoot":"","sources":["../../src/contracts/OptimismL1FeeOracleAbi.ts"],"names":[],"mappings":""}
|
|
||||||
53
lib/contracts/common.d.ts
vendored
53
lib/contracts/common.d.ts
vendored
@@ -1,21 +1,50 @@
|
|||||||
import type { Listener } from '@ethersproject/providers';
|
import type { FunctionFragment, Typed, EventFragment, ContractTransaction, ContractTransactionResponse, DeferredTopicFilter, EventLog, TransactionRequest, LogDescription } from "ethers";
|
||||||
import type { Event, EventFilter } from 'ethers';
|
export interface TypedDeferredTopicFilter<_TCEvent extends TypedContractEvent> extends DeferredTopicFilter {
|
||||||
export interface TypedEvent<TArgsArray extends Array<any> = any, TArgsObject = any> extends Event {
|
|
||||||
args: TArgsArray & TArgsObject;
|
|
||||||
}
|
}
|
||||||
export interface TypedEventFilter<_TEvent extends TypedEvent> extends EventFilter {
|
export interface TypedContractEvent<InputTuple extends Array<any> = any, OutputTuple extends Array<any> = any, OutputObject = any> {
|
||||||
|
(...args: Partial<InputTuple>): TypedDeferredTopicFilter<TypedContractEvent<InputTuple, OutputTuple, OutputObject>>;
|
||||||
|
name: string;
|
||||||
|
fragment: EventFragment;
|
||||||
|
getFragment(...args: Partial<InputTuple>): EventFragment;
|
||||||
}
|
}
|
||||||
export interface TypedListener<TEvent extends TypedEvent> {
|
type __TypechainAOutputTuple<T> = T extends TypedContractEvent<infer _U, infer W> ? W : never;
|
||||||
(...listenerArg: [...__TypechainArgsArray<TEvent>, TEvent]): void;
|
type __TypechainOutputObject<T> = T extends TypedContractEvent<infer _U, infer _W, infer V> ? V : never;
|
||||||
|
export interface TypedEventLog<TCEvent extends TypedContractEvent> extends Omit<EventLog, "args"> {
|
||||||
|
args: __TypechainAOutputTuple<TCEvent> & __TypechainOutputObject<TCEvent>;
|
||||||
}
|
}
|
||||||
type __TypechainArgsArray<T> = T extends TypedEvent<infer U> ? U : never;
|
export interface TypedLogDescription<TCEvent extends TypedContractEvent> extends Omit<LogDescription, "args"> {
|
||||||
export interface OnEvent<TRes> {
|
args: __TypechainAOutputTuple<TCEvent> & __TypechainOutputObject<TCEvent>;
|
||||||
<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>, listener: TypedListener<TEvent>): TRes;
|
|
||||||
(eventName: string, listener: Listener): TRes;
|
|
||||||
}
|
}
|
||||||
|
export type TypedListener<TCEvent extends TypedContractEvent> = (...listenerArg: [
|
||||||
|
...__TypechainAOutputTuple<TCEvent>,
|
||||||
|
TypedEventLog<TCEvent>,
|
||||||
|
...undefined[]
|
||||||
|
]) => void;
|
||||||
export type MinEthersFactory<C, ARGS> = {
|
export type MinEthersFactory<C, ARGS> = {
|
||||||
deploy(...a: ARGS[]): Promise<C>;
|
deploy(...a: ARGS[]): Promise<C>;
|
||||||
};
|
};
|
||||||
export type GetContractTypeFromFactory<F> = F extends MinEthersFactory<infer C, any> ? C : never;
|
export type GetContractTypeFromFactory<F> = F extends MinEthersFactory<infer C, any> ? C : never;
|
||||||
export type GetARGsTypeFromFactory<F> = F extends MinEthersFactory<any, any> ? Parameters<F['deploy']> : never;
|
export type GetARGsTypeFromFactory<F> = F extends MinEthersFactory<any, any> ? Parameters<F["deploy"]> : never;
|
||||||
|
export type StateMutability = "nonpayable" | "payable" | "view";
|
||||||
|
export type BaseOverrides = Omit<TransactionRequest, "to" | "data">;
|
||||||
|
export type NonPayableOverrides = Omit<BaseOverrides, "value" | "blockTag" | "enableCcipRead">;
|
||||||
|
export type PayableOverrides = Omit<BaseOverrides, "blockTag" | "enableCcipRead">;
|
||||||
|
export type ViewOverrides = Omit<TransactionRequest, "to" | "data">;
|
||||||
|
export type Overrides<S extends StateMutability> = S extends "nonpayable" ? NonPayableOverrides : S extends "payable" ? PayableOverrides : ViewOverrides;
|
||||||
|
export type PostfixOverrides<A extends Array<any>, S extends StateMutability> = A | [...A, Overrides<S>];
|
||||||
|
export type ContractMethodArgs<A extends Array<any>, S extends StateMutability> = PostfixOverrides<{
|
||||||
|
[I in keyof A]-?: A[I] | Typed;
|
||||||
|
}, S>;
|
||||||
|
export type DefaultReturnType<R> = R extends Array<any> ? R[0] : R;
|
||||||
|
export interface TypedContractMethod<A extends Array<any> = Array<any>, R = any, S extends StateMutability = "payable"> {
|
||||||
|
(...args: ContractMethodArgs<A, S>): S extends "view" ? Promise<DefaultReturnType<R>> : Promise<ContractTransactionResponse>;
|
||||||
|
name: string;
|
||||||
|
fragment: FunctionFragment;
|
||||||
|
getFragment(...args: ContractMethodArgs<A, S>): FunctionFragment;
|
||||||
|
populateTransaction(...args: ContractMethodArgs<A, S>): Promise<ContractTransaction>;
|
||||||
|
staticCall(...args: ContractMethodArgs<A, "view">): Promise<DefaultReturnType<R>>;
|
||||||
|
send(...args: ContractMethodArgs<A, S>): Promise<ContractTransactionResponse>;
|
||||||
|
estimateGas(...args: ContractMethodArgs<A, S>): Promise<bigint>;
|
||||||
|
staticCallResult(...args: ContractMethodArgs<A, "view">): Promise<R>;
|
||||||
|
}
|
||||||
export {};
|
export {};
|
||||||
|
|||||||
5
lib/contracts/factories.d.ts
vendored
5
lib/contracts/factories.d.ts
vendored
@@ -1,5 +0,0 @@
|
|||||||
import { Provider } from '@ethersproject/abstract-provider';
|
|
||||||
import { ChainId } from '../config';
|
|
||||||
export declare const getOptimismL1FeeOracle: (provider: Provider) => import("./OptimismL1FeeOracleAbi").OptimismL1FeeOracleAbi;
|
|
||||||
export declare const getOffchainOracleContract: (provider: Provider, chainId?: ChainId) => import("./OffchainOracleAbi").OffchainOracleAbi;
|
|
||||||
export declare const getMultiCallContract: (provider: Provider) => import("./MulticallAbi").MulticallAbi;
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
|
||||||
exports.getMultiCallContract = exports.getOffchainOracleContract = exports.getOptimismL1FeeOracle = void 0;
|
|
||||||
var _1 = require("./");
|
|
||||||
var config_1 = require("../config");
|
|
||||||
var config_2 = require("../config");
|
|
||||||
var getOptimismL1FeeOracle = function (provider) {
|
|
||||||
return _1.OptimismL1FeeOracleAbi__factory.connect(config_1.optimismL1FeeOracleAddress, provider);
|
|
||||||
};
|
|
||||||
exports.getOptimismL1FeeOracle = getOptimismL1FeeOracle;
|
|
||||||
var getOffchainOracleContract = function (provider, chainId) {
|
|
||||||
if (chainId === config_2.ChainId.SEPOLIA) {
|
|
||||||
return _1.OffchainOracleAbi__factory.connect(config_1.sepoliaOffchainOracleAddress, provider);
|
|
||||||
}
|
|
||||||
return _1.OffchainOracleAbi__factory.connect(config_1.offchainOracleAddress, provider);
|
|
||||||
};
|
|
||||||
exports.getOffchainOracleContract = getOffchainOracleContract;
|
|
||||||
var getMultiCallContract = function (provider) {
|
|
||||||
return _1.MulticallAbi__factory.connect(config_1.multiCallAddress, provider);
|
|
||||||
};
|
|
||||||
exports.getMultiCallContract = getMultiCallContract;
|
|
||||||
//# sourceMappingURL=factories.js.map
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
{"version":3,"file":"factories.js","sourceRoot":"","sources":["../../src/contracts/factories.ts"],"names":[],"mappings":";;;AAAA,uBAAwG;AACxG,oCAKmB;AAEnB,oCAAoC;AAE7B,IAAM,sBAAsB,GAAG,UAAC,QAAkB;IACvD,OAAO,kCAA+B,CAAC,OAAO,CAAC,mCAA0B,EAAE,QAAQ,CAAC,CAAC;AACvF,CAAC,CAAC;AAFW,QAAA,sBAAsB,0BAEjC;AAEK,IAAM,yBAAyB,GAAG,UAAC,QAAkB,EAAE,OAAiB;IAC7E,IAAI,OAAO,KAAK,gBAAO,CAAC,OAAO,EAAE;QAC/B,OAAO,6BAA0B,CAAC,OAAO,CAAC,qCAA4B,EAAE,QAAQ,CAAC,CAAC;KACnF;IACD,OAAO,6BAA0B,CAAC,OAAO,CAAC,8BAAqB,EAAE,QAAQ,CAAC,CAAC;AAC7E,CAAC,CAAC;AALW,QAAA,yBAAyB,6BAKpC;AAEK,IAAM,oBAAoB,GAAG,UAAC,QAAkB;IACrD,OAAO,wBAAqB,CAAC,OAAO,CAAC,yBAAgB,EAAE,QAAQ,CAAC,CAAC;AACnE,CAAC,CAAC;AAFW,QAAA,oBAAoB,wBAE/B"}
|
|
||||||
151
lib/contracts/factories/GasPriceOracle__factory.d.ts
vendored
Normal file
151
lib/contracts/factories/GasPriceOracle__factory.d.ts
vendored
Normal file
@@ -0,0 +1,151 @@
|
|||||||
|
import { type ContractRunner } from "ethers";
|
||||||
|
import type { GasPriceOracle, GasPriceOracleInterface } from "../GasPriceOracle";
|
||||||
|
export declare class GasPriceOracle__factory {
|
||||||
|
static readonly abi: readonly [{
|
||||||
|
readonly inputs: readonly [];
|
||||||
|
readonly stateMutability: "nonpayable";
|
||||||
|
readonly type: "constructor";
|
||||||
|
}, {
|
||||||
|
readonly inputs: readonly [];
|
||||||
|
readonly name: "GAS_UNIT";
|
||||||
|
readonly outputs: readonly [{
|
||||||
|
readonly internalType: "uint256";
|
||||||
|
readonly name: "";
|
||||||
|
readonly type: "uint256";
|
||||||
|
}];
|
||||||
|
readonly stateMutability: "view";
|
||||||
|
readonly type: "function";
|
||||||
|
}, {
|
||||||
|
readonly inputs: readonly [{
|
||||||
|
readonly internalType: "uint32";
|
||||||
|
readonly name: "_derivationThresold";
|
||||||
|
readonly type: "uint32";
|
||||||
|
}];
|
||||||
|
readonly name: "changeDerivationThresold";
|
||||||
|
readonly outputs: readonly [];
|
||||||
|
readonly stateMutability: "nonpayable";
|
||||||
|
readonly type: "function";
|
||||||
|
}, {
|
||||||
|
readonly inputs: readonly [{
|
||||||
|
readonly internalType: "uint32";
|
||||||
|
readonly name: "_gasUnit";
|
||||||
|
readonly type: "uint32";
|
||||||
|
}];
|
||||||
|
readonly name: "changeGasUnit";
|
||||||
|
readonly outputs: readonly [];
|
||||||
|
readonly stateMutability: "nonpayable";
|
||||||
|
readonly type: "function";
|
||||||
|
}, {
|
||||||
|
readonly inputs: readonly [{
|
||||||
|
readonly internalType: "uint32";
|
||||||
|
readonly name: "_heartbeat";
|
||||||
|
readonly type: "uint32";
|
||||||
|
}];
|
||||||
|
readonly name: "changeHeartbeat";
|
||||||
|
readonly outputs: readonly [];
|
||||||
|
readonly stateMutability: "nonpayable";
|
||||||
|
readonly type: "function";
|
||||||
|
}, {
|
||||||
|
readonly inputs: readonly [{
|
||||||
|
readonly internalType: "address";
|
||||||
|
readonly name: "_owner";
|
||||||
|
readonly type: "address";
|
||||||
|
}];
|
||||||
|
readonly name: "changeOwnership";
|
||||||
|
readonly outputs: readonly [];
|
||||||
|
readonly stateMutability: "nonpayable";
|
||||||
|
readonly type: "function";
|
||||||
|
}, {
|
||||||
|
readonly inputs: readonly [];
|
||||||
|
readonly name: "derivationThresold";
|
||||||
|
readonly outputs: readonly [{
|
||||||
|
readonly internalType: "uint32";
|
||||||
|
readonly name: "";
|
||||||
|
readonly type: "uint32";
|
||||||
|
}];
|
||||||
|
readonly stateMutability: "view";
|
||||||
|
readonly type: "function";
|
||||||
|
}, {
|
||||||
|
readonly inputs: readonly [];
|
||||||
|
readonly name: "gasPrice";
|
||||||
|
readonly outputs: readonly [{
|
||||||
|
readonly internalType: "uint256";
|
||||||
|
readonly name: "";
|
||||||
|
readonly type: "uint256";
|
||||||
|
}];
|
||||||
|
readonly stateMutability: "view";
|
||||||
|
readonly type: "function";
|
||||||
|
}, {
|
||||||
|
readonly inputs: readonly [];
|
||||||
|
readonly name: "heartbeat";
|
||||||
|
readonly outputs: readonly [{
|
||||||
|
readonly internalType: "uint32";
|
||||||
|
readonly name: "";
|
||||||
|
readonly type: "uint32";
|
||||||
|
}];
|
||||||
|
readonly stateMutability: "view";
|
||||||
|
readonly type: "function";
|
||||||
|
}, {
|
||||||
|
readonly inputs: readonly [];
|
||||||
|
readonly name: "maxFeePerGas";
|
||||||
|
readonly outputs: readonly [{
|
||||||
|
readonly internalType: "uint256";
|
||||||
|
readonly name: "";
|
||||||
|
readonly type: "uint256";
|
||||||
|
}];
|
||||||
|
readonly stateMutability: "view";
|
||||||
|
readonly type: "function";
|
||||||
|
}, {
|
||||||
|
readonly inputs: readonly [];
|
||||||
|
readonly name: "maxPriorityFeePerGas";
|
||||||
|
readonly outputs: readonly [{
|
||||||
|
readonly internalType: "uint256";
|
||||||
|
readonly name: "";
|
||||||
|
readonly type: "uint256";
|
||||||
|
}];
|
||||||
|
readonly stateMutability: "view";
|
||||||
|
readonly type: "function";
|
||||||
|
}, {
|
||||||
|
readonly inputs: readonly [];
|
||||||
|
readonly name: "owner";
|
||||||
|
readonly outputs: readonly [{
|
||||||
|
readonly internalType: "address";
|
||||||
|
readonly name: "";
|
||||||
|
readonly type: "address";
|
||||||
|
}];
|
||||||
|
readonly stateMutability: "view";
|
||||||
|
readonly type: "function";
|
||||||
|
}, {
|
||||||
|
readonly inputs: readonly [];
|
||||||
|
readonly name: "pastGasPrice";
|
||||||
|
readonly outputs: readonly [{
|
||||||
|
readonly internalType: "uint32";
|
||||||
|
readonly name: "";
|
||||||
|
readonly type: "uint32";
|
||||||
|
}];
|
||||||
|
readonly stateMutability: "view";
|
||||||
|
readonly type: "function";
|
||||||
|
}, {
|
||||||
|
readonly inputs: readonly [{
|
||||||
|
readonly internalType: "uint32";
|
||||||
|
readonly name: "_gasPrice";
|
||||||
|
readonly type: "uint32";
|
||||||
|
}];
|
||||||
|
readonly name: "setGasPrice";
|
||||||
|
readonly outputs: readonly [];
|
||||||
|
readonly stateMutability: "nonpayable";
|
||||||
|
readonly type: "function";
|
||||||
|
}, {
|
||||||
|
readonly inputs: readonly [];
|
||||||
|
readonly name: "timestamp";
|
||||||
|
readonly outputs: readonly [{
|
||||||
|
readonly internalType: "uint32";
|
||||||
|
readonly name: "";
|
||||||
|
readonly type: "uint32";
|
||||||
|
}];
|
||||||
|
readonly stateMutability: "view";
|
||||||
|
readonly type: "function";
|
||||||
|
}];
|
||||||
|
static createInterface(): GasPriceOracleInterface;
|
||||||
|
static connect(address: string, runner?: ContractRunner | null): GasPriceOracle;
|
||||||
|
}
|
||||||
207
lib/contracts/factories/GasPriceOracle__factory.js
Normal file
207
lib/contracts/factories/GasPriceOracle__factory.js
Normal file
@@ -0,0 +1,207 @@
|
|||||||
|
"use strict";
|
||||||
|
/* Autogenerated file. Do not edit manually. */
|
||||||
|
/* tslint:disable */
|
||||||
|
/* eslint-disable */
|
||||||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.GasPriceOracle__factory = void 0;
|
||||||
|
const ethers_1 = require("ethers");
|
||||||
|
const _abi = [
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "constructor",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "GAS_UNIT",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint32",
|
||||||
|
name: "_derivationThresold",
|
||||||
|
type: "uint32",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "changeDerivationThresold",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint32",
|
||||||
|
name: "_gasUnit",
|
||||||
|
type: "uint32",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "changeGasUnit",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint32",
|
||||||
|
name: "_heartbeat",
|
||||||
|
type: "uint32",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "changeHeartbeat",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "address",
|
||||||
|
name: "_owner",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "changeOwnership",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "derivationThresold",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint32",
|
||||||
|
name: "",
|
||||||
|
type: "uint32",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "gasPrice",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "heartbeat",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint32",
|
||||||
|
name: "",
|
||||||
|
type: "uint32",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "maxFeePerGas",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "maxPriorityFeePerGas",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "owner",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "address",
|
||||||
|
name: "",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "pastGasPrice",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint32",
|
||||||
|
name: "",
|
||||||
|
type: "uint32",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint32",
|
||||||
|
name: "_gasPrice",
|
||||||
|
type: "uint32",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "setGasPrice",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "timestamp",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint32",
|
||||||
|
name: "",
|
||||||
|
type: "uint32",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
];
|
||||||
|
class GasPriceOracle__factory {
|
||||||
|
static createInterface() {
|
||||||
|
return new ethers_1.Interface(_abi);
|
||||||
|
}
|
||||||
|
static connect(address, runner) {
|
||||||
|
return new ethers_1.Contract(address, _abi, runner);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
exports.GasPriceOracle__factory = GasPriceOracle__factory;
|
||||||
|
GasPriceOracle__factory.abi = _abi;
|
||||||
|
//# sourceMappingURL=GasPriceOracle__factory.js.map
|
||||||
1
lib/contracts/factories/GasPriceOracle__factory.js.map
Normal file
1
lib/contracts/factories/GasPriceOracle__factory.js.map
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"version":3,"file":"GasPriceOracle__factory.js","sourceRoot":"","sources":["../../../src/contracts/factories/GasPriceOracle__factory.ts"],"names":[],"mappings":"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"}
|
||||||
@@ -1,460 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
/* Autogenerated file. Do not edit manually. */
|
|
||||||
/* tslint:disable */
|
|
||||||
/* eslint-disable */
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
|
||||||
exports.MulticallAbi__factory = void 0;
|
|
||||||
var ethers_1 = require("ethers");
|
|
||||||
var _abi = [
|
|
||||||
{
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
components: [
|
|
||||||
{
|
|
||||||
internalType: 'address',
|
|
||||||
name: 'target',
|
|
||||||
type: 'address',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
internalType: 'bytes',
|
|
||||||
name: 'callData',
|
|
||||||
type: 'bytes',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
internalType: 'struct Multicall3.Call[]',
|
|
||||||
name: 'calls',
|
|
||||||
type: 'tuple[]',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
name: 'aggregate',
|
|
||||||
outputs: [
|
|
||||||
{
|
|
||||||
internalType: 'uint256',
|
|
||||||
name: 'blockNumber',
|
|
||||||
type: 'uint256',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
internalType: 'bytes[]',
|
|
||||||
name: 'returnData',
|
|
||||||
type: 'bytes[]',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
stateMutability: 'payable',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
components: [
|
|
||||||
{
|
|
||||||
internalType: 'address',
|
|
||||||
name: 'target',
|
|
||||||
type: 'address',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
internalType: 'bool',
|
|
||||||
name: 'allowFailure',
|
|
||||||
type: 'bool',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
internalType: 'bytes',
|
|
||||||
name: 'callData',
|
|
||||||
type: 'bytes',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
internalType: 'struct Multicall3.Call3[]',
|
|
||||||
name: 'calls',
|
|
||||||
type: 'tuple[]',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
name: 'aggregate3',
|
|
||||||
outputs: [
|
|
||||||
{
|
|
||||||
components: [
|
|
||||||
{
|
|
||||||
internalType: 'bool',
|
|
||||||
name: 'success',
|
|
||||||
type: 'bool',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
internalType: 'bytes',
|
|
||||||
name: 'returnData',
|
|
||||||
type: 'bytes',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
internalType: 'struct Multicall3.Result[]',
|
|
||||||
name: 'returnData',
|
|
||||||
type: 'tuple[]',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
stateMutability: 'payable',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
components: [
|
|
||||||
{
|
|
||||||
internalType: 'address',
|
|
||||||
name: 'target',
|
|
||||||
type: 'address',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
internalType: 'bool',
|
|
||||||
name: 'allowFailure',
|
|
||||||
type: 'bool',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
internalType: 'uint256',
|
|
||||||
name: 'value',
|
|
||||||
type: 'uint256',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
internalType: 'bytes',
|
|
||||||
name: 'callData',
|
|
||||||
type: 'bytes',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
internalType: 'struct Multicall3.Call3Value[]',
|
|
||||||
name: 'calls',
|
|
||||||
type: 'tuple[]',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
name: 'aggregate3Value',
|
|
||||||
outputs: [
|
|
||||||
{
|
|
||||||
components: [
|
|
||||||
{
|
|
||||||
internalType: 'bool',
|
|
||||||
name: 'success',
|
|
||||||
type: 'bool',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
internalType: 'bytes',
|
|
||||||
name: 'returnData',
|
|
||||||
type: 'bytes',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
internalType: 'struct Multicall3.Result[]',
|
|
||||||
name: 'returnData',
|
|
||||||
type: 'tuple[]',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
stateMutability: 'payable',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
components: [
|
|
||||||
{
|
|
||||||
internalType: 'address',
|
|
||||||
name: 'target',
|
|
||||||
type: 'address',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
internalType: 'bytes',
|
|
||||||
name: 'callData',
|
|
||||||
type: 'bytes',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
internalType: 'struct Multicall3.Call[]',
|
|
||||||
name: 'calls',
|
|
||||||
type: 'tuple[]',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
name: 'blockAndAggregate',
|
|
||||||
outputs: [
|
|
||||||
{
|
|
||||||
internalType: 'uint256',
|
|
||||||
name: 'blockNumber',
|
|
||||||
type: 'uint256',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
internalType: 'bytes32',
|
|
||||||
name: 'blockHash',
|
|
||||||
type: 'bytes32',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
components: [
|
|
||||||
{
|
|
||||||
internalType: 'bool',
|
|
||||||
name: 'success',
|
|
||||||
type: 'bool',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
internalType: 'bytes',
|
|
||||||
name: 'returnData',
|
|
||||||
type: 'bytes',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
internalType: 'struct Multicall3.Result[]',
|
|
||||||
name: 'returnData',
|
|
||||||
type: 'tuple[]',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
stateMutability: 'payable',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [],
|
|
||||||
name: 'getBasefee',
|
|
||||||
outputs: [
|
|
||||||
{
|
|
||||||
internalType: 'uint256',
|
|
||||||
name: 'basefee',
|
|
||||||
type: 'uint256',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
stateMutability: 'view',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
internalType: 'uint256',
|
|
||||||
name: 'blockNumber',
|
|
||||||
type: 'uint256',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
name: 'getBlockHash',
|
|
||||||
outputs: [
|
|
||||||
{
|
|
||||||
internalType: 'bytes32',
|
|
||||||
name: 'blockHash',
|
|
||||||
type: 'bytes32',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
stateMutability: 'view',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [],
|
|
||||||
name: 'getBlockNumber',
|
|
||||||
outputs: [
|
|
||||||
{
|
|
||||||
internalType: 'uint256',
|
|
||||||
name: 'blockNumber',
|
|
||||||
type: 'uint256',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
stateMutability: 'view',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [],
|
|
||||||
name: 'getChainId',
|
|
||||||
outputs: [
|
|
||||||
{
|
|
||||||
internalType: 'uint256',
|
|
||||||
name: 'chainid',
|
|
||||||
type: 'uint256',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
stateMutability: 'view',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [],
|
|
||||||
name: 'getCurrentBlockCoinbase',
|
|
||||||
outputs: [
|
|
||||||
{
|
|
||||||
internalType: 'address',
|
|
||||||
name: 'coinbase',
|
|
||||||
type: 'address',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
stateMutability: 'view',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [],
|
|
||||||
name: 'getCurrentBlockDifficulty',
|
|
||||||
outputs: [
|
|
||||||
{
|
|
||||||
internalType: 'uint256',
|
|
||||||
name: 'difficulty',
|
|
||||||
type: 'uint256',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
stateMutability: 'view',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [],
|
|
||||||
name: 'getCurrentBlockGasLimit',
|
|
||||||
outputs: [
|
|
||||||
{
|
|
||||||
internalType: 'uint256',
|
|
||||||
name: 'gaslimit',
|
|
||||||
type: 'uint256',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
stateMutability: 'view',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [],
|
|
||||||
name: 'getCurrentBlockTimestamp',
|
|
||||||
outputs: [
|
|
||||||
{
|
|
||||||
internalType: 'uint256',
|
|
||||||
name: 'timestamp',
|
|
||||||
type: 'uint256',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
stateMutability: 'view',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
internalType: 'address',
|
|
||||||
name: 'addr',
|
|
||||||
type: 'address',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
name: 'getEthBalance',
|
|
||||||
outputs: [
|
|
||||||
{
|
|
||||||
internalType: 'uint256',
|
|
||||||
name: 'balance',
|
|
||||||
type: 'uint256',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
stateMutability: 'view',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [],
|
|
||||||
name: 'getLastBlockHash',
|
|
||||||
outputs: [
|
|
||||||
{
|
|
||||||
internalType: 'bytes32',
|
|
||||||
name: 'blockHash',
|
|
||||||
type: 'bytes32',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
stateMutability: 'view',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
internalType: 'bool',
|
|
||||||
name: 'requireSuccess',
|
|
||||||
type: 'bool',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
components: [
|
|
||||||
{
|
|
||||||
internalType: 'address',
|
|
||||||
name: 'target',
|
|
||||||
type: 'address',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
internalType: 'bytes',
|
|
||||||
name: 'callData',
|
|
||||||
type: 'bytes',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
internalType: 'struct Multicall3.Call[]',
|
|
||||||
name: 'calls',
|
|
||||||
type: 'tuple[]',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
name: 'tryAggregate',
|
|
||||||
outputs: [
|
|
||||||
{
|
|
||||||
components: [
|
|
||||||
{
|
|
||||||
internalType: 'bool',
|
|
||||||
name: 'success',
|
|
||||||
type: 'bool',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
internalType: 'bytes',
|
|
||||||
name: 'returnData',
|
|
||||||
type: 'bytes',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
internalType: 'struct Multicall3.Result[]',
|
|
||||||
name: 'returnData',
|
|
||||||
type: 'tuple[]',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
stateMutability: 'payable',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
internalType: 'bool',
|
|
||||||
name: 'requireSuccess',
|
|
||||||
type: 'bool',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
components: [
|
|
||||||
{
|
|
||||||
internalType: 'address',
|
|
||||||
name: 'target',
|
|
||||||
type: 'address',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
internalType: 'bytes',
|
|
||||||
name: 'callData',
|
|
||||||
type: 'bytes',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
internalType: 'struct Multicall3.Call[]',
|
|
||||||
name: 'calls',
|
|
||||||
type: 'tuple[]',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
name: 'tryBlockAndAggregate',
|
|
||||||
outputs: [
|
|
||||||
{
|
|
||||||
internalType: 'uint256',
|
|
||||||
name: 'blockNumber',
|
|
||||||
type: 'uint256',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
internalType: 'bytes32',
|
|
||||||
name: 'blockHash',
|
|
||||||
type: 'bytes32',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
components: [
|
|
||||||
{
|
|
||||||
internalType: 'bool',
|
|
||||||
name: 'success',
|
|
||||||
type: 'bool',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
internalType: 'bytes',
|
|
||||||
name: 'returnData',
|
|
||||||
type: 'bytes',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
internalType: 'struct Multicall3.Result[]',
|
|
||||||
name: 'returnData',
|
|
||||||
type: 'tuple[]',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
stateMutability: 'payable',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
];
|
|
||||||
var MulticallAbi__factory = exports.MulticallAbi__factory = /** @class */ (function () {
|
|
||||||
function MulticallAbi__factory() {
|
|
||||||
}
|
|
||||||
MulticallAbi__factory.createInterface = function () {
|
|
||||||
return new ethers_1.utils.Interface(_abi);
|
|
||||||
};
|
|
||||||
MulticallAbi__factory.connect = function (address, signerOrProvider) {
|
|
||||||
return new ethers_1.Contract(address, _abi, signerOrProvider);
|
|
||||||
};
|
|
||||||
MulticallAbi__factory.abi = _abi;
|
|
||||||
return MulticallAbi__factory;
|
|
||||||
}());
|
|
||||||
//# sourceMappingURL=MulticallAbi__factory.js.map
|
|
||||||
File diff suppressed because one or more lines are too long
@@ -1,7 +1,6 @@
|
|||||||
import { Signer } from 'ethers';
|
import { type ContractRunner } from "ethers";
|
||||||
import type { Provider } from '@ethersproject/providers';
|
import type { Multicall, MulticallInterface } from "../Multicall";
|
||||||
import type { MulticallAbi, MulticallAbiInterface } from '../MulticallAbi';
|
export declare class Multicall__factory {
|
||||||
export declare class MulticallAbi__factory {
|
|
||||||
static readonly abi: readonly [{
|
static readonly abi: readonly [{
|
||||||
readonly inputs: readonly [{
|
readonly inputs: readonly [{
|
||||||
readonly components: readonly [{
|
readonly components: readonly [{
|
||||||
@@ -334,6 +333,6 @@ export declare class MulticallAbi__factory {
|
|||||||
readonly stateMutability: "payable";
|
readonly stateMutability: "payable";
|
||||||
readonly type: "function";
|
readonly type: "function";
|
||||||
}];
|
}];
|
||||||
static createInterface(): MulticallAbiInterface;
|
static createInterface(): MulticallInterface;
|
||||||
static connect(address: string, signerOrProvider: Signer | Provider): MulticallAbi;
|
static connect(address: string, runner?: ContractRunner | null): Multicall;
|
||||||
}
|
}
|
||||||
458
lib/contracts/factories/Multicall__factory.js
Normal file
458
lib/contracts/factories/Multicall__factory.js
Normal file
@@ -0,0 +1,458 @@
|
|||||||
|
"use strict";
|
||||||
|
/* Autogenerated file. Do not edit manually. */
|
||||||
|
/* tslint:disable */
|
||||||
|
/* eslint-disable */
|
||||||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.Multicall__factory = void 0;
|
||||||
|
const ethers_1 = require("ethers");
|
||||||
|
const _abi = [
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
components: [
|
||||||
|
{
|
||||||
|
internalType: "address",
|
||||||
|
name: "target",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bytes",
|
||||||
|
name: "callData",
|
||||||
|
type: "bytes",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
internalType: "struct Multicall3.Call[]",
|
||||||
|
name: "calls",
|
||||||
|
type: "tuple[]",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "aggregate",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "blockNumber",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bytes[]",
|
||||||
|
name: "returnData",
|
||||||
|
type: "bytes[]",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "payable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
components: [
|
||||||
|
{
|
||||||
|
internalType: "address",
|
||||||
|
name: "target",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bool",
|
||||||
|
name: "allowFailure",
|
||||||
|
type: "bool",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bytes",
|
||||||
|
name: "callData",
|
||||||
|
type: "bytes",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
internalType: "struct Multicall3.Call3[]",
|
||||||
|
name: "calls",
|
||||||
|
type: "tuple[]",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "aggregate3",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
components: [
|
||||||
|
{
|
||||||
|
internalType: "bool",
|
||||||
|
name: "success",
|
||||||
|
type: "bool",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bytes",
|
||||||
|
name: "returnData",
|
||||||
|
type: "bytes",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
internalType: "struct Multicall3.Result[]",
|
||||||
|
name: "returnData",
|
||||||
|
type: "tuple[]",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "payable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
components: [
|
||||||
|
{
|
||||||
|
internalType: "address",
|
||||||
|
name: "target",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bool",
|
||||||
|
name: "allowFailure",
|
||||||
|
type: "bool",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "value",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bytes",
|
||||||
|
name: "callData",
|
||||||
|
type: "bytes",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
internalType: "struct Multicall3.Call3Value[]",
|
||||||
|
name: "calls",
|
||||||
|
type: "tuple[]",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "aggregate3Value",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
components: [
|
||||||
|
{
|
||||||
|
internalType: "bool",
|
||||||
|
name: "success",
|
||||||
|
type: "bool",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bytes",
|
||||||
|
name: "returnData",
|
||||||
|
type: "bytes",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
internalType: "struct Multicall3.Result[]",
|
||||||
|
name: "returnData",
|
||||||
|
type: "tuple[]",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "payable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
components: [
|
||||||
|
{
|
||||||
|
internalType: "address",
|
||||||
|
name: "target",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bytes",
|
||||||
|
name: "callData",
|
||||||
|
type: "bytes",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
internalType: "struct Multicall3.Call[]",
|
||||||
|
name: "calls",
|
||||||
|
type: "tuple[]",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "blockAndAggregate",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "blockNumber",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bytes32",
|
||||||
|
name: "blockHash",
|
||||||
|
type: "bytes32",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
components: [
|
||||||
|
{
|
||||||
|
internalType: "bool",
|
||||||
|
name: "success",
|
||||||
|
type: "bool",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bytes",
|
||||||
|
name: "returnData",
|
||||||
|
type: "bytes",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
internalType: "struct Multicall3.Result[]",
|
||||||
|
name: "returnData",
|
||||||
|
type: "tuple[]",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "payable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "getBasefee",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "basefee",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "blockNumber",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "getBlockHash",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "bytes32",
|
||||||
|
name: "blockHash",
|
||||||
|
type: "bytes32",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "getBlockNumber",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "blockNumber",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "getChainId",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "chainid",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "getCurrentBlockCoinbase",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "address",
|
||||||
|
name: "coinbase",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "getCurrentBlockDifficulty",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "difficulty",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "getCurrentBlockGasLimit",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "gaslimit",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "getCurrentBlockTimestamp",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "timestamp",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "address",
|
||||||
|
name: "addr",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "getEthBalance",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "balance",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "getLastBlockHash",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "bytes32",
|
||||||
|
name: "blockHash",
|
||||||
|
type: "bytes32",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "bool",
|
||||||
|
name: "requireSuccess",
|
||||||
|
type: "bool",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
components: [
|
||||||
|
{
|
||||||
|
internalType: "address",
|
||||||
|
name: "target",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bytes",
|
||||||
|
name: "callData",
|
||||||
|
type: "bytes",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
internalType: "struct Multicall3.Call[]",
|
||||||
|
name: "calls",
|
||||||
|
type: "tuple[]",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "tryAggregate",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
components: [
|
||||||
|
{
|
||||||
|
internalType: "bool",
|
||||||
|
name: "success",
|
||||||
|
type: "bool",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bytes",
|
||||||
|
name: "returnData",
|
||||||
|
type: "bytes",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
internalType: "struct Multicall3.Result[]",
|
||||||
|
name: "returnData",
|
||||||
|
type: "tuple[]",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "payable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "bool",
|
||||||
|
name: "requireSuccess",
|
||||||
|
type: "bool",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
components: [
|
||||||
|
{
|
||||||
|
internalType: "address",
|
||||||
|
name: "target",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bytes",
|
||||||
|
name: "callData",
|
||||||
|
type: "bytes",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
internalType: "struct Multicall3.Call[]",
|
||||||
|
name: "calls",
|
||||||
|
type: "tuple[]",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "tryBlockAndAggregate",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "blockNumber",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bytes32",
|
||||||
|
name: "blockHash",
|
||||||
|
type: "bytes32",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
components: [
|
||||||
|
{
|
||||||
|
internalType: "bool",
|
||||||
|
name: "success",
|
||||||
|
type: "bool",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bytes",
|
||||||
|
name: "returnData",
|
||||||
|
type: "bytes",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
internalType: "struct Multicall3.Result[]",
|
||||||
|
name: "returnData",
|
||||||
|
type: "tuple[]",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "payable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
];
|
||||||
|
class Multicall__factory {
|
||||||
|
static createInterface() {
|
||||||
|
return new ethers_1.Interface(_abi);
|
||||||
|
}
|
||||||
|
static connect(address, runner) {
|
||||||
|
return new ethers_1.Contract(address, _abi, runner);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
exports.Multicall__factory = Multicall__factory;
|
||||||
|
Multicall__factory.abi = _abi;
|
||||||
|
//# sourceMappingURL=Multicall__factory.js.map
|
||||||
1
lib/contracts/factories/Multicall__factory.js.map
Normal file
1
lib/contracts/factories/Multicall__factory.js.map
Normal file
File diff suppressed because one or more lines are too long
@@ -1,354 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
/* Autogenerated file. Do not edit manually. */
|
|
||||||
/* tslint:disable */
|
|
||||||
/* eslint-disable */
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
|
||||||
exports.OffchainOracleAbi__factory = void 0;
|
|
||||||
var ethers_1 = require("ethers");
|
|
||||||
var _abi = [
|
|
||||||
{
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
internalType: 'contract MultiWrapper',
|
|
||||||
name: '_multiWrapper',
|
|
||||||
type: 'address',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
internalType: 'contract IOracle[]',
|
|
||||||
name: 'existingOracles',
|
|
||||||
type: 'address[]',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
internalType: 'enum OffchainOracle.OracleType[]',
|
|
||||||
name: 'oracleTypes',
|
|
||||||
type: 'uint8[]',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
internalType: 'contract IERC20[]',
|
|
||||||
name: 'existingConnectors',
|
|
||||||
type: 'address[]',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
internalType: 'contract IERC20',
|
|
||||||
name: 'wBase',
|
|
||||||
type: 'address',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
stateMutability: 'nonpayable',
|
|
||||||
type: 'constructor',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
anonymous: false,
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
indexed: false,
|
|
||||||
internalType: 'contract IERC20',
|
|
||||||
name: 'connector',
|
|
||||||
type: 'address',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
name: 'ConnectorAdded',
|
|
||||||
type: 'event',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
anonymous: false,
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
indexed: false,
|
|
||||||
internalType: 'contract IERC20',
|
|
||||||
name: 'connector',
|
|
||||||
type: 'address',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
name: 'ConnectorRemoved',
|
|
||||||
type: 'event',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
anonymous: false,
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
indexed: false,
|
|
||||||
internalType: 'contract MultiWrapper',
|
|
||||||
name: 'multiWrapper',
|
|
||||||
type: 'address',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
name: 'MultiWrapperUpdated',
|
|
||||||
type: 'event',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
anonymous: false,
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
indexed: false,
|
|
||||||
internalType: 'contract IOracle',
|
|
||||||
name: 'oracle',
|
|
||||||
type: 'address',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
indexed: false,
|
|
||||||
internalType: 'enum OffchainOracle.OracleType',
|
|
||||||
name: 'oracleType',
|
|
||||||
type: 'uint8',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
name: 'OracleAdded',
|
|
||||||
type: 'event',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
anonymous: false,
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
indexed: false,
|
|
||||||
internalType: 'contract IOracle',
|
|
||||||
name: 'oracle',
|
|
||||||
type: 'address',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
indexed: false,
|
|
||||||
internalType: 'enum OffchainOracle.OracleType',
|
|
||||||
name: 'oracleType',
|
|
||||||
type: 'uint8',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
name: 'OracleRemoved',
|
|
||||||
type: 'event',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
anonymous: false,
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
indexed: true,
|
|
||||||
internalType: 'address',
|
|
||||||
name: 'previousOwner',
|
|
||||||
type: 'address',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
indexed: true,
|
|
||||||
internalType: 'address',
|
|
||||||
name: 'newOwner',
|
|
||||||
type: 'address',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
name: 'OwnershipTransferred',
|
|
||||||
type: 'event',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
internalType: 'contract IERC20',
|
|
||||||
name: 'connector',
|
|
||||||
type: 'address',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
name: 'addConnector',
|
|
||||||
outputs: [],
|
|
||||||
stateMutability: 'nonpayable',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
internalType: 'contract IOracle',
|
|
||||||
name: 'oracle',
|
|
||||||
type: 'address',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
internalType: 'enum OffchainOracle.OracleType',
|
|
||||||
name: 'oracleKind',
|
|
||||||
type: 'uint8',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
name: 'addOracle',
|
|
||||||
outputs: [],
|
|
||||||
stateMutability: 'nonpayable',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [],
|
|
||||||
name: 'connectors',
|
|
||||||
outputs: [
|
|
||||||
{
|
|
||||||
internalType: 'contract IERC20[]',
|
|
||||||
name: 'allConnectors',
|
|
||||||
type: 'address[]',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
stateMutability: 'view',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
internalType: 'contract IERC20',
|
|
||||||
name: 'srcToken',
|
|
||||||
type: 'address',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
internalType: 'contract IERC20',
|
|
||||||
name: 'dstToken',
|
|
||||||
type: 'address',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
internalType: 'bool',
|
|
||||||
name: 'useWrappers',
|
|
||||||
type: 'bool',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
name: 'getRate',
|
|
||||||
outputs: [
|
|
||||||
{
|
|
||||||
internalType: 'uint256',
|
|
||||||
name: 'weightedRate',
|
|
||||||
type: 'uint256',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
stateMutability: 'view',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
internalType: 'contract IERC20',
|
|
||||||
name: 'srcToken',
|
|
||||||
type: 'address',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
internalType: 'bool',
|
|
||||||
name: 'useSrcWrappers',
|
|
||||||
type: 'bool',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
name: 'getRateToEth',
|
|
||||||
outputs: [
|
|
||||||
{
|
|
||||||
internalType: 'uint256',
|
|
||||||
name: 'weightedRate',
|
|
||||||
type: 'uint256',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
stateMutability: 'view',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [],
|
|
||||||
name: 'multiWrapper',
|
|
||||||
outputs: [
|
|
||||||
{
|
|
||||||
internalType: 'contract MultiWrapper',
|
|
||||||
name: '',
|
|
||||||
type: 'address',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
stateMutability: 'view',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [],
|
|
||||||
name: 'oracles',
|
|
||||||
outputs: [
|
|
||||||
{
|
|
||||||
internalType: 'contract IOracle[]',
|
|
||||||
name: 'allOracles',
|
|
||||||
type: 'address[]',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
internalType: 'enum OffchainOracle.OracleType[]',
|
|
||||||
name: 'oracleTypes',
|
|
||||||
type: 'uint8[]',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
stateMutability: 'view',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [],
|
|
||||||
name: 'owner',
|
|
||||||
outputs: [
|
|
||||||
{
|
|
||||||
internalType: 'address',
|
|
||||||
name: '',
|
|
||||||
type: 'address',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
stateMutability: 'view',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
internalType: 'contract IERC20',
|
|
||||||
name: 'connector',
|
|
||||||
type: 'address',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
name: 'removeConnector',
|
|
||||||
outputs: [],
|
|
||||||
stateMutability: 'nonpayable',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
internalType: 'contract IOracle',
|
|
||||||
name: 'oracle',
|
|
||||||
type: 'address',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
internalType: 'enum OffchainOracle.OracleType',
|
|
||||||
name: 'oracleKind',
|
|
||||||
type: 'uint8',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
name: 'removeOracle',
|
|
||||||
outputs: [],
|
|
||||||
stateMutability: 'nonpayable',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [],
|
|
||||||
name: 'renounceOwnership',
|
|
||||||
outputs: [],
|
|
||||||
stateMutability: 'nonpayable',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
internalType: 'contract MultiWrapper',
|
|
||||||
name: '_multiWrapper',
|
|
||||||
type: 'address',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
name: 'setMultiWrapper',
|
|
||||||
outputs: [],
|
|
||||||
stateMutability: 'nonpayable',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
internalType: 'address',
|
|
||||||
name: 'newOwner',
|
|
||||||
type: 'address',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
name: 'transferOwnership',
|
|
||||||
outputs: [],
|
|
||||||
stateMutability: 'nonpayable',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
];
|
|
||||||
var OffchainOracleAbi__factory = exports.OffchainOracleAbi__factory = /** @class */ (function () {
|
|
||||||
function OffchainOracleAbi__factory() {
|
|
||||||
}
|
|
||||||
OffchainOracleAbi__factory.createInterface = function () {
|
|
||||||
return new ethers_1.utils.Interface(_abi);
|
|
||||||
};
|
|
||||||
OffchainOracleAbi__factory.connect = function (address, signerOrProvider) {
|
|
||||||
return new ethers_1.Contract(address, _abi, signerOrProvider);
|
|
||||||
};
|
|
||||||
OffchainOracleAbi__factory.abi = _abi;
|
|
||||||
return OffchainOracleAbi__factory;
|
|
||||||
}());
|
|
||||||
//# sourceMappingURL=OffchainOracleAbi__factory.js.map
|
|
||||||
File diff suppressed because one or more lines are too long
@@ -1,7 +1,6 @@
|
|||||||
import { Signer } from 'ethers';
|
import { type ContractRunner } from "ethers";
|
||||||
import type { Provider } from '@ethersproject/providers';
|
import type { OffchainOracle, OffchainOracleInterface } from "../OffchainOracle";
|
||||||
import type { OffchainOracleAbi, OffchainOracleAbiInterface } from '../OffchainOracleAbi';
|
export declare class OffchainOracle__factory {
|
||||||
export declare class OffchainOracleAbi__factory {
|
|
||||||
static readonly abi: readonly [{
|
static readonly abi: readonly [{
|
||||||
readonly inputs: readonly [{
|
readonly inputs: readonly [{
|
||||||
readonly internalType: "contract MultiWrapper";
|
readonly internalType: "contract MultiWrapper";
|
||||||
@@ -23,9 +22,45 @@ export declare class OffchainOracleAbi__factory {
|
|||||||
readonly internalType: "contract IERC20";
|
readonly internalType: "contract IERC20";
|
||||||
readonly name: "wBase";
|
readonly name: "wBase";
|
||||||
readonly type: "address";
|
readonly type: "address";
|
||||||
|
}, {
|
||||||
|
readonly internalType: "address";
|
||||||
|
readonly name: "owner";
|
||||||
|
readonly type: "address";
|
||||||
}];
|
}];
|
||||||
readonly stateMutability: "nonpayable";
|
readonly stateMutability: "nonpayable";
|
||||||
readonly type: "constructor";
|
readonly type: "constructor";
|
||||||
|
}, {
|
||||||
|
readonly inputs: readonly [];
|
||||||
|
readonly name: "ArraysLengthMismatch";
|
||||||
|
readonly type: "error";
|
||||||
|
}, {
|
||||||
|
readonly inputs: readonly [];
|
||||||
|
readonly name: "ConnectorAlreadyAdded";
|
||||||
|
readonly type: "error";
|
||||||
|
}, {
|
||||||
|
readonly inputs: readonly [];
|
||||||
|
readonly name: "InvalidOracleTokenKind";
|
||||||
|
readonly type: "error";
|
||||||
|
}, {
|
||||||
|
readonly inputs: readonly [];
|
||||||
|
readonly name: "OracleAlreadyAdded";
|
||||||
|
readonly type: "error";
|
||||||
|
}, {
|
||||||
|
readonly inputs: readonly [];
|
||||||
|
readonly name: "SameTokens";
|
||||||
|
readonly type: "error";
|
||||||
|
}, {
|
||||||
|
readonly inputs: readonly [];
|
||||||
|
readonly name: "TooBigThreshold";
|
||||||
|
readonly type: "error";
|
||||||
|
}, {
|
||||||
|
readonly inputs: readonly [];
|
||||||
|
readonly name: "UnknownConnector";
|
||||||
|
readonly type: "error";
|
||||||
|
}, {
|
||||||
|
readonly inputs: readonly [];
|
||||||
|
readonly name: "UnknownOracle";
|
||||||
|
readonly type: "error";
|
||||||
}, {
|
}, {
|
||||||
readonly anonymous: false;
|
readonly anonymous: false;
|
||||||
readonly inputs: readonly [{
|
readonly inputs: readonly [{
|
||||||
@@ -175,6 +210,110 @@ export declare class OffchainOracleAbi__factory {
|
|||||||
}];
|
}];
|
||||||
readonly stateMutability: "view";
|
readonly stateMutability: "view";
|
||||||
readonly type: "function";
|
readonly type: "function";
|
||||||
|
}, {
|
||||||
|
readonly inputs: readonly [{
|
||||||
|
readonly internalType: "contract IERC20";
|
||||||
|
readonly name: "srcToken";
|
||||||
|
readonly type: "address";
|
||||||
|
}, {
|
||||||
|
readonly internalType: "bool";
|
||||||
|
readonly name: "useSrcWrappers";
|
||||||
|
readonly type: "bool";
|
||||||
|
}, {
|
||||||
|
readonly internalType: "contract IERC20[]";
|
||||||
|
readonly name: "customConnectors";
|
||||||
|
readonly type: "address[]";
|
||||||
|
}, {
|
||||||
|
readonly internalType: "uint256";
|
||||||
|
readonly name: "thresholdFilter";
|
||||||
|
readonly type: "uint256";
|
||||||
|
}];
|
||||||
|
readonly name: "getRateToEthWithCustomConnectors";
|
||||||
|
readonly outputs: readonly [{
|
||||||
|
readonly internalType: "uint256";
|
||||||
|
readonly name: "weightedRate";
|
||||||
|
readonly type: "uint256";
|
||||||
|
}];
|
||||||
|
readonly stateMutability: "view";
|
||||||
|
readonly type: "function";
|
||||||
|
}, {
|
||||||
|
readonly inputs: readonly [{
|
||||||
|
readonly internalType: "contract IERC20";
|
||||||
|
readonly name: "srcToken";
|
||||||
|
readonly type: "address";
|
||||||
|
}, {
|
||||||
|
readonly internalType: "bool";
|
||||||
|
readonly name: "useSrcWrappers";
|
||||||
|
readonly type: "bool";
|
||||||
|
}, {
|
||||||
|
readonly internalType: "uint256";
|
||||||
|
readonly name: "thresholdFilter";
|
||||||
|
readonly type: "uint256";
|
||||||
|
}];
|
||||||
|
readonly name: "getRateToEthWithThreshold";
|
||||||
|
readonly outputs: readonly [{
|
||||||
|
readonly internalType: "uint256";
|
||||||
|
readonly name: "weightedRate";
|
||||||
|
readonly type: "uint256";
|
||||||
|
}];
|
||||||
|
readonly stateMutability: "view";
|
||||||
|
readonly type: "function";
|
||||||
|
}, {
|
||||||
|
readonly inputs: readonly [{
|
||||||
|
readonly internalType: "contract IERC20";
|
||||||
|
readonly name: "srcToken";
|
||||||
|
readonly type: "address";
|
||||||
|
}, {
|
||||||
|
readonly internalType: "contract IERC20";
|
||||||
|
readonly name: "dstToken";
|
||||||
|
readonly type: "address";
|
||||||
|
}, {
|
||||||
|
readonly internalType: "bool";
|
||||||
|
readonly name: "useWrappers";
|
||||||
|
readonly type: "bool";
|
||||||
|
}, {
|
||||||
|
readonly internalType: "contract IERC20[]";
|
||||||
|
readonly name: "customConnectors";
|
||||||
|
readonly type: "address[]";
|
||||||
|
}, {
|
||||||
|
readonly internalType: "uint256";
|
||||||
|
readonly name: "thresholdFilter";
|
||||||
|
readonly type: "uint256";
|
||||||
|
}];
|
||||||
|
readonly name: "getRateWithCustomConnectors";
|
||||||
|
readonly outputs: readonly [{
|
||||||
|
readonly internalType: "uint256";
|
||||||
|
readonly name: "weightedRate";
|
||||||
|
readonly type: "uint256";
|
||||||
|
}];
|
||||||
|
readonly stateMutability: "view";
|
||||||
|
readonly type: "function";
|
||||||
|
}, {
|
||||||
|
readonly inputs: readonly [{
|
||||||
|
readonly internalType: "contract IERC20";
|
||||||
|
readonly name: "srcToken";
|
||||||
|
readonly type: "address";
|
||||||
|
}, {
|
||||||
|
readonly internalType: "contract IERC20";
|
||||||
|
readonly name: "dstToken";
|
||||||
|
readonly type: "address";
|
||||||
|
}, {
|
||||||
|
readonly internalType: "bool";
|
||||||
|
readonly name: "useWrappers";
|
||||||
|
readonly type: "bool";
|
||||||
|
}, {
|
||||||
|
readonly internalType: "uint256";
|
||||||
|
readonly name: "thresholdFilter";
|
||||||
|
readonly type: "uint256";
|
||||||
|
}];
|
||||||
|
readonly name: "getRateWithThreshold";
|
||||||
|
readonly outputs: readonly [{
|
||||||
|
readonly internalType: "uint256";
|
||||||
|
readonly name: "weightedRate";
|
||||||
|
readonly type: "uint256";
|
||||||
|
}];
|
||||||
|
readonly stateMutability: "view";
|
||||||
|
readonly type: "function";
|
||||||
}, {
|
}, {
|
||||||
readonly inputs: readonly [];
|
readonly inputs: readonly [];
|
||||||
readonly name: "multiWrapper";
|
readonly name: "multiWrapper";
|
||||||
@@ -260,6 +399,6 @@ export declare class OffchainOracleAbi__factory {
|
|||||||
readonly stateMutability: "nonpayable";
|
readonly stateMutability: "nonpayable";
|
||||||
readonly type: "function";
|
readonly type: "function";
|
||||||
}];
|
}];
|
||||||
static createInterface(): OffchainOracleAbiInterface;
|
static createInterface(): OffchainOracleInterface;
|
||||||
static connect(address: string, signerOrProvider: Signer | Provider): OffchainOracleAbi;
|
static connect(address: string, runner?: ContractRunner | null): OffchainOracle;
|
||||||
}
|
}
|
||||||
533
lib/contracts/factories/OffchainOracle__factory.js
Normal file
533
lib/contracts/factories/OffchainOracle__factory.js
Normal file
@@ -0,0 +1,533 @@
|
|||||||
|
"use strict";
|
||||||
|
/* Autogenerated file. Do not edit manually. */
|
||||||
|
/* tslint:disable */
|
||||||
|
/* eslint-disable */
|
||||||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.OffchainOracle__factory = void 0;
|
||||||
|
const ethers_1 = require("ethers");
|
||||||
|
const _abi = [
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "contract MultiWrapper",
|
||||||
|
name: "_multiWrapper",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "contract IOracle[]",
|
||||||
|
name: "existingOracles",
|
||||||
|
type: "address[]",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "enum OffchainOracle.OracleType[]",
|
||||||
|
name: "oracleTypes",
|
||||||
|
type: "uint8[]",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "contract IERC20[]",
|
||||||
|
name: "existingConnectors",
|
||||||
|
type: "address[]",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "contract IERC20",
|
||||||
|
name: "wBase",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "address",
|
||||||
|
name: "owner",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "constructor",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "ArraysLengthMismatch",
|
||||||
|
type: "error",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "ConnectorAlreadyAdded",
|
||||||
|
type: "error",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "InvalidOracleTokenKind",
|
||||||
|
type: "error",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "OracleAlreadyAdded",
|
||||||
|
type: "error",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "SameTokens",
|
||||||
|
type: "error",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "TooBigThreshold",
|
||||||
|
type: "error",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "UnknownConnector",
|
||||||
|
type: "error",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "UnknownOracle",
|
||||||
|
type: "error",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
anonymous: false,
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
indexed: false,
|
||||||
|
internalType: "contract IERC20",
|
||||||
|
name: "connector",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "ConnectorAdded",
|
||||||
|
type: "event",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
anonymous: false,
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
indexed: false,
|
||||||
|
internalType: "contract IERC20",
|
||||||
|
name: "connector",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "ConnectorRemoved",
|
||||||
|
type: "event",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
anonymous: false,
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
indexed: false,
|
||||||
|
internalType: "contract MultiWrapper",
|
||||||
|
name: "multiWrapper",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "MultiWrapperUpdated",
|
||||||
|
type: "event",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
anonymous: false,
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
indexed: false,
|
||||||
|
internalType: "contract IOracle",
|
||||||
|
name: "oracle",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
indexed: false,
|
||||||
|
internalType: "enum OffchainOracle.OracleType",
|
||||||
|
name: "oracleType",
|
||||||
|
type: "uint8",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "OracleAdded",
|
||||||
|
type: "event",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
anonymous: false,
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
indexed: false,
|
||||||
|
internalType: "contract IOracle",
|
||||||
|
name: "oracle",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
indexed: false,
|
||||||
|
internalType: "enum OffchainOracle.OracleType",
|
||||||
|
name: "oracleType",
|
||||||
|
type: "uint8",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "OracleRemoved",
|
||||||
|
type: "event",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
anonymous: false,
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
indexed: true,
|
||||||
|
internalType: "address",
|
||||||
|
name: "previousOwner",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
indexed: true,
|
||||||
|
internalType: "address",
|
||||||
|
name: "newOwner",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "OwnershipTransferred",
|
||||||
|
type: "event",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "contract IERC20",
|
||||||
|
name: "connector",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "addConnector",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "contract IOracle",
|
||||||
|
name: "oracle",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "enum OffchainOracle.OracleType",
|
||||||
|
name: "oracleKind",
|
||||||
|
type: "uint8",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "addOracle",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "connectors",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "contract IERC20[]",
|
||||||
|
name: "allConnectors",
|
||||||
|
type: "address[]",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "contract IERC20",
|
||||||
|
name: "srcToken",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "contract IERC20",
|
||||||
|
name: "dstToken",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bool",
|
||||||
|
name: "useWrappers",
|
||||||
|
type: "bool",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "getRate",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "weightedRate",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "contract IERC20",
|
||||||
|
name: "srcToken",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bool",
|
||||||
|
name: "useSrcWrappers",
|
||||||
|
type: "bool",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "getRateToEth",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "weightedRate",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "contract IERC20",
|
||||||
|
name: "srcToken",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bool",
|
||||||
|
name: "useSrcWrappers",
|
||||||
|
type: "bool",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "contract IERC20[]",
|
||||||
|
name: "customConnectors",
|
||||||
|
type: "address[]",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "thresholdFilter",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "getRateToEthWithCustomConnectors",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "weightedRate",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "contract IERC20",
|
||||||
|
name: "srcToken",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bool",
|
||||||
|
name: "useSrcWrappers",
|
||||||
|
type: "bool",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "thresholdFilter",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "getRateToEthWithThreshold",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "weightedRate",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "contract IERC20",
|
||||||
|
name: "srcToken",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "contract IERC20",
|
||||||
|
name: "dstToken",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bool",
|
||||||
|
name: "useWrappers",
|
||||||
|
type: "bool",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "contract IERC20[]",
|
||||||
|
name: "customConnectors",
|
||||||
|
type: "address[]",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "thresholdFilter",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "getRateWithCustomConnectors",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "weightedRate",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "contract IERC20",
|
||||||
|
name: "srcToken",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "contract IERC20",
|
||||||
|
name: "dstToken",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bool",
|
||||||
|
name: "useWrappers",
|
||||||
|
type: "bool",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "thresholdFilter",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "getRateWithThreshold",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "weightedRate",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "multiWrapper",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "contract MultiWrapper",
|
||||||
|
name: "",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "oracles",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "contract IOracle[]",
|
||||||
|
name: "allOracles",
|
||||||
|
type: "address[]",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "enum OffchainOracle.OracleType[]",
|
||||||
|
name: "oracleTypes",
|
||||||
|
type: "uint8[]",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "owner",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "address",
|
||||||
|
name: "",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "contract IERC20",
|
||||||
|
name: "connector",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "removeConnector",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "contract IOracle",
|
||||||
|
name: "oracle",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "enum OffchainOracle.OracleType",
|
||||||
|
name: "oracleKind",
|
||||||
|
type: "uint8",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "removeOracle",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "renounceOwnership",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "contract MultiWrapper",
|
||||||
|
name: "_multiWrapper",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "setMultiWrapper",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "address",
|
||||||
|
name: "newOwner",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "transferOwnership",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
];
|
||||||
|
class OffchainOracle__factory {
|
||||||
|
static createInterface() {
|
||||||
|
return new ethers_1.Interface(_abi);
|
||||||
|
}
|
||||||
|
static connect(address, runner) {
|
||||||
|
return new ethers_1.Contract(address, _abi, runner);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
exports.OffchainOracle__factory = OffchainOracle__factory;
|
||||||
|
OffchainOracle__factory.abi = _abi;
|
||||||
|
//# sourceMappingURL=OffchainOracle__factory.js.map
|
||||||
1
lib/contracts/factories/OffchainOracle__factory.js.map
Normal file
1
lib/contracts/factories/OffchainOracle__factory.js.map
Normal file
File diff suppressed because one or more lines are too long
@@ -1,318 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
/* Autogenerated file. Do not edit manually. */
|
|
||||||
/* tslint:disable */
|
|
||||||
/* eslint-disable */
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
|
||||||
exports.OptimismL1FeeOracleAbi__factory = void 0;
|
|
||||||
var ethers_1 = require("ethers");
|
|
||||||
var _abi = [
|
|
||||||
{
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
internalType: 'address',
|
|
||||||
name: '_owner',
|
|
||||||
type: 'address',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
stateMutability: 'nonpayable',
|
|
||||||
type: 'constructor',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
anonymous: false,
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
indexed: false,
|
|
||||||
internalType: 'uint256',
|
|
||||||
name: '',
|
|
||||||
type: 'uint256',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
name: 'DecimalsUpdated',
|
|
||||||
type: 'event',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
anonymous: false,
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
indexed: false,
|
|
||||||
internalType: 'uint256',
|
|
||||||
name: '',
|
|
||||||
type: 'uint256',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
name: 'GasPriceUpdated',
|
|
||||||
type: 'event',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
anonymous: false,
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
indexed: false,
|
|
||||||
internalType: 'uint256',
|
|
||||||
name: '',
|
|
||||||
type: 'uint256',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
name: 'L1BaseFeeUpdated',
|
|
||||||
type: 'event',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
anonymous: false,
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
indexed: false,
|
|
||||||
internalType: 'uint256',
|
|
||||||
name: '',
|
|
||||||
type: 'uint256',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
name: 'OverheadUpdated',
|
|
||||||
type: 'event',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
anonymous: false,
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
indexed: true,
|
|
||||||
internalType: 'address',
|
|
||||||
name: 'previousOwner',
|
|
||||||
type: 'address',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
indexed: true,
|
|
||||||
internalType: 'address',
|
|
||||||
name: 'newOwner',
|
|
||||||
type: 'address',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
name: 'OwnershipTransferred',
|
|
||||||
type: 'event',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
anonymous: false,
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
indexed: false,
|
|
||||||
internalType: 'uint256',
|
|
||||||
name: '',
|
|
||||||
type: 'uint256',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
name: 'ScalarUpdated',
|
|
||||||
type: 'event',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [],
|
|
||||||
name: 'decimals',
|
|
||||||
outputs: [
|
|
||||||
{
|
|
||||||
internalType: 'uint256',
|
|
||||||
name: '',
|
|
||||||
type: 'uint256',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
stateMutability: 'view',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [],
|
|
||||||
name: 'gasPrice',
|
|
||||||
outputs: [
|
|
||||||
{
|
|
||||||
internalType: 'uint256',
|
|
||||||
name: '',
|
|
||||||
type: 'uint256',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
stateMutability: 'view',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
internalType: 'bytes',
|
|
||||||
name: '_data',
|
|
||||||
type: 'bytes',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
name: 'getL1Fee',
|
|
||||||
outputs: [
|
|
||||||
{
|
|
||||||
internalType: 'uint256',
|
|
||||||
name: '',
|
|
||||||
type: 'uint256',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
stateMutability: 'view',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
internalType: 'bytes',
|
|
||||||
name: '_data',
|
|
||||||
type: 'bytes',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
name: 'getL1GasUsed',
|
|
||||||
outputs: [
|
|
||||||
{
|
|
||||||
internalType: 'uint256',
|
|
||||||
name: '',
|
|
||||||
type: 'uint256',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
stateMutability: 'view',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [],
|
|
||||||
name: 'l1BaseFee',
|
|
||||||
outputs: [
|
|
||||||
{
|
|
||||||
internalType: 'uint256',
|
|
||||||
name: '',
|
|
||||||
type: 'uint256',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
stateMutability: 'view',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [],
|
|
||||||
name: 'overhead',
|
|
||||||
outputs: [
|
|
||||||
{
|
|
||||||
internalType: 'uint256',
|
|
||||||
name: '',
|
|
||||||
type: 'uint256',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
stateMutability: 'view',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [],
|
|
||||||
name: 'owner',
|
|
||||||
outputs: [
|
|
||||||
{
|
|
||||||
internalType: 'address',
|
|
||||||
name: '',
|
|
||||||
type: 'address',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
stateMutability: 'view',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [],
|
|
||||||
name: 'renounceOwnership',
|
|
||||||
outputs: [],
|
|
||||||
stateMutability: 'nonpayable',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [],
|
|
||||||
name: 'scalar',
|
|
||||||
outputs: [
|
|
||||||
{
|
|
||||||
internalType: 'uint256',
|
|
||||||
name: '',
|
|
||||||
type: 'uint256',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
stateMutability: 'view',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
internalType: 'uint256',
|
|
||||||
name: '_decimals',
|
|
||||||
type: 'uint256',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
name: 'setDecimals',
|
|
||||||
outputs: [],
|
|
||||||
stateMutability: 'nonpayable',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
internalType: 'uint256',
|
|
||||||
name: '_gasPrice',
|
|
||||||
type: 'uint256',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
name: 'setGasPrice',
|
|
||||||
outputs: [],
|
|
||||||
stateMutability: 'nonpayable',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
internalType: 'uint256',
|
|
||||||
name: '_baseFee',
|
|
||||||
type: 'uint256',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
name: 'setL1BaseFee',
|
|
||||||
outputs: [],
|
|
||||||
stateMutability: 'nonpayable',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
internalType: 'uint256',
|
|
||||||
name: '_overhead',
|
|
||||||
type: 'uint256',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
name: 'setOverhead',
|
|
||||||
outputs: [],
|
|
||||||
stateMutability: 'nonpayable',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
internalType: 'uint256',
|
|
||||||
name: '_scalar',
|
|
||||||
type: 'uint256',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
name: 'setScalar',
|
|
||||||
outputs: [],
|
|
||||||
stateMutability: 'nonpayable',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
inputs: [
|
|
||||||
{
|
|
||||||
internalType: 'address',
|
|
||||||
name: 'newOwner',
|
|
||||||
type: 'address',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
name: 'transferOwnership',
|
|
||||||
outputs: [],
|
|
||||||
stateMutability: 'nonpayable',
|
|
||||||
type: 'function',
|
|
||||||
},
|
|
||||||
];
|
|
||||||
var OptimismL1FeeOracleAbi__factory = exports.OptimismL1FeeOracleAbi__factory = /** @class */ (function () {
|
|
||||||
function OptimismL1FeeOracleAbi__factory() {
|
|
||||||
}
|
|
||||||
OptimismL1FeeOracleAbi__factory.createInterface = function () {
|
|
||||||
return new ethers_1.utils.Interface(_abi);
|
|
||||||
};
|
|
||||||
OptimismL1FeeOracleAbi__factory.connect = function (address, signerOrProvider) {
|
|
||||||
return new ethers_1.Contract(address, _abi, signerOrProvider);
|
|
||||||
};
|
|
||||||
OptimismL1FeeOracleAbi__factory.abi = _abi;
|
|
||||||
return OptimismL1FeeOracleAbi__factory;
|
|
||||||
}());
|
|
||||||
//# sourceMappingURL=OptimismL1FeeOracleAbi__factory.js.map
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
{"version":3,"file":"OptimismL1FeeOracleAbi__factory.js","sourceRoot":"","sources":["../../../src/contracts/factories/OptimismL1FeeOracleAbi__factory.ts"],"names":[],"mappings":"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"}
|
|
||||||
@@ -1,7 +1,6 @@
|
|||||||
import { Signer } from 'ethers';
|
import { type ContractRunner } from "ethers";
|
||||||
import type { Provider } from '@ethersproject/providers';
|
import type { OptimismL1FeeOracle, OptimismL1FeeOracleInterface } from "../OptimismL1FeeOracle";
|
||||||
import type { OptimismL1FeeOracleAbi, OptimismL1FeeOracleAbiInterface } from '../OptimismL1FeeOracleAbi';
|
export declare class OptimismL1FeeOracle__factory {
|
||||||
export declare class OptimismL1FeeOracleAbi__factory {
|
|
||||||
static readonly abi: readonly [{
|
static readonly abi: readonly [{
|
||||||
readonly inputs: readonly [{
|
readonly inputs: readonly [{
|
||||||
readonly internalType: "address";
|
readonly internalType: "address";
|
||||||
@@ -230,6 +229,6 @@ export declare class OptimismL1FeeOracleAbi__factory {
|
|||||||
readonly stateMutability: "nonpayable";
|
readonly stateMutability: "nonpayable";
|
||||||
readonly type: "function";
|
readonly type: "function";
|
||||||
}];
|
}];
|
||||||
static createInterface(): OptimismL1FeeOracleAbiInterface;
|
static createInterface(): OptimismL1FeeOracleInterface;
|
||||||
static connect(address: string, signerOrProvider: Signer | Provider): OptimismL1FeeOracleAbi;
|
static connect(address: string, runner?: ContractRunner | null): OptimismL1FeeOracle;
|
||||||
}
|
}
|
||||||
316
lib/contracts/factories/OptimismL1FeeOracle__factory.js
Normal file
316
lib/contracts/factories/OptimismL1FeeOracle__factory.js
Normal file
@@ -0,0 +1,316 @@
|
|||||||
|
"use strict";
|
||||||
|
/* Autogenerated file. Do not edit manually. */
|
||||||
|
/* tslint:disable */
|
||||||
|
/* eslint-disable */
|
||||||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.OptimismL1FeeOracle__factory = void 0;
|
||||||
|
const ethers_1 = require("ethers");
|
||||||
|
const _abi = [
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "address",
|
||||||
|
name: "_owner",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "constructor",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
anonymous: false,
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
indexed: false,
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "DecimalsUpdated",
|
||||||
|
type: "event",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
anonymous: false,
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
indexed: false,
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "GasPriceUpdated",
|
||||||
|
type: "event",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
anonymous: false,
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
indexed: false,
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "L1BaseFeeUpdated",
|
||||||
|
type: "event",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
anonymous: false,
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
indexed: false,
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "OverheadUpdated",
|
||||||
|
type: "event",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
anonymous: false,
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
indexed: true,
|
||||||
|
internalType: "address",
|
||||||
|
name: "previousOwner",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
indexed: true,
|
||||||
|
internalType: "address",
|
||||||
|
name: "newOwner",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "OwnershipTransferred",
|
||||||
|
type: "event",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
anonymous: false,
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
indexed: false,
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "ScalarUpdated",
|
||||||
|
type: "event",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "decimals",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "gasPrice",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "bytes",
|
||||||
|
name: "_data",
|
||||||
|
type: "bytes",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "getL1Fee",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "bytes",
|
||||||
|
name: "_data",
|
||||||
|
type: "bytes",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "getL1GasUsed",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "l1BaseFee",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "overhead",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "owner",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "address",
|
||||||
|
name: "",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "renounceOwnership",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "scalar",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "_decimals",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "setDecimals",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "_gasPrice",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "setGasPrice",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "_baseFee",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "setL1BaseFee",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "_overhead",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "setOverhead",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "_scalar",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "setScalar",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "address",
|
||||||
|
name: "newOwner",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "transferOwnership",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
];
|
||||||
|
class OptimismL1FeeOracle__factory {
|
||||||
|
static createInterface() {
|
||||||
|
return new ethers_1.Interface(_abi);
|
||||||
|
}
|
||||||
|
static connect(address, runner) {
|
||||||
|
return new ethers_1.Contract(address, _abi, runner);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
exports.OptimismL1FeeOracle__factory = OptimismL1FeeOracle__factory;
|
||||||
|
OptimismL1FeeOracle__factory.abi = _abi;
|
||||||
|
//# sourceMappingURL=OptimismL1FeeOracle__factory.js.map
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"version":3,"file":"OptimismL1FeeOracle__factory.js","sourceRoot":"","sources":["../../../src/contracts/factories/OptimismL1FeeOracle__factory.ts"],"names":[],"mappings":"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"}
|
||||||
7
lib/contracts/factories/index.d.ts
vendored
7
lib/contracts/factories/index.d.ts
vendored
@@ -1,3 +1,4 @@
|
|||||||
export { MulticallAbi__factory } from './MulticallAbi__factory';
|
export { GasPriceOracle__factory } from "./GasPriceOracle__factory";
|
||||||
export { OffchainOracleAbi__factory } from './OffchainOracleAbi__factory';
|
export { Multicall__factory } from "./Multicall__factory";
|
||||||
export { OptimismL1FeeOracleAbi__factory } from './OptimismL1FeeOracleAbi__factory';
|
export { OffchainOracle__factory } from "./OffchainOracle__factory";
|
||||||
|
export { OptimismL1FeeOracle__factory } from "./OptimismL1FeeOracle__factory";
|
||||||
|
|||||||
@@ -1,13 +1,15 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.OptimismL1FeeOracleAbi__factory = exports.OffchainOracleAbi__factory = exports.MulticallAbi__factory = void 0;
|
exports.OptimismL1FeeOracle__factory = exports.OffchainOracle__factory = exports.Multicall__factory = exports.GasPriceOracle__factory = void 0;
|
||||||
/* Autogenerated file. Do not edit manually. */
|
/* Autogenerated file. Do not edit manually. */
|
||||||
/* tslint:disable */
|
/* tslint:disable */
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
var MulticallAbi__factory_1 = require("./MulticallAbi__factory");
|
var GasPriceOracle__factory_1 = require("./GasPriceOracle__factory");
|
||||||
Object.defineProperty(exports, "MulticallAbi__factory", { enumerable: true, get: function () { return MulticallAbi__factory_1.MulticallAbi__factory; } });
|
Object.defineProperty(exports, "GasPriceOracle__factory", { enumerable: true, get: function () { return GasPriceOracle__factory_1.GasPriceOracle__factory; } });
|
||||||
var OffchainOracleAbi__factory_1 = require("./OffchainOracleAbi__factory");
|
var Multicall__factory_1 = require("./Multicall__factory");
|
||||||
Object.defineProperty(exports, "OffchainOracleAbi__factory", { enumerable: true, get: function () { return OffchainOracleAbi__factory_1.OffchainOracleAbi__factory; } });
|
Object.defineProperty(exports, "Multicall__factory", { enumerable: true, get: function () { return Multicall__factory_1.Multicall__factory; } });
|
||||||
var OptimismL1FeeOracleAbi__factory_1 = require("./OptimismL1FeeOracleAbi__factory");
|
var OffchainOracle__factory_1 = require("./OffchainOracle__factory");
|
||||||
Object.defineProperty(exports, "OptimismL1FeeOracleAbi__factory", { enumerable: true, get: function () { return OptimismL1FeeOracleAbi__factory_1.OptimismL1FeeOracleAbi__factory; } });
|
Object.defineProperty(exports, "OffchainOracle__factory", { enumerable: true, get: function () { return OffchainOracle__factory_1.OffchainOracle__factory; } });
|
||||||
|
var OptimismL1FeeOracle__factory_1 = require("./OptimismL1FeeOracle__factory");
|
||||||
|
Object.defineProperty(exports, "OptimismL1FeeOracle__factory", { enumerable: true, get: function () { return OptimismL1FeeOracle__factory_1.OptimismL1FeeOracle__factory; } });
|
||||||
//# sourceMappingURL=index.js.map
|
//# sourceMappingURL=index.js.map
|
||||||
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contracts/factories/index.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;AACpB,iEAAgE;AAAvD,8HAAA,qBAAqB,OAAA;AAC9B,2EAA0E;AAAjE,wIAAA,0BAA0B,OAAA;AACnC,qFAAoF;AAA3E,kJAAA,+BAA+B,OAAA"}
|
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contracts/factories/index.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;AACpB,qEAAoE;AAA3D,kIAAA,uBAAuB,OAAA;AAChC,2DAA0D;AAAjD,wHAAA,kBAAkB,OAAA;AAC3B,qEAAoE;AAA3D,kIAAA,uBAAuB,OAAA;AAChC,+EAA8E;AAArE,4IAAA,4BAA4B,OAAA"}
|
||||||
16
lib/contracts/index.d.ts
vendored
16
lib/contracts/index.d.ts
vendored
@@ -1,7 +1,9 @@
|
|||||||
export type { MulticallAbi } from './MulticallAbi';
|
export type { GasPriceOracle } from "./GasPriceOracle";
|
||||||
export type { OffchainOracleAbi } from './OffchainOracleAbi';
|
export type { Multicall } from "./Multicall";
|
||||||
export type { OptimismL1FeeOracleAbi } from './OptimismL1FeeOracleAbi';
|
export type { OffchainOracle } from "./OffchainOracle";
|
||||||
export * as factories from './factories';
|
export type { OptimismL1FeeOracle } from "./OptimismL1FeeOracle";
|
||||||
export { MulticallAbi__factory } from './factories/MulticallAbi__factory';
|
export * as factories from "./factories";
|
||||||
export { OffchainOracleAbi__factory } from './factories/OffchainOracleAbi__factory';
|
export { GasPriceOracle__factory } from "./factories/GasPriceOracle__factory";
|
||||||
export { OptimismL1FeeOracleAbi__factory } from './factories/OptimismL1FeeOracleAbi__factory';
|
export { Multicall__factory } from "./factories/Multicall__factory";
|
||||||
|
export { OffchainOracle__factory } from "./factories/OffchainOracle__factory";
|
||||||
|
export { OptimismL1FeeOracle__factory } from "./factories/OptimismL1FeeOracle__factory";
|
||||||
|
|||||||
@@ -23,12 +23,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|||||||
return result;
|
return result;
|
||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.OptimismL1FeeOracleAbi__factory = exports.OffchainOracleAbi__factory = exports.MulticallAbi__factory = exports.factories = void 0;
|
exports.OptimismL1FeeOracle__factory = exports.OffchainOracle__factory = exports.Multicall__factory = exports.GasPriceOracle__factory = exports.factories = void 0;
|
||||||
exports.factories = __importStar(require("./factories"));
|
exports.factories = __importStar(require("./factories"));
|
||||||
var MulticallAbi__factory_1 = require("./factories/MulticallAbi__factory");
|
var GasPriceOracle__factory_1 = require("./factories/GasPriceOracle__factory");
|
||||||
Object.defineProperty(exports, "MulticallAbi__factory", { enumerable: true, get: function () { return MulticallAbi__factory_1.MulticallAbi__factory; } });
|
Object.defineProperty(exports, "GasPriceOracle__factory", { enumerable: true, get: function () { return GasPriceOracle__factory_1.GasPriceOracle__factory; } });
|
||||||
var OffchainOracleAbi__factory_1 = require("./factories/OffchainOracleAbi__factory");
|
var Multicall__factory_1 = require("./factories/Multicall__factory");
|
||||||
Object.defineProperty(exports, "OffchainOracleAbi__factory", { enumerable: true, get: function () { return OffchainOracleAbi__factory_1.OffchainOracleAbi__factory; } });
|
Object.defineProperty(exports, "Multicall__factory", { enumerable: true, get: function () { return Multicall__factory_1.Multicall__factory; } });
|
||||||
var OptimismL1FeeOracleAbi__factory_1 = require("./factories/OptimismL1FeeOracleAbi__factory");
|
var OffchainOracle__factory_1 = require("./factories/OffchainOracle__factory");
|
||||||
Object.defineProperty(exports, "OptimismL1FeeOracleAbi__factory", { enumerable: true, get: function () { return OptimismL1FeeOracleAbi__factory_1.OptimismL1FeeOracleAbi__factory; } });
|
Object.defineProperty(exports, "OffchainOracle__factory", { enumerable: true, get: function () { return OffchainOracle__factory_1.OffchainOracle__factory; } });
|
||||||
|
var OptimismL1FeeOracle__factory_1 = require("./factories/OptimismL1FeeOracle__factory");
|
||||||
|
Object.defineProperty(exports, "OptimismL1FeeOracle__factory", { enumerable: true, get: function () { return OptimismL1FeeOracle__factory_1.OptimismL1FeeOracle__factory; } });
|
||||||
//# sourceMappingURL=index.js.map
|
//# sourceMappingURL=index.js.map
|
||||||
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contracts/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,yDAAyC;AACzC,2EAA0E;AAAjE,8HAAA,qBAAqB,OAAA;AAC9B,qFAAoF;AAA3E,wIAAA,0BAA0B,OAAA;AACnC,+FAA8F;AAArF,kJAAA,+BAA+B,OAAA"}
|
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contracts/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,yDAAyC;AACzC,+EAA8E;AAArE,kIAAA,uBAAuB,OAAA;AAChC,qEAAoE;AAA3D,wHAAA,kBAAkB,OAAA;AAC3B,+EAA8E;AAArE,kIAAA,uBAAuB,OAAA;AAChC,yFAAwF;AAA/E,4IAAA,4BAA4B,OAAA"}
|
||||||
15
lib/esm/constants.js
Normal file
15
lib/esm/constants.js
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
export var ChainId;
|
||||||
|
(function (ChainId) {
|
||||||
|
ChainId[ChainId["MAINNET"] = 1] = "MAINNET";
|
||||||
|
ChainId[ChainId["BSC"] = 56] = "BSC";
|
||||||
|
ChainId[ChainId["XDAI"] = 100] = "XDAI";
|
||||||
|
ChainId[ChainId["POLYGON"] = 137] = "POLYGON";
|
||||||
|
ChainId[ChainId["OPTIMISM"] = 10] = "OPTIMISM";
|
||||||
|
ChainId[ChainId["ARBITRUM"] = 42161] = "ARBITRUM";
|
||||||
|
ChainId[ChainId["AVAX"] = 43114] = "AVAX";
|
||||||
|
ChainId[ChainId["SEPOLIA"] = 11155111] = "SEPOLIA";
|
||||||
|
})(ChainId || (ChainId = {}));
|
||||||
|
export const ENS_CHAINS = [ChainId.MAINNET, ChainId.SEPOLIA];
|
||||||
|
export const multiCallAddress = '0xcA11bde05977b3631167028862bE2a173976CA11';
|
||||||
|
export const POLYGON_GAS_STATION = 'https://gasstation.polygon.technology/v2';
|
||||||
|
//# sourceMappingURL=constants.js.map
|
||||||
1
lib/esm/constants.js.map
Normal file
1
lib/esm/constants.js.map
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,OASX;AATD,WAAY,OAAO;IACjB,2CAAW,CAAA;IACX,oCAAQ,CAAA;IACR,uCAAU,CAAA;IACV,6CAAa,CAAA;IACb,8CAAa,CAAA;IACb,iDAAgB,CAAA;IAChB,yCAAY,CAAA;IACZ,kDAAkB,CAAA;AACpB,CAAC,EATW,OAAO,KAAP,OAAO,QASlB;AAID,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AAE7D,MAAM,CAAC,MAAM,gBAAgB,GAAG,4CAA4C,CAAC;AAE7E,MAAM,CAAC,MAAM,mBAAmB,GAAG,0CAA0C,CAAC"}
|
||||||
2
lib/esm/contracts/GasPriceOracle.js
Normal file
2
lib/esm/contracts/GasPriceOracle.js
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
export {};
|
||||||
|
//# sourceMappingURL=GasPriceOracle.js.map
|
||||||
1
lib/esm/contracts/GasPriceOracle.js.map
Normal file
1
lib/esm/contracts/GasPriceOracle.js.map
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"version":3,"file":"GasPriceOracle.js","sourceRoot":"","sources":["../../../src/contracts/GasPriceOracle.ts"],"names":[],"mappings":""}
|
||||||
2
lib/esm/contracts/Multicall.js
Normal file
2
lib/esm/contracts/Multicall.js
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
export {};
|
||||||
|
//# sourceMappingURL=Multicall.js.map
|
||||||
1
lib/esm/contracts/Multicall.js.map
Normal file
1
lib/esm/contracts/Multicall.js.map
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"version":3,"file":"Multicall.js","sourceRoot":"","sources":["../../../src/contracts/Multicall.ts"],"names":[],"mappings":""}
|
||||||
2
lib/esm/contracts/OffchainOracle.js
Normal file
2
lib/esm/contracts/OffchainOracle.js
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
export {};
|
||||||
|
//# sourceMappingURL=OffchainOracle.js.map
|
||||||
1
lib/esm/contracts/OffchainOracle.js.map
Normal file
1
lib/esm/contracts/OffchainOracle.js.map
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"version":3,"file":"OffchainOracle.js","sourceRoot":"","sources":["../../../src/contracts/OffchainOracle.ts"],"names":[],"mappings":""}
|
||||||
2
lib/esm/contracts/OptimismL1FeeOracle.js
Normal file
2
lib/esm/contracts/OptimismL1FeeOracle.js
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
export {};
|
||||||
|
//# sourceMappingURL=OptimismL1FeeOracle.js.map
|
||||||
1
lib/esm/contracts/OptimismL1FeeOracle.js.map
Normal file
1
lib/esm/contracts/OptimismL1FeeOracle.js.map
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"version":3,"file":"OptimismL1FeeOracle.js","sourceRoot":"","sources":["../../../src/contracts/OptimismL1FeeOracle.ts"],"names":[],"mappings":""}
|
||||||
2
lib/esm/contracts/common.js
Normal file
2
lib/esm/contracts/common.js
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
export {};
|
||||||
|
//# sourceMappingURL=common.js.map
|
||||||
1
lib/esm/contracts/common.js.map
Normal file
1
lib/esm/contracts/common.js.map
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/contracts/common.ts"],"names":[],"mappings":""}
|
||||||
203
lib/esm/contracts/factories/GasPriceOracle__factory.js
Normal file
203
lib/esm/contracts/factories/GasPriceOracle__factory.js
Normal file
@@ -0,0 +1,203 @@
|
|||||||
|
/* Autogenerated file. Do not edit manually. */
|
||||||
|
/* tslint:disable */
|
||||||
|
/* eslint-disable */
|
||||||
|
import { Contract, Interface } from "ethers";
|
||||||
|
const _abi = [
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "constructor",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "GAS_UNIT",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint32",
|
||||||
|
name: "_derivationThresold",
|
||||||
|
type: "uint32",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "changeDerivationThresold",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint32",
|
||||||
|
name: "_gasUnit",
|
||||||
|
type: "uint32",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "changeGasUnit",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint32",
|
||||||
|
name: "_heartbeat",
|
||||||
|
type: "uint32",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "changeHeartbeat",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "address",
|
||||||
|
name: "_owner",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "changeOwnership",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "derivationThresold",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint32",
|
||||||
|
name: "",
|
||||||
|
type: "uint32",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "gasPrice",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "heartbeat",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint32",
|
||||||
|
name: "",
|
||||||
|
type: "uint32",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "maxFeePerGas",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "maxPriorityFeePerGas",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "owner",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "address",
|
||||||
|
name: "",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "pastGasPrice",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint32",
|
||||||
|
name: "",
|
||||||
|
type: "uint32",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint32",
|
||||||
|
name: "_gasPrice",
|
||||||
|
type: "uint32",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "setGasPrice",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "timestamp",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint32",
|
||||||
|
name: "",
|
||||||
|
type: "uint32",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
];
|
||||||
|
export class GasPriceOracle__factory {
|
||||||
|
static createInterface() {
|
||||||
|
return new Interface(_abi);
|
||||||
|
}
|
||||||
|
static connect(address, runner) {
|
||||||
|
return new Contract(address, _abi, runner);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
GasPriceOracle__factory.abi = _abi;
|
||||||
|
//# sourceMappingURL=GasPriceOracle__factory.js.map
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"version":3,"file":"GasPriceOracle__factory.js","sourceRoot":"","sources":["../../../../src/contracts/factories/GasPriceOracle__factory.ts"],"names":[],"mappings":"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"}
|
||||||
454
lib/esm/contracts/factories/Multicall__factory.js
Normal file
454
lib/esm/contracts/factories/Multicall__factory.js
Normal file
@@ -0,0 +1,454 @@
|
|||||||
|
/* Autogenerated file. Do not edit manually. */
|
||||||
|
/* tslint:disable */
|
||||||
|
/* eslint-disable */
|
||||||
|
import { Contract, Interface } from "ethers";
|
||||||
|
const _abi = [
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
components: [
|
||||||
|
{
|
||||||
|
internalType: "address",
|
||||||
|
name: "target",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bytes",
|
||||||
|
name: "callData",
|
||||||
|
type: "bytes",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
internalType: "struct Multicall3.Call[]",
|
||||||
|
name: "calls",
|
||||||
|
type: "tuple[]",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "aggregate",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "blockNumber",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bytes[]",
|
||||||
|
name: "returnData",
|
||||||
|
type: "bytes[]",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "payable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
components: [
|
||||||
|
{
|
||||||
|
internalType: "address",
|
||||||
|
name: "target",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bool",
|
||||||
|
name: "allowFailure",
|
||||||
|
type: "bool",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bytes",
|
||||||
|
name: "callData",
|
||||||
|
type: "bytes",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
internalType: "struct Multicall3.Call3[]",
|
||||||
|
name: "calls",
|
||||||
|
type: "tuple[]",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "aggregate3",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
components: [
|
||||||
|
{
|
||||||
|
internalType: "bool",
|
||||||
|
name: "success",
|
||||||
|
type: "bool",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bytes",
|
||||||
|
name: "returnData",
|
||||||
|
type: "bytes",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
internalType: "struct Multicall3.Result[]",
|
||||||
|
name: "returnData",
|
||||||
|
type: "tuple[]",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "payable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
components: [
|
||||||
|
{
|
||||||
|
internalType: "address",
|
||||||
|
name: "target",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bool",
|
||||||
|
name: "allowFailure",
|
||||||
|
type: "bool",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "value",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bytes",
|
||||||
|
name: "callData",
|
||||||
|
type: "bytes",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
internalType: "struct Multicall3.Call3Value[]",
|
||||||
|
name: "calls",
|
||||||
|
type: "tuple[]",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "aggregate3Value",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
components: [
|
||||||
|
{
|
||||||
|
internalType: "bool",
|
||||||
|
name: "success",
|
||||||
|
type: "bool",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bytes",
|
||||||
|
name: "returnData",
|
||||||
|
type: "bytes",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
internalType: "struct Multicall3.Result[]",
|
||||||
|
name: "returnData",
|
||||||
|
type: "tuple[]",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "payable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
components: [
|
||||||
|
{
|
||||||
|
internalType: "address",
|
||||||
|
name: "target",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bytes",
|
||||||
|
name: "callData",
|
||||||
|
type: "bytes",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
internalType: "struct Multicall3.Call[]",
|
||||||
|
name: "calls",
|
||||||
|
type: "tuple[]",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "blockAndAggregate",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "blockNumber",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bytes32",
|
||||||
|
name: "blockHash",
|
||||||
|
type: "bytes32",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
components: [
|
||||||
|
{
|
||||||
|
internalType: "bool",
|
||||||
|
name: "success",
|
||||||
|
type: "bool",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bytes",
|
||||||
|
name: "returnData",
|
||||||
|
type: "bytes",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
internalType: "struct Multicall3.Result[]",
|
||||||
|
name: "returnData",
|
||||||
|
type: "tuple[]",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "payable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "getBasefee",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "basefee",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "blockNumber",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "getBlockHash",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "bytes32",
|
||||||
|
name: "blockHash",
|
||||||
|
type: "bytes32",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "getBlockNumber",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "blockNumber",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "getChainId",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "chainid",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "getCurrentBlockCoinbase",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "address",
|
||||||
|
name: "coinbase",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "getCurrentBlockDifficulty",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "difficulty",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "getCurrentBlockGasLimit",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "gaslimit",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "getCurrentBlockTimestamp",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "timestamp",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "address",
|
||||||
|
name: "addr",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "getEthBalance",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "balance",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "getLastBlockHash",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "bytes32",
|
||||||
|
name: "blockHash",
|
||||||
|
type: "bytes32",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "bool",
|
||||||
|
name: "requireSuccess",
|
||||||
|
type: "bool",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
components: [
|
||||||
|
{
|
||||||
|
internalType: "address",
|
||||||
|
name: "target",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bytes",
|
||||||
|
name: "callData",
|
||||||
|
type: "bytes",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
internalType: "struct Multicall3.Call[]",
|
||||||
|
name: "calls",
|
||||||
|
type: "tuple[]",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "tryAggregate",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
components: [
|
||||||
|
{
|
||||||
|
internalType: "bool",
|
||||||
|
name: "success",
|
||||||
|
type: "bool",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bytes",
|
||||||
|
name: "returnData",
|
||||||
|
type: "bytes",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
internalType: "struct Multicall3.Result[]",
|
||||||
|
name: "returnData",
|
||||||
|
type: "tuple[]",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "payable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "bool",
|
||||||
|
name: "requireSuccess",
|
||||||
|
type: "bool",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
components: [
|
||||||
|
{
|
||||||
|
internalType: "address",
|
||||||
|
name: "target",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bytes",
|
||||||
|
name: "callData",
|
||||||
|
type: "bytes",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
internalType: "struct Multicall3.Call[]",
|
||||||
|
name: "calls",
|
||||||
|
type: "tuple[]",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "tryBlockAndAggregate",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "blockNumber",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bytes32",
|
||||||
|
name: "blockHash",
|
||||||
|
type: "bytes32",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
components: [
|
||||||
|
{
|
||||||
|
internalType: "bool",
|
||||||
|
name: "success",
|
||||||
|
type: "bool",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bytes",
|
||||||
|
name: "returnData",
|
||||||
|
type: "bytes",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
internalType: "struct Multicall3.Result[]",
|
||||||
|
name: "returnData",
|
||||||
|
type: "tuple[]",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "payable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
];
|
||||||
|
export class Multicall__factory {
|
||||||
|
static createInterface() {
|
||||||
|
return new Interface(_abi);
|
||||||
|
}
|
||||||
|
static connect(address, runner) {
|
||||||
|
return new Contract(address, _abi, runner);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Multicall__factory.abi = _abi;
|
||||||
|
//# sourceMappingURL=Multicall__factory.js.map
|
||||||
1
lib/esm/contracts/factories/Multicall__factory.js.map
Normal file
1
lib/esm/contracts/factories/Multicall__factory.js.map
Normal file
File diff suppressed because one or more lines are too long
529
lib/esm/contracts/factories/OffchainOracle__factory.js
Normal file
529
lib/esm/contracts/factories/OffchainOracle__factory.js
Normal file
@@ -0,0 +1,529 @@
|
|||||||
|
/* Autogenerated file. Do not edit manually. */
|
||||||
|
/* tslint:disable */
|
||||||
|
/* eslint-disable */
|
||||||
|
import { Contract, Interface } from "ethers";
|
||||||
|
const _abi = [
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "contract MultiWrapper",
|
||||||
|
name: "_multiWrapper",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "contract IOracle[]",
|
||||||
|
name: "existingOracles",
|
||||||
|
type: "address[]",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "enum OffchainOracle.OracleType[]",
|
||||||
|
name: "oracleTypes",
|
||||||
|
type: "uint8[]",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "contract IERC20[]",
|
||||||
|
name: "existingConnectors",
|
||||||
|
type: "address[]",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "contract IERC20",
|
||||||
|
name: "wBase",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "address",
|
||||||
|
name: "owner",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "constructor",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "ArraysLengthMismatch",
|
||||||
|
type: "error",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "ConnectorAlreadyAdded",
|
||||||
|
type: "error",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "InvalidOracleTokenKind",
|
||||||
|
type: "error",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "OracleAlreadyAdded",
|
||||||
|
type: "error",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "SameTokens",
|
||||||
|
type: "error",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "TooBigThreshold",
|
||||||
|
type: "error",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "UnknownConnector",
|
||||||
|
type: "error",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "UnknownOracle",
|
||||||
|
type: "error",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
anonymous: false,
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
indexed: false,
|
||||||
|
internalType: "contract IERC20",
|
||||||
|
name: "connector",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "ConnectorAdded",
|
||||||
|
type: "event",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
anonymous: false,
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
indexed: false,
|
||||||
|
internalType: "contract IERC20",
|
||||||
|
name: "connector",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "ConnectorRemoved",
|
||||||
|
type: "event",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
anonymous: false,
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
indexed: false,
|
||||||
|
internalType: "contract MultiWrapper",
|
||||||
|
name: "multiWrapper",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "MultiWrapperUpdated",
|
||||||
|
type: "event",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
anonymous: false,
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
indexed: false,
|
||||||
|
internalType: "contract IOracle",
|
||||||
|
name: "oracle",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
indexed: false,
|
||||||
|
internalType: "enum OffchainOracle.OracleType",
|
||||||
|
name: "oracleType",
|
||||||
|
type: "uint8",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "OracleAdded",
|
||||||
|
type: "event",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
anonymous: false,
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
indexed: false,
|
||||||
|
internalType: "contract IOracle",
|
||||||
|
name: "oracle",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
indexed: false,
|
||||||
|
internalType: "enum OffchainOracle.OracleType",
|
||||||
|
name: "oracleType",
|
||||||
|
type: "uint8",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "OracleRemoved",
|
||||||
|
type: "event",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
anonymous: false,
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
indexed: true,
|
||||||
|
internalType: "address",
|
||||||
|
name: "previousOwner",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
indexed: true,
|
||||||
|
internalType: "address",
|
||||||
|
name: "newOwner",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "OwnershipTransferred",
|
||||||
|
type: "event",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "contract IERC20",
|
||||||
|
name: "connector",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "addConnector",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "contract IOracle",
|
||||||
|
name: "oracle",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "enum OffchainOracle.OracleType",
|
||||||
|
name: "oracleKind",
|
||||||
|
type: "uint8",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "addOracle",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "connectors",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "contract IERC20[]",
|
||||||
|
name: "allConnectors",
|
||||||
|
type: "address[]",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "contract IERC20",
|
||||||
|
name: "srcToken",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "contract IERC20",
|
||||||
|
name: "dstToken",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bool",
|
||||||
|
name: "useWrappers",
|
||||||
|
type: "bool",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "getRate",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "weightedRate",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "contract IERC20",
|
||||||
|
name: "srcToken",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bool",
|
||||||
|
name: "useSrcWrappers",
|
||||||
|
type: "bool",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "getRateToEth",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "weightedRate",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "contract IERC20",
|
||||||
|
name: "srcToken",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bool",
|
||||||
|
name: "useSrcWrappers",
|
||||||
|
type: "bool",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "contract IERC20[]",
|
||||||
|
name: "customConnectors",
|
||||||
|
type: "address[]",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "thresholdFilter",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "getRateToEthWithCustomConnectors",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "weightedRate",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "contract IERC20",
|
||||||
|
name: "srcToken",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bool",
|
||||||
|
name: "useSrcWrappers",
|
||||||
|
type: "bool",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "thresholdFilter",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "getRateToEthWithThreshold",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "weightedRate",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "contract IERC20",
|
||||||
|
name: "srcToken",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "contract IERC20",
|
||||||
|
name: "dstToken",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bool",
|
||||||
|
name: "useWrappers",
|
||||||
|
type: "bool",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "contract IERC20[]",
|
||||||
|
name: "customConnectors",
|
||||||
|
type: "address[]",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "thresholdFilter",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "getRateWithCustomConnectors",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "weightedRate",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "contract IERC20",
|
||||||
|
name: "srcToken",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "contract IERC20",
|
||||||
|
name: "dstToken",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "bool",
|
||||||
|
name: "useWrappers",
|
||||||
|
type: "bool",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "thresholdFilter",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "getRateWithThreshold",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "weightedRate",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "multiWrapper",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "contract MultiWrapper",
|
||||||
|
name: "",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "oracles",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "contract IOracle[]",
|
||||||
|
name: "allOracles",
|
||||||
|
type: "address[]",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "enum OffchainOracle.OracleType[]",
|
||||||
|
name: "oracleTypes",
|
||||||
|
type: "uint8[]",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "owner",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "address",
|
||||||
|
name: "",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "contract IERC20",
|
||||||
|
name: "connector",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "removeConnector",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "contract IOracle",
|
||||||
|
name: "oracle",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
internalType: "enum OffchainOracle.OracleType",
|
||||||
|
name: "oracleKind",
|
||||||
|
type: "uint8",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "removeOracle",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "renounceOwnership",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "contract MultiWrapper",
|
||||||
|
name: "_multiWrapper",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "setMultiWrapper",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "address",
|
||||||
|
name: "newOwner",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "transferOwnership",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
];
|
||||||
|
export class OffchainOracle__factory {
|
||||||
|
static createInterface() {
|
||||||
|
return new Interface(_abi);
|
||||||
|
}
|
||||||
|
static connect(address, runner) {
|
||||||
|
return new Contract(address, _abi, runner);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
OffchainOracle__factory.abi = _abi;
|
||||||
|
//# sourceMappingURL=OffchainOracle__factory.js.map
|
||||||
File diff suppressed because one or more lines are too long
312
lib/esm/contracts/factories/OptimismL1FeeOracle__factory.js
Normal file
312
lib/esm/contracts/factories/OptimismL1FeeOracle__factory.js
Normal file
@@ -0,0 +1,312 @@
|
|||||||
|
/* Autogenerated file. Do not edit manually. */
|
||||||
|
/* tslint:disable */
|
||||||
|
/* eslint-disable */
|
||||||
|
import { Contract, Interface } from "ethers";
|
||||||
|
const _abi = [
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "address",
|
||||||
|
name: "_owner",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "constructor",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
anonymous: false,
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
indexed: false,
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "DecimalsUpdated",
|
||||||
|
type: "event",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
anonymous: false,
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
indexed: false,
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "GasPriceUpdated",
|
||||||
|
type: "event",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
anonymous: false,
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
indexed: false,
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "L1BaseFeeUpdated",
|
||||||
|
type: "event",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
anonymous: false,
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
indexed: false,
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "OverheadUpdated",
|
||||||
|
type: "event",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
anonymous: false,
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
indexed: true,
|
||||||
|
internalType: "address",
|
||||||
|
name: "previousOwner",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
indexed: true,
|
||||||
|
internalType: "address",
|
||||||
|
name: "newOwner",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "OwnershipTransferred",
|
||||||
|
type: "event",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
anonymous: false,
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
indexed: false,
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "ScalarUpdated",
|
||||||
|
type: "event",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "decimals",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "gasPrice",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "bytes",
|
||||||
|
name: "_data",
|
||||||
|
type: "bytes",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "getL1Fee",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "bytes",
|
||||||
|
name: "_data",
|
||||||
|
type: "bytes",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "getL1GasUsed",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "l1BaseFee",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "overhead",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "owner",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "address",
|
||||||
|
name: "",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "renounceOwnership",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [],
|
||||||
|
name: "scalar",
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stateMutability: "view",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "_decimals",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "setDecimals",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "_gasPrice",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "setGasPrice",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "_baseFee",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "setL1BaseFee",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "_overhead",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "setOverhead",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "uint256",
|
||||||
|
name: "_scalar",
|
||||||
|
type: "uint256",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "setScalar",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
internalType: "address",
|
||||||
|
name: "newOwner",
|
||||||
|
type: "address",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: "transferOwnership",
|
||||||
|
outputs: [],
|
||||||
|
stateMutability: "nonpayable",
|
||||||
|
type: "function",
|
||||||
|
},
|
||||||
|
];
|
||||||
|
export class OptimismL1FeeOracle__factory {
|
||||||
|
static createInterface() {
|
||||||
|
return new Interface(_abi);
|
||||||
|
}
|
||||||
|
static connect(address, runner) {
|
||||||
|
return new Contract(address, _abi, runner);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
OptimismL1FeeOracle__factory.abi = _abi;
|
||||||
|
//# sourceMappingURL=OptimismL1FeeOracle__factory.js.map
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"version":3,"file":"OptimismL1FeeOracle__factory.js","sourceRoot":"","sources":["../../../../src/contracts/factories/OptimismL1FeeOracle__factory.ts"],"names":[],"mappings":"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"}
|
||||||
8
lib/esm/contracts/factories/index.js
Normal file
8
lib/esm/contracts/factories/index.js
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
/* Autogenerated file. Do not edit manually. */
|
||||||
|
/* tslint:disable */
|
||||||
|
/* eslint-disable */
|
||||||
|
export { GasPriceOracle__factory } from "./GasPriceOracle__factory";
|
||||||
|
export { Multicall__factory } from "./Multicall__factory";
|
||||||
|
export { OffchainOracle__factory } from "./OffchainOracle__factory";
|
||||||
|
export { OptimismL1FeeOracle__factory } from "./OptimismL1FeeOracle__factory";
|
||||||
|
//# sourceMappingURL=index.js.map
|
||||||
1
lib/esm/contracts/factories/index.js.map
Normal file
1
lib/esm/contracts/factories/index.js.map
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/contracts/factories/index.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;AACpB,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC"}
|
||||||
7
lib/esm/contracts/index.js
Normal file
7
lib/esm/contracts/index.js
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
import * as factories_1 from "./factories";
|
||||||
|
export { factories_1 as factories };
|
||||||
|
export { GasPriceOracle__factory } from "./factories/GasPriceOracle__factory";
|
||||||
|
export { Multicall__factory } from "./factories/Multicall__factory";
|
||||||
|
export { OffchainOracle__factory } from "./factories/OffchainOracle__factory";
|
||||||
|
export { OptimismL1FeeOracle__factory } from "./factories/OptimismL1FeeOracle__factory";
|
||||||
|
//# sourceMappingURL=index.js.map
|
||||||
1
lib/esm/contracts/index.js.map
Normal file
1
lib/esm/contracts/index.js.map
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contracts/index.ts"],"names":[],"mappings":"6BAO2B,aAAa;wBAA5B,SAAS;AACrB,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAC"}
|
||||||
71
lib/esm/feeOracle.js
Normal file
71
lib/esm/feeOracle.js
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
import { Transaction, parseUnits } from 'ethers';
|
||||||
|
import { OptimismL1FeeOracle__factory } from './contracts';
|
||||||
|
import { getProvider } from './providers';
|
||||||
|
import { convertETHToTokenAmount } from './utils';
|
||||||
|
const DUMMY_ADDRESS = '0x1111111111111111111111111111111111111111';
|
||||||
|
const DUMMY_NONCE = '0x1111111111111111111111111111111111111111111111111111111111111111';
|
||||||
|
const DUMMY_WITHDRAW_DATA = '0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111';
|
||||||
|
export class TornadoFeeOracle {
|
||||||
|
constructor(netId, rpcUrl, config) {
|
||||||
|
const { optimismL1FeeOracleAddress } = config;
|
||||||
|
if (optimismL1FeeOracleAddress) {
|
||||||
|
const provider = getProvider(netId, rpcUrl, config);
|
||||||
|
this.optimismL1FeeOracle = OptimismL1FeeOracle__factory.connect(optimismL1FeeOracleAddress, provider);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Calculate L1 fee for op-stack chains
|
||||||
|
*
|
||||||
|
* This is required since relayers would pay the full transaction fees for users
|
||||||
|
*/
|
||||||
|
fetchL1OptimismFee(tx) {
|
||||||
|
if (!this.optimismL1FeeOracle) {
|
||||||
|
return new Promise((resolve) => resolve(BigInt(0)));
|
||||||
|
}
|
||||||
|
if (!tx) {
|
||||||
|
// this tx is only used to simulate bytes size of the encoded tx so has nothing to with the accuracy
|
||||||
|
// inspired by the old style classic-ui calculation
|
||||||
|
tx = {
|
||||||
|
type: 0,
|
||||||
|
gasLimit: 1000000,
|
||||||
|
nonce: Number(DUMMY_NONCE),
|
||||||
|
data: DUMMY_WITHDRAW_DATA,
|
||||||
|
gasPrice: parseUnits('1', 'gwei'),
|
||||||
|
from: DUMMY_ADDRESS,
|
||||||
|
to: DUMMY_ADDRESS,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return this.optimismL1FeeOracle.getL1Fee.staticCall(Transaction.from(tx).unsignedSerialized);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* We don't need to distinguish default refunds by tokens since most users interact with other defi protocols after withdrawal
|
||||||
|
* So we default with 1M gas which is enough for two or three swaps
|
||||||
|
* Using 30 gwei for default but it is recommended to supply cached gasPrice value from the UI
|
||||||
|
*/
|
||||||
|
defaultEthRefund(gasPrice, gasLimit) {
|
||||||
|
return (gasPrice ? BigInt(gasPrice) : parseUnits('30', 'gwei')) * BigInt(gasLimit || 1000000);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Calculates token amount for required ethRefund purchases required to calculate fees
|
||||||
|
*/
|
||||||
|
calculateTokenAmount(ethRefund, tokenPriceInEth, tokenDecimals) {
|
||||||
|
return convertETHToTokenAmount(ethRefund, tokenPriceInEth, tokenDecimals);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Warning: For tokens you need to check if the fees are above denomination
|
||||||
|
* (Usually happens for small denomination pool or if the gas price is high)
|
||||||
|
*/
|
||||||
|
calculateRelayerFee({ gasPrice, gasLimit = 600000, l1Fee = 0, denomination, ethRefund = BigInt(0), tokenPriceInWei, tokenDecimals = 18, relayerFeePercent = 0.33, isEth = true, premiumPercent = 20, }) {
|
||||||
|
const gasCosts = BigInt(gasPrice) * BigInt(gasLimit) + BigInt(l1Fee);
|
||||||
|
const relayerFee = (BigInt(denomination) * BigInt(Math.floor(10000 * relayerFeePercent))) / BigInt(10000 * 100);
|
||||||
|
if (isEth) {
|
||||||
|
// Add 20% premium
|
||||||
|
return ((gasCosts + relayerFee) * BigInt(premiumPercent ? 100 + premiumPercent : 100)) / BigInt(100);
|
||||||
|
}
|
||||||
|
const feeInEth = gasCosts + BigInt(ethRefund);
|
||||||
|
return (((convertETHToTokenAmount(feeInEth, tokenPriceInWei, tokenDecimals) + relayerFee) *
|
||||||
|
BigInt(premiumPercent ? 100 + premiumPercent : 100)) /
|
||||||
|
BigInt(100));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//# sourceMappingURL=feeOracle.js.map
|
||||||
1
lib/esm/feeOracle.js.map
Normal file
1
lib/esm/feeOracle.js.map
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"version":3,"file":"feeOracle.js","sourceRoot":"","sources":["../../src/feeOracle.ts"],"names":[],"mappings":"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"}
|
||||||
8
lib/esm/index.js
Normal file
8
lib/esm/index.js
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
export * from './constants';
|
||||||
|
export * from './feeOracle';
|
||||||
|
export * from './multicall';
|
||||||
|
export * from './providers';
|
||||||
|
export * from './tokenPriceOracle';
|
||||||
|
export * from './types';
|
||||||
|
export * from './utils';
|
||||||
|
//# sourceMappingURL=index.js.map
|
||||||
1
lib/esm/index.js.map
Normal file
1
lib/esm/index.js.map
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
|
||||||
33
lib/esm/multicall.js
Normal file
33
lib/esm/multicall.js
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||||
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||||
|
return new (P || (P = Promise))(function (resolve, reject) {
|
||||||
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||||
|
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||||
|
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||||
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||||
|
});
|
||||||
|
};
|
||||||
|
export function multicall(Multicall, calls) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
const calldata = calls.map((call) => {
|
||||||
|
var _a, _b, _c;
|
||||||
|
const target = (((_a = call.contract) === null || _a === void 0 ? void 0 : _a.target) || call.address);
|
||||||
|
const callInterface = (((_b = call.contract) === null || _b === void 0 ? void 0 : _b.interface) || call.interface);
|
||||||
|
return {
|
||||||
|
target,
|
||||||
|
callData: callInterface.encodeFunctionData(call.name, call.params),
|
||||||
|
allowFailure: (_c = call.allowFailure) !== null && _c !== void 0 ? _c : false,
|
||||||
|
};
|
||||||
|
});
|
||||||
|
const returnData = yield Multicall.aggregate3.staticCall(calldata);
|
||||||
|
const res = returnData.map((call, i) => {
|
||||||
|
var _a;
|
||||||
|
const callInterface = (((_a = calls[i].contract) === null || _a === void 0 ? void 0 : _a.interface) || calls[i].interface);
|
||||||
|
const [result, data] = call;
|
||||||
|
const decodeResult = result && data && data !== '0x' ? callInterface.decodeFunctionResult(calls[i].name, data) : null;
|
||||||
|
return !decodeResult ? null : decodeResult.length === 1 ? decodeResult[0] : decodeResult;
|
||||||
|
});
|
||||||
|
return res;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
//# sourceMappingURL=multicall.js.map
|
||||||
1
lib/esm/multicall.js.map
Normal file
1
lib/esm/multicall.js.map
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"version":3,"file":"multicall.js","sourceRoot":"","sources":["../../src/multicall.ts"],"names":[],"mappings":";;;;;;;;;AAIA,MAAM,UAAgB,SAAS,CAAC,SAAoB,EAAE,KAAc;;QAClE,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;;YAClC,MAAM,MAAM,GAAG,CAAC,CAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,MAAM,KAAI,IAAI,CAAC,OAAO,CAAW,CAAC;YACjE,MAAM,aAAa,GAAG,CAAC,CAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,SAAS,KAAI,IAAI,CAAC,SAAS,CAAc,CAAC;YAEhF,OAAO;gBACL,MAAM;gBACN,QAAQ,EAAE,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;gBAClE,YAAY,EAAE,MAAA,IAAI,CAAC,YAAY,mCAAI,KAAK;aACzC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAEnE,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;;YACrC,MAAM,aAAa,GAAG,CAAC,CAAA,MAAA,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,0CAAE,SAAS,KAAI,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAc,CAAC;YACxF,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC;YAC5B,MAAM,YAAY,GAChB,MAAM,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACnG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QAC3F,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC;IACb,CAAC;CAAA"}
|
||||||
89
lib/esm/providers.js
Normal file
89
lib/esm/providers.js
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||||
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||||
|
return new (P || (P = Promise))(function (resolve, reject) {
|
||||||
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||||
|
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||||
|
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||||
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||||
|
});
|
||||||
|
};
|
||||||
|
import { JsonRpcProvider, Network, parseUnits, FetchUrlFeeDataNetworkPlugin, EnsPlugin, GasCostPlugin } from 'ethers';
|
||||||
|
import { GasPriceOracle__factory, Multicall__factory } from './contracts';
|
||||||
|
import { ENS_CHAINS, multiCallAddress, POLYGON_GAS_STATION } from './constants';
|
||||||
|
import { multicall } from './multicall';
|
||||||
|
import { isNode } from './utils';
|
||||||
|
// caching to improve performance
|
||||||
|
const oracleMapper = new Map();
|
||||||
|
const multicallMapper = new Map();
|
||||||
|
export function getGasOraclePlugin(networkKey, gasOracleOptions) {
|
||||||
|
const gasStationApi = (gasOracleOptions === null || gasOracleOptions === void 0 ? void 0 : gasOracleOptions.gasStationApi) || POLYGON_GAS_STATION;
|
||||||
|
return new FetchUrlFeeDataNetworkPlugin(gasStationApi, (fetchFeeData, provider, request) => __awaiter(this, void 0, void 0, function* () {
|
||||||
|
if (!oracleMapper.has(networkKey)) {
|
||||||
|
oracleMapper.set(networkKey, GasPriceOracle__factory.connect(gasOracleOptions === null || gasOracleOptions === void 0 ? void 0 : gasOracleOptions.gasPriceOracle, provider));
|
||||||
|
}
|
||||||
|
if (!multicallMapper.has(networkKey)) {
|
||||||
|
multicallMapper.set(networkKey, Multicall__factory.connect(multiCallAddress, provider));
|
||||||
|
}
|
||||||
|
const Oracle = oracleMapper.get(networkKey);
|
||||||
|
const Multicall = multicallMapper.get(networkKey);
|
||||||
|
const [timestamp, heartbeat, feePerGas, priorityFeePerGas] = yield multicall(Multicall, [
|
||||||
|
{
|
||||||
|
contract: Oracle,
|
||||||
|
name: 'timestamp',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
contract: Oracle,
|
||||||
|
name: 'heartbeat',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
contract: Oracle,
|
||||||
|
name: 'maxFeePerGas',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
contract: Oracle,
|
||||||
|
name: 'maxPriorityFeePerGas',
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
const isOutdated = Number(timestamp) <= Date.now() / 1000 - Number(heartbeat);
|
||||||
|
if (!isOutdated) {
|
||||||
|
const maxPriorityFeePerGas = (priorityFeePerGas * BigInt(13)) / BigInt(10);
|
||||||
|
const maxFeePerGas = feePerGas * BigInt(2) + maxPriorityFeePerGas;
|
||||||
|
return {
|
||||||
|
gasPrice: maxFeePerGas,
|
||||||
|
maxFeePerGas,
|
||||||
|
maxPriorityFeePerGas,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
if (isNode) {
|
||||||
|
// Prevent Cloudflare from blocking our request in node.js
|
||||||
|
request.setHeader('User-Agent', 'ethers');
|
||||||
|
}
|
||||||
|
const [{ bodyJson: { fast }, }, { gasPrice },] = yield Promise.all([request.send(), fetchFeeData()]);
|
||||||
|
return {
|
||||||
|
gasPrice,
|
||||||
|
maxFeePerGas: parseUnits(`${fast.maxFee}`, 9),
|
||||||
|
maxPriorityFeePerGas: parseUnits(`${fast.maxPriorityFee}`, 9),
|
||||||
|
};
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
export function getProvider(netId, rpcUrl, config) {
|
||||||
|
const { networkName, gasPriceOracleContract, gasStationApi, pollInterval } = config;
|
||||||
|
const hasEns = ENS_CHAINS.includes(netId);
|
||||||
|
const staticNetwork = new Network(networkName, netId);
|
||||||
|
if (hasEns) {
|
||||||
|
staticNetwork.attachPlugin(new EnsPlugin(null, Number(netId)));
|
||||||
|
}
|
||||||
|
staticNetwork.attachPlugin(new GasCostPlugin());
|
||||||
|
if (gasPriceOracleContract) {
|
||||||
|
staticNetwork.attachPlugin(getGasOraclePlugin(`${netId}_${rpcUrl}`, {
|
||||||
|
gasPriceOracle: gasPriceOracleContract,
|
||||||
|
gasStationApi,
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
const provider = new JsonRpcProvider(rpcUrl, staticNetwork, {
|
||||||
|
staticNetwork,
|
||||||
|
});
|
||||||
|
provider.pollingInterval = pollInterval * 1000;
|
||||||
|
return provider;
|
||||||
|
}
|
||||||
|
//# sourceMappingURL=providers.js.map
|
||||||
1
lib/esm/providers.js.map
Normal file
1
lib/esm/providers.js.map
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/providers.ts"],"names":[],"mappings":"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"}
|
||||||
46
lib/esm/tokenPriceOracle.js
Normal file
46
lib/esm/tokenPriceOracle.js
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||||
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||||
|
return new (P || (P = Promise))(function (resolve, reject) {
|
||||||
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||||
|
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||||
|
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||||
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||||
|
});
|
||||||
|
};
|
||||||
|
import { parseEther } from 'ethers';
|
||||||
|
import { Multicall__factory, OffchainOracle__factory } from './contracts';
|
||||||
|
import { multiCallAddress } from './constants';
|
||||||
|
import { multicall } from './multicall';
|
||||||
|
import { getProvider } from './providers';
|
||||||
|
export class TokenPriceOracle {
|
||||||
|
constructor(netId, rpcUrl, config) {
|
||||||
|
const { offchainOracleContract } = config;
|
||||||
|
this.provider = getProvider(netId, rpcUrl, config);
|
||||||
|
this.multicall = Multicall__factory.connect(multiCallAddress, this.provider);
|
||||||
|
if (offchainOracleContract) {
|
||||||
|
this.oracle = OffchainOracle__factory.connect(offchainOracleContract, this.provider);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fetchPrices(tokens) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
// setup mock price for testnets
|
||||||
|
if (!this.oracle) {
|
||||||
|
return new Promise((resolve) => resolve(tokens.reduce((acc, _, index) => {
|
||||||
|
acc[tokens[index].symbol] = parseEther('0.0001').toString();
|
||||||
|
return acc;
|
||||||
|
}, {})));
|
||||||
|
}
|
||||||
|
const prices = (yield multicall(this.multicall, tokens.map(({ tokenAddress }) => ({
|
||||||
|
contract: this.oracle,
|
||||||
|
name: 'getRateToEth',
|
||||||
|
params: [tokenAddress, true],
|
||||||
|
}))));
|
||||||
|
return prices.reduce((acc, price, index) => {
|
||||||
|
const tokenPriceInwei = (price * BigInt(10 ** tokens[index].decimals)) / BigInt(10 ** 18);
|
||||||
|
acc[tokens[index].symbol] = tokenPriceInwei.toString();
|
||||||
|
return acc;
|
||||||
|
}, {});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//# sourceMappingURL=tokenPriceOracle.js.map
|
||||||
1
lib/esm/tokenPriceOracle.js.map
Normal file
1
lib/esm/tokenPriceOracle.js.map
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"version":3,"file":"tokenPriceOracle.js","sourceRoot":"","sources":["../../src/tokenPriceOracle.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAY,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAa,kBAAkB,EAAkB,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACrG,OAAO,EAAe,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,MAAM,OAAO,gBAAgB;IAK3B,YAAY,KAAkB,EAAE,MAAc,EAAE,MAAqB;QACnE,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,CAAC;QAE1C,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE7E,IAAI,sBAAsB,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,GAAG,uBAAuB,CAAC,OAAO,CAAC,sBAAsB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IAEK,WAAW,CAAC,MAAe;;YAC/B,gCAAgC;YAChC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAC7B,OAAO,CACL,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE;oBAC9B,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAC5D,OAAO,GAAG,CAAC;gBACb,CAAC,EAAE,EAAiB,CAAC,CACtB,CACF,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GAAG,CAAC,MAAM,SAAS,CAC7B,IAAI,CAAC,SAAS,EACd,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;gBAChC,QAAQ,EAAE,IAAI,CAAC,MAAM;gBACrB,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC;aAC7B,CAAC,CAAC,CACJ,CAAa,CAAC;YAEf,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACzC,MAAM,eAAe,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;gBAE1F,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,eAAe,CAAC,QAAQ,EAAE,CAAC;gBAEvD,OAAO,GAAG,CAAC;YACb,CAAC,EAAE,EAAiB,CAAC,CAAC;QACxB,CAAC;KAAA;CACF"}
|
||||||
2
lib/esm/types.js
Normal file
2
lib/esm/types.js
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
export {};
|
||||||
|
//# sourceMappingURL=types.js.map
|
||||||
1
lib/esm/types.js.map
Normal file
1
lib/esm/types.js.map
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
|
||||||
17
lib/esm/utils.js
Normal file
17
lib/esm/utils.js
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
export const isNode = !(process.browser
|
||||||
|
// prettier-ignore
|
||||||
|
// @ts-ignore
|
||||||
|
) && typeof globalThis.window === 'undefined';
|
||||||
|
export function sleep(ms) {
|
||||||
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Example:
|
||||||
|
*
|
||||||
|
* amountInWei (0.1 ETH) * tokenDecimals (18) * tokenPriceInWei (0.0008) = 125 TOKEN
|
||||||
|
*/
|
||||||
|
export function convertETHToTokenAmount(amountInWei, tokenPriceInWei, tokenDecimals = 18) {
|
||||||
|
const tokenDecimalsMultiplier = BigInt(10 ** Number(tokenDecimals));
|
||||||
|
return (BigInt(amountInWei) * tokenDecimalsMultiplier) / BigInt(tokenPriceInWei);
|
||||||
|
}
|
||||||
|
//# sourceMappingURL=utils.js.map
|
||||||
1
lib/esm/utils.js.map
Normal file
1
lib/esm/utils.js.map
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,MAAM,GACjB,CAAC,CAEG,OAGD,CAAC,OAAO;AACT,kBAAkB;AAClB,aAAa;CACd,IAAI,OAAO,UAAU,CAAC,MAAM,KAAK,WAAW,CAAC;AAEhD,MAAM,UAAU,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CACrC,WAAyB,EACzB,eAA6B,EAC7B,gBAAwB,EAAE;IAE1B,MAAM,uBAAuB,GAAG,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;IACpE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,uBAAuB,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AACnF,CAAC"}
|
||||||
161
lib/feeOracle.d.ts
vendored
161
lib/feeOracle.d.ts
vendored
@@ -1,122 +1,41 @@
|
|||||||
import { BigNumberish } from 'ethers';
|
import type { BigNumberish, TransactionLike } from 'ethers';
|
||||||
import { TransactionData, TxType, ITornadoFeeOracle, LegacyGasPriceKey, GasPriceParams, GetGasParamsRes, HexadecimalStringifiedNumber, GetGasInput, GetGasParamsInput } from './types';
|
import { OptimismL1FeeOracle } from './contracts';
|
||||||
import { JsonRpcProvider } from '@ethersproject/providers';
|
import { ChainIdType } from './constants';
|
||||||
import { ChainId, InstanceTokenSymbol } from './config';
|
import { networkConfig } from './types';
|
||||||
import { GetWithdrawalFeeViaRelayerInput } from './types';
|
export interface RelayerFeeParams {
|
||||||
export declare abstract class TornadoFeeOracle implements ITornadoFeeOracle {
|
gasPrice: BigNumberish;
|
||||||
version: 4 | 5 | 6;
|
gasLimit?: BigNumberish;
|
||||||
protected chainId: ChainId;
|
l1Fee?: BigNumberish;
|
||||||
protected provider: JsonRpcProvider;
|
denomination: BigNumberish;
|
||||||
constructor(version: 4 | 5 | 6, chainId: ChainId, rpcUrl: string);
|
ethRefund: BigNumberish;
|
||||||
/**
|
tokenPriceInWei: BigNumberish;
|
||||||
* Because Optimism transaction published on Mainnet, for each OP transaction we need to calculate L1 security fee:
|
tokenDecimals: number;
|
||||||
* https://community.optimism.io/docs/developers/build/transaction-fees/#priority-fee
|
relayerFeePercent?: number;
|
||||||
* @param {TransactionData} [tx] Transaction data to estimate L1 additional fee
|
isEth?: boolean;
|
||||||
* @returns {Promise<HexadecimalStringifiedNumber>} Fee in WEI (MATIC), '0' if chain is not Optimism
|
premiumPercent?: number;
|
||||||
*/
|
}
|
||||||
fetchL1OptimismFee(tx?: TransactionData): Promise<HexadecimalStringifiedNumber>;
|
export declare class TornadoFeeOracle {
|
||||||
/**
|
optimismL1FeeOracle?: OptimismL1FeeOracle;
|
||||||
* Estimate gas price, gas limit and l1Fee for sidechain (if exists)
|
constructor(netId: ChainIdType, rpcUrl: string, config: networkConfig);
|
||||||
* @param {GetGasParamsInput} [params] Function input arguments object
|
/**
|
||||||
* @param {TransactionData} [params.tx] Transaction data in web3 / ethers format
|
* Calculate L1 fee for op-stack chains
|
||||||
* @param {TxType} [params.txType=other] Tornado transaction type: withdrawal by user, withdrawal by relayer or 'other'
|
*
|
||||||
* @param {number} [params.predefinedGasLimit] Predefined gas limit, if already calculated (no refetching)
|
* This is required since relayers would pay the full transaction fees for users
|
||||||
* @param {number} [params.predefinedGasPrice] Predefined gas price, if already calculated (no refetching)
|
*/
|
||||||
* @param {number} [params.bumpGasLimitPercent] Gas limit bump percent to prioritize transaction (if gas limit not predefined, recenlty used)
|
fetchL1OptimismFee(tx?: TransactionLike): Promise<bigint>;
|
||||||
* @param {number} [params.bumpGasPricePercent] Gas price bump percent to prioritize transaction (if gas limit not predefined, rarely used)
|
/**
|
||||||
* @param {LegacyGasPriceKey} [params.speed] Preferred transaction speed, if uses legacy gas (before EIP-1559)
|
* We don't need to distinguish default refunds by tokens since most users interact with other defi protocols after withdrawal
|
||||||
* @param {boolean} [params.includeL1FeeToGasLimit=true] Include L1 additional fee on Optimism to gas limit (get fee and divide by gas price)
|
* So we default with 1M gas which is enough for two or three swaps
|
||||||
* @returns {Promise<GetGasParamsRes>} Object with fields 'gasPrice' and 'gasLimit', L1 fee, if exists, included in gasLimit
|
* Using 30 gwei for default but it is recommended to supply cached gasPrice value from the UI
|
||||||
*/
|
*/
|
||||||
getGasParams(params?: GetGasParamsInput): Promise<GetGasParamsRes>;
|
defaultEthRefund(gasPrice?: BigNumberish, gasLimit?: BigNumberish): bigint;
|
||||||
/**
|
/**
|
||||||
* Estimates next block gas for signed, unsigned or incomplete Tornado transaction
|
* Calculates token amount for required ethRefund purchases required to calculate fees
|
||||||
* @param {GetGasInput} [params] Function input arguments object
|
*/
|
||||||
* @param {TransactionData} [params.tx] Transaction data in web3 / ethers format
|
calculateTokenAmount(ethRefund: BigNumberish, tokenPriceInEth: BigNumberish, tokenDecimals?: number): bigint;
|
||||||
* @param {TxType} [params.txType] Tornado transaction type: withdrawal by user, withdrawal by relayer or 'other'
|
/**
|
||||||
* @param {number} [params.predefinedGasLimit] Predefined gas limit, if already calculated (no refetching)
|
* Warning: For tokens you need to check if the fees are above denomination
|
||||||
* @param {number} [params.predefinedGasPrice] Predefined gas price, if already calculated (no refetching)
|
* (Usually happens for small denomination pool or if the gas price is high)
|
||||||
* @param {number} [params.bumpGasLimitPercent] Gas limit bump percent to prioritize transaction (if gas limit not predefined, recenlty used)
|
*/
|
||||||
* @param {number} [params.bumpGasPricePercent] Gas price bump percent to prioritize transaction (if gas price not predefined, rarely used)
|
calculateRelayerFee({ gasPrice, gasLimit, l1Fee, denomination, ethRefund, tokenPriceInWei, tokenDecimals, relayerFeePercent, isEth, premiumPercent, }: RelayerFeeParams): bigint;
|
||||||
* @param {LegacyGasPriceKey} [params.speed] Preferred transaction speed, if uses legacy gas (before EIP-1559)
|
|
||||||
* @returns {Promise<HexadecimalStringifiedNumber>} Gas value in WEI (hex-format)
|
|
||||||
*/
|
|
||||||
getGas(params?: GetGasInput): Promise<HexadecimalStringifiedNumber>;
|
|
||||||
/**
|
|
||||||
* Estimate next block gas price
|
|
||||||
* @param {LegacyGasPriceKey} [speed] Preferred transaction speed, if uses legacy gas (before EIP-1559)
|
|
||||||
* @param {number} [bumpPercent=0] Gas bump percent to prioritize transaction
|
|
||||||
* @returns {Promise<GasPriceParams>} Estimated gas price info in WEI (hexed) - legacy object with gasPrice property or
|
|
||||||
* EIP-1559 object with maxFeePerGas and maxPriorityFeePerGas properties
|
|
||||||
* NOTICE: It is recommended to bump fees for EIP-1559 transactions, because they can bump 12.5% per block
|
|
||||||
*/
|
|
||||||
getGasPriceParams(speed?: LegacyGasPriceKey, bumpPercent?: number): Promise<GasPriceParams>;
|
|
||||||
/**
|
|
||||||
* Estimate next block gas price
|
|
||||||
* @param {LegacyGasPriceKey} [speed] Preferred transaction speed, if uses legacy gas (before EIP-1559)
|
|
||||||
* @param {number} [bumpPercent] Gas bump percent to prioritize transaction
|
|
||||||
* @returns {Promise<HexadecimalStringifiedNumber>} Gas price in WEI (hex string)
|
|
||||||
*/
|
|
||||||
getGasPrice(speed?: LegacyGasPriceKey, bumpPercent?: number): Promise<HexadecimalStringifiedNumber>;
|
|
||||||
/**
|
|
||||||
* Estimates gas limit for transaction (or basic gas limit, if no tx data provided)
|
|
||||||
* @param {TransactionData} [tx] Transaction data (object in web3 / ethers format)
|
|
||||||
* @param {TxType} [type] Tornado transaction type: withdrawal by user, withdrawal by relayer, relayer fee check or 'other'
|
|
||||||
* @param {number} [bumpPercent] Gas bump percent to prioritize transaction
|
|
||||||
* @returns {Promise<number>} Gas limit
|
|
||||||
*/
|
|
||||||
abstract getGasLimit(tx?: TransactionData, type?: TxType, bumpPercent?: number): Promise<number>;
|
|
||||||
/**
|
|
||||||
* If user withdraw non-native tokens on ETH or Goerli, we need to calculate refund value:
|
|
||||||
* if the withdrawal is successful, this amount will be returned to the user after the transfer to the relayer,
|
|
||||||
* and if the relayer pays a commission and the transfer of tokens fails, this commission will remain to the relayer.
|
|
||||||
*
|
|
||||||
* Refund needed that recipient can use tokens after withdrawal (covers gas fee for send/swap)
|
|
||||||
* @param {BigNumberish} gasPrice Actual gas price
|
|
||||||
* @param {InstanceTokenSymbol} tokenSymbol Withdrawal token (currency) symbol - for example, 'dai'
|
|
||||||
* @returns {HexadecimalStringifiedNumber} Refund amount in WEI (in hex format)
|
|
||||||
*/
|
|
||||||
calculateRefundInETH(gasPrice: BigNumberish, tokenSymbol: InstanceTokenSymbol): HexadecimalStringifiedNumber;
|
|
||||||
/**
|
|
||||||
* Fetched actual gas price and calculates refund amount
|
|
||||||
* @param {InstanceTokenSymbol} tokenSymbol Withdrawal token (currency) symbol - for example, 'dai'
|
|
||||||
* @returns {Promise<HexadecimalStringifiedNumber>} Refund amount in WEI (in hex format)
|
|
||||||
*/
|
|
||||||
fetchRefundInETH(tokenSymbol: InstanceTokenSymbol): Promise<HexadecimalStringifiedNumber>;
|
|
||||||
/**
|
|
||||||
* Get refund amount on ETH or Goerli in non-native token
|
|
||||||
* @param {BigNumberish} gasPrice Actual gas price in ETH
|
|
||||||
* @param {BigNumberish} tokenPriceInEth Token price in WEI in ETH
|
|
||||||
* @param {HexadecimalStringifiedNumber | number} tokenDecimals Token (currency) decimals
|
|
||||||
* @param {InstanceTokenSymbol} tokenSymbol Withdrawal token (currency) symbol - for example, 'dai'
|
|
||||||
* @returns {HexadecimalStringifiedNumber} Refund amount in WEI in selected token (hexed number)
|
|
||||||
*/
|
|
||||||
calculateRefundInToken(gasPrice: BigNumberish, tokenPriceInEth: BigNumberish, tokenDecimals: HexadecimalStringifiedNumber | number, tokenSymbol: InstanceTokenSymbol): HexadecimalStringifiedNumber;
|
|
||||||
/**
|
|
||||||
* Calculates relayer fee in selected currency (ETH, DAI, BNB etc) in WEI
|
|
||||||
* @param {number | string} relayerFeePercent Relayer percent (0.4 for ETH Mainnet, for example)
|
|
||||||
* @param {HexadecimalStringifiedNumber | number} amount Amount in selected currency (10 for 10 ETH, 1000 for 1000 DAI)
|
|
||||||
* @param {string | number} decimals Decimal places in selected token (currency)
|
|
||||||
* @returns {HexadecimalStringifiedNumber} Fee in WEI (hexed stingified number)
|
|
||||||
*/
|
|
||||||
calculateRelayerFeeInWei(relayerFeePercent: number | string, amount: HexadecimalStringifiedNumber | number, decimals: string | number): HexadecimalStringifiedNumber;
|
|
||||||
/**
|
|
||||||
* Estimates fee for withdrawal via relayer depending on type: gas bump percent is bigger, if it calculates by user,
|
|
||||||
* so that the real commission from the relayer side is a little less,
|
|
||||||
* in order to the relayer can send a transaction without fear that he will go into the red
|
|
||||||
* @param {GetWithdrawalFeeViaRelayerInput} params Function input arguments object
|
|
||||||
* @param {TxType} params.txType Tornado transaction type: withdrawal costs calculation from user side or from relayer side
|
|
||||||
* @param {TransactionData} [params.tx] Transaction data (object in web3 / ethers format)
|
|
||||||
* @param {number} params.relayerFeePercent Relayer fee percent from the transaction amount (for example, 0.15 for BNB or 0.4 for ETH Mainnet)
|
|
||||||
* @param {AvailableTokenSymbols | Uppercase<AvailableTokenSymbols>} params.currency Currency symbol
|
|
||||||
* @param {number | HexadecimalStringifiedNumber } params.amount Withdrawal amount in selected currency
|
|
||||||
* @param {number | HexadecimalStringifiedNumber } params.decimals Token (currency) decimals
|
|
||||||
* @param {BigNumberish} [params.refundInEth] Refund in ETH, if withdrawed other tokens on Mainnet (not ETH). Can not be provided, if user-side calculation
|
|
||||||
* @param {BigNumberish} [params.tokenPriceInEth] If withdrawing other token on Mainnet or Goerli, need to provide token price in ETH (in WEI)
|
|
||||||
* @param {number} [params.gasLimit] Predefined gas limit, if already calculated (no refetching)
|
|
||||||
* @param {number} [params.gasPrice] Predefined gas price, if already calculated (no refetching)
|
|
||||||
*
|
|
||||||
* @returns {Promise<HexadecimalStringifiedNumber>} Fee in WEI (hexed string)
|
|
||||||
*/
|
|
||||||
calculateWithdrawalFeeViaRelayer({ tx, txType, relayerFeePercent, currency, amount, decimals, refundInEth, tokenPriceInEth, predefinedGasLimit, predefinedGasPrice, }: GetWithdrawalFeeViaRelayerInput): Promise<HexadecimalStringifiedNumber>;
|
|
||||||
}
|
}
|
||||||
|
|||||||
420
lib/feeOracle.js
420
lib/feeOracle.js
@@ -1,374 +1,74 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
var __assign = (this && this.__assign) || function () {
|
|
||||||
__assign = Object.assign || function(t) {
|
|
||||||
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
||||||
s = arguments[i];
|
|
||||||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
||||||
t[p] = s[p];
|
|
||||||
}
|
|
||||||
return t;
|
|
||||||
};
|
|
||||||
return __assign.apply(this, arguments);
|
|
||||||
};
|
|
||||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
||||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
||||||
return new (P || (P = Promise))(function (resolve, reject) {
|
|
||||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
||||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
||||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
||||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
||||||
});
|
|
||||||
};
|
|
||||||
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
||||||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
||||||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
||||||
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
||||||
function step(op) {
|
|
||||||
if (f) throw new TypeError("Generator is already executing.");
|
|
||||||
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
||||||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
||||||
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
||||||
switch (op[0]) {
|
|
||||||
case 0: case 1: t = op; break;
|
|
||||||
case 4: _.label++; return { value: op[1], done: false };
|
|
||||||
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
||||||
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
||||||
default:
|
|
||||||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
||||||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
||||||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
||||||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
||||||
if (t[2]) _.ops.pop();
|
|
||||||
_.trys.pop(); continue;
|
|
||||||
}
|
|
||||||
op = body.call(thisArg, _);
|
|
||||||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
||||||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
||||||
}
|
|
||||||
};
|
|
||||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
||||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
||||||
};
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.TornadoFeeOracle = void 0;
|
exports.TornadoFeeOracle = void 0;
|
||||||
var ethers_1 = require("ethers");
|
const ethers_1 = require("ethers");
|
||||||
var bignumber_js_1 = __importDefault(require("bignumber.js"));
|
const contracts_1 = require("./contracts");
|
||||||
var utils_1 = require("ethers/lib/utils");
|
const providers_1 = require("./providers");
|
||||||
var config_1 = require("./config");
|
const utils_1 = require("./utils");
|
||||||
var utils_2 = require("./utils");
|
const DUMMY_ADDRESS = '0x1111111111111111111111111111111111111111';
|
||||||
var factories_1 = require("./contracts/factories");
|
const DUMMY_NONCE = 1024;
|
||||||
var TornadoFeeOracle = /** @class */ (function () {
|
const DUMMY_WITHDRAW_DATA = '0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111';
|
||||||
function TornadoFeeOracle(version, chainId, rpcUrl) {
|
class TornadoFeeOracle {
|
||||||
this.version = version;
|
constructor(netId, rpcUrl, config) {
|
||||||
this.chainId = chainId;
|
const { optimismL1FeeOracleAddress } = config;
|
||||||
this.provider = new ethers_1.ethers.providers.JsonRpcProvider(rpcUrl);
|
if (optimismL1FeeOracleAddress) {
|
||||||
|
const provider = (0, providers_1.getProvider)(netId, rpcUrl, config);
|
||||||
|
this.optimismL1FeeOracle = contracts_1.OptimismL1FeeOracle__factory.connect(optimismL1FeeOracleAddress, provider);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Because Optimism transaction published on Mainnet, for each OP transaction we need to calculate L1 security fee:
|
* Calculate L1 fee for op-stack chains
|
||||||
* https://community.optimism.io/docs/developers/build/transaction-fees/#priority-fee
|
|
||||||
* @param {TransactionData} [tx] Transaction data to estimate L1 additional fee
|
|
||||||
* @returns {Promise<HexadecimalStringifiedNumber>} Fee in WEI (MATIC), '0' if chain is not Optimism
|
|
||||||
*/
|
|
||||||
TornadoFeeOracle.prototype.fetchL1OptimismFee = function (tx) {
|
|
||||||
return __awaiter(this, void 0, void 0, function () {
|
|
||||||
var optimismL1FeeOracle, l1Fee;
|
|
||||||
return __generator(this, function (_a) {
|
|
||||||
switch (_a.label) {
|
|
||||||
case 0:
|
|
||||||
if (this.chainId != config_1.ChainId.OPTIMISM)
|
|
||||||
return [2 /*return*/, ethers_1.BigNumber.from(0).toHexString()];
|
|
||||||
optimismL1FeeOracle = (0, factories_1.getOptimismL1FeeOracle)(this.provider);
|
|
||||||
return [4 /*yield*/, optimismL1FeeOracle.getL1Fee((0, utils_2.serializeTx)(tx))];
|
|
||||||
case 1:
|
|
||||||
l1Fee = _a.sent();
|
|
||||||
return [2 /*return*/, l1Fee.toHexString()];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
};
|
|
||||||
/**
|
|
||||||
* Estimate gas price, gas limit and l1Fee for sidechain (if exists)
|
|
||||||
* @param {GetGasParamsInput} [params] Function input arguments object
|
|
||||||
* @param {TransactionData} [params.tx] Transaction data in web3 / ethers format
|
|
||||||
* @param {TxType} [params.txType=other] Tornado transaction type: withdrawal by user, withdrawal by relayer or 'other'
|
|
||||||
* @param {number} [params.predefinedGasLimit] Predefined gas limit, if already calculated (no refetching)
|
|
||||||
* @param {number} [params.predefinedGasPrice] Predefined gas price, if already calculated (no refetching)
|
|
||||||
* @param {number} [params.bumpGasLimitPercent] Gas limit bump percent to prioritize transaction (if gas limit not predefined, recenlty used)
|
|
||||||
* @param {number} [params.bumpGasPricePercent] Gas price bump percent to prioritize transaction (if gas limit not predefined, rarely used)
|
|
||||||
* @param {LegacyGasPriceKey} [params.speed] Preferred transaction speed, if uses legacy gas (before EIP-1559)
|
|
||||||
* @param {boolean} [params.includeL1FeeToGasLimit=true] Include L1 additional fee on Optimism to gas limit (get fee and divide by gas price)
|
|
||||||
* @returns {Promise<GetGasParamsRes>} Object with fields 'gasPrice' and 'gasLimit', L1 fee, if exists, included in gasLimit
|
|
||||||
*/
|
|
||||||
TornadoFeeOracle.prototype.getGasParams = function (params) {
|
|
||||||
if (params === void 0) { params = {}; }
|
|
||||||
return __awaiter(this, void 0, void 0, function () {
|
|
||||||
var tx, _a, txType, bumpGasLimitPercent, bumpGasPricePercent, gasLimit, gasPrice, speed, _b, includeL1FeeToGasLimit, l1Fee;
|
|
||||||
var _c, _d;
|
|
||||||
return __generator(this, function (_e) {
|
|
||||||
switch (_e.label) {
|
|
||||||
case 0:
|
|
||||||
tx = params.tx, _a = params.txType, txType = _a === void 0 ? 'other' : _a, bumpGasLimitPercent = params.bumpGasLimitPercent, bumpGasPricePercent = params.bumpGasPricePercent, gasLimit = params.predefinedGasLimit, gasPrice = params.predefinedGasPrice, speed = params.speed, _b = params.includeL1FeeToGasLimit, includeL1FeeToGasLimit = _b === void 0 ? true : _b;
|
|
||||||
l1Fee = '0';
|
|
||||||
if (!(!gasLimit && !gasPrice)) return [3 /*break*/, 2];
|
|
||||||
return [4 /*yield*/, Promise.all([
|
|
||||||
this.getGasPrice(speed, bumpGasPricePercent),
|
|
||||||
this.getGasLimit(tx, txType, bumpGasLimitPercent),
|
|
||||||
this.fetchL1OptimismFee(tx),
|
|
||||||
])];
|
|
||||||
case 1:
|
|
||||||
_c = _e.sent(), gasPrice = _c[0], gasLimit = _c[1], l1Fee = _c[2];
|
|
||||||
_e.label = 2;
|
|
||||||
case 2:
|
|
||||||
if (!!gasLimit) return [3 /*break*/, 4];
|
|
||||||
return [4 /*yield*/, Promise.all([
|
|
||||||
this.getGasLimit(tx, txType, bumpGasLimitPercent),
|
|
||||||
this.fetchL1OptimismFee(tx),
|
|
||||||
])];
|
|
||||||
case 3:
|
|
||||||
_d = _e.sent(), gasLimit = _d[0], l1Fee = _d[1];
|
|
||||||
_e.label = 4;
|
|
||||||
case 4:
|
|
||||||
if (!!gasPrice) return [3 /*break*/, 6];
|
|
||||||
return [4 /*yield*/, this.getGasPrice(speed, bumpGasPricePercent)];
|
|
||||||
case 5:
|
|
||||||
gasPrice = _e.sent();
|
|
||||||
_e.label = 6;
|
|
||||||
case 6:
|
|
||||||
if (includeL1FeeToGasLimit)
|
|
||||||
// Include L1 fee in gas limit (divide by gas price before), if l1 fee is 0, gas limit wont change
|
|
||||||
gasLimit = (0, bignumber_js_1.default)(gasLimit)
|
|
||||||
.plus((0, bignumber_js_1.default)(l1Fee).div((0, bignumber_js_1.default)(gasPrice)))
|
|
||||||
.decimalPlaces(0, 1)
|
|
||||||
.toNumber();
|
|
||||||
return [2 /*return*/, { gasLimit: gasLimit, gasPrice: gasPrice }];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
};
|
|
||||||
/**
|
|
||||||
* Estimates next block gas for signed, unsigned or incomplete Tornado transaction
|
|
||||||
* @param {GetGasInput} [params] Function input arguments object
|
|
||||||
* @param {TransactionData} [params.tx] Transaction data in web3 / ethers format
|
|
||||||
* @param {TxType} [params.txType] Tornado transaction type: withdrawal by user, withdrawal by relayer or 'other'
|
|
||||||
* @param {number} [params.predefinedGasLimit] Predefined gas limit, if already calculated (no refetching)
|
|
||||||
* @param {number} [params.predefinedGasPrice] Predefined gas price, if already calculated (no refetching)
|
|
||||||
* @param {number} [params.bumpGasLimitPercent] Gas limit bump percent to prioritize transaction (if gas limit not predefined, recenlty used)
|
|
||||||
* @param {number} [params.bumpGasPricePercent] Gas price bump percent to prioritize transaction (if gas price not predefined, rarely used)
|
|
||||||
* @param {LegacyGasPriceKey} [params.speed] Preferred transaction speed, if uses legacy gas (before EIP-1559)
|
|
||||||
* @returns {Promise<HexadecimalStringifiedNumber>} Gas value in WEI (hex-format)
|
|
||||||
*/
|
|
||||||
TornadoFeeOracle.prototype.getGas = function (params) {
|
|
||||||
if (params === void 0) { params = {}; }
|
|
||||||
return __awaiter(this, void 0, void 0, function () {
|
|
||||||
var _a, gasPrice, gasLimit;
|
|
||||||
return __generator(this, function (_b) {
|
|
||||||
switch (_b.label) {
|
|
||||||
case 0: return [4 /*yield*/, this.getGasParams(__assign(__assign({}, params), { includeL1FeeToGasLimit: true }))];
|
|
||||||
case 1:
|
|
||||||
_a = _b.sent(), gasPrice = _a.gasPrice, gasLimit = _a.gasLimit;
|
|
||||||
return [2 /*return*/, ethers_1.BigNumber.from(gasPrice).mul(gasLimit).toHexString()];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
};
|
|
||||||
/**
|
|
||||||
* Estimate next block gas price
|
|
||||||
* @param {LegacyGasPriceKey} [speed] Preferred transaction speed, if uses legacy gas (before EIP-1559)
|
|
||||||
* @param {number} [bumpPercent=0] Gas bump percent to prioritize transaction
|
|
||||||
* @returns {Promise<GasPriceParams>} Estimated gas price info in WEI (hexed) - legacy object with gasPrice property or
|
|
||||||
* EIP-1559 object with maxFeePerGas and maxPriorityFeePerGas properties
|
|
||||||
* NOTICE: It is recommended to bump fees for EIP-1559 transactions, because they can bump 12.5% per block
|
|
||||||
*/
|
|
||||||
TornadoFeeOracle.prototype.getGasPriceParams = function (speed, bumpPercent) {
|
|
||||||
var _a;
|
|
||||||
if (bumpPercent === void 0) { bumpPercent = 0; }
|
|
||||||
return __awaiter(this, void 0, void 0, function () {
|
|
||||||
var _b, block, gasPrice, priorityFee, maxPriorityFeePerGas, maxFeePerGas, e_1;
|
|
||||||
var _this = this;
|
|
||||||
return __generator(this, function (_c) {
|
|
||||||
switch (_c.label) {
|
|
||||||
case 0:
|
|
||||||
// Use instant for BSC, because on this chain "fast" and "instant" differs more than third and "fast" transaction can take hours
|
|
||||||
if (!speed)
|
|
||||||
speed = this.chainId === config_1.ChainId.BSC ? 'instant' : 'fast';
|
|
||||||
_c.label = 1;
|
|
||||||
case 1:
|
|
||||||
_c.trys.push([1, 3, , 4]);
|
|
||||||
return [4 /*yield*/, Promise.all([
|
|
||||||
this.provider.getBlock('latest'),
|
|
||||||
this.provider.getGasPrice(),
|
|
||||||
(function () { return __awaiter(_this, void 0, void 0, function () {
|
|
||||||
var _a, _b, _c;
|
|
||||||
return __generator(this, function (_d) {
|
|
||||||
switch (_d.label) {
|
|
||||||
case 0:
|
|
||||||
_d.trys.push([0, 2, , 3]);
|
|
||||||
_b = (_a = ethers_1.BigNumber).from;
|
|
||||||
return [4 /*yield*/, this.provider.send('eth_maxPriorityFeePerGas', [])];
|
|
||||||
case 1: return [2 /*return*/, _b.apply(_a, [(_d.sent()) || (0, utils_1.parseUnits)('1.5', 'gwei')])];
|
|
||||||
case 2:
|
|
||||||
_c = _d.sent();
|
|
||||||
return [2 /*return*/, (0, utils_1.parseUnits)('1.5', 'gwei')];
|
|
||||||
case 3: return [2 /*return*/];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}); })(),
|
|
||||||
])];
|
|
||||||
case 2:
|
|
||||||
_b = _c.sent(), block = _b[0], gasPrice = _b[1], priorityFee = _b[2];
|
|
||||||
if ((_a = block === null || block === void 0 ? void 0 : block.baseFeePerGas) === null || _a === void 0 ? void 0 : _a.gt(0)) {
|
|
||||||
maxPriorityFeePerGas = priorityFee.toHexString();
|
|
||||||
maxFeePerGas = (0, utils_2.bump)(block.baseFeePerGas, bumpPercent)
|
|
||||||
.add(priorityFee)
|
|
||||||
.toHexString();
|
|
||||||
return [2 /*return*/, {
|
|
||||||
maxFeePerGas: maxFeePerGas,
|
|
||||||
maxPriorityFeePerGas: maxPriorityFeePerGas,
|
|
||||||
}];
|
|
||||||
}
|
|
||||||
return [2 /*return*/, {
|
|
||||||
gasPrice: (0, utils_2.bump)(gasPrice, bumpPercent).toHexString(),
|
|
||||||
}];
|
|
||||||
case 3:
|
|
||||||
e_1 = _c.sent();
|
|
||||||
return [2 /*return*/, { gasPrice: (0, utils_2.bump)((0, utils_2.fromGweiToWeiHex)(config_1.defaultGasPrices[this.chainId][speed]), bumpPercent).toHexString() }];
|
|
||||||
case 4: return [2 /*return*/];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
};
|
|
||||||
/**
|
|
||||||
* Estimate next block gas price
|
|
||||||
* @param {LegacyGasPriceKey} [speed] Preferred transaction speed, if uses legacy gas (before EIP-1559)
|
|
||||||
* @param {number} [bumpPercent] Gas bump percent to prioritize transaction
|
|
||||||
* @returns {Promise<HexadecimalStringifiedNumber>} Gas price in WEI (hex string)
|
|
||||||
*/
|
|
||||||
TornadoFeeOracle.prototype.getGasPrice = function (speed, bumpPercent) {
|
|
||||||
return __awaiter(this, void 0, void 0, function () {
|
|
||||||
var gasPriceParams;
|
|
||||||
return __generator(this, function (_a) {
|
|
||||||
switch (_a.label) {
|
|
||||||
case 0: return [4 /*yield*/, this.getGasPriceParams(speed, bumpPercent)];
|
|
||||||
case 1:
|
|
||||||
gasPriceParams = _a.sent();
|
|
||||||
return [2 /*return*/, (0, utils_2.calculateGasPriceInWei)(gasPriceParams).toHexString()];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
};
|
|
||||||
/**
|
|
||||||
* If user withdraw non-native tokens on ETH or Goerli, we need to calculate refund value:
|
|
||||||
* if the withdrawal is successful, this amount will be returned to the user after the transfer to the relayer,
|
|
||||||
* and if the relayer pays a commission and the transfer of tokens fails, this commission will remain to the relayer.
|
|
||||||
*
|
*
|
||||||
* Refund needed that recipient can use tokens after withdrawal (covers gas fee for send/swap)
|
* This is required since relayers would pay the full transaction fees for users
|
||||||
* @param {BigNumberish} gasPrice Actual gas price
|
|
||||||
* @param {InstanceTokenSymbol} tokenSymbol Withdrawal token (currency) symbol - for example, 'dai'
|
|
||||||
* @returns {HexadecimalStringifiedNumber} Refund amount in WEI (in hex format)
|
|
||||||
*/
|
*/
|
||||||
TornadoFeeOracle.prototype.calculateRefundInETH = function (gasPrice, tokenSymbol) {
|
fetchL1OptimismFee(tx) {
|
||||||
// Refund only available for non-native tokens on Ethereum Mainnet and Goerli
|
if (!this.optimismL1FeeOracle) {
|
||||||
if (![config_1.ChainId.MAINNET, config_1.ChainId.GOERLI].includes(this.chainId) || tokenSymbol === 'eth')
|
return new Promise((resolve) => resolve(BigInt(0)));
|
||||||
return '0';
|
|
||||||
// Notify user about error if incorrect token symbol provided
|
|
||||||
if (!Object.values(config_1.InstanceTokenSymbol).includes(tokenSymbol)) {
|
|
||||||
console.error("Invalid token symbol: ".concat(tokenSymbol, ", must be lowercase token from one of Tornado ETH Mainnet pools"));
|
|
||||||
return '0';
|
|
||||||
}
|
}
|
||||||
// In Tornado we need to calculate refund only on user side, relayer get refund value in proof
|
if (!tx) {
|
||||||
var gasLimit = config_1.defaultInstanceTokensGasLimit[tokenSymbol];
|
// this tx is only used to simulate bytes size of the encoded tx so has nothing to with the accuracy
|
||||||
return ethers_1.BigNumber.from(gasPrice).mul(gasLimit).mul(2).toHexString();
|
// inspired by the old style classic-ui calculation
|
||||||
|
tx = {
|
||||||
|
type: 0,
|
||||||
|
gasLimit: 1000000,
|
||||||
|
nonce: DUMMY_NONCE,
|
||||||
|
data: DUMMY_WITHDRAW_DATA,
|
||||||
|
gasPrice: (0, ethers_1.parseUnits)('1', 'gwei'),
|
||||||
|
to: DUMMY_ADDRESS,
|
||||||
};
|
};
|
||||||
/**
|
|
||||||
* Fetched actual gas price and calculates refund amount
|
|
||||||
* @param {InstanceTokenSymbol} tokenSymbol Withdrawal token (currency) symbol - for example, 'dai'
|
|
||||||
* @returns {Promise<HexadecimalStringifiedNumber>} Refund amount in WEI (in hex format)
|
|
||||||
*/
|
|
||||||
TornadoFeeOracle.prototype.fetchRefundInETH = function (tokenSymbol) {
|
|
||||||
return __awaiter(this, void 0, void 0, function () {
|
|
||||||
var gasPrice;
|
|
||||||
return __generator(this, function (_a) {
|
|
||||||
switch (_a.label) {
|
|
||||||
case 0: return [4 /*yield*/, this.getGasPrice()];
|
|
||||||
case 1:
|
|
||||||
gasPrice = _a.sent();
|
|
||||||
return [2 /*return*/, this.calculateRefundInETH(gasPrice, tokenSymbol)];
|
|
||||||
}
|
}
|
||||||
});
|
return this.optimismL1FeeOracle.getL1Fee.staticCall(ethers_1.Transaction.from(tx).unsignedSerialized);
|
||||||
});
|
|
||||||
};
|
|
||||||
/**
|
|
||||||
* Get refund amount on ETH or Goerli in non-native token
|
|
||||||
* @param {BigNumberish} gasPrice Actual gas price in ETH
|
|
||||||
* @param {BigNumberish} tokenPriceInEth Token price in WEI in ETH
|
|
||||||
* @param {HexadecimalStringifiedNumber | number} tokenDecimals Token (currency) decimals
|
|
||||||
* @param {InstanceTokenSymbol} tokenSymbol Withdrawal token (currency) symbol - for example, 'dai'
|
|
||||||
* @returns {HexadecimalStringifiedNumber} Refund amount in WEI in selected token (hexed number)
|
|
||||||
*/
|
|
||||||
TornadoFeeOracle.prototype.calculateRefundInToken = function (gasPrice, tokenPriceInEth, tokenDecimals, tokenSymbol) {
|
|
||||||
var refundInEth = this.calculateRefundInETH(gasPrice, tokenSymbol);
|
|
||||||
return (0, utils_2.convertETHToToken)(refundInEth, tokenDecimals, tokenPriceInEth).toHexString();
|
|
||||||
};
|
|
||||||
/**
|
|
||||||
* Calculates relayer fee in selected currency (ETH, DAI, BNB etc) in WEI
|
|
||||||
* @param {number | string} relayerFeePercent Relayer percent (0.4 for ETH Mainnet, for example)
|
|
||||||
* @param {HexadecimalStringifiedNumber | number} amount Amount in selected currency (10 for 10 ETH, 1000 for 1000 DAI)
|
|
||||||
* @param {string | number} decimals Decimal places in selected token (currency)
|
|
||||||
* @returns {HexadecimalStringifiedNumber} Fee in WEI (hexed stingified number)
|
|
||||||
*/
|
|
||||||
TornadoFeeOracle.prototype.calculateRelayerFeeInWei = function (relayerFeePercent, amount, decimals) {
|
|
||||||
return (0, utils_1.parseUnits)(amount.toString(), decimals)
|
|
||||||
.mul("".concat(Math.floor(Number(relayerFeePercent) * 1e10)))
|
|
||||||
.div("".concat(100 * 1e10))
|
|
||||||
.toHexString();
|
|
||||||
};
|
|
||||||
/**
|
|
||||||
* Estimates fee for withdrawal via relayer depending on type: gas bump percent is bigger, if it calculates by user,
|
|
||||||
* so that the real commission from the relayer side is a little less,
|
|
||||||
* in order to the relayer can send a transaction without fear that he will go into the red
|
|
||||||
* @param {GetWithdrawalFeeViaRelayerInput} params Function input arguments object
|
|
||||||
* @param {TxType} params.txType Tornado transaction type: withdrawal costs calculation from user side or from relayer side
|
|
||||||
* @param {TransactionData} [params.tx] Transaction data (object in web3 / ethers format)
|
|
||||||
* @param {number} params.relayerFeePercent Relayer fee percent from the transaction amount (for example, 0.15 for BNB or 0.4 for ETH Mainnet)
|
|
||||||
* @param {AvailableTokenSymbols | Uppercase<AvailableTokenSymbols>} params.currency Currency symbol
|
|
||||||
* @param {number | HexadecimalStringifiedNumber } params.amount Withdrawal amount in selected currency
|
|
||||||
* @param {number | HexadecimalStringifiedNumber } params.decimals Token (currency) decimals
|
|
||||||
* @param {BigNumberish} [params.refundInEth] Refund in ETH, if withdrawed other tokens on Mainnet (not ETH). Can not be provided, if user-side calculation
|
|
||||||
* @param {BigNumberish} [params.tokenPriceInEth] If withdrawing other token on Mainnet or Goerli, need to provide token price in ETH (in WEI)
|
|
||||||
* @param {number} [params.gasLimit] Predefined gas limit, if already calculated (no refetching)
|
|
||||||
* @param {number} [params.gasPrice] Predefined gas price, if already calculated (no refetching)
|
|
||||||
*
|
|
||||||
* @returns {Promise<HexadecimalStringifiedNumber>} Fee in WEI (hexed string)
|
|
||||||
*/
|
|
||||||
TornadoFeeOracle.prototype.calculateWithdrawalFeeViaRelayer = function (_a) {
|
|
||||||
var tx = _a.tx, txType = _a.txType, relayerFeePercent = _a.relayerFeePercent, currency = _a.currency, amount = _a.amount, decimals = _a.decimals, refundInEth = _a.refundInEth, tokenPriceInEth = _a.tokenPriceInEth, predefinedGasLimit = _a.predefinedGasLimit, predefinedGasPrice = _a.predefinedGasPrice;
|
|
||||||
return __awaiter(this, void 0, void 0, function () {
|
|
||||||
var relayerFee, _b, gasPrice, gasLimit, gasCosts, hasTokenPrice, feeInEth;
|
|
||||||
return __generator(this, function (_c) {
|
|
||||||
switch (_c.label) {
|
|
||||||
case 0:
|
|
||||||
relayerFee = this.calculateRelayerFeeInWei(relayerFeePercent, amount, decimals);
|
|
||||||
return [4 /*yield*/, this.getGasParams({ tx: tx, txType: txType, predefinedGasLimit: predefinedGasLimit, predefinedGasPrice: predefinedGasPrice })];
|
|
||||||
case 1:
|
|
||||||
_b = _c.sent(), gasPrice = _b.gasPrice, gasLimit = _b.gasLimit;
|
|
||||||
gasCosts = ethers_1.BigNumber.from(gasPrice).mul(gasLimit);
|
|
||||||
hasTokenPrice = typeof tokenPriceInEth === 'object' && typeof (tokenPriceInEth === null || tokenPriceInEth === void 0 ? void 0 : tokenPriceInEth.gt) === 'function'
|
|
||||||
? Boolean(tokenPriceInEth.gt(0))
|
|
||||||
: Boolean(tokenPriceInEth);
|
|
||||||
if (hasTokenPrice) {
|
|
||||||
if (txType === 'user_withdrawal' && refundInEth === undefined)
|
|
||||||
refundInEth = this.calculateRefundInETH(gasPrice, currency.toLowerCase());
|
|
||||||
feeInEth = ethers_1.BigNumber.from(gasCosts).add(refundInEth || 0);
|
|
||||||
return [2 /*return*/, (0, utils_2.convertETHToToken)(feeInEth, decimals, tokenPriceInEth)
|
|
||||||
.add(relayerFee)
|
|
||||||
.toHexString()];
|
|
||||||
}
|
}
|
||||||
return [2 /*return*/, ethers_1.BigNumber.from(gasCosts).add(relayerFee).toHexString()];
|
/**
|
||||||
|
* We don't need to distinguish default refunds by tokens since most users interact with other defi protocols after withdrawal
|
||||||
|
* So we default with 1M gas which is enough for two or three swaps
|
||||||
|
* Using 30 gwei for default but it is recommended to supply cached gasPrice value from the UI
|
||||||
|
*/
|
||||||
|
defaultEthRefund(gasPrice, gasLimit) {
|
||||||
|
return (gasPrice ? BigInt(gasPrice) : (0, ethers_1.parseUnits)('30', 'gwei')) * BigInt(gasLimit || 1000000);
|
||||||
}
|
}
|
||||||
});
|
/**
|
||||||
});
|
* Calculates token amount for required ethRefund purchases required to calculate fees
|
||||||
};
|
*/
|
||||||
return TornadoFeeOracle;
|
calculateTokenAmount(ethRefund, tokenPriceInEth, tokenDecimals) {
|
||||||
}());
|
return (0, utils_1.convertETHToTokenAmount)(ethRefund, tokenPriceInEth, tokenDecimals);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Warning: For tokens you need to check if the fees are above denomination
|
||||||
|
* (Usually happens for small denomination pool or if the gas price is high)
|
||||||
|
*/
|
||||||
|
calculateRelayerFee({ gasPrice, gasLimit = 600000, l1Fee = 0, denomination, ethRefund = BigInt(0), tokenPriceInWei, tokenDecimals = 18, relayerFeePercent = 0.33, isEth = true, premiumPercent = 20, }) {
|
||||||
|
const gasCosts = BigInt(gasPrice) * BigInt(gasLimit) + BigInt(l1Fee);
|
||||||
|
const relayerFee = (BigInt(denomination) * BigInt(Math.floor(10000 * relayerFeePercent))) / BigInt(10000 * 100);
|
||||||
|
if (isEth) {
|
||||||
|
// Add 20% premium
|
||||||
|
return ((gasCosts + relayerFee) * BigInt(premiumPercent ? 100 + premiumPercent : 100)) / BigInt(100);
|
||||||
|
}
|
||||||
|
const feeInEth = gasCosts + BigInt(ethRefund);
|
||||||
|
return ((((0, utils_1.convertETHToTokenAmount)(feeInEth, tokenPriceInWei, tokenDecimals) + relayerFee) *
|
||||||
|
BigInt(premiumPercent ? 100 + premiumPercent : 100)) /
|
||||||
|
BigInt(100));
|
||||||
|
}
|
||||||
|
}
|
||||||
exports.TornadoFeeOracle = TornadoFeeOracle;
|
exports.TornadoFeeOracle = TornadoFeeOracle;
|
||||||
//# sourceMappingURL=feeOracle.js.map
|
//# sourceMappingURL=feeOracle.js.map
|
||||||
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user