update to latest deploy + multicall 2

This commit is contained in:
Noah Zinsmeister 2021-04-08 11:27:19 -04:00
parent f0f4110b4b
commit d08cae175a
No known key found for this signature in database
GPG Key ID: 83022DD49188C9F2
5 changed files with 341 additions and 165 deletions

@ -27,7 +27,7 @@ export function getNetworkLibrary(): Web3Provider {
}
export const injected = new InjectedConnector({
supportedChainIds: [1, 3, 4, 5, 42, 1337],
supportedChainIds: [1, 3, 4, 5, 42],
})
// mainnet only

@ -1,143 +1,325 @@
[
{
"constant": true,
"inputs": [],
"name": "getCurrentBlockTimestamp",
"outputs": [
{
"name": "timestamp",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"components": [
{
"name": "target",
"type": "address"
},
{
"name": "callData",
"type": "bytes"
}
],
"name": "calls",
"type": "tuple[]"
}
],
"name": "aggregate",
"outputs": [
{
"name": "blockNumber",
"type": "uint256"
},
{
"name": "returnData",
"type": "bytes[]"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "getLastBlockHash",
"outputs": [
{
"name": "blockHash",
"type": "bytes32"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "addr",
"type": "address"
}
],
"name": "getEthBalance",
"outputs": [
{
"name": "balance",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "getCurrentBlockDifficulty",
"outputs": [
{
"name": "difficulty",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "getCurrentBlockGasLimit",
"outputs": [
{
"name": "gaslimit",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "getCurrentBlockCoinbase",
"outputs": [
{
"name": "coinbase",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "blockNumber",
"type": "uint256"
}
],
"name": "getBlockHash",
"outputs": [
{
"name": "blockHash",
"type": "bytes32"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
}
]
{
"inputs":[
{
"components":[
{
"internalType":"address",
"name":"target",
"type":"address"
},
{
"internalType":"bytes",
"name":"callData",
"type":"bytes"
}
],
"internalType":"struct Multicall2.Call[]",
"name":"calls",
"type":"tuple[]"
}
],
"name":"aggregate",
"outputs":[
{
"internalType":"uint256",
"name":"blockNumber",
"type":"uint256"
},
{
"internalType":"bytes[]",
"name":"returnData",
"type":"bytes[]"
}
],
"stateMutability":"nonpayable",
"type":"function"
},
{
"inputs":[
{
"components":[
{
"internalType":"address",
"name":"target",
"type":"address"
},
{
"internalType":"bytes",
"name":"callData",
"type":"bytes"
}
],
"internalType":"struct Multicall2.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 Multicall2.Result[]",
"name":"returnData",
"type":"tuple[]"
}
],
"stateMutability":"nonpayable",
"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":"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 Multicall2.Call[]",
"name":"calls",
"type":"tuple[]"
}
],
"name":"tryAggregate",
"outputs":[
{
"components":[
{
"internalType":"bool",
"name":"success",
"type":"bool"
},
{
"internalType":"bytes",
"name":"returnData",
"type":"bytes"
}
],
"internalType":"struct Multicall2.Result[]",
"name":"returnData",
"type":"tuple[]"
}
],
"stateMutability":"nonpayable",
"type":"function"
},
{
"inputs":[
{
"internalType":"bool",
"name":"requireSuccess",
"type":"bool"
},
{
"components":[
{
"internalType":"address",
"name":"target",
"type":"address"
},
{
"internalType":"bytes",
"name":"callData",
"type":"bytes"
}
],
"internalType":"struct Multicall2.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 Multicall2.Result[]",
"name":"returnData",
"type":"tuple[]"
}
],
"stateMutability":"nonpayable",
"type":"function"
}
]

@ -1,13 +1,12 @@
import { ChainId } from '@uniswap/sdk-core'
import MULTICALL_ABI from './abi.json'
const MULTICALL_NETWORKS: { [chainId in ChainId | 1337]: string } = {
const MULTICALL_NETWORKS: { [chainId in ChainId]: string } = {
[ChainId.MAINNET]: '0xeefBa1e63905eF1D7ACbA5a8513c70307C1cE441',
[ChainId.ROPSTEN]: '0x53C43764255c17BD724F74c4eF150724AC50a3ed',
[ChainId.KOVAN]: '0x2cc8688C5f75E365aaEEb4ea8D6a480405A48D2A',
[ChainId.RINKEBY]: '0x42Ad527de7d4e9d9d011aC45B31D8551f8Fe9821',
[ChainId.GÖRLI]: '0x77dCa2C955b15e9dE4dbBCf1246B4B85b651e50e',
[1337]: '0xFeabCc62240297F1e4b238937D68e7516f0918D7',
[ChainId.ROPSTEN]: '0x5BA1e12693Dc8F9c48aAD8770482f4739bEeD696',
[ChainId.KOVAN]: '0x5BA1e12693Dc8F9c48aAD8770482f4739bEeD696',
[ChainId.RINKEBY]: '0x5BA1e12693Dc8F9c48aAD8770482f4739bEeD696',
[ChainId.GÖRLI]: '0x5BA1e12693Dc8F9c48aAD8770482f4739bEeD696',
}
export { MULTICALL_ABI, MULTICALL_NETWORKS }

@ -1,46 +1,41 @@
import { ChainId } from '@uniswap/sdk-core'
export const FACTORY_ADDRESSES: { [chainId in ChainId | 1337]: string } = {
export const FACTORY_ADDRESSES: { [chainId in ChainId]: string } = {
[ChainId.MAINNET]: '',
[ChainId.ROPSTEN]: '',
[ChainId.RINKEBY]: '',
[ChainId.GÖRLI]: '',
[ChainId.GÖRLI]: '0x2e52A6ed50aeD4396BdC5889ACB9D04F6804D150',
[ChainId.KOVAN]: '',
[1337]: '0x49A6d0854B0fF95065f0dA247b8a2d440D92D2c7',
}
export const TICK_LENS_ADDRESSES: { [chainId in ChainId | 1337]: string } = {
export const TICK_LENS_ADDRESSES: { [chainId in ChainId]: string } = {
[ChainId.MAINNET]: '',
[ChainId.ROPSTEN]: '',
[ChainId.RINKEBY]: '',
[ChainId.GÖRLI]: '',
[ChainId.GÖRLI]: '0x637df729C49f229B328445AB64573B726F6814dC',
[ChainId.KOVAN]: '',
[1337]: '0x99Cb00560BFca3E5B7Cda8e820dDFF1ED403966E',
}
export const NONFUNGIBLE_POSITION_MANAGER_ADDRESSES: { [chainId in ChainId | 1337]: string } = {
export const NONFUNGIBLE_POSITION_MANAGER_ADDRESSES: { [chainId in ChainId]: string } = {
[ChainId.MAINNET]: '',
[ChainId.ROPSTEN]: '',
[ChainId.RINKEBY]: '',
[ChainId.GÖRLI]: '',
[ChainId.GÖRLI]: '0x514A3562Bbf313B262A4d2377B559CDe75FAC3C9',
[ChainId.KOVAN]: '',
[1337]: '0x273Edaa13C845F605b5886Dd66C89AB497A6B17b',
}
export const NONFUNGIBLE_TOKEN_POSITION_DESCRIPTOR_ADDRESSES: { [chainId in ChainId | 1337]: string } = {
export const NONFUNGIBLE_TOKEN_POSITION_DESCRIPTOR_ADDRESSES: { [chainId in ChainId]: string } = {
[ChainId.MAINNET]: '',
[ChainId.ROPSTEN]: '',
[ChainId.RINKEBY]: '',
[ChainId.GÖRLI]: '',
[ChainId.GÖRLI]: '0x2a3DB14c12674986f6F52deaD1d5ee0919715E8A',
[ChainId.KOVAN]: '',
[1337]: '0x3d137e860008BaF6d1c063158e5ec0baBbcFefF8',
}
export const SWAP_ROUTER_ADDRESSES: { [chainId in ChainId | 1337]: string } = {
export const SWAP_ROUTER_ADDRESSES: { [chainId in ChainId]: string } = {
[ChainId.MAINNET]: '',
[ChainId.ROPSTEN]: '',
[ChainId.RINKEBY]: '',
[ChainId.GÖRLI]: '',
[ChainId.GÖRLI]: '0x86e14633F8ab81FD49aEF388172A43A7C8731664',
[ChainId.KOVAN]: '',
[1337]: '0x80AacDBEe92DC1c2Fbaa261Fb369696AF1AD9f98',
}

@ -30,7 +30,7 @@ async function fetchChunk(
console.debug('Fetching chunk', multicallContract, chunk, minBlockNumber)
let resultsBlockNumber, returnData
try {
;[resultsBlockNumber, returnData] = await multicallContract.aggregate(
;[resultsBlockNumber, returnData] = await multicallContract.callStatic.aggregate(
chunk.map((obj) => [obj.address, obj.callData])
)
} catch (error) {