Compare commits
7 Commits
8379696a92
...
c4b5f69b72
Author | SHA1 | Date | |
---|---|---|---|
c4b5f69b72 | |||
cf394714c3 | |||
1d60b4016e | |||
491bcec983 | |||
56c88f9fa8 | |||
122d28789b | |||
e626a51297 |
@ -1,13 +1,7 @@
|
|||||||
PINATA_API_KEY=
|
PINATA_API_KEY=
|
||||||
PINATA_SECRET_API_KEY=
|
PINATA_SECRET_API_KEY=
|
||||||
|
|
||||||
INFURA_KEY=
|
CHAINNODES_KEY=
|
||||||
|
|
||||||
ALCHEMY_MAINNET_KEY=
|
|
||||||
ALCHEMY_POLYGON_KEY=
|
|
||||||
ALCHEMY_OPTIMISM_KEY=
|
|
||||||
ALCHEMY_ARBITRUM_KEY=
|
|
||||||
ALCHEMY_GOERLI_KEY=
|
|
||||||
|
|
||||||
WC_BRIDGE=
|
WC_BRIDGE=
|
||||||
|
|
||||||
|
7
.github/workflows/nodejs.yml
vendored
7
.github/workflows/nodejs.yml
vendored
@ -32,12 +32,7 @@ jobs:
|
|||||||
- name: Build
|
- name: Build
|
||||||
run: yarn generate
|
run: yarn generate
|
||||||
env:
|
env:
|
||||||
INFURA_KEY: ${{ secrets.INFURA_KEY }}
|
CHAINNODES_KEY: ${{ secrets.CHAINNODES_KEY }}
|
||||||
ALCHEMY_MAINNET_KEY: ${{ secrets.ALCHEMY_MAINNET_KEY }}
|
|
||||||
ALCHEMY_POLYGON_KEY: ${{ secrets.ALCHEMY_POLYGON_KEY }}
|
|
||||||
ALCHEMY_OPTIMISM_KEY: ${{ secrets.ALCHEMY_OPTIMISM_KEY }}
|
|
||||||
ALCHEMY_ARBITRUM_KEY: ${{ secrets.ALCHEMY_ARBITRUM_KEY }}
|
|
||||||
ALCHEMY_GOERLI_KEY: ${{ secrets.ALCHEMY_GOERLI_KEY }}
|
|
||||||
WC_BRIDGE: ${{ secrets.WC_BRIDGE }}
|
WC_BRIDGE: ${{ secrets.WC_BRIDGE }}
|
||||||
OLD_STORE_NAME: ${{ secrets.OLD_STORE_NAME }}
|
OLD_STORE_NAME: ${{ secrets.OLD_STORE_NAME }}
|
||||||
STORE_NAME: ${{ secrets.STORE_NAME }}
|
STORE_NAME: ${{ secrets.STORE_NAME }}
|
||||||
|
@ -72,6 +72,8 @@ export async function _encryptFormatTx({ dispatch, getters, rootGetters }, { eve
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dispatch('loading/disable', {}, { root: true })
|
||||||
|
|
||||||
return formattingEvents(result)
|
return formattingEvents(result)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
export const blockSyncInterval = 10000
|
export const blockSyncInterval = 10000
|
||||||
export const enabledChains = ['1', '10', '56', '100', '137', '43114', '42161']
|
export const enabledChains = ['1', '5', '10', '56', '100', '137', '42161', '43114']
|
||||||
export const chainsWithEncryptedNotes = ['1', '5', '56', '100', '137']
|
|
||||||
export default {
|
export default {
|
||||||
netId1: {
|
netId1: {
|
||||||
rpcCallRetryAttempt: 15,
|
rpcCallRetryAttempt: 15,
|
||||||
@ -78,9 +77,7 @@ export default {
|
|||||||
usdc: {
|
usdc: {
|
||||||
instanceAddress: {
|
instanceAddress: {
|
||||||
'100': '0xd96f2B1c14Db8458374d9Aca76E26c3D18364307',
|
'100': '0xd96f2B1c14Db8458374d9Aca76E26c3D18364307',
|
||||||
'1000': '0x4736dCf1b7A3d580672CcE6E7c65cd5cc9cFBa9D',
|
'1000': '0x4736dCf1b7A3d580672CcE6E7c65cd5cc9cFBa9D'
|
||||||
'10000': '',
|
|
||||||
'100000': ''
|
|
||||||
},
|
},
|
||||||
tokenAddress: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
|
tokenAddress: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
|
||||||
symbol: 'USDC',
|
symbol: 'USDC',
|
||||||
@ -90,9 +87,7 @@ export default {
|
|||||||
usdt: {
|
usdt: {
|
||||||
instanceAddress: {
|
instanceAddress: {
|
||||||
'100': '0x169AD27A470D064DEDE56a2D3ff727986b15D52B',
|
'100': '0x169AD27A470D064DEDE56a2D3ff727986b15D52B',
|
||||||
'1000': '0x0836222F2B2B24A3F36f98668Ed8F0B38D1a872f',
|
'1000': '0x0836222F2B2B24A3F36f98668Ed8F0B38D1a872f'
|
||||||
'10000': '',
|
|
||||||
'100000': ''
|
|
||||||
},
|
},
|
||||||
tokenAddress: '0xdAC17F958D2ee523a2206206994597C13D831ec7',
|
tokenAddress: '0xdAC17F958D2ee523a2206206994597C13D831ec7',
|
||||||
symbol: 'USDT',
|
symbol: 'USDT',
|
||||||
@ -103,8 +98,7 @@ export default {
|
|||||||
instanceAddress: {
|
instanceAddress: {
|
||||||
'0.1': '0x178169B423a011fff22B9e3F3abeA13414dDD0F1',
|
'0.1': '0x178169B423a011fff22B9e3F3abeA13414dDD0F1',
|
||||||
'1': '0x610B717796ad172B316836AC95a2ffad065CeaB4',
|
'1': '0x610B717796ad172B316836AC95a2ffad065CeaB4',
|
||||||
'10': '0xbB93e510BbCD0B7beb5A853875f9eC60275CF498',
|
'10': '0xbB93e510BbCD0B7beb5A853875f9eC60275CF498'
|
||||||
'100': ''
|
|
||||||
},
|
},
|
||||||
tokenAddress: '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599',
|
tokenAddress: '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599',
|
||||||
symbol: 'WBTC',
|
symbol: 'WBTC',
|
||||||
@ -407,17 +401,17 @@ export default {
|
|||||||
multicall: '0xe86e3989c74293Acc962156cd3F525c07b6a1B6e',
|
multicall: '0xe86e3989c74293Acc962156cd3F525c07b6a1B6e',
|
||||||
echoContractAccount: '0xa75BF2815618872f155b7C4B0C81bF990f5245E4',
|
echoContractAccount: '0xa75BF2815618872f155b7C4B0C81bF990f5245E4',
|
||||||
rpcUrls: {
|
rpcUrls: {
|
||||||
|
publicRpc1: {
|
||||||
|
name: 'Avalanche RPC',
|
||||||
|
url: 'https://endpoints.omniatech.io/v1/avax/mainnet/public'
|
||||||
|
},
|
||||||
|
meowRPC: {
|
||||||
|
name: 'Meow RPC',
|
||||||
|
url: 'https://avax.meowrpc.com'
|
||||||
|
},
|
||||||
communityRPC: {
|
communityRPC: {
|
||||||
name: 'Tornado RPC',
|
name: 'Tornado RPC',
|
||||||
url: 'https://avalanche-rpc.tornado.ws/ext/bc/C/rpc'
|
url: 'https://avalanche-rpc.tornado.ws/ext/bc/C/rpc'
|
||||||
},
|
|
||||||
publicRpc1: {
|
|
||||||
name: 'Avalanche RPC',
|
|
||||||
url: 'https://api.avax.network/ext/bc/C/rpc'
|
|
||||||
},
|
|
||||||
oneRpc: {
|
|
||||||
name: '1RPC',
|
|
||||||
ulr: 'https://1rpc.io/avax/'
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
tokens: {
|
tokens: {
|
||||||
@ -505,9 +499,7 @@ export default {
|
|||||||
usdc: {
|
usdc: {
|
||||||
instanceAddress: {
|
instanceAddress: {
|
||||||
'100': '0x05E0b5B40B7b66098C2161A5EE11C5740A3A7C45',
|
'100': '0x05E0b5B40B7b66098C2161A5EE11C5740A3A7C45',
|
||||||
'1000': '0x23173fE8b96A4Ad8d2E17fB83EA5dcccdCa1Ae52',
|
'1000': '0x23173fE8b96A4Ad8d2E17fB83EA5dcccdCa1Ae52'
|
||||||
'10000': '',
|
|
||||||
'100000': ''
|
|
||||||
},
|
},
|
||||||
tokenAddress: '0xD87Ba7A50B2E7E660f678A895E4B72E7CB4CCd9C',
|
tokenAddress: '0xD87Ba7A50B2E7E660f678A895E4B72E7CB4CCd9C',
|
||||||
symbol: 'USDC',
|
symbol: 'USDC',
|
||||||
@ -517,9 +509,7 @@ export default {
|
|||||||
usdt: {
|
usdt: {
|
||||||
instanceAddress: {
|
instanceAddress: {
|
||||||
'100': '0x538Ab61E8A9fc1b2f93b3dd9011d662d89bE6FE6',
|
'100': '0x538Ab61E8A9fc1b2f93b3dd9011d662d89bE6FE6',
|
||||||
'1000': '0x94Be88213a387E992Dd87DE56950a9aef34b9448',
|
'1000': '0x94Be88213a387E992Dd87DE56950a9aef34b9448'
|
||||||
'10000': '',
|
|
||||||
'100000': ''
|
|
||||||
},
|
},
|
||||||
tokenAddress: '0xb7FC2023D96AEa94Ba0254AA5Aeb93141e4aad66',
|
tokenAddress: '0xb7FC2023D96AEa94Ba0254AA5Aeb93141e4aad66',
|
||||||
symbol: 'USDT',
|
symbol: 'USDT',
|
||||||
@ -530,8 +520,7 @@ export default {
|
|||||||
instanceAddress: {
|
instanceAddress: {
|
||||||
'0.1': '0x242654336ca2205714071898f67E254EB49ACdCe',
|
'0.1': '0x242654336ca2205714071898f67E254EB49ACdCe',
|
||||||
'1': '0x776198CCF446DFa168347089d7338879273172cF',
|
'1': '0x776198CCF446DFa168347089d7338879273172cF',
|
||||||
'10': '0xeDC5d01286f99A066559F60a585406f3878a033e',
|
'10': '0xeDC5d01286f99A066559F60a585406f3878a033e'
|
||||||
'100': ''
|
|
||||||
},
|
},
|
||||||
tokenAddress: '0xC04B0d3107736C32e19F1c62b2aF67BE61d63a05',
|
tokenAddress: '0xC04B0d3107736C32e19F1c62b2aF67BE61d63a05',
|
||||||
symbol: 'WBTC',
|
symbol: 'WBTC',
|
||||||
|
@ -187,12 +187,7 @@ export default {
|
|||||||
new webpack.IgnorePlugin(/worker_threads/),
|
new webpack.IgnorePlugin(/worker_threads/),
|
||||||
new webpack.DefinePlugin({
|
new webpack.DefinePlugin({
|
||||||
'process.env': JSON.stringify({
|
'process.env': JSON.stringify({
|
||||||
INFURA_KEY: process.env.INFURA_KEY,
|
CHAINNODES_KEY: process.env.CHAINNODES_KEY,
|
||||||
ALCHEMY_MAINNET_KEY: process.env.ALCHEMY_MAINNET_KEY,
|
|
||||||
ALCHEMY_POLYGON_KEY: process.env.ALCHEMY_POLYGON_KEY,
|
|
||||||
ALCHEMY_OPTIMISM_KEY: process.env.ALCHEMY_OPTIMISM_KEY,
|
|
||||||
ALCHEMY_ARBITRUM_KEY: process.env.ALCHEMY_ARBITRUM_KEY,
|
|
||||||
ALCHEMY_GOERLI_KEY: process.env.ALCHEMY_GOERLI_KEY,
|
|
||||||
WC_BRIDGE: process.env.WC_BRIDGE,
|
WC_BRIDGE: process.env.WC_BRIDGE,
|
||||||
OLD_STORE_NAME: process.env.OLD_STORE_NAME,
|
OLD_STORE_NAME: process.env.OLD_STORE_NAME,
|
||||||
STORE_NAME: process.env.STORE_NAME,
|
STORE_NAME: process.env.STORE_NAME,
|
||||||
@ -230,7 +225,7 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
provider: {
|
provider: {
|
||||||
rpcUrl: `https://mainnet.infura.io/v3/${process.env.INFURA_KEY}`
|
rpcUrl: `https://mainnet.chainnodes.org/${process.env.CHAINNODES_KEY}`
|
||||||
},
|
},
|
||||||
|
|
||||||
// todo make custom loading page
|
// todo make custom loading page
|
||||||
|
@ -39,10 +39,6 @@ export async function getPastEvents({ type, fromBlock, netId, events, contractAt
|
|||||||
|
|
||||||
let [{ url: rpcUrl }] = Object.values(networkConfig[`netId${netId}`].rpcUrls)
|
let [{ url: rpcUrl }] = Object.values(networkConfig[`netId${netId}`].rpcUrls)
|
||||||
|
|
||||||
if (netId === '5') {
|
|
||||||
rpcUrl = 'https://goerli.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161'
|
|
||||||
}
|
|
||||||
|
|
||||||
const provider = new Web3.providers.HttpProvider(rpcUrl)
|
const provider = new Web3.providers.HttpProvider(rpcUrl)
|
||||||
const web3 = new Web3(provider)
|
const web3 = new Web3(provider)
|
||||||
const contract = new web3.eth.Contract(...contractAttrs)
|
const contract = new web3.eth.Contract(...contractAttrs)
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import { uniqBy } from 'lodash'
|
import { uniqBy } from 'lodash'
|
||||||
|
|
||||||
import networkConfig, { enabledChains, chainsWithEncryptedNotes } from '../networkConfig'
|
import networkConfig, { enabledChains } from '../networkConfig'
|
||||||
|
|
||||||
import { loadCachedEvents, save } from './helpers'
|
import { loadCachedEvents, save } from './helpers'
|
||||||
|
|
||||||
@ -68,7 +68,7 @@ async function main() {
|
|||||||
for (let i = 0; i < enabledChains.length; i++) {
|
for (let i = 0; i < enabledChains.length; i++) {
|
||||||
const netId = enabledChains[i]
|
const netId = enabledChains[i]
|
||||||
|
|
||||||
if (netId === chainsWithEncryptedNotes[i]) updateEncrypted(netId)
|
updateEncrypted(netId)
|
||||||
|
|
||||||
await updateCommon(netId)
|
await updateCommon(netId)
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@ import Web3 from 'web3'
|
|||||||
|
|
||||||
import graph from '@/services/graph'
|
import graph from '@/services/graph'
|
||||||
import { download } from '@/store/snark'
|
import { download } from '@/store/snark'
|
||||||
import networkConfig, { enabledChains } from '@/networkConfig'
|
import networkConfig, { enabledChains, blockSyncInterval } from '@/networkConfig'
|
||||||
import InstanceABI from '@/abis/Instance.abi.json'
|
import InstanceABI from '@/abis/Instance.abi.json'
|
||||||
import { CONTRACT_INSTANCES, eventsType, httpConfig } from '@/constants'
|
import { CONTRACT_INSTANCES, eventsType, httpConfig } from '@/constants'
|
||||||
import { sleep, flattenNArray, formatEvents, capitalizeFirstLetter } from '@/utils'
|
import { sleep, flattenNArray, formatEvents, capitalizeFirstLetter } from '@/utils'
|
||||||
@ -178,7 +178,7 @@ class EventService {
|
|||||||
return events
|
return events
|
||||||
}
|
}
|
||||||
|
|
||||||
const blockRange = 4950
|
const blockRange = Math.floor(blockSyncInterval / 2) - 1
|
||||||
const fromBlock = deployedBlock
|
const fromBlock = deployedBlock
|
||||||
const { blockDifference, currentBlockNumber } = await this.getBlocksDiff({ fromBlock })
|
const { blockDifference, currentBlockNumber } = await this.getBlocksDiff({ fromBlock })
|
||||||
|
|
||||||
@ -244,7 +244,7 @@ class EventService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
getPastEvents({ fromBlock, toBlock, type }, shouldRetry = false, i = 0) {
|
getPastEvents({ fromBlock, toBlock, type }, shouldRetry = false, retries = 0) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
this.contract
|
this.contract
|
||||||
.getPastEvents(capitalizeFirstLetter(type), {
|
.getPastEvents(capitalizeFirstLetter(type), {
|
||||||
@ -253,13 +253,23 @@ class EventService {
|
|||||||
})
|
})
|
||||||
.then((events) => resolve(events))
|
.then((events) => resolve(events))
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
i = i + 1
|
retries++
|
||||||
|
|
||||||
|
// If provider.getBlockNumber returned last block that isn't accepted (happened on Avalanche/Gnosis),
|
||||||
|
// get events to last accepted block
|
||||||
|
if (err.message.includes('after last accepted block')) {
|
||||||
|
const acceptedBlock = parseInt(err.message.split('after last accepted block ')[1])
|
||||||
|
toBlock = acceptedBlock
|
||||||
|
// Retries to 0, because it is not RPC error
|
||||||
|
retries = 0
|
||||||
|
}
|
||||||
|
|
||||||
// maximum 5 second buffer for rate-limiting
|
// maximum 5 second buffer for rate-limiting
|
||||||
if (shouldRetry) {
|
if (shouldRetry) {
|
||||||
const isRetry = i !== 5
|
const shouldRetryAgain = retries < 5
|
||||||
|
|
||||||
sleep(1000 * i).then(() =>
|
sleep(1000 * retries).then(() =>
|
||||||
this.getPastEvents({ fromBlock, toBlock, type }, isRetry, i)
|
this.getPastEvents({ fromBlock, toBlock, type }, shouldRetryAgain, retries)
|
||||||
.then((events) => resolve(events))
|
.then((events) => resolve(events))
|
||||||
.catch((_) => resolve(undefined))
|
.catch((_) => resolve(undefined))
|
||||||
)
|
)
|
||||||
@ -324,19 +334,18 @@ class EventService {
|
|||||||
async getBatchEventsFromRpc({ fromBlock, type }) {
|
async getBatchEventsFromRpc({ fromBlock, type }) {
|
||||||
try {
|
try {
|
||||||
const batchSize = 10
|
const batchSize = 10
|
||||||
const blockRange = 10000
|
|
||||||
|
|
||||||
let [events, failed] = [[], []]
|
let [events, failed] = [[], []]
|
||||||
let lastBlock = fromBlock
|
let lastBlock = fromBlock
|
||||||
|
|
||||||
const { blockDifference, currentBlockNumber } = await this.getBlocksDiff({ fromBlock })
|
const { blockDifference, currentBlockNumber } = await this.getBlocksDiff({ fromBlock })
|
||||||
const batchDigest = blockDifference === 0 ? 1 : Math.ceil(blockDifference / blockRange)
|
const batchDigest = blockDifference === 0 ? 1 : Math.ceil(blockDifference / blockSyncInterval)
|
||||||
|
|
||||||
const blockDenom = Math.ceil(blockDifference / batchDigest)
|
const blockDenom = Math.ceil(blockDifference / batchDigest)
|
||||||
const batchCount = Math.ceil(batchDigest / batchSize)
|
const batchCount = Math.ceil(batchDigest / batchSize)
|
||||||
|
|
||||||
if (fromBlock < currentBlockNumber) {
|
if (fromBlock < currentBlockNumber) {
|
||||||
await this.updateEventProgress(0, type)
|
this.updateEventProgress(0, type)
|
||||||
|
|
||||||
for (let batchIndex = 0; batchIndex < batchCount; batchIndex++) {
|
for (let batchIndex = 0; batchIndex < batchCount; batchIndex++) {
|
||||||
const isLastBatch = batchIndex === batchCount - 1
|
const isLastBatch = batchIndex === batchCount - 1
|
||||||
@ -365,7 +374,7 @@ class EventService {
|
|||||||
throw new Error('Failed to batch events')
|
throw new Error('Failed to batch events')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
await this.updateEventProgress(progressIndex / batchCount, type)
|
this.updateEventProgress(progressIndex / batchCount, type)
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
@ -383,11 +392,10 @@ class EventService {
|
|||||||
async getEventsFromRpc({ fromBlock, type }) {
|
async getEventsFromRpc({ fromBlock, type }) {
|
||||||
try {
|
try {
|
||||||
const { blockDifference } = await this.getBlocksDiff({ fromBlock })
|
const { blockDifference } = await this.getBlocksDiff({ fromBlock })
|
||||||
const blockRange = 10000
|
|
||||||
|
|
||||||
let events
|
let events
|
||||||
|
|
||||||
if (blockDifference < blockRange) {
|
if (blockDifference < blockSyncInterval) {
|
||||||
const rpcEvents = await this.getEventsPartFromRpc({ fromBlock, toBlock: 'latest', type })
|
const rpcEvents = await this.getEventsPartFromRpc({ fromBlock, toBlock: 'latest', type })
|
||||||
events = rpcEvents?.events || []
|
events = rpcEvents?.events || []
|
||||||
} else {
|
} else {
|
||||||
|
Binary file not shown.
BIN
static/events/deposits_10_eth_0.1.json.gz
Normal file
BIN
static/events/deposits_10_eth_0.1.json.gz
Normal file
Binary file not shown.
BIN
static/events/deposits_10_eth_1.json.gz
Normal file
BIN
static/events/deposits_10_eth_1.json.gz
Normal file
Binary file not shown.
BIN
static/events/deposits_10_eth_10.json.gz
Normal file
BIN
static/events/deposits_10_eth_10.json.gz
Normal file
Binary file not shown.
BIN
static/events/deposits_10_eth_100.json.gz
Normal file
BIN
static/events/deposits_10_eth_100.json.gz
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
static/events/deposits_42161_eth_0.1.json.gz
Normal file
BIN
static/events/deposits_42161_eth_0.1.json.gz
Normal file
Binary file not shown.
BIN
static/events/deposits_42161_eth_1.json.gz
Normal file
BIN
static/events/deposits_42161_eth_1.json.gz
Normal file
Binary file not shown.
BIN
static/events/deposits_42161_eth_10.json.gz
Normal file
BIN
static/events/deposits_42161_eth_10.json.gz
Normal file
Binary file not shown.
BIN
static/events/deposits_42161_eth_100.json.gz
Normal file
BIN
static/events/deposits_42161_eth_100.json.gz
Normal file
Binary file not shown.
BIN
static/events/deposits_43114_avax_10.json.gz
Normal file
BIN
static/events/deposits_43114_avax_10.json.gz
Normal file
Binary file not shown.
BIN
static/events/deposits_43114_avax_100.json.gz
Normal file
BIN
static/events/deposits_43114_avax_100.json.gz
Normal file
Binary file not shown.
BIN
static/events/deposits_43114_avax_500.json.gz
Normal file
BIN
static/events/deposits_43114_avax_500.json.gz
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
static/events/deposits_5_eth_0.1.json.gz
Normal file
BIN
static/events/deposits_5_eth_0.1.json.gz
Normal file
Binary file not shown.
BIN
static/events/deposits_5_eth_1.json.gz
Normal file
BIN
static/events/deposits_5_eth_1.json.gz
Normal file
Binary file not shown.
BIN
static/events/deposits_5_eth_10.json.gz
Normal file
BIN
static/events/deposits_5_eth_10.json.gz
Normal file
Binary file not shown.
BIN
static/events/deposits_5_eth_100.json.gz
Normal file
BIN
static/events/deposits_5_eth_100.json.gz
Normal file
Binary file not shown.
Binary file not shown.
BIN
static/events/encrypted_notes_10.json.gz
Normal file
BIN
static/events/encrypted_notes_10.json.gz
Normal file
Binary file not shown.
Binary file not shown.
BIN
static/events/encrypted_notes_42161.json.gz
Normal file
BIN
static/events/encrypted_notes_42161.json.gz
Normal file
Binary file not shown.
BIN
static/events/encrypted_notes_43114.json.gz
Normal file
BIN
static/events/encrypted_notes_43114.json.gz
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
static/events/withdrawals_10_eth_0.1.json.gz
Normal file
BIN
static/events/withdrawals_10_eth_0.1.json.gz
Normal file
Binary file not shown.
BIN
static/events/withdrawals_10_eth_1.json.gz
Normal file
BIN
static/events/withdrawals_10_eth_1.json.gz
Normal file
Binary file not shown.
2
static/events/withdrawals_10_eth_10.json.gz
Normal file
2
static/events/withdrawals_10_eth_10.json.gz
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
xÚ}ĐËjSQŕůyŠÍwđ_öËĚÄůâ`_i0&<26>¦ HßÝA-‚bÇ‹µ|_–”~.)Ą´ŢŻë.đCÄ
|
||||||
|
‹îH=°m]¶,ŃöčĐ'R4µăáăŔőáµ7ÇXwiEÔ@Žěoy=_Ű·ĎĎß븻<14>ŞDżłËóů|š§qűTž_ďq W±^<5E>J'<27>)-¬UíE´»ˇ)ąőaS©<53>RT\ŮU‡ľÝŢoĺňTÚýt˝üŻ
Ęv'"˛Ü‹ÍĘłeŤě•y˘™zD*MÝ:4µG”uIéĺá_3lđDŽ®yşđFĽ/[Ű:€°Ú1äPŃĘ_fLh¨ŮÉB˙c†„úZés+G#Ă<>HÓ}¤AÓ†9<14>ŽŤjs*śGŘśď˘ĺˇDx<08>MŇ>Ů@ϢӢ!dć†ÔÚ@'Ţ˝K†N„ë’ŇËňuůAČťŁ
|
BIN
static/events/withdrawals_10_eth_100.json.gz
Normal file
BIN
static/events/withdrawals_10_eth_100.json.gz
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
static/events/withdrawals_42161_eth_0.1.json.gz
Normal file
BIN
static/events/withdrawals_42161_eth_0.1.json.gz
Normal file
Binary file not shown.
BIN
static/events/withdrawals_42161_eth_1.json.gz
Normal file
BIN
static/events/withdrawals_42161_eth_1.json.gz
Normal file
Binary file not shown.
BIN
static/events/withdrawals_42161_eth_10.json.gz
Normal file
BIN
static/events/withdrawals_42161_eth_10.json.gz
Normal file
Binary file not shown.
BIN
static/events/withdrawals_42161_eth_100.json.gz
Normal file
BIN
static/events/withdrawals_42161_eth_100.json.gz
Normal file
Binary file not shown.
BIN
static/events/withdrawals_43114_avax_10.json.gz
Normal file
BIN
static/events/withdrawals_43114_avax_10.json.gz
Normal file
Binary file not shown.
BIN
static/events/withdrawals_43114_avax_100.json.gz
Normal file
BIN
static/events/withdrawals_43114_avax_100.json.gz
Normal file
Binary file not shown.
BIN
static/events/withdrawals_43114_avax_500.json.gz
Normal file
BIN
static/events/withdrawals_43114_avax_500.json.gz
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
static/events/withdrawals_5_eth_0.1.json.gz
Normal file
BIN
static/events/withdrawals_5_eth_0.1.json.gz
Normal file
Binary file not shown.
BIN
static/events/withdrawals_5_eth_1.json.gz
Normal file
BIN
static/events/withdrawals_5_eth_1.json.gz
Normal file
Binary file not shown.
BIN
static/events/withdrawals_5_eth_10.json.gz
Normal file
BIN
static/events/withdrawals_5_eth_10.json.gz
Normal file
Binary file not shown.
BIN
static/events/withdrawals_5_eth_100.json.gz
Normal file
BIN
static/events/withdrawals_5_eth_100.json.gz
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
static/trees/deposits_10_eth_0.1_bloom.json.gz
Normal file
BIN
static/trees/deposits_10_eth_0.1_bloom.json.gz
Normal file
Binary file not shown.
BIN
static/trees/deposits_10_eth_0.1_slice1.json.gz
Normal file
BIN
static/trees/deposits_10_eth_0.1_slice1.json.gz
Normal file
Binary file not shown.
BIN
static/trees/deposits_10_eth_0.1_slice2.json.gz
Normal file
BIN
static/trees/deposits_10_eth_0.1_slice2.json.gz
Normal file
Binary file not shown.
BIN
static/trees/deposits_10_eth_0.1_slice3.json.gz
Normal file
BIN
static/trees/deposits_10_eth_0.1_slice3.json.gz
Normal file
Binary file not shown.
BIN
static/trees/deposits_10_eth_0.1_slice4.json.gz
Normal file
BIN
static/trees/deposits_10_eth_0.1_slice4.json.gz
Normal file
Binary file not shown.
2
static/trees/deposits_10_eth_100_bloom.json.gz
Normal file
2
static/trees/deposits_10_eth_100_bloom.json.gz
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
x<EFBFBD>ֱ1
|
||||||
|
€0@ׁ»<D781>9C<39>$ַ)₪¬´U0המ¾<17>ht¬<74>…<EFBFBD>?C7¡ת|<7C>^4¨«5»׀Ha
<0A>;´dז“<>~
|
2
static/trees/deposits_10_eth_10_bloom.json.gz
Normal file
2
static/trees/deposits_10_eth_10_bloom.json.gz
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
xÚÁK
|
||||||
|
ƒ0…ѽ|ã;øÕ˜Ê]Ž!”:ðÑBCöî9<C3AE>ž³xã1ÄYÿ¿ÄZ¯o-?ÜXïm+n]Ü{½ÜbÀ9‰/bÂ!NbÆ!2ŽÞûsý
|
BIN
static/trees/deposits_10_eth_10_slice1.json.gz
Normal file
BIN
static/trees/deposits_10_eth_10_slice1.json.gz
Normal file
Binary file not shown.
BIN
static/trees/deposits_10_eth_1_bloom.json.gz
Normal file
BIN
static/trees/deposits_10_eth_1_bloom.json.gz
Normal file
Binary file not shown.
BIN
static/trees/deposits_10_eth_1_slice1.json.gz
Normal file
BIN
static/trees/deposits_10_eth_1_slice1.json.gz
Normal file
Binary file not shown.
BIN
static/trees/deposits_10_eth_1_slice2.json.gz
Normal file
BIN
static/trees/deposits_10_eth_1_slice2.json.gz
Normal file
Binary file not shown.
BIN
static/trees/deposits_10_eth_1_slice3.json.gz
Normal file
BIN
static/trees/deposits_10_eth_1_slice3.json.gz
Normal file
Binary file not shown.
BIN
static/trees/deposits_10_eth_1_slice4.json.gz
Normal file
BIN
static/trees/deposits_10_eth_1_slice4.json.gz
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user