@@ -540,4 +541,4 @@ export default {
}
}
}
-
+
\ No newline at end of file
diff --git a/constants/variables.js b/constants/variables.js
index d3977bc..35ab9b1 100644
--- a/constants/variables.js
+++ b/constants/variables.js
@@ -60,12 +60,6 @@ export const cachedEventsLength = {
}
}
-export const httpConfig = {
- // buffer for tor connections
- timeout: 30000,
- keepAlive: true
-}
-
export const PROVIDERS = {
walletConnect: {
name: 'WalletConnect',
diff --git a/lib/Permit.js b/lib/Permit.js
index 4859de6..ce5d3b1 100644
--- a/lib/Permit.js
+++ b/lib/Permit.js
@@ -1,6 +1,6 @@
-import { concatSig } from 'eth-sig-util'
+const { EIP712Signer } = require('@ticket721/e712')
-const PermitType = [
+const Permit = [
{ name: 'owner', type: 'address' },
{ name: 'spender', type: 'address' },
{ name: 'value', type: 'uint256' },
@@ -8,53 +8,36 @@ const PermitType = [
{ name: 'deadline', type: 'uint256' }
]
-const EIP712DomainType = [
- { name: 'name', type: 'string' },
- { name: 'version', type: 'string' },
- { name: 'chainId', type: 'uint256' },
- { name: 'verifyingContract', type: 'address' }
-]
-
-export default class PermitSigner {
+class PermitSigner extends EIP712Signer {
constructor(_domain, _permitArgs) {
+ super(_domain, ['Permit', Permit])
this.permitArgs = _permitArgs
- this.domain = _domain
}
+ // Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)
setPermitInfo(_permitArgs) {
this.permitArgs = _permitArgs
}
- getReqPayload() {
+ getPayload() {
+ return this.generatePayload(this.permitArgs, 'Permit')
+ }
+
+ async getSignature(privateKey) {
+ const payload = this.getPayload()
+ const { hex, v, r, s } = await this.sign(privateKey, payload)
return {
- domain: this.domain,
- primaryType: 'Permit',
- types: {
- Permit: PermitType,
- EIP712Domain: EIP712DomainType
- },
- message: this.permitArgs
+ hex,
+ v,
+ r: '0x' + r,
+ s: '0x' + s
}
}
- getSignature(response) {
- response = response.substring(2)
-
- const r = '0x' + response.substring(0, 64)
- const s = '0x' + response.substring(64, 128)
-
- let v = parseInt(response.substring(128, 130), 16)
-
- // fix ledger sign
- if (v === 0 || v === 1) {
- v = v + 27
- }
-
- return {
- hex: concatSig(v, r, s),
- v,
- r,
- s
- }
+ getSignerAddress(permitArgs, signature) {
+ const originalPayload = this.generatePayload(permitArgs, 'Permit')
+ return this.verify(originalPayload, signature)
}
}
+
+module.exports = { PermitSigner }
diff --git a/networkConfig.js b/networkConfig.js
index 31973d8..96601f7 100644
--- a/networkConfig.js
+++ b/networkConfig.js
@@ -278,8 +278,8 @@ export default {
echoContractAccount: '0xa75BF2815618872f155b7C4B0C81bF990f5245E4',
rpcUrls: {
Arbitrum: {
- name: '1RPC',
- url: 'https://1rpc.io/arb'
+ name: 'Arbitrum Public RPC',
+ url: 'https://arb1.arbitrum.io/rpc'
}
},
tokens: {
diff --git a/package.json b/package.json
index 5aaf5e6..b9a6e0b 100644
--- a/package.json
+++ b/package.json
@@ -21,8 +21,10 @@
},
"dependencies": {
"@apollo/client": "^3.3.20",
+ "@ensdomains/ensjs": "^2.1.0",
"@metamask/onboarding": "^1.0.0",
"@nuxtjs/moment": "^1.6.0",
+ "@ticket721/e712": "^0.4.1",
"@walletconnect/web3-provider": "1.7.8",
"ajv": "^6.10.2",
"arraybuffer-loader": "^1.0.8",
@@ -41,6 +43,7 @@
"graphql": "^15.5.1",
"idb": "^6.0.0",
"jspdf": "^1.5.3",
+ "jszip": "^3.5.0",
"lodash": "^4.17.21",
"node-fetch": "^2.6.1",
"numbro": "^2.3.2",
diff --git a/pages/index.vue b/pages/index.vue
index ab8583b..8bd74d7 100644
--- a/pages/index.vue
+++ b/pages/index.vue
@@ -83,6 +83,31 @@
+
@@ -115,7 +140,8 @@ export default {
data() {
return {
activeTab: 0,
- isActive: false
+ isActive: false,
+ isEthLink: window.location.host === 'tornadocash.eth.link'
}
},
computed: {
@@ -158,19 +184,8 @@ export default {
}
}
} else {
- const userSelection = this.selectedInstance
- const stateSelection = this.selectedStatistic
-
- if (
- !stateSelection ||
- userSelection.amount !== stateSelection.amount ||
- userSelection.currency !== stateSelection.currency
- ) {
- this.$store.dispatch('application/setAndUpdateStatistic', {
- currency: userSelection.currency,
- amount: userSelection.amount
- })
- }
+ const { currency, amount } = this.selectedInstance
+ this.$store.dispatch('application/setAndUpdateStatistic', { currency, amount })
}
}
}
diff --git a/plugins/detectIPFS.js b/plugins/detectIPFS.js
index ae1c466..d8a9b0e 100644
--- a/plugins/detectIPFS.js
+++ b/plugins/detectIPFS.js
@@ -3,28 +3,13 @@ export default ({ store, isHMR, app }, inject) => {
inject('isLoadedFromIPFS', main)
}
function main() {
- const whiteListedDomains = [
- 'tornadocash.3th.li',
- 'tornadocash.3th.ws',
- 'tornadocash.eth.link',
- 'tornadocash.eth.limo',
- 'tornadocashcommunity.3th.li',
- 'tornadocashcommunity.3th.ws',
- 'tornadocashcommunity.eth.link',
- 'tornadocashcommunity.eth.limo'
- ]
+ const whiteListedDomains = ['localhost:3000', 'tornadocash.eth.link', 'tornadocash.eth.limo']
- const IPFS_GATEWAY_REGEXP = /.ipfs./
- const IPFS_LOCAL_REGEXP = /.ipfs.localhost:/
- const IPFS_SOP_GATEWAY_REGEXP = /\/ipfs\//
+ const NETLIFY_REGEXP = /deploy-preview-(\d+)--tornadocash\.netlify\.app/
- if (IPFS_LOCAL_REGEXP.test(window.location.host)) {
+ if (NETLIFY_REGEXP.test(window.location.host)) {
return false
- } else if (
- IPFS_GATEWAY_REGEXP.test(window.location.host) ||
- IPFS_SOP_GATEWAY_REGEXP.test(window.location.host) ||
- whiteListedDomains.includes(window.location.host)
- ) {
+ } else if (!whiteListedDomains.includes(window.location.host)) {
console.warn('The page has been loaded from ipfs.io. LocalStorage is disabled')
return true
}
diff --git a/plugins/idb.js b/plugins/idb.js
index 38e6292..15a857f 100644
--- a/plugins/idb.js
+++ b/plugins/idb.js
@@ -277,7 +277,7 @@ export default async (ctx, inject) => {
},
{
name: `withdrawals_${token}_${amount}`,
- keyPath: 'blockNumber',
+ keyPath: 'transactionHash',
indexes: WITHDRAWAL_INDEXES
},
{
diff --git a/scripts/helpers/download.js b/scripts/helpers/download.js
index 9639de7..e19b6db 100644
--- a/scripts/helpers/download.js
+++ b/scripts/helpers/download.js
@@ -1,14 +1,24 @@
import fs from 'fs'
-import zlib from 'zlib'
+import Jszip from 'jszip'
import Web3 from 'web3'
-
import networkConfig from '../../networkConfig'
+const jszip = new Jszip()
+
export async function download({ name, directory, contentType }) {
- const path = `${directory}${name}.gz`.toLowerCase()
+ const path = `${directory}${name}.zip`.toLowerCase()
const data = fs.readFileSync(path)
- const content = zlib.inflateSync(data)
+ const zip = await jszip.loadAsync(data)
+
+ const file = zip.file(
+ path
+ .replace(directory, '')
+ .slice(0, -4)
+ .toLowerCase()
+ )
+
+ const content = await file.async(contentType)
return content
}
diff --git a/scripts/helpers/save.js b/scripts/helpers/save.js
index 3124a38..f294ed5 100644
--- a/scripts/helpers/save.js
+++ b/scripts/helpers/save.js
@@ -1,19 +1,33 @@
import fs from 'fs'
-import zlib from 'zlib'
+import Jszip from 'jszip'
+
+const compressionConfig = {
+ type: "nodebuffer",
+ compression: "DEFLATE",
+ compressionOptions: {
+ level: 9
+ }
+}
+
+const fileConfig = {
+ binary: true,
+ compression: "DEFLATE"
+}
export async function save(filePath) {
+ const jszip = new Jszip()
const directories = filePath.split('/')
const fileName = directories[directories.length - 1]
try {
const data = fs.readFileSync(`${filePath}`)
- const payload = await zlib.deflateSync(data, {
- level: zlib.constants.Z_BEST_COMPRESSION,
- strategy: zlib.constants.Z_FILTERED
+ await jszip.file(`${fileName}`, data, fileConfig)
+ await jszip.generateNodeStream({
+ ...compressionConfig,
+ streamFiles: true
})
-
- fs.writeFileSync(`${filePath}.gz`, payload)
+ .pipe(fs.createWriteStream(`${filePath}.zip`))
return true
} catch (err) {
diff --git a/scripts/updateEvents.js b/scripts/updateEvents.js
index 13cb3be..9eca0cd 100644
--- a/scripts/updateEvents.js
+++ b/scripts/updateEvents.js
@@ -9,7 +9,7 @@ import { loadCachedEvents, getPastEvents } from './helpers'
const EVENTS_PATH = './static/events/'
const EVENTS = ['Deposit', 'Withdrawal']
-const enabledChains = ['1', '56', '100', '137' ]
+const enabledChains = ['1', '56', '5', '100', '137' ]
async function main(type, netId) {
const { tokens, nativeCurrency, deployedBlock } = networkConfig[`netId${netId}`]
diff --git a/scripts/updateTree.js b/scripts/updateTree.js
index 1100422..c61bcc2 100644
--- a/scripts/updateTree.js
+++ b/scripts/updateTree.js
@@ -45,7 +45,7 @@ function createTreeZip(netId) {
treesFolder.forEach((fileName) => {
fileName = `${TREES_PATH}${fileName}`
- const isInstanceFile = !fileName.includes('.gz') && fileName.includes(baseFilename)
+ const isInstanceFile = !fileName.includes('.zip') && fileName.includes(baseFilename)
if (isInstanceFile) {
save(fileName)
diff --git a/services/events.js b/services/events.js
index 7d951f2..4c8ee12 100644
--- a/services/events.js
+++ b/services/events.js
@@ -4,8 +4,8 @@ import graph from '@/services/graph'
import { download } from '@/store/snark'
import networkConfig from '@/networkConfig'
import InstanceABI from '@/abis/Instance.abi.json'
-import { CONTRACT_INSTANCES, eventsType, httpConfig } from '@/constants'
-import { sleep, flattenNArray, formatEvents, capitalizeFirstLetter } from '@/utils'
+import { CONTRACT_INSTANCES, eventsType } from '@/constants'
+import { sleep, formatEvents, capitalizeFirstLetter } from '@/utils'
const supportedCaches = ['1', '56', '100', '137']
@@ -38,15 +38,6 @@ class EventService {
return `${type}s_${this.currency}_${this.amount}`
}
- updateEventProgress(percentage, type) {
- if (store) {
- store.dispatch('loading/updateProgress', {
- message: `Fetching past ${type} events`,
- progress: Math.ceil(percentage * 100)
- })
- }
- }
-
async getEvents(type) {
let cachedEvents = await this.getEventsFromDB(type)
@@ -56,7 +47,6 @@ class EventService {
return cachedEvents
}
-
async updateEvents(type, cachedEvents) {
const { deployedBlock } = networkConfig[`netId${this.netId}`]
@@ -133,7 +123,7 @@ class EventService {
const module = await download({
contentType: 'string',
- name: `events/${instanceName}.json.gz`
+ name: `events/${instanceName}.json.zip`
})
if (module) {
@@ -163,6 +153,14 @@ class EventService {
return undefined
}
+ // IndexedDB scrambles assortment
+ savedEvents.sort((a, b) => {
+ if (a.leafIndex && b.leafIndex) {
+ return a.leafIndex - b.leafIndex
+ }
+ return a.blockNumber - b.blockNumber
+ })
+
return {
events: savedEvents,
lastBlock: savedEvents[savedEvents.length - 1].blockNumber
@@ -247,22 +245,7 @@ class EventService {
}
}
- getPastEvents({ fromBlock, toBlock, type }) {
- return new Promise((resolve, reject) => {
- const repsonse = this.contract.getPastEvents(capitalizeFirstLetter(type), {
- fromBlock,
- toBlock
- })
-
- if (repsonse) {
- resolve(repsonse)
- } else {
- reject(new Error())
- }
- })
- }
-
- async getEventsPartFromRpc({ fromBlock, toBlock, type }, shouldRetry = false, i = 0) {
+ async getEventsPartFromRpc({ fromBlock, toBlock, type }) {
try {
const { currentBlockNumber } = await this.getBlocksDiff({ fromBlock })
@@ -273,27 +256,10 @@ class EventService {
}
}
- let events = []
-
- try {
- events = await this.getPastEvents({ fromBlock, toBlock, type })
- } catch (e) {
- if (shouldRetry) {
- i = i + 1
- // maximum 10 second buffer for rate-limiting
- await sleep(2000 * i)
-
- events = await this.getEventsPartFromRpc(
- {
- fromBlock,
- toBlock,
- type
- },
- i !== 5,
- i
- )
- }
- }
+ const events = await this.contract.getPastEvents(capitalizeFirstLetter(type), {
+ fromBlock,
+ toBlock
+ })
if (!events?.length) {
return {
@@ -310,60 +276,55 @@ class EventService {
}
}
- createBatchRequest({ batchIndex, batchSize, batchBlocks, blockDenom, type }) {
- return new Array(batchSize).fill('').map(
- (_, i) =>
- new Promise(async (resolve) => {
- const toBlock = batchBlocks[batchIndex * batchSize + i]
- const fromBlock = toBlock - blockDenom
-
- const batchEvents = await this.getEventsPartFromRpc(
- {
- fromBlock,
- toBlock,
- type
- },
- true
- )
-
- resolve(batchEvents.events)
- })
- )
- }
-
async getBatchEventsFromRpc({ fromBlock, type }) {
try {
- const batchSize = 10
const blockRange = 10000
const { blockDifference, currentBlockNumber } = await this.getBlocksDiff({ fromBlock })
- const batchDigest = blockDifference === 0 ? 1 : Math.ceil(blockDifference / blockRange)
- const blockDenom = Math.ceil(blockDifference / batchDigest)
- const batchCount = Math.ceil(batchDigest / batchSize)
-
- const blocks = new Array(batchCount * batchSize).fill('')
- const batchBlocks = blocks.map((_, i) => (i + 1) * blockDenom + fromBlock)
+ let numberParts = blockDifference === 0 ? 1 : Math.ceil(blockDifference / blockRange)
+ const part = Math.ceil(blockDifference / numberParts)
let events = []
+ let loadedBlocks = 0
+ let toBlock = fromBlock + part
if (fromBlock < currentBlockNumber) {
- this.updateEventProgress(0, type)
-
- for (let batchIndex = 0; batchIndex < batchCount; batchIndex++) {
- const batch = await Promise.all(
- this.createBatchRequest({ batchIndex, batchBlocks, blockDenom, batchSize, type })
- )
-
- this.updateEventProgress(batchIndex / batchCount, type)
- events = events.concat(batch)
- await sleep(200)
+ if (toBlock >= currentBlockNumber) {
+ toBlock = 'latest'
+ numberParts = 1
+ }
+ if (store.state.loading.progress !== 98) {
+ store.dispatch('loading/updateProgress', { message: 'Fetching the past events', progress: 0 })
}
- events = flattenNArray(events)
+ for (let i = 0; i < numberParts; i++) {
+ try {
+ await sleep(200)
+ const partOfEvents = await this.getEventsPartFromRpc({ fromBlock, toBlock, type })
+ if (partOfEvents) {
+ events = events.concat(partOfEvents.events)
+ }
+ loadedBlocks += toBlock - fromBlock
+ fromBlock = toBlock
+ toBlock += part
- return {
- lastBlock: events[events.length - 1].blockNumber,
- events
+ const progressInt = parseInt((loadedBlocks / blockDifference) * 100)
+ console.log('Progress: ', progressInt)
+ if (store.state.loading.progress !== 98) {
+ store.dispatch('loading/updateProgress', {
+ message: 'Fetching the past events',
+ progress: progressInt === 100 ? 98 : progressInt
+ })
+ }
+ } catch {
+ numberParts = numberParts + 1
+ }
+ }
+ if (events.length) {
+ return {
+ events,
+ lastBlock: toBlock === 'latest' ? currentBlockNumber : toBlock
+ }
}
}
return undefined
@@ -375,11 +336,9 @@ class EventService {
async getEventsFromRpc({ fromBlock, type }) {
try {
const { blockDifference } = await this.getBlocksDiff({ fromBlock })
- const blockRange = 10000
-
let events
- if (blockDifference < blockRange) {
+ if (blockDifference < 10000) {
const rpcEvents = await this.getEventsPartFromRpc({ fromBlock, toBlock: 'latest', type })
events = rpcEvents?.events || []
} else {
@@ -442,9 +401,7 @@ class EventsFactory {
instances = new Map()
constructor(rpcUrl) {
- const httpProvider = new Web3.providers.HttpProvider(rpcUrl, httpConfig)
-
- this.provider = new Web3(httpProvider).eth
+ this.provider = new Web3(rpcUrl).eth
}
getBlockNumber = () => {
@@ -474,4 +431,4 @@ class EventsFactory {
}
}
-export { EventsFactory }
+export { EventsFactory }
\ No newline at end of file
diff --git a/services/graph.js b/services/graph.js
index 5366358..fb306df 100644
--- a/services/graph.js
+++ b/services/graph.js
@@ -39,7 +39,6 @@ const defaultOptions = {
const client = new ApolloClient({
uri: link,
- credentials: 'omit',
cache: new InMemoryCache(),
defaultOptions
})
@@ -47,7 +46,6 @@ const client = new ApolloClient({
const registryClient = new ApolloClient({
uri: 'https://api.thegraph.com/subgraphs/name/tornadocash/tornado-relayer-registry',
cache: new InMemoryCache(),
- credentials: 'omit',
defaultOptions
})
diff --git a/services/merkleTree.js b/services/merkleTree.js
index dfe33dc..46fad51 100644
--- a/services/merkleTree.js
+++ b/services/merkleTree.js
@@ -5,8 +5,6 @@ import { download } from '@/store/snark'
import networkConfig from '@/networkConfig'
import { mimc, bloomService } from '@/services'
-const supportedCaches = ['1', '56', '100', '137']
-
class MerkleTreeService {
constructor({ netId, amount, currency, commitment, instanceName }) {
this.netId = netId
@@ -22,12 +20,12 @@ class MerkleTreeService {
commitment,
instanceName,
fileFolder: 'trees',
- fileName: `deposits_${currency}_${amount}_bloom.json.gz`
+ fileName: `deposits_${currency}_${amount}_bloom.json.zip`
})
}
getFileName(partNumber = trees.PARTS_COUNT) {
- return `trees/deposits_${this.currency}_${this.amount}_slice${partNumber}.json.gz`
+ return `trees/deposits_${this.currency}_${this.amount}_slice${partNumber}.json.zip`
}
createTree({ events }) {
@@ -155,7 +153,8 @@ class MerkleTreeService {
}
async getTree() {
- const hasCache = supportedCaches.includes(this.netId.toString())
+ const { nativeCurrency } = networkConfig[`netId${this.netId}`]
+ const hasCache = nativeCurrency === this.currency && Number(this.netId) === 1
let cachedTree = await this.getTreeFromDB()
diff --git a/services/registry/index.js b/services/registry/index.js
index c20a744..cacaba4 100644
--- a/services/registry/index.js
+++ b/services/registry/index.js
@@ -1,11 +1,10 @@
-import Web3 from 'web3'
import namehash from 'eth-ens-namehash'
import { BigNumber as BN } from 'bignumber.js'
-import { toChecksumAddress, isAddress } from 'web3-utils'
+import { toChecksumAddress } from 'web3-utils'
+import { graph } from '@/services'
import networkConfig from '@/networkConfig'
import { REGISTRY_DEPLOYED_BLOCK } from '@/constants'
-import { sleep, flattenNArray } from '@/utils'
import AggregatorABI from '@/abis/Aggregator.abi.json'
import RelayerRegistryABI from '@/abis/RelayerRegistry.abi.json'
@@ -25,59 +24,28 @@ class RelayerRegister {
this.relayerRegistry = new this.provider.Contract(RelayerRegistryABI, registryContract)
}
- fetchEvents = ({ fromBlock, toBlock }, shouldRetry = false) => {
- return new Promise((resolve, reject) => {
- if (fromBlock <= toBlock) {
- try {
- const registeredEventsPart = this.relayerRegistry.getPastEvents('RelayerRegistered', {
- fromBlock,
- toBlock
- })
-
- resolve(registeredEventsPart)
- } catch (error) {
- if (shouldRetry) {
- sleep(1000)
-
- const events = this.fetchEvents({ fromBlock, toBlock })
-
- resolve(events)
- } else {
- reject(new Error(error))
- }
- }
- } else {
- resolve([])
- }
- })
- }
-
- batchFetchEvents = async ({ fromBlock, toBlock }) => {
- const blockRange = 10000
- const blockDifference = toBlock - fromBlock
- const chunkCount = Math.ceil(blockDifference / blockRange)
- const blockDenom = Math.ceil(blockDifference / chunkCount)
-
- const promises = new Array(chunkCount).fill('').map(
- (_, i) =>
- new Promise((resolve) => {
- sleep(300)
-
- const batch = this.fetchEvents(
- {
- fromBlock: i * blockDenom + fromBlock,
- toBlock: (i + 1) * blockDenom + fromBlock
- },
- true
- )
- resolve(batch)
+ fetchEvents = async (fromBlock, toBlock) => {
+ if (fromBlock <= toBlock) {
+ try {
+ const registeredEventsPart = await this.relayerRegistry.getPastEvents('RelayerRegistered', {
+ fromBlock,
+ toBlock
})
- )
- const batchEvents = flattenNArray(await Promise.all(promises))
- const events = batchEvents.map((e) => ({ ...e.returnValues }))
+ return registeredEventsPart
+ } catch (error) {
+ const midBlock = (fromBlock + toBlock) >> 1
- return events
+ if (midBlock - fromBlock < 2) {
+ throw new Error(`error fetching events: ${error.message}`)
+ }
+
+ const arr1 = await this.fetchEvents(fromBlock, midBlock)
+ const arr2 = await this.fetchEvents(midBlock + 1, toBlock)
+ return [...arr1, ...arr2]
+ }
+ }
+ return []
}
saveEvents = async ({ events, lastSyncBlock, storeName }) => {
@@ -128,69 +96,51 @@ class RelayerRegister {
}
}
- getENSAddress = async (ensName) => {
- const { url } = Object.values(networkConfig.netId1.rpcUrls)[0]
- const provider = new Web3(url)
-
- const ensAddress = await provider.eth.ens.getAddress(ensName)
-
- return ensAddress
- }
-
fetchRelayers = async () => {
- const blockRange = 10000
// eslint-disable-next-line prefer-const
- let { blockTo, cachedEvents } = await this.getCachedData()
+ let { blockFrom, blockTo, cachedEvents } = await this.getCachedData()
let allRelayers = cachedEvents
- const currentBlockNumber = await this.provider.getBlockNumber()
- const fromBlock = cachedEvents.length === 0 ? REGISTRY_DEPLOYED_BLOCK[1] : blockTo
- const blockDifference = currentBlockNumber - fromBlock
+ if (blockFrom !== blockTo) {
+ const registeredRelayersEvents = await graph.getAllRegisters(blockFrom)
- try {
- let toBlock
- let registerRelayerEvents
- let lastSyncBlock = blockTo
-
- if (cachedEvents.length > 0 || blockDifference === 0) {
- return cachedEvents
- } else if (blockDifference >= blockRange) {
- toBlock = currentBlockNumber
- registerRelayerEvents = await this.batchFetchEvents({ fromBlock, toBlock })
- lastSyncBlock = toBlock
- } else {
- toBlock = fromBlock + blockRange
- registerRelayerEvents = await this.fetchEvents({ fromBlock, toBlock }, true)
- lastSyncBlock = toBlock
+ let relayers = {
+ lastSyncBlock: registeredRelayersEvents.lastSyncBlock,
+ events: registeredRelayersEvents.events.map((el) => ({
+ ensName: el.ensName,
+ relayerAddress: toChecksumAddress(el.address)
+ }))
}
- const relayerEvents = cachedEvents.concat(registerRelayerEvents || [])
- const events = []
+ const isGraphLate = relayers.lastSyncBlock && blockTo > Number(relayers.lastSyncBlock)
- for (let x = 0; x < relayerEvents.length; x++) {
- const { ensName, relayerAddress } = relayerEvents[x]
- let ensAddress
- if (!isAddress(relayerAddress)) {
- ensAddress = await this.getENSAddress(ensName)
- ensAddress = toChecksumAddress(ensAddress)
- } else {
- ensAddress = relayerAddress
+ if (isGraphLate) {
+ blockFrom = relayers.lastSyncBlock
+ }
+
+ if (!relayers.events.length || isGraphLate) {
+ const multicallEvents = await this.fetchEvents(blockFrom, blockTo)
+ const eventsRelayers = multicallEvents.map(({ returnValues }) => ({
+ ensName: returnValues.ensName,
+ relayerAddress: returnValues.relayerAddress
+ }))
+
+ relayers = {
+ lastSyncBlock: blockTo,
+ events: relayers.events.concat(eventsRelayers)
}
-
- events.push({ ensName, relayerAddress: ensAddress })
}
- await this.saveEvents({ storeName: 'register_events', lastSyncBlock, events })
-
- allRelayers = allRelayers.concat(events)
- } catch (err) {
- console.log(err)
+ await this.saveEvents({ storeName: 'register_events', ...relayers })
+ allRelayers = allRelayers.concat(relayers.events)
}
+
return allRelayers
}
filterRelayer = (acc, curr, ensSubdomainKey, relayer) => {
const subdomainIndex = subdomains.indexOf(ensSubdomainKey)
+
const mainnetSubdomain = curr.records[0]
const hostname = curr.records[subdomainIndex]
const isHostWithProtocol = hostname.includes('http')
@@ -241,6 +191,7 @@ class RelayerRegister {
getRelayers = async (ensSubdomainKey) => {
const relayers = await this.fetchRelayers()
+
const validRelayers = await this.getValidRelayers(relayers, ensSubdomainKey)
return validRelayers
diff --git a/static/events/deposits_bnb_0.1.json.gz b/static/events/deposits_bnb_0.1.json.gz
deleted file mode 100644
index 807e588..0000000
Binary files a/static/events/deposits_bnb_0.1.json.gz and /dev/null differ
diff --git a/static/events/deposits_bnb_0.1.json.zip b/static/events/deposits_bnb_0.1.json.zip
new file mode 100644
index 0000000..5d73975
Binary files /dev/null and b/static/events/deposits_bnb_0.1.json.zip differ
diff --git a/static/events/deposits_bnb_1.json.gz b/static/events/deposits_bnb_1.json.gz
deleted file mode 100644
index bcded6c..0000000
Binary files a/static/events/deposits_bnb_1.json.gz and /dev/null differ
diff --git a/static/events/deposits_bnb_1.json.zip b/static/events/deposits_bnb_1.json.zip
new file mode 100644
index 0000000..1d97102
Binary files /dev/null and b/static/events/deposits_bnb_1.json.zip differ
diff --git a/static/events/deposits_bnb_10.json.gz b/static/events/deposits_bnb_10.json.gz
deleted file mode 100644
index cff7d36..0000000
Binary files a/static/events/deposits_bnb_10.json.gz and /dev/null differ
diff --git a/static/events/deposits_bnb_10.json.zip b/static/events/deposits_bnb_10.json.zip
new file mode 100644
index 0000000..47b34e2
Binary files /dev/null and b/static/events/deposits_bnb_10.json.zip differ
diff --git a/static/events/deposits_bnb_100.json.gz b/static/events/deposits_bnb_100.json.gz
deleted file mode 100644
index 58374be..0000000
Binary files a/static/events/deposits_bnb_100.json.gz and /dev/null differ
diff --git a/static/events/deposits_bnb_100.json.zip b/static/events/deposits_bnb_100.json.zip
new file mode 100644
index 0000000..82b15ca
Binary files /dev/null and b/static/events/deposits_bnb_100.json.zip differ
diff --git a/static/events/deposits_eth_0.1.json.gz b/static/events/deposits_eth_0.1.json.gz
deleted file mode 100644
index 35dcbc0..0000000
Binary files a/static/events/deposits_eth_0.1.json.gz and /dev/null differ
diff --git a/static/events/deposits_eth_0.1.json.zip b/static/events/deposits_eth_0.1.json.zip
new file mode 100644
index 0000000..1202255
Binary files /dev/null and b/static/events/deposits_eth_0.1.json.zip differ
diff --git a/static/events/deposits_eth_1.json.gz b/static/events/deposits_eth_1.json.gz
deleted file mode 100644
index 8e0c2b8..0000000
Binary files a/static/events/deposits_eth_1.json.gz and /dev/null differ
diff --git a/static/events/deposits_eth_1.json.zip b/static/events/deposits_eth_1.json.zip
new file mode 100644
index 0000000..d1b00f9
Binary files /dev/null and b/static/events/deposits_eth_1.json.zip differ
diff --git a/static/events/deposits_eth_10.json.gz b/static/events/deposits_eth_10.json.gz
deleted file mode 100644
index e7b6f74..0000000
Binary files a/static/events/deposits_eth_10.json.gz and /dev/null differ
diff --git a/static/events/deposits_eth_10.json.zip b/static/events/deposits_eth_10.json.zip
new file mode 100644
index 0000000..0020d82
Binary files /dev/null and b/static/events/deposits_eth_10.json.zip differ
diff --git a/static/events/deposits_eth_100.json.gz b/static/events/deposits_eth_100.json.gz
deleted file mode 100644
index 7bc05d9..0000000
Binary files a/static/events/deposits_eth_100.json.gz and /dev/null differ
diff --git a/static/events/deposits_eth_100.json.zip b/static/events/deposits_eth_100.json.zip
new file mode 100644
index 0000000..345c274
Binary files /dev/null and b/static/events/deposits_eth_100.json.zip differ
diff --git a/static/events/deposits_matic_100.json.gz b/static/events/deposits_matic_100.json.gz
deleted file mode 100644
index e79e916..0000000
Binary files a/static/events/deposits_matic_100.json.gz and /dev/null differ
diff --git a/static/events/deposits_matic_100.json.zip b/static/events/deposits_matic_100.json.zip
new file mode 100644
index 0000000..444639a
Binary files /dev/null and b/static/events/deposits_matic_100.json.zip differ
diff --git a/static/events/deposits_matic_1000.json.gz b/static/events/deposits_matic_1000.json.gz
deleted file mode 100644
index 00bb189..0000000
Binary files a/static/events/deposits_matic_1000.json.gz and /dev/null differ
diff --git a/static/events/deposits_matic_1000.json.zip b/static/events/deposits_matic_1000.json.zip
new file mode 100644
index 0000000..04795c3
Binary files /dev/null and b/static/events/deposits_matic_1000.json.zip differ
diff --git a/static/events/deposits_matic_10000.json.gz b/static/events/deposits_matic_10000.json.gz
deleted file mode 100644
index d1ccf68..0000000
Binary files a/static/events/deposits_matic_10000.json.gz and /dev/null differ
diff --git a/static/events/deposits_matic_10000.json.zip b/static/events/deposits_matic_10000.json.zip
new file mode 100644
index 0000000..1eb81e6
Binary files /dev/null and b/static/events/deposits_matic_10000.json.zip differ
diff --git a/static/events/deposits_matic_100000.json.gz b/static/events/deposits_matic_100000.json.gz
deleted file mode 100644
index 724853d..0000000
Binary files a/static/events/deposits_matic_100000.json.gz and /dev/null differ
diff --git a/static/events/deposits_matic_100000.json.zip b/static/events/deposits_matic_100000.json.zip
new file mode 100644
index 0000000..42e5ee1
Binary files /dev/null and b/static/events/deposits_matic_100000.json.zip differ
diff --git a/static/events/deposits_xdai_100.json.gz b/static/events/deposits_xdai_100.json.gz
deleted file mode 100644
index a37ca13..0000000
Binary files a/static/events/deposits_xdai_100.json.gz and /dev/null differ
diff --git a/static/events/deposits_xdai_100.json.zip b/static/events/deposits_xdai_100.json.zip
new file mode 100644
index 0000000..d3abb3e
Binary files /dev/null and b/static/events/deposits_xdai_100.json.zip differ
diff --git a/static/events/deposits_xdai_1000.json.gz b/static/events/deposits_xdai_1000.json.gz
deleted file mode 100644
index ba54b8a..0000000
Binary files a/static/events/deposits_xdai_1000.json.gz and /dev/null differ
diff --git a/static/events/deposits_xdai_1000.json.zip b/static/events/deposits_xdai_1000.json.zip
new file mode 100644
index 0000000..945d09a
Binary files /dev/null and b/static/events/deposits_xdai_1000.json.zip differ
diff --git a/static/events/deposits_xdai_10000.json.gz b/static/events/deposits_xdai_10000.json.gz
deleted file mode 100644
index 27a8ed1..0000000
Binary files a/static/events/deposits_xdai_10000.json.gz and /dev/null differ
diff --git a/static/events/deposits_xdai_10000.json.zip b/static/events/deposits_xdai_10000.json.zip
new file mode 100644
index 0000000..b6b561f
Binary files /dev/null and b/static/events/deposits_xdai_10000.json.zip differ
diff --git a/static/events/deposits_xdai_100000.json.gz b/static/events/deposits_xdai_100000.json.gz
deleted file mode 100644
index 9482443..0000000
Binary files a/static/events/deposits_xdai_100000.json.gz and /dev/null differ
diff --git a/static/events/deposits_xdai_100000.json.zip b/static/events/deposits_xdai_100000.json.zip
new file mode 100644
index 0000000..e1d3b20
Binary files /dev/null and b/static/events/deposits_xdai_100000.json.zip differ
diff --git a/static/events/encrypted_notes_1.json.gz b/static/events/encrypted_notes_1.json.gz
deleted file mode 100644
index 2c66562..0000000
Binary files a/static/events/encrypted_notes_1.json.gz and /dev/null differ
diff --git a/static/events/encrypted_notes_1.json.zip b/static/events/encrypted_notes_1.json.zip
new file mode 100644
index 0000000..c15f7b7
Binary files /dev/null and b/static/events/encrypted_notes_1.json.zip differ
diff --git a/static/events/encrypted_notes_100.json.gz b/static/events/encrypted_notes_100.json.gz
deleted file mode 100644
index 280850e..0000000
Binary files a/static/events/encrypted_notes_100.json.gz and /dev/null differ
diff --git a/static/events/encrypted_notes_100.json.zip b/static/events/encrypted_notes_100.json.zip
new file mode 100644
index 0000000..f2959ca
Binary files /dev/null and b/static/events/encrypted_notes_100.json.zip differ
diff --git a/static/events/encrypted_notes_137.json.gz b/static/events/encrypted_notes_137.json.gz
deleted file mode 100644
index d6a7e32..0000000
Binary files a/static/events/encrypted_notes_137.json.gz and /dev/null differ
diff --git a/static/events/encrypted_notes_137.json.zip b/static/events/encrypted_notes_137.json.zip
new file mode 100644
index 0000000..6016a45
Binary files /dev/null and b/static/events/encrypted_notes_137.json.zip differ
diff --git a/static/events/encrypted_notes_5.json.gz b/static/events/encrypted_notes_5.json.gz
deleted file mode 100644
index d6a7e32..0000000
Binary files a/static/events/encrypted_notes_5.json.gz and /dev/null differ
diff --git a/static/events/encrypted_notes_56.json.gz b/static/events/encrypted_notes_56.json.gz
deleted file mode 100644
index 9e6a1a1..0000000
Binary files a/static/events/encrypted_notes_56.json.gz and /dev/null differ
diff --git a/static/events/encrypted_notes_56.json.zip b/static/events/encrypted_notes_56.json.zip
new file mode 100644
index 0000000..b094462
Binary files /dev/null and b/static/events/encrypted_notes_56.json.zip differ
diff --git a/static/events/withdrawals_bnb_0.1.json.gz b/static/events/withdrawals_bnb_0.1.json.gz
deleted file mode 100644
index bceb655..0000000
Binary files a/static/events/withdrawals_bnb_0.1.json.gz and /dev/null differ
diff --git a/static/events/withdrawals_bnb_0.1.json.zip b/static/events/withdrawals_bnb_0.1.json.zip
new file mode 100644
index 0000000..d988742
Binary files /dev/null and b/static/events/withdrawals_bnb_0.1.json.zip differ
diff --git a/static/events/withdrawals_bnb_1.json.gz b/static/events/withdrawals_bnb_1.json.gz
deleted file mode 100644
index 200006c..0000000
Binary files a/static/events/withdrawals_bnb_1.json.gz and /dev/null differ
diff --git a/static/events/withdrawals_bnb_1.json.zip b/static/events/withdrawals_bnb_1.json.zip
new file mode 100644
index 0000000..9ca1e30
Binary files /dev/null and b/static/events/withdrawals_bnb_1.json.zip differ
diff --git a/static/events/withdrawals_bnb_10.json.gz b/static/events/withdrawals_bnb_10.json.gz
deleted file mode 100644
index 32b1031..0000000
Binary files a/static/events/withdrawals_bnb_10.json.gz and /dev/null differ
diff --git a/static/events/withdrawals_bnb_10.json.zip b/static/events/withdrawals_bnb_10.json.zip
new file mode 100644
index 0000000..fa1518a
Binary files /dev/null and b/static/events/withdrawals_bnb_10.json.zip differ
diff --git a/static/events/withdrawals_bnb_100.json.gz b/static/events/withdrawals_bnb_100.json.gz
deleted file mode 100644
index 9c20084..0000000
Binary files a/static/events/withdrawals_bnb_100.json.gz and /dev/null differ
diff --git a/static/events/withdrawals_bnb_100.json.zip b/static/events/withdrawals_bnb_100.json.zip
new file mode 100644
index 0000000..5ea069c
Binary files /dev/null and b/static/events/withdrawals_bnb_100.json.zip differ
diff --git a/static/events/withdrawals_eth_0.1.json.gz b/static/events/withdrawals_eth_0.1.json.gz
deleted file mode 100644
index 37c3c30..0000000
Binary files a/static/events/withdrawals_eth_0.1.json.gz and /dev/null differ
diff --git a/static/events/withdrawals_eth_0.1.json.zip b/static/events/withdrawals_eth_0.1.json.zip
new file mode 100644
index 0000000..8a88774
Binary files /dev/null and b/static/events/withdrawals_eth_0.1.json.zip differ
diff --git a/static/events/withdrawals_eth_1.json.gz b/static/events/withdrawals_eth_1.json.gz
deleted file mode 100644
index 7a27315..0000000
Binary files a/static/events/withdrawals_eth_1.json.gz and /dev/null differ
diff --git a/static/events/withdrawals_eth_1.json.zip b/static/events/withdrawals_eth_1.json.zip
new file mode 100644
index 0000000..34d8498
Binary files /dev/null and b/static/events/withdrawals_eth_1.json.zip differ
diff --git a/static/events/withdrawals_eth_10.json.gz b/static/events/withdrawals_eth_10.json.gz
deleted file mode 100644
index 5abe03f..0000000
Binary files a/static/events/withdrawals_eth_10.json.gz and /dev/null differ
diff --git a/static/events/withdrawals_eth_10.json.zip b/static/events/withdrawals_eth_10.json.zip
new file mode 100644
index 0000000..cf21215
Binary files /dev/null and b/static/events/withdrawals_eth_10.json.zip differ
diff --git a/static/events/withdrawals_eth_100.json.gz b/static/events/withdrawals_eth_100.json.gz
deleted file mode 100644
index 77a0690..0000000
Binary files a/static/events/withdrawals_eth_100.json.gz and /dev/null differ
diff --git a/static/events/withdrawals_eth_100.json.zip b/static/events/withdrawals_eth_100.json.zip
new file mode 100644
index 0000000..f70819f
Binary files /dev/null and b/static/events/withdrawals_eth_100.json.zip differ
diff --git a/static/events/withdrawals_matic_100.json.gz b/static/events/withdrawals_matic_100.json.gz
deleted file mode 100644
index 38a60cb..0000000
Binary files a/static/events/withdrawals_matic_100.json.gz and /dev/null differ
diff --git a/static/events/withdrawals_matic_100.json.zip b/static/events/withdrawals_matic_100.json.zip
new file mode 100644
index 0000000..4cbdc30
Binary files /dev/null and b/static/events/withdrawals_matic_100.json.zip differ
diff --git a/static/events/withdrawals_matic_1000.json.gz b/static/events/withdrawals_matic_1000.json.gz
deleted file mode 100644
index ffef702..0000000
Binary files a/static/events/withdrawals_matic_1000.json.gz and /dev/null differ
diff --git a/static/events/withdrawals_matic_1000.json.zip b/static/events/withdrawals_matic_1000.json.zip
new file mode 100644
index 0000000..361134d
Binary files /dev/null and b/static/events/withdrawals_matic_1000.json.zip differ
diff --git a/static/events/withdrawals_matic_10000.json.gz b/static/events/withdrawals_matic_10000.json.gz
deleted file mode 100644
index 167b8a1..0000000
Binary files a/static/events/withdrawals_matic_10000.json.gz and /dev/null differ
diff --git a/static/events/withdrawals_matic_10000.json.zip b/static/events/withdrawals_matic_10000.json.zip
new file mode 100644
index 0000000..d3f3ba2
Binary files /dev/null and b/static/events/withdrawals_matic_10000.json.zip differ
diff --git a/static/events/withdrawals_matic_100000.json.gz b/static/events/withdrawals_matic_100000.json.gz
deleted file mode 100644
index 3d2b9c8..0000000
Binary files a/static/events/withdrawals_matic_100000.json.gz and /dev/null differ
diff --git a/static/events/withdrawals_matic_100000.json.zip b/static/events/withdrawals_matic_100000.json.zip
new file mode 100644
index 0000000..c86c59f
Binary files /dev/null and b/static/events/withdrawals_matic_100000.json.zip differ
diff --git a/static/events/withdrawals_xdai_100.json.gz b/static/events/withdrawals_xdai_100.json.gz
deleted file mode 100644
index 37a714f..0000000
Binary files a/static/events/withdrawals_xdai_100.json.gz and /dev/null differ
diff --git a/static/events/withdrawals_xdai_100.json.zip b/static/events/withdrawals_xdai_100.json.zip
new file mode 100644
index 0000000..ada4b3f
Binary files /dev/null and b/static/events/withdrawals_xdai_100.json.zip differ
diff --git a/static/events/withdrawals_xdai_1000.json.gz b/static/events/withdrawals_xdai_1000.json.gz
deleted file mode 100644
index 972f619..0000000
Binary files a/static/events/withdrawals_xdai_1000.json.gz and /dev/null differ
diff --git a/static/events/withdrawals_xdai_1000.json.zip b/static/events/withdrawals_xdai_1000.json.zip
new file mode 100644
index 0000000..e6220e8
Binary files /dev/null and b/static/events/withdrawals_xdai_1000.json.zip differ
diff --git a/static/events/withdrawals_xdai_10000.json.gz b/static/events/withdrawals_xdai_10000.json.gz
deleted file mode 100644
index 0c6894b..0000000
Binary files a/static/events/withdrawals_xdai_10000.json.gz and /dev/null differ
diff --git a/static/events/withdrawals_xdai_10000.json.zip b/static/events/withdrawals_xdai_10000.json.zip
new file mode 100644
index 0000000..d566416
Binary files /dev/null and b/static/events/withdrawals_xdai_10000.json.zip differ
diff --git a/static/events/withdrawals_xdai_100000.json.gz b/static/events/withdrawals_xdai_100000.json.gz
deleted file mode 100644
index a4fa3a6..0000000
Binary files a/static/events/withdrawals_xdai_100000.json.gz and /dev/null differ
diff --git a/static/events/withdrawals_xdai_100000.json.zip b/static/events/withdrawals_xdai_100000.json.zip
new file mode 100644
index 0000000..ac0b34d
Binary files /dev/null and b/static/events/withdrawals_xdai_100000.json.zip differ
diff --git a/static/tornado.json.gz b/static/tornado.json.gz
deleted file mode 100644
index cf50b6e..0000000
Binary files a/static/tornado.json.gz and /dev/null differ
diff --git a/static/tornado.json.zip b/static/tornado.json.zip
new file mode 100644
index 0000000..a6265fb
Binary files /dev/null and b/static/tornado.json.zip differ
diff --git a/static/tornadoProvingKey.bin.gz b/static/tornadoProvingKey.bin.zip
similarity index 73%
rename from static/tornadoProvingKey.bin.gz
rename to static/tornadoProvingKey.bin.zip
index 6716b2a..2865811 100644
Binary files a/static/tornadoProvingKey.bin.gz and b/static/tornadoProvingKey.bin.zip differ
diff --git a/static/trees/deposits_bnb_0.1_bloom.json.gz b/static/trees/deposits_bnb_0.1_bloom.json.gz
deleted file mode 100644
index 92c69f5..0000000
Binary files a/static/trees/deposits_bnb_0.1_bloom.json.gz and /dev/null differ
diff --git a/static/trees/deposits_bnb_0.1_bloom.json.zip b/static/trees/deposits_bnb_0.1_bloom.json.zip
new file mode 100644
index 0000000..34bded7
Binary files /dev/null and b/static/trees/deposits_bnb_0.1_bloom.json.zip differ
diff --git a/static/trees/deposits_bnb_0.1_slice1.json.gz b/static/trees/deposits_bnb_0.1_slice1.json.gz
deleted file mode 100644
index 421b3b7..0000000
Binary files a/static/trees/deposits_bnb_0.1_slice1.json.gz and /dev/null differ
diff --git a/static/trees/deposits_bnb_0.1_slice1.json.zip b/static/trees/deposits_bnb_0.1_slice1.json.zip
new file mode 100644
index 0000000..32f4860
Binary files /dev/null and b/static/trees/deposits_bnb_0.1_slice1.json.zip differ
diff --git a/static/trees/deposits_bnb_0.1_slice2.json.gz b/static/trees/deposits_bnb_0.1_slice2.json.gz
deleted file mode 100644
index ec28e0e..0000000
Binary files a/static/trees/deposits_bnb_0.1_slice2.json.gz and /dev/null differ
diff --git a/static/trees/deposits_bnb_0.1_slice2.json.zip b/static/trees/deposits_bnb_0.1_slice2.json.zip
new file mode 100644
index 0000000..c36859a
Binary files /dev/null and b/static/trees/deposits_bnb_0.1_slice2.json.zip differ
diff --git a/static/trees/deposits_bnb_0.1_slice3.json.gz b/static/trees/deposits_bnb_0.1_slice3.json.gz
deleted file mode 100644
index d3a9f6d..0000000
Binary files a/static/trees/deposits_bnb_0.1_slice3.json.gz and /dev/null differ
diff --git a/static/trees/deposits_bnb_0.1_slice3.json.zip b/static/trees/deposits_bnb_0.1_slice3.json.zip
new file mode 100644
index 0000000..9e7dd52
Binary files /dev/null and b/static/trees/deposits_bnb_0.1_slice3.json.zip differ
diff --git a/static/trees/deposits_bnb_0.1_slice4.json.gz b/static/trees/deposits_bnb_0.1_slice4.json.gz
deleted file mode 100644
index 28a8d08..0000000
Binary files a/static/trees/deposits_bnb_0.1_slice4.json.gz and /dev/null differ
diff --git a/static/trees/deposits_bnb_0.1_slice4.json.zip b/static/trees/deposits_bnb_0.1_slice4.json.zip
new file mode 100644
index 0000000..6193e14
Binary files /dev/null and b/static/trees/deposits_bnb_0.1_slice4.json.zip differ
diff --git a/static/trees/deposits_bnb_100_bloom.json.gz b/static/trees/deposits_bnb_100_bloom.json.gz
deleted file mode 100644
index d3405b0..0000000
Binary files a/static/trees/deposits_bnb_100_bloom.json.gz and /dev/null differ
diff --git a/static/trees/deposits_bnb_100_bloom.json.zip b/static/trees/deposits_bnb_100_bloom.json.zip
new file mode 100644
index 0000000..36f19e8
Binary files /dev/null and b/static/trees/deposits_bnb_100_bloom.json.zip differ
diff --git a/static/trees/deposits_bnb_100_slice1.json.gz b/static/trees/deposits_bnb_100_slice1.json.gz
deleted file mode 100644
index 24bf1b7..0000000
Binary files a/static/trees/deposits_bnb_100_slice1.json.gz and /dev/null differ
diff --git a/static/trees/deposits_bnb_100_slice1.json.zip b/static/trees/deposits_bnb_100_slice1.json.zip
new file mode 100644
index 0000000..408882e
Binary files /dev/null and b/static/trees/deposits_bnb_100_slice1.json.zip differ
diff --git a/static/trees/deposits_bnb_100_slice2.json.gz b/static/trees/deposits_bnb_100_slice2.json.gz
deleted file mode 100644
index 75b01cf..0000000
Binary files a/static/trees/deposits_bnb_100_slice2.json.gz and /dev/null differ
diff --git a/static/trees/deposits_bnb_100_slice2.json.zip b/static/trees/deposits_bnb_100_slice2.json.zip
new file mode 100644
index 0000000..77b1efb
Binary files /dev/null and b/static/trees/deposits_bnb_100_slice2.json.zip differ
diff --git a/static/trees/deposits_bnb_100_slice3.json.gz b/static/trees/deposits_bnb_100_slice3.json.gz
deleted file mode 100644
index 6e4d0f9..0000000
Binary files a/static/trees/deposits_bnb_100_slice3.json.gz and /dev/null differ
diff --git a/static/trees/deposits_bnb_100_slice3.json.zip b/static/trees/deposits_bnb_100_slice3.json.zip
new file mode 100644
index 0000000..b446ae6
Binary files /dev/null and b/static/trees/deposits_bnb_100_slice3.json.zip differ
diff --git a/static/trees/deposits_bnb_100_slice4.json.gz b/static/trees/deposits_bnb_100_slice4.json.gz
deleted file mode 100644
index f7c9f33..0000000
Binary files a/static/trees/deposits_bnb_100_slice4.json.gz and /dev/null differ
diff --git a/static/trees/deposits_bnb_100_slice4.json.zip b/static/trees/deposits_bnb_100_slice4.json.zip
new file mode 100644
index 0000000..c9b57c9
Binary files /dev/null and b/static/trees/deposits_bnb_100_slice4.json.zip differ
diff --git a/static/trees/deposits_bnb_10_bloom.json.gz b/static/trees/deposits_bnb_10_bloom.json.gz
deleted file mode 100644
index d3cb123..0000000
Binary files a/static/trees/deposits_bnb_10_bloom.json.gz and /dev/null differ
diff --git a/static/trees/deposits_bnb_10_bloom.json.zip b/static/trees/deposits_bnb_10_bloom.json.zip
new file mode 100644
index 0000000..54ea5ca
Binary files /dev/null and b/static/trees/deposits_bnb_10_bloom.json.zip differ
diff --git a/static/trees/deposits_bnb_10_slice1.json.gz b/static/trees/deposits_bnb_10_slice1.json.gz
deleted file mode 100644
index 589bb54..0000000
Binary files a/static/trees/deposits_bnb_10_slice1.json.gz and /dev/null differ
diff --git a/static/trees/deposits_bnb_10_slice1.json.zip b/static/trees/deposits_bnb_10_slice1.json.zip
new file mode 100644
index 0000000..7ee1ca8
Binary files /dev/null and b/static/trees/deposits_bnb_10_slice1.json.zip differ
diff --git a/static/trees/deposits_bnb_10_slice2.json.gz b/static/trees/deposits_bnb_10_slice2.json.gz
deleted file mode 100644
index 4abfe30..0000000
Binary files a/static/trees/deposits_bnb_10_slice2.json.gz and /dev/null differ
diff --git a/static/trees/deposits_bnb_10_slice2.json.zip b/static/trees/deposits_bnb_10_slice2.json.zip
new file mode 100644
index 0000000..966114a
Binary files /dev/null and b/static/trees/deposits_bnb_10_slice2.json.zip differ
diff --git a/static/trees/deposits_bnb_10_slice3.json.gz b/static/trees/deposits_bnb_10_slice3.json.gz
deleted file mode 100644
index 94a20df..0000000
Binary files a/static/trees/deposits_bnb_10_slice3.json.gz and /dev/null differ
diff --git a/static/trees/deposits_bnb_10_slice3.json.zip b/static/trees/deposits_bnb_10_slice3.json.zip
new file mode 100644
index 0000000..a109c61
Binary files /dev/null and b/static/trees/deposits_bnb_10_slice3.json.zip differ
diff --git a/static/trees/deposits_bnb_10_slice4.json.gz b/static/trees/deposits_bnb_10_slice4.json.gz
deleted file mode 100644
index 08cbdec..0000000
Binary files a/static/trees/deposits_bnb_10_slice4.json.gz and /dev/null differ
diff --git a/static/trees/deposits_bnb_10_slice4.json.zip b/static/trees/deposits_bnb_10_slice4.json.zip
new file mode 100644
index 0000000..a05975b
Binary files /dev/null and b/static/trees/deposits_bnb_10_slice4.json.zip differ
diff --git a/static/trees/deposits_bnb_1_bloom.json.gz b/static/trees/deposits_bnb_1_bloom.json.gz
deleted file mode 100644
index 0966b4d..0000000
Binary files a/static/trees/deposits_bnb_1_bloom.json.gz and /dev/null differ
diff --git a/static/trees/deposits_bnb_1_bloom.json.zip b/static/trees/deposits_bnb_1_bloom.json.zip
new file mode 100644
index 0000000..427fbc9
Binary files /dev/null and b/static/trees/deposits_bnb_1_bloom.json.zip differ
diff --git a/static/trees/deposits_bnb_1_slice1.json.gz b/static/trees/deposits_bnb_1_slice1.json.gz
deleted file mode 100644
index c252fd2..0000000
Binary files a/static/trees/deposits_bnb_1_slice1.json.gz and /dev/null differ
diff --git a/static/trees/deposits_bnb_1_slice1.json.zip b/static/trees/deposits_bnb_1_slice1.json.zip
new file mode 100644
index 0000000..9f06f18
Binary files /dev/null and b/static/trees/deposits_bnb_1_slice1.json.zip differ
diff --git a/static/trees/deposits_bnb_1_slice2.json.gz b/static/trees/deposits_bnb_1_slice2.json.gz
deleted file mode 100644
index 7c69991..0000000
Binary files a/static/trees/deposits_bnb_1_slice2.json.gz and /dev/null differ
diff --git a/static/trees/deposits_bnb_1_slice2.json.zip b/static/trees/deposits_bnb_1_slice2.json.zip
new file mode 100644
index 0000000..d303a9f
Binary files /dev/null and b/static/trees/deposits_bnb_1_slice2.json.zip differ
diff --git a/static/trees/deposits_bnb_1_slice3.json.gz b/static/trees/deposits_bnb_1_slice3.json.gz
deleted file mode 100644
index 86666b0..0000000
Binary files a/static/trees/deposits_bnb_1_slice3.json.gz and /dev/null differ
diff --git a/static/trees/deposits_bnb_1_slice3.json.zip b/static/trees/deposits_bnb_1_slice3.json.zip
new file mode 100644
index 0000000..9d1da1d
Binary files /dev/null and b/static/trees/deposits_bnb_1_slice3.json.zip differ
diff --git a/static/trees/deposits_bnb_1_slice4.json.gz b/static/trees/deposits_bnb_1_slice4.json.gz
deleted file mode 100644
index 6f89743..0000000
Binary files a/static/trees/deposits_bnb_1_slice4.json.gz and /dev/null differ
diff --git a/static/trees/deposits_bnb_1_slice4.json.zip b/static/trees/deposits_bnb_1_slice4.json.zip
new file mode 100644
index 0000000..f9fd1ce
Binary files /dev/null and b/static/trees/deposits_bnb_1_slice4.json.zip differ
diff --git a/static/trees/deposits_eth_0.1_bloom.json.gz b/static/trees/deposits_eth_0.1_bloom.json.gz
deleted file mode 100644
index 55021f2..0000000
Binary files a/static/trees/deposits_eth_0.1_bloom.json.gz and /dev/null differ
diff --git a/static/trees/deposits_eth_0.1_bloom.json.zip b/static/trees/deposits_eth_0.1_bloom.json.zip
new file mode 100644
index 0000000..6c95c71
Binary files /dev/null and b/static/trees/deposits_eth_0.1_bloom.json.zip differ
diff --git a/static/trees/deposits_eth_0.1_slice1.json.gz b/static/trees/deposits_eth_0.1_slice1.json.gz
deleted file mode 100644
index 3a3d1ff..0000000
Binary files a/static/trees/deposits_eth_0.1_slice1.json.gz and /dev/null differ
diff --git a/static/trees/deposits_eth_0.1_slice1.json.zip b/static/trees/deposits_eth_0.1_slice1.json.zip
new file mode 100644
index 0000000..0200517
Binary files /dev/null and b/static/trees/deposits_eth_0.1_slice1.json.zip differ
diff --git a/static/trees/deposits_eth_0.1_slice2.json.gz b/static/trees/deposits_eth_0.1_slice2.json.gz
deleted file mode 100644
index e1e9b82..0000000
Binary files a/static/trees/deposits_eth_0.1_slice2.json.gz and /dev/null differ
diff --git a/static/trees/deposits_eth_0.1_slice2.json.zip b/static/trees/deposits_eth_0.1_slice2.json.zip
new file mode 100644
index 0000000..746d9e9
Binary files /dev/null and b/static/trees/deposits_eth_0.1_slice2.json.zip differ
diff --git a/static/trees/deposits_eth_0.1_slice3.json.gz b/static/trees/deposits_eth_0.1_slice3.json.gz
deleted file mode 100644
index 5e87963..0000000
Binary files a/static/trees/deposits_eth_0.1_slice3.json.gz and /dev/null differ
diff --git a/static/trees/deposits_eth_0.1_slice3.json.zip b/static/trees/deposits_eth_0.1_slice3.json.zip
new file mode 100644
index 0000000..f6d1d45
Binary files /dev/null and b/static/trees/deposits_eth_0.1_slice3.json.zip differ
diff --git a/static/trees/deposits_eth_0.1_slice4.json.gz b/static/trees/deposits_eth_0.1_slice4.json.gz
deleted file mode 100644
index e8742c6..0000000
Binary files a/static/trees/deposits_eth_0.1_slice4.json.gz and /dev/null differ
diff --git a/static/trees/deposits_eth_0.1_slice4.json.zip b/static/trees/deposits_eth_0.1_slice4.json.zip
new file mode 100644
index 0000000..1cdd117
Binary files /dev/null and b/static/trees/deposits_eth_0.1_slice4.json.zip differ
diff --git a/static/trees/deposits_eth_100_bloom.json.gz b/static/trees/deposits_eth_100_bloom.json.gz
deleted file mode 100644
index 83f3521..0000000
Binary files a/static/trees/deposits_eth_100_bloom.json.gz and /dev/null differ
diff --git a/static/trees/deposits_eth_100_bloom.json.zip b/static/trees/deposits_eth_100_bloom.json.zip
new file mode 100644
index 0000000..3806a28
Binary files /dev/null and b/static/trees/deposits_eth_100_bloom.json.zip differ
diff --git a/static/trees/deposits_eth_100_slice1.json.gz b/static/trees/deposits_eth_100_slice1.json.gz
deleted file mode 100644
index 3a5db5d..0000000
Binary files a/static/trees/deposits_eth_100_slice1.json.gz and /dev/null differ
diff --git a/static/trees/deposits_eth_100_slice1.json.zip b/static/trees/deposits_eth_100_slice1.json.zip
new file mode 100644
index 0000000..42cfd5f
Binary files /dev/null and b/static/trees/deposits_eth_100_slice1.json.zip differ
diff --git a/static/trees/deposits_eth_100_slice2.json.gz b/static/trees/deposits_eth_100_slice2.json.gz
deleted file mode 100644
index 0cfe774..0000000
Binary files a/static/trees/deposits_eth_100_slice2.json.gz and /dev/null differ
diff --git a/static/trees/deposits_eth_100_slice2.json.zip b/static/trees/deposits_eth_100_slice2.json.zip
new file mode 100644
index 0000000..8c5ffe2
Binary files /dev/null and b/static/trees/deposits_eth_100_slice2.json.zip differ
diff --git a/static/trees/deposits_eth_100_slice3.json.gz b/static/trees/deposits_eth_100_slice3.json.gz
deleted file mode 100644
index b6a3006..0000000
Binary files a/static/trees/deposits_eth_100_slice3.json.gz and /dev/null differ
diff --git a/static/trees/deposits_eth_100_slice3.json.zip b/static/trees/deposits_eth_100_slice3.json.zip
new file mode 100644
index 0000000..789d5ac
Binary files /dev/null and b/static/trees/deposits_eth_100_slice3.json.zip differ
diff --git a/static/trees/deposits_eth_100_slice4.json.gz b/static/trees/deposits_eth_100_slice4.json.gz
deleted file mode 100644
index 1ecb1d2..0000000
Binary files a/static/trees/deposits_eth_100_slice4.json.gz and /dev/null differ
diff --git a/static/trees/deposits_eth_100_slice4.json.zip b/static/trees/deposits_eth_100_slice4.json.zip
new file mode 100644
index 0000000..9dffc05
Binary files /dev/null and b/static/trees/deposits_eth_100_slice4.json.zip differ
diff --git a/static/trees/deposits_eth_10_bloom.json.gz b/static/trees/deposits_eth_10_bloom.json.gz
deleted file mode 100644
index cf3da9f..0000000
Binary files a/static/trees/deposits_eth_10_bloom.json.gz and /dev/null differ
diff --git a/static/trees/deposits_eth_10_bloom.json.zip b/static/trees/deposits_eth_10_bloom.json.zip
new file mode 100644
index 0000000..715e66a
Binary files /dev/null and b/static/trees/deposits_eth_10_bloom.json.zip differ
diff --git a/static/trees/deposits_eth_10_slice1.json.gz b/static/trees/deposits_eth_10_slice1.json.gz
deleted file mode 100644
index 8c063c3..0000000
Binary files a/static/trees/deposits_eth_10_slice1.json.gz and /dev/null differ
diff --git a/static/trees/deposits_eth_10_slice1.json.zip b/static/trees/deposits_eth_10_slice1.json.zip
new file mode 100644
index 0000000..b175630
Binary files /dev/null and b/static/trees/deposits_eth_10_slice1.json.zip differ
diff --git a/static/trees/deposits_eth_10_slice2.json.gz b/static/trees/deposits_eth_10_slice2.json.gz
deleted file mode 100644
index fca7621..0000000
Binary files a/static/trees/deposits_eth_10_slice2.json.gz and /dev/null differ
diff --git a/static/trees/deposits_eth_10_slice2.json.zip b/static/trees/deposits_eth_10_slice2.json.zip
new file mode 100644
index 0000000..3d117c5
Binary files /dev/null and b/static/trees/deposits_eth_10_slice2.json.zip differ
diff --git a/static/trees/deposits_eth_10_slice3.json.gz b/static/trees/deposits_eth_10_slice3.json.gz
deleted file mode 100644
index f10b50e..0000000
Binary files a/static/trees/deposits_eth_10_slice3.json.gz and /dev/null differ
diff --git a/static/trees/deposits_eth_10_slice3.json.zip b/static/trees/deposits_eth_10_slice3.json.zip
new file mode 100644
index 0000000..4eda5fd
Binary files /dev/null and b/static/trees/deposits_eth_10_slice3.json.zip differ
diff --git a/static/trees/deposits_eth_10_slice4.json.gz b/static/trees/deposits_eth_10_slice4.json.gz
deleted file mode 100644
index aaf530e..0000000
Binary files a/static/trees/deposits_eth_10_slice4.json.gz and /dev/null differ
diff --git a/static/trees/deposits_eth_10_slice4.json.zip b/static/trees/deposits_eth_10_slice4.json.zip
new file mode 100644
index 0000000..1f6bf2d
Binary files /dev/null and b/static/trees/deposits_eth_10_slice4.json.zip differ
diff --git a/static/trees/deposits_eth_1_bloom.json.gz b/static/trees/deposits_eth_1_bloom.json.gz
deleted file mode 100644
index a2bb6e4..0000000
Binary files a/static/trees/deposits_eth_1_bloom.json.gz and /dev/null differ
diff --git a/static/trees/deposits_eth_1_bloom.json.zip b/static/trees/deposits_eth_1_bloom.json.zip
new file mode 100644
index 0000000..25be566
Binary files /dev/null and b/static/trees/deposits_eth_1_bloom.json.zip differ
diff --git a/static/trees/deposits_eth_1_slice1.json.gz b/static/trees/deposits_eth_1_slice1.json.gz
deleted file mode 100644
index b32dc00..0000000
Binary files a/static/trees/deposits_eth_1_slice1.json.gz and /dev/null differ
diff --git a/static/trees/deposits_eth_1_slice1.json.zip b/static/trees/deposits_eth_1_slice1.json.zip
new file mode 100644
index 0000000..3dfa940
Binary files /dev/null and b/static/trees/deposits_eth_1_slice1.json.zip differ
diff --git a/static/trees/deposits_eth_1_slice2.json.gz b/static/trees/deposits_eth_1_slice2.json.gz
deleted file mode 100644
index 12e841e..0000000
Binary files a/static/trees/deposits_eth_1_slice2.json.gz and /dev/null differ
diff --git a/static/trees/deposits_eth_1_slice2.json.zip b/static/trees/deposits_eth_1_slice2.json.zip
new file mode 100644
index 0000000..3fe4c2a
Binary files /dev/null and b/static/trees/deposits_eth_1_slice2.json.zip differ
diff --git a/static/trees/deposits_eth_1_slice3.json.gz b/static/trees/deposits_eth_1_slice3.json.gz
deleted file mode 100644
index 97d0283..0000000
Binary files a/static/trees/deposits_eth_1_slice3.json.gz and /dev/null differ
diff --git a/static/trees/deposits_eth_1_slice3.json.zip b/static/trees/deposits_eth_1_slice3.json.zip
new file mode 100644
index 0000000..237508f
Binary files /dev/null and b/static/trees/deposits_eth_1_slice3.json.zip differ
diff --git a/static/trees/deposits_eth_1_slice4.json.gz b/static/trees/deposits_eth_1_slice4.json.gz
deleted file mode 100644
index eb2732e..0000000
Binary files a/static/trees/deposits_eth_1_slice4.json.gz and /dev/null differ
diff --git a/static/trees/deposits_eth_1_slice4.json.zip b/static/trees/deposits_eth_1_slice4.json.zip
new file mode 100644
index 0000000..4c2b3ee
Binary files /dev/null and b/static/trees/deposits_eth_1_slice4.json.zip differ
diff --git a/static/trees/deposits_matic_100000_bloom.json.gz b/static/trees/deposits_matic_100000_bloom.json.gz
deleted file mode 100644
index 032cc12..0000000
Binary files a/static/trees/deposits_matic_100000_bloom.json.gz and /dev/null differ
diff --git a/static/trees/deposits_matic_100000_bloom.json.zip b/static/trees/deposits_matic_100000_bloom.json.zip
new file mode 100644
index 0000000..0d25fba
Binary files /dev/null and b/static/trees/deposits_matic_100000_bloom.json.zip differ
diff --git a/static/trees/deposits_matic_100000_slice1.json.gz b/static/trees/deposits_matic_100000_slice1.json.gz
deleted file mode 100644
index b6a3374..0000000
Binary files a/static/trees/deposits_matic_100000_slice1.json.gz and /dev/null differ
diff --git a/static/trees/deposits_matic_100000_slice1.json.zip b/static/trees/deposits_matic_100000_slice1.json.zip
new file mode 100644
index 0000000..1fea166
Binary files /dev/null and b/static/trees/deposits_matic_100000_slice1.json.zip differ
diff --git a/static/trees/deposits_matic_100000_slice2.json.gz b/static/trees/deposits_matic_100000_slice2.json.gz
deleted file mode 100644
index b9fa5c5..0000000
Binary files a/static/trees/deposits_matic_100000_slice2.json.gz and /dev/null differ
diff --git a/static/trees/deposits_matic_100000_slice2.json.zip b/static/trees/deposits_matic_100000_slice2.json.zip
new file mode 100644
index 0000000..bdb7223
Binary files /dev/null and b/static/trees/deposits_matic_100000_slice2.json.zip differ
diff --git a/static/trees/deposits_matic_100000_slice3.json.gz b/static/trees/deposits_matic_100000_slice3.json.gz
deleted file mode 100644
index 4eca824..0000000
Binary files a/static/trees/deposits_matic_100000_slice3.json.gz and /dev/null differ
diff --git a/static/trees/deposits_matic_100000_slice3.json.zip b/static/trees/deposits_matic_100000_slice3.json.zip
new file mode 100644
index 0000000..3f00453
Binary files /dev/null and b/static/trees/deposits_matic_100000_slice3.json.zip differ
diff --git a/static/trees/deposits_matic_100000_slice4.json.gz b/static/trees/deposits_matic_100000_slice4.json.gz
deleted file mode 100644
index fc68835..0000000
Binary files a/static/trees/deposits_matic_100000_slice4.json.gz and /dev/null differ
diff --git a/static/trees/deposits_matic_100000_slice4.json.zip b/static/trees/deposits_matic_100000_slice4.json.zip
new file mode 100644
index 0000000..f4c006e
Binary files /dev/null and b/static/trees/deposits_matic_100000_slice4.json.zip differ
diff --git a/static/trees/deposits_matic_10000_bloom.json.gz b/static/trees/deposits_matic_10000_bloom.json.gz
deleted file mode 100644
index 09285ba..0000000
Binary files a/static/trees/deposits_matic_10000_bloom.json.gz and /dev/null differ
diff --git a/static/trees/deposits_matic_10000_bloom.json.zip b/static/trees/deposits_matic_10000_bloom.json.zip
new file mode 100644
index 0000000..699e1ae
Binary files /dev/null and b/static/trees/deposits_matic_10000_bloom.json.zip differ
diff --git a/static/trees/deposits_matic_10000_slice1.json.gz b/static/trees/deposits_matic_10000_slice1.json.gz
deleted file mode 100644
index 784f782..0000000
Binary files a/static/trees/deposits_matic_10000_slice1.json.gz and /dev/null differ
diff --git a/static/trees/deposits_matic_10000_slice1.json.zip b/static/trees/deposits_matic_10000_slice1.json.zip
new file mode 100644
index 0000000..543d729
Binary files /dev/null and b/static/trees/deposits_matic_10000_slice1.json.zip differ
diff --git a/static/trees/deposits_matic_10000_slice2.json.gz b/static/trees/deposits_matic_10000_slice2.json.gz
deleted file mode 100644
index cdc3ae6..0000000
Binary files a/static/trees/deposits_matic_10000_slice2.json.gz and /dev/null differ
diff --git a/static/trees/deposits_matic_10000_slice2.json.zip b/static/trees/deposits_matic_10000_slice2.json.zip
new file mode 100644
index 0000000..ed4c289
Binary files /dev/null and b/static/trees/deposits_matic_10000_slice2.json.zip differ
diff --git a/static/trees/deposits_matic_10000_slice3.json.gz b/static/trees/deposits_matic_10000_slice3.json.gz
deleted file mode 100644
index 26a1bda..0000000
Binary files a/static/trees/deposits_matic_10000_slice3.json.gz and /dev/null differ
diff --git a/static/trees/deposits_matic_10000_slice3.json.zip b/static/trees/deposits_matic_10000_slice3.json.zip
new file mode 100644
index 0000000..2327dd3
Binary files /dev/null and b/static/trees/deposits_matic_10000_slice3.json.zip differ
diff --git a/static/trees/deposits_matic_10000_slice4.json.gz b/static/trees/deposits_matic_10000_slice4.json.gz
deleted file mode 100644
index 3622da4..0000000
Binary files a/static/trees/deposits_matic_10000_slice4.json.gz and /dev/null differ
diff --git a/static/trees/deposits_matic_10000_slice4.json.zip b/static/trees/deposits_matic_10000_slice4.json.zip
new file mode 100644
index 0000000..0716732
Binary files /dev/null and b/static/trees/deposits_matic_10000_slice4.json.zip differ
diff --git a/static/trees/deposits_matic_1000_bloom.json.gz b/static/trees/deposits_matic_1000_bloom.json.gz
deleted file mode 100644
index 0965700..0000000
Binary files a/static/trees/deposits_matic_1000_bloom.json.gz and /dev/null differ
diff --git a/static/trees/deposits_matic_1000_bloom.json.zip b/static/trees/deposits_matic_1000_bloom.json.zip
new file mode 100644
index 0000000..adf8827
Binary files /dev/null and b/static/trees/deposits_matic_1000_bloom.json.zip differ
diff --git a/static/trees/deposits_matic_1000_slice1.json.gz b/static/trees/deposits_matic_1000_slice1.json.gz
deleted file mode 100644
index a789ea1..0000000
Binary files a/static/trees/deposits_matic_1000_slice1.json.gz and /dev/null differ
diff --git a/static/trees/deposits_matic_1000_slice1.json.zip b/static/trees/deposits_matic_1000_slice1.json.zip
new file mode 100644
index 0000000..9cfdf9c
Binary files /dev/null and b/static/trees/deposits_matic_1000_slice1.json.zip differ
diff --git a/static/trees/deposits_matic_1000_slice2.json.gz b/static/trees/deposits_matic_1000_slice2.json.gz
deleted file mode 100644
index e623e5f..0000000
Binary files a/static/trees/deposits_matic_1000_slice2.json.gz and /dev/null differ
diff --git a/static/trees/deposits_matic_1000_slice2.json.zip b/static/trees/deposits_matic_1000_slice2.json.zip
new file mode 100644
index 0000000..90376ee
Binary files /dev/null and b/static/trees/deposits_matic_1000_slice2.json.zip differ
diff --git a/static/trees/deposits_matic_1000_slice3.json.gz b/static/trees/deposits_matic_1000_slice3.json.gz
deleted file mode 100644
index dbebdb1..0000000
Binary files a/static/trees/deposits_matic_1000_slice3.json.gz and /dev/null differ
diff --git a/static/trees/deposits_matic_1000_slice3.json.zip b/static/trees/deposits_matic_1000_slice3.json.zip
new file mode 100644
index 0000000..dd8ae10
Binary files /dev/null and b/static/trees/deposits_matic_1000_slice3.json.zip differ
diff --git a/static/trees/deposits_matic_1000_slice4.json.gz b/static/trees/deposits_matic_1000_slice4.json.gz
deleted file mode 100644
index 2c12505..0000000
Binary files a/static/trees/deposits_matic_1000_slice4.json.gz and /dev/null differ
diff --git a/static/trees/deposits_matic_1000_slice4.json.zip b/static/trees/deposits_matic_1000_slice4.json.zip
new file mode 100644
index 0000000..4a22e52
Binary files /dev/null and b/static/trees/deposits_matic_1000_slice4.json.zip differ
diff --git a/static/trees/deposits_matic_100_bloom.json.gz b/static/trees/deposits_matic_100_bloom.json.gz
deleted file mode 100644
index d0d1f77..0000000
Binary files a/static/trees/deposits_matic_100_bloom.json.gz and /dev/null differ
diff --git a/static/trees/deposits_matic_100_bloom.json.zip b/static/trees/deposits_matic_100_bloom.json.zip
new file mode 100644
index 0000000..34e112f
Binary files /dev/null and b/static/trees/deposits_matic_100_bloom.json.zip differ
diff --git a/static/trees/deposits_matic_100_slice1.json.gz b/static/trees/deposits_matic_100_slice1.json.gz
deleted file mode 100644
index 180d5b3..0000000
Binary files a/static/trees/deposits_matic_100_slice1.json.gz and /dev/null differ
diff --git a/static/trees/deposits_matic_100_slice1.json.zip b/static/trees/deposits_matic_100_slice1.json.zip
new file mode 100644
index 0000000..d57b942
Binary files /dev/null and b/static/trees/deposits_matic_100_slice1.json.zip differ
diff --git a/static/trees/deposits_matic_100_slice2.json.gz b/static/trees/deposits_matic_100_slice2.json.gz
deleted file mode 100644
index a4d98b2..0000000
Binary files a/static/trees/deposits_matic_100_slice2.json.gz and /dev/null differ
diff --git a/static/trees/deposits_matic_100_slice2.json.zip b/static/trees/deposits_matic_100_slice2.json.zip
new file mode 100644
index 0000000..712e58a
Binary files /dev/null and b/static/trees/deposits_matic_100_slice2.json.zip differ
diff --git a/static/trees/deposits_matic_100_slice3.json.gz b/static/trees/deposits_matic_100_slice3.json.gz
deleted file mode 100644
index 21d1b42..0000000
Binary files a/static/trees/deposits_matic_100_slice3.json.gz and /dev/null differ
diff --git a/static/trees/deposits_matic_100_slice3.json.zip b/static/trees/deposits_matic_100_slice3.json.zip
new file mode 100644
index 0000000..15d331f
Binary files /dev/null and b/static/trees/deposits_matic_100_slice3.json.zip differ
diff --git a/static/trees/deposits_matic_100_slice4.json.gz b/static/trees/deposits_matic_100_slice4.json.gz
deleted file mode 100644
index d8f99ed..0000000
Binary files a/static/trees/deposits_matic_100_slice4.json.gz and /dev/null differ
diff --git a/static/trees/deposits_matic_100_slice4.json.zip b/static/trees/deposits_matic_100_slice4.json.zip
new file mode 100644
index 0000000..4b49041
Binary files /dev/null and b/static/trees/deposits_matic_100_slice4.json.zip differ
diff --git a/static/trees/deposits_xdai_100000_bloom.json.gz b/static/trees/deposits_xdai_100000_bloom.json.gz
deleted file mode 100644
index 9e99815..0000000
--- a/static/trees/deposits_xdai_100000_bloom.json.gz
+++ /dev/null
@@ -1,3 +0,0 @@
-xÚÁM
-Â0…ѽ|ã;xIýyÞåR¢mÙ»ç8qÇ5Ä»ÿ.E¬}ÿôöŃõضöÂcŠãÙ÷ăÀ)
-QqŠ‡8ágâ‚C\qˆÄ¥¦¸á%pÌ9ÿ`Î
\ No newline at end of file
diff --git a/static/trees/deposits_xdai_100000_bloom.json.zip b/static/trees/deposits_xdai_100000_bloom.json.zip
new file mode 100644
index 0000000..362f9c2
Binary files /dev/null and b/static/trees/deposits_xdai_100000_bloom.json.zip differ
diff --git a/static/trees/deposits_xdai_100000_slice1.json.gz b/static/trees/deposits_xdai_100000_slice1.json.gz
deleted file mode 100644
index 09ddd21..0000000
Binary files a/static/trees/deposits_xdai_100000_slice1.json.gz and /dev/null differ
diff --git a/static/trees/deposits_xdai_100000_slice1.json.zip b/static/trees/deposits_xdai_100000_slice1.json.zip
new file mode 100644
index 0000000..25f37ad
Binary files /dev/null and b/static/trees/deposits_xdai_100000_slice1.json.zip differ
diff --git a/static/trees/deposits_xdai_100000_slice2.json.gz b/static/trees/deposits_xdai_100000_slice2.json.gz
deleted file mode 100644
index 32b5187..0000000
Binary files a/static/trees/deposits_xdai_100000_slice2.json.gz and /dev/null differ
diff --git a/static/trees/deposits_xdai_100000_slice2.json.zip b/static/trees/deposits_xdai_100000_slice2.json.zip
new file mode 100644
index 0000000..19e3afe
Binary files /dev/null and b/static/trees/deposits_xdai_100000_slice2.json.zip differ
diff --git a/static/trees/deposits_xdai_10000_bloom.json.gz b/static/trees/deposits_xdai_10000_bloom.json.gz
deleted file mode 100644
index 837bc06..0000000
Binary files a/static/trees/deposits_xdai_10000_bloom.json.gz and /dev/null differ
diff --git a/static/trees/deposits_xdai_10000_bloom.json.zip b/static/trees/deposits_xdai_10000_bloom.json.zip
new file mode 100644
index 0000000..23aa77c
Binary files /dev/null and b/static/trees/deposits_xdai_10000_bloom.json.zip differ
diff --git a/static/trees/deposits_xdai_10000_slice1.json.gz b/static/trees/deposits_xdai_10000_slice1.json.gz
deleted file mode 100644
index 400bc34..0000000
Binary files a/static/trees/deposits_xdai_10000_slice1.json.gz and /dev/null differ
diff --git a/static/trees/deposits_xdai_10000_slice1.json.zip b/static/trees/deposits_xdai_10000_slice1.json.zip
new file mode 100644
index 0000000..0b9a298
Binary files /dev/null and b/static/trees/deposits_xdai_10000_slice1.json.zip differ
diff --git a/static/trees/deposits_xdai_10000_slice2.json.gz b/static/trees/deposits_xdai_10000_slice2.json.gz
deleted file mode 100644
index 20c368b..0000000
Binary files a/static/trees/deposits_xdai_10000_slice2.json.gz and /dev/null differ
diff --git a/static/trees/deposits_xdai_10000_slice2.json.zip b/static/trees/deposits_xdai_10000_slice2.json.zip
new file mode 100644
index 0000000..ca2cc26
Binary files /dev/null and b/static/trees/deposits_xdai_10000_slice2.json.zip differ
diff --git a/static/trees/deposits_xdai_10000_slice3.json.gz b/static/trees/deposits_xdai_10000_slice3.json.gz
deleted file mode 100644
index 26459b7..0000000
Binary files a/static/trees/deposits_xdai_10000_slice3.json.gz and /dev/null differ
diff --git a/static/trees/deposits_xdai_10000_slice3.json.zip b/static/trees/deposits_xdai_10000_slice3.json.zip
new file mode 100644
index 0000000..e1d8a4a
Binary files /dev/null and b/static/trees/deposits_xdai_10000_slice3.json.zip differ
diff --git a/static/trees/deposits_xdai_10000_slice4.json.gz b/static/trees/deposits_xdai_10000_slice4.json.gz
deleted file mode 100644
index 21e3dfd..0000000
Binary files a/static/trees/deposits_xdai_10000_slice4.json.gz and /dev/null differ
diff --git a/static/trees/deposits_xdai_10000_slice4.json.zip b/static/trees/deposits_xdai_10000_slice4.json.zip
new file mode 100644
index 0000000..f21b88e
Binary files /dev/null and b/static/trees/deposits_xdai_10000_slice4.json.zip differ
diff --git a/static/trees/deposits_xdai_1000_bloom.json.gz b/static/trees/deposits_xdai_1000_bloom.json.gz
deleted file mode 100644
index eb990f6..0000000
Binary files a/static/trees/deposits_xdai_1000_bloom.json.gz and /dev/null differ
diff --git a/static/trees/deposits_xdai_1000_bloom.json.zip b/static/trees/deposits_xdai_1000_bloom.json.zip
new file mode 100644
index 0000000..ec76cc2
Binary files /dev/null and b/static/trees/deposits_xdai_1000_bloom.json.zip differ
diff --git a/static/trees/deposits_xdai_1000_slice1.json.gz b/static/trees/deposits_xdai_1000_slice1.json.gz
deleted file mode 100644
index 531c56c..0000000
Binary files a/static/trees/deposits_xdai_1000_slice1.json.gz and /dev/null differ
diff --git a/static/trees/deposits_xdai_1000_slice1.json.zip b/static/trees/deposits_xdai_1000_slice1.json.zip
new file mode 100644
index 0000000..da3258e
Binary files /dev/null and b/static/trees/deposits_xdai_1000_slice1.json.zip differ
diff --git a/static/trees/deposits_xdai_1000_slice2.json.gz b/static/trees/deposits_xdai_1000_slice2.json.gz
deleted file mode 100644
index 15a5d1f..0000000
Binary files a/static/trees/deposits_xdai_1000_slice2.json.gz and /dev/null differ
diff --git a/static/trees/deposits_xdai_1000_slice2.json.zip b/static/trees/deposits_xdai_1000_slice2.json.zip
new file mode 100644
index 0000000..195044d
Binary files /dev/null and b/static/trees/deposits_xdai_1000_slice2.json.zip differ
diff --git a/static/trees/deposits_xdai_1000_slice3.json.gz b/static/trees/deposits_xdai_1000_slice3.json.gz
deleted file mode 100644
index c59f6ab..0000000
Binary files a/static/trees/deposits_xdai_1000_slice3.json.gz and /dev/null differ
diff --git a/static/trees/deposits_xdai_1000_slice3.json.zip b/static/trees/deposits_xdai_1000_slice3.json.zip
new file mode 100644
index 0000000..6b18e4b
Binary files /dev/null and b/static/trees/deposits_xdai_1000_slice3.json.zip differ
diff --git a/static/trees/deposits_xdai_1000_slice4.json.gz b/static/trees/deposits_xdai_1000_slice4.json.gz
deleted file mode 100644
index b202ac8..0000000
Binary files a/static/trees/deposits_xdai_1000_slice4.json.gz and /dev/null differ
diff --git a/static/trees/deposits_xdai_1000_slice4.json.zip b/static/trees/deposits_xdai_1000_slice4.json.zip
new file mode 100644
index 0000000..0fce4b7
Binary files /dev/null and b/static/trees/deposits_xdai_1000_slice4.json.zip differ
diff --git a/static/trees/deposits_xdai_100_bloom.json.gz b/static/trees/deposits_xdai_100_bloom.json.gz
deleted file mode 100644
index e97ecda..0000000
Binary files a/static/trees/deposits_xdai_100_bloom.json.gz and /dev/null differ
diff --git a/static/trees/deposits_xdai_100_bloom.json.zip b/static/trees/deposits_xdai_100_bloom.json.zip
new file mode 100644
index 0000000..ae01a50
Binary files /dev/null and b/static/trees/deposits_xdai_100_bloom.json.zip differ
diff --git a/static/trees/deposits_xdai_100_slice1.json.gz b/static/trees/deposits_xdai_100_slice1.json.gz
deleted file mode 100644
index a4f4b53..0000000
Binary files a/static/trees/deposits_xdai_100_slice1.json.gz and /dev/null differ
diff --git a/static/trees/deposits_xdai_100_slice1.json.zip b/static/trees/deposits_xdai_100_slice1.json.zip
new file mode 100644
index 0000000..f3fc61f
Binary files /dev/null and b/static/trees/deposits_xdai_100_slice1.json.zip differ
diff --git a/static/trees/deposits_xdai_100_slice2.json.gz b/static/trees/deposits_xdai_100_slice2.json.gz
deleted file mode 100644
index ffc872f..0000000
Binary files a/static/trees/deposits_xdai_100_slice2.json.gz and /dev/null differ
diff --git a/static/trees/deposits_xdai_100_slice2.json.zip b/static/trees/deposits_xdai_100_slice2.json.zip
new file mode 100644
index 0000000..e66c408
Binary files /dev/null and b/static/trees/deposits_xdai_100_slice2.json.zip differ
diff --git a/static/trees/deposits_xdai_100_slice3.json.gz b/static/trees/deposits_xdai_100_slice3.json.gz
deleted file mode 100644
index 471e84b..0000000
Binary files a/static/trees/deposits_xdai_100_slice3.json.gz and /dev/null differ
diff --git a/static/trees/deposits_xdai_100_slice3.json.zip b/static/trees/deposits_xdai_100_slice3.json.zip
new file mode 100644
index 0000000..8542957
Binary files /dev/null and b/static/trees/deposits_xdai_100_slice3.json.zip differ
diff --git a/static/trees/deposits_xdai_100_slice4.json.gz b/static/trees/deposits_xdai_100_slice4.json.gz
deleted file mode 100644
index e1be01c..0000000
Binary files a/static/trees/deposits_xdai_100_slice4.json.gz and /dev/null differ
diff --git a/static/trees/deposits_xdai_100_slice4.json.zip b/static/trees/deposits_xdai_100_slice4.json.zip
new file mode 100644
index 0000000..2a43556
Binary files /dev/null and b/static/trees/deposits_xdai_100_slice4.json.zip differ
diff --git a/store/application.js b/store/application.js
index 1c9f4f3..7415345 100644
--- a/store/application.js
+++ b/store/application.js
@@ -3,7 +3,7 @@
import Web3 from 'web3'
import networkConfig from '@/networkConfig'
-import { cachedEventsLength, eventsType, httpConfig } from '@/constants'
+import { cachedEventsLength, eventsType } from '@/constants'
import MulticallABI from '@/abis/Multicall.json'
import InstanceABI from '@/abis/Instance.abi.json'
@@ -117,8 +117,7 @@ const getters = {
const config = networkConfig[`netId${netId}`]
const { url } = rootState.settings[`netId${netId}`].rpc
const address = config.tokens[currency].instanceAddress[amount]
- const httpProvider = new Web3.providers.HttpProvider(url, httpConfig)
- const web3 = new Web3(httpProvider)
+ const web3 = new Web3(url)
return new web3.eth.Contract(InstanceABI, address)
},
multicallContract: (state, getters, rootState) => ({ netId }) => {
@@ -259,7 +258,6 @@ const getters = {
const actions = {
setAndUpdateStatistic({ dispatch, commit }, { currency, amount }) {
commit('SET_SELECTED_STATISTIC', { currency, amount })
-
dispatch('updateSelectEvents')
},
async updateSelectEvents({ dispatch, commit, state, rootGetters, getters }) {
@@ -267,14 +265,15 @@ const actions = {
const { currency, amount } = state.selectedStatistic
const eventService = getters.eventsInterface.getService({ netId, amount, currency })
+
const graphEvents = await eventService.getEventsFromGraph({ methodName: 'getStatistic' })
let statistic = graphEvents?.events
- const latestDeposits = []
-
if (!statistic || !statistic.length) {
- statistic = []
+ const fresh = await eventService.getStatisticsRpc({ eventsCount: 10 })
+
+ statistic = fresh || []
}
const { nextDepositIndex, anonymitySet } = await dispatch('getLastDepositIndex', {
@@ -285,6 +284,8 @@ const actions = {
statistic = statistic.sort((a, b) => a.leafIndex - b.leafIndex)
+ const latestDeposits = []
+
for (const event of statistic.slice(-10)) {
latestDeposits.unshift({
index: event.leafIndex,
@@ -357,7 +358,7 @@ const actions = {
try {
const module = await download({
contentType: 'string',
- name: `events/encrypted_notes_${netId}.json.gz`
+ name: `events/encrypted_notes_${netId}.json.zip`
})
if (module) {
diff --git a/store/gasPrices.js b/store/gasPrices.js
index 8145814..49a5ba3 100644
--- a/store/gasPrices.js
+++ b/store/gasPrices.js
@@ -32,7 +32,6 @@ export const getters = {
const address = config.ovmGasPriceOracleContract
if (address) {
const web3 = new Web3(url)
-
return new web3.eth.Contract(OvmGasPriceOracleABI, address)
}
diff --git a/store/governance/gov.js b/store/governance/gov.js
index 933d6df..5e7f69d 100644
--- a/store/governance/gov.js
+++ b/store/governance/gov.js
@@ -10,8 +10,6 @@ import networkConfig from '@/networkConfig'
import GovernanceABI from '@/abis/Governance.abi.json'
import AggregatorABI from '@/abis/Aggregator.abi.json'
-import { httpConfig } from '@/constants'
-
const { numberToHex, toWei, fromWei, toBN, hexToNumber, hexToNumberString } = require('web3-utils')
const state = () => {
@@ -49,9 +47,7 @@ const getters = {
},
getWeb3: (state, getters, rootState) => ({ netId }) => {
const { url } = rootState.settings[`netId${netId}`].rpc
- const httpProvider = new Web3.providers.HttpProvider(url, httpConfig)
-
- return new Web3(httpProvider)
+ return new Web3(url)
},
govContract: (state, getters, rootState) => ({ netId }) => {
const config = getters.getConfig({ netId })
diff --git a/store/loading.js b/store/loading.js
index f087ed8..bba47e9 100644
--- a/store/loading.js
+++ b/store/loading.js
@@ -45,4 +45,4 @@ export const actions = {
type: 'approve'
})
}
-}
+}
\ No newline at end of file
diff --git a/store/relayer.js b/store/relayer.js
index dfaaa52..0b7c725 100644
--- a/store/relayer.js
+++ b/store/relayer.js
@@ -3,7 +3,6 @@ import Web3 from 'web3'
import BN from 'bignumber.js'
import namehash from 'eth-ens-namehash'
-import { httpConfig } from '@/constants'
import { schema, relayerRegisterService } from '@/services'
import { createChainIdState, parseNote, parseSemanticVersion } from '@/utils'
@@ -86,9 +85,8 @@ export const state = () => {
export const getters = {
ethProvider: (state, getters, rootState) => {
const { url } = rootState.settings.netId1.rpc
- const httpProvider = new Web3.providers.HttpProvider(url, httpConfig)
- return new Web3(httpProvider)
+ return new Web3(url)
},
jobs: (state, getters, rootState, rootGetters) => (type) => {
const netId = rootGetters['metamask/netId']
@@ -206,13 +204,7 @@ export const actions = {
}
const url = `${window.location.protocol}//${hostname}`
- const reqConfig = {
- headers: {
- 'Content-Type': 'application/json, application/x-www-form-urlencoded'
- },
- timeout: 10000
- }
- const response = await axios.get(`${url}status`, reqConfig).catch(() => {
+ const response = await axios.get(`${url}status`, { timeout: 5000 }).catch(() => {
throw new Error(this.app.i18n.t('canNotFetchStatusFromTheRelayer'))
})
@@ -330,18 +322,8 @@ export const actions = {
})
} catch {
console.error('Method pickRandomRelayer has not picked relayer')
- dispatch(
- 'notice/addNotice',
- {
- notice: {
- untranslatedTitle: 'Failed to fetch relayers',
- type: 'warning'
- },
- interval: 1500
- },
- { root: true }
- )
}
+
commit('SET_IS_LOADING_RELAYERS', false)
},
async getKnownRelayerData({ rootGetters, getters }, { relayerAddress, name }) {
diff --git a/store/snark.js b/store/snark.js
index 516ab1f..3aec732 100644
--- a/store/snark.js
+++ b/store/snark.js
@@ -1,7 +1,8 @@
/* eslint-disable no-console */
-import zlib from 'zlib'
-import axios from 'axios'
import Web3 from 'web3'
+import Jszip from 'jszip'
+import axios from 'axios'
+import ENS, { getEnsAddress } from '@ensdomains/ensjs'
import { detectMob } from '@/utils'
import networkConfig from '@/networkConfig'
@@ -9,6 +10,7 @@ import networkConfig from '@/networkConfig'
const { APP_ENS_NAME } = process.env
const groth16 = require('websnark/src/groth16')
+const jszip = new Jszip()
function buildGroth16() {
const isMobile = detectMob()
@@ -17,32 +19,31 @@ function buildGroth16() {
}
function getEns() {
- const { url } = Object.values(networkConfig.netId1.rpcUrls)[0]
- const provider = new Web3(url)
-
- return provider.eth.ens
+ const provider = new Web3.providers.HttpProvider(networkConfig.netId1.rpcUrls.Infura.url)
+ return new ENS({ provider, ensAddress: getEnsAddress('1') })
}
async function getTornadoKeys(getProgress) {
try {
const keys = await Promise.all([
- download({ name: 'tornado.json.gz', contentType: 'string' }),
- download({ name: 'tornadoProvingKey.bin.gz', contentType: 'arraybuffer', getProgress })
+ download({ name: 'tornado.json.zip', contentType: 'string' }),
+ download({ name: 'tornadoProvingKey.bin.zip', contentType: 'arraybuffer', getProgress })
])
-
- return { circuit: JSON.parse(keys[0]), provingKey: keys[1].buffer }
+ return { circuit: JSON.parse(keys[0]), provingKey: keys[1] }
} catch (err) {
- console.log('ERR', err)
throw err
}
}
async function getIPFSIdFromENS(ensName) {
try {
- const ensInterface = getEns()
- const { decoded } = await ensInterface.getContenthash(ensName)
+ const ens = getEns()
- return decoded
+ const ensInterface = await ens.name(ensName)
+ const { value } = await ensInterface.getContent(ensName)
+
+ const [, id] = value.split('://')
+ return id
} catch (err) {
throw new Error(err)
}
@@ -97,8 +98,11 @@ async function download({ name, contentType, getProgress, eventName = 'events' }
// eslint-disable-next-line no-undef
const prefix = __webpack_public_path__.slice(0, -7)
const response = await fetchFile({ getProgress, url: prefix, name })
- const buffer = Buffer.from(await response.data.arrayBuffer())
- const content = zlib.inflateSync(buffer)
+
+ const zip = await jszip.loadAsync(response.data)
+ const file = zip.file(name.replace(`${eventName}/`, '').slice(0, -4))
+
+ const content = await file.async(contentType)
return content
} catch (err) {
diff --git a/store/torn.js b/store/torn.js
index 7f6b020..c6dbee4 100644
--- a/store/torn.js
+++ b/store/torn.js
@@ -2,11 +2,11 @@
import Web3 from 'web3'
import { toBN } from 'web3-utils'
import tornABI from '../abis/ERC20.abi.json'
-import PermitSigner from '../lib/Permit'
import { isWalletRejection } from '@/utils'
const { toWei, toHex, numberToHex } = require('web3-utils')
+const { PermitSigner } = require('../lib/Permit')
const state = () => {
return {
@@ -168,11 +168,11 @@ const actions = {
}
const permitSigner = new PermitSigner(domain, args)
- const req = permitSigner.getReqPayload()
+ const message = permitSigner.getPayload()
const callParams = {
method: 'eth_signTypedData_v4',
- params: [ethAccount, JSON.stringify(req)]
+ params: [ethAccount, JSON.stringify(message)]
}
dispatch(
@@ -186,10 +186,18 @@ const actions = {
{ root: true }
)
- const query = await this.$provider.sendRequest(callParams)
- const { v, r, s, hex } = permitSigner.getSignature(query)
+ let signature = await this.$provider.sendRequest(callParams)
+ signature = signature.substring(2)
+ const r = '0x' + signature.substring(0, 64)
+ const s = '0x' + signature.substring(64, 128)
+ let v = parseInt(signature.substring(128, 130), 16)
- console.log('signature', v, r, s, hex)
+ // fix ledger sign
+ if (v === 0 || v === 1) {
+ v = v + 27
+ }
+
+ console.log('signature', v, r, s, signature)
// signature validation on contract
await getters.tokenContract.methods
diff --git a/utils/index.js b/utils/index.js
index 566b88b..df30fec 100644
--- a/utils/index.js
+++ b/utils/index.js
@@ -8,12 +8,6 @@ export * from './stringUtils'
export * from './numberUtils'
export * from './instanceUtils'
-export function flattenNArray(arr) {
- return arr.reduce((flat, toFlatten) => {
- return flat.concat(Array.isArray(toFlatten) ? flattenNArray(toFlatten) : toFlatten)
- }, [])
-}
-
export function sleep(ms) {
return new Promise((resolve) => setTimeout(resolve, ms))
}
diff --git a/yarn.lock b/yarn.lock
index 779643d..be223c5 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1065,7 +1065,7 @@
dependencies:
regenerator-runtime "^0.13.4"
-"@babel/runtime@^7.5.5":
+"@babel/runtime@^7.4.4", "@babel/runtime@^7.5.5":
version "7.17.7"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.7.tgz#a5f3328dc41ff39d803f311cfe17703418cf9825"
integrity sha512-L6rvG9GDxaLgFjg41K+5Yv9OMrU98sWe+Ykmc6FDJW/+vYZMhdOMKkISgzptMaERHvS2Y2lw9MDRm2gHhlQQoA==
@@ -1184,6 +1184,49 @@
resolved "https://registry.yarnpkg.com/@csstools/convert-colors/-/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7"
integrity sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==
+"@ensdomains/address-encoder@^0.1.7":
+ version "0.1.9"
+ resolved "https://registry.yarnpkg.com/@ensdomains/address-encoder/-/address-encoder-0.1.9.tgz#f948c485443d9ef7ed2c0c4790e931c33334d02d"
+ integrity sha512-E2d2gP4uxJQnDu2Kfg1tHNspefzbLT8Tyjrm5sEuim32UkU2sm5xL4VXtgc2X33fmPEw9+jUMpGs4veMbf+PYg==
+ dependencies:
+ bech32 "^1.1.3"
+ blakejs "^1.1.0"
+ bn.js "^4.11.8"
+ bs58 "^4.0.1"
+ crypto-addr-codec "^0.1.7"
+ nano-base32 "^1.0.1"
+ ripemd160 "^2.0.2"
+
+"@ensdomains/ens@0.4.5":
+ version "0.4.5"
+ resolved "https://registry.yarnpkg.com/@ensdomains/ens/-/ens-0.4.5.tgz#e0aebc005afdc066447c6e22feb4eda89a5edbfc"
+ integrity sha512-JSvpj1iNMFjK6K+uVl4unqMoa9rf5jopb8cya5UGBWz23Nw8hSNT7efgUx4BTlAPAgpNlEioUfeTyQ6J9ZvTVw==
+ dependencies:
+ bluebird "^3.5.2"
+ eth-ens-namehash "^2.0.8"
+ solc "^0.4.20"
+ testrpc "0.0.1"
+ web3-utils "^1.0.0-beta.31"
+
+"@ensdomains/ensjs@^2.1.0":
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/@ensdomains/ensjs/-/ensjs-2.1.0.tgz#0a7296c1f3d735ef019320d863a7846a0760c460"
+ integrity sha512-GRbGPT8Z/OJMDuxs75U/jUNEC0tbL0aj7/L/QQznGYKm/tiasp+ndLOaoULy9kKJFC0TBByqfFliEHDgoLhyog==
+ dependencies:
+ "@babel/runtime" "^7.4.4"
+ "@ensdomains/address-encoder" "^0.1.7"
+ "@ensdomains/ens" "0.4.5"
+ "@ensdomains/resolver" "0.2.4"
+ content-hash "^2.5.2"
+ eth-ens-namehash "^2.0.8"
+ ethers "^5.0.13"
+ js-sha3 "^0.8.0"
+
+"@ensdomains/resolver@0.2.4":
+ version "0.2.4"
+ resolved "https://registry.yarnpkg.com/@ensdomains/resolver/-/resolver-0.2.4.tgz#c10fe28bf5efbf49bff4666d909aed0265efbc89"
+ integrity sha512-bvaTH34PMCbv6anRa9I/0zjLJgY4EuznbEMgbV77JBCQ9KNC46rzi0avuxpOfu+xDjPEtSFGqVEOr5GlUSGudA==
+
"@ethereumjs/common@^2.3.0", "@ethereumjs/common@^2.4.0", "@ethereumjs/common@^2.5.0", "@ethereumjs/common@^2.6.1":
version "2.6.2"
resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.6.2.tgz#eb006c9329c75c80f634f340dc1719a5258244df"
@@ -2109,6 +2152,14 @@
dependencies:
defer-to-connect "^1.0.1"
+"@ticket721/e712@^0.4.1":
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/@ticket721/e712/-/e712-0.4.1.tgz#b9be3f5d9d01a8468e0a49eeed67fe4454c87582"
+ integrity sha512-JHqyb2HntsmLJ4PtlXQ2AoU+s42X1itRtxeCAlA1AxOMORXQudbhly9wvGhN/Hbcl8VYpfgLJKp4hK3AT6xDiw==
+ dependencies:
+ bn.js "5.1.1"
+ ethers "4.0.41"
+
"@types/anymatch@*":
version "1.3.1"
resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a"
@@ -3940,7 +3991,7 @@ bcrypt-pbkdf@^1.0.0:
dependencies:
tweetnacl "^0.14.3"
-bech32@1.1.4:
+bech32@1.1.4, bech32@^1.1.3:
version "1.1.4"
resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9"
integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==
@@ -3955,6 +4006,11 @@ bfj@^6.1.1:
hoopy "^0.1.4"
tryer "^1.0.1"
+big-integer@1.6.36:
+ version "1.6.36"
+ resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.36.tgz#78631076265d4ae3555c04f85e7d9d2f3a071a36"
+ integrity sha512-t70bfa7HYEA1D9idDbmuv7YbsbVkQ+Hp+8KFSul4aE5e/i1bjCNIRYJZlA8Q8p0r9T8cF/RVvwUgRA//FydEyg==
+
big-integer@1.6.42:
version "1.6.42"
resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.42.tgz#91623ae5ceeff9a47416c56c9440a66f12f534f1"
@@ -4037,7 +4093,7 @@ bluebird@^3.1.1, bluebird@^3.5.5:
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f"
integrity sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==
-bluebird@^3.5.0:
+bluebird@^3.5.0, bluebird@^3.5.2:
version "3.7.2"
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
@@ -4052,6 +4108,11 @@ bn.js@4.11.8, bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0:
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f"
integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==
+bn.js@5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.1.tgz#48efc4031a9c4041b9c99c6941d903463ab62eb5"
+ integrity sha512-IUTD/REb78Z2eodka1QZyyEk66pciRcP6Sroka0aI3tG/iwIdYLrBD62RsubR7vqdt3WyX8p4jxeatzmRSphtA==
+
bn.js@^4.11.0, bn.js@^4.11.6, bn.js@^4.11.8, bn.js@^4.11.9:
version "4.12.0"
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88"
@@ -4356,6 +4417,14 @@ buffer-xor@^1.0.3:
resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=
+buffer@6.0.3:
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6"
+ integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==
+ dependencies:
+ base64-js "^1.3.1"
+ ieee754 "^1.2.1"
+
buffer@^4.3.0:
version "4.9.1"
resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298"
@@ -4554,6 +4623,11 @@ camel-case@^4.1.1:
pascal-case "^3.1.2"
tslib "^2.0.3"
+camelcase@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
+ integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo=
+
camelcase@^4.0.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd"
@@ -4912,6 +4986,15 @@ clipboard@^2.0.0:
select "^1.1.2"
tiny-emitter "^2.0.0"
+cliui@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d"
+ integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=
+ dependencies:
+ string-width "^1.0.1"
+ strip-ansi "^3.0.1"
+ wrap-ansi "^2.0.0"
+
cliui@^4.0.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49"
@@ -5394,6 +5477,19 @@ cross-spawn@^7.0.0:
shebang-command "^2.0.0"
which "^2.0.1"
+crypto-addr-codec@^0.1.7:
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/crypto-addr-codec/-/crypto-addr-codec-0.1.7.tgz#e16cea892730178fe25a38f6d15b680cab3124ae"
+ integrity sha512-X4hzfBzNhy4mAc3UpiXEC/L0jo5E8wAa9unsnA8nNXYzXjCcGk83hfC5avJWCSGT8V91xMnAS9AKMHmjw5+XCg==
+ dependencies:
+ base-x "^3.0.8"
+ big-integer "1.6.36"
+ blakejs "^1.1.0"
+ bs58 "^4.0.1"
+ ripemd160-min "0.0.6"
+ safe-buffer "^5.2.0"
+ sha3 "^2.1.1"
+
crypto-browserify@3.12.0, crypto-browserify@^3.11.0:
version "3.12.0"
resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec"
@@ -5731,7 +5827,7 @@ debug@^4.2.0:
dependencies:
ms "2.1.2"
-decamelize@^1.2.0:
+decamelize@^1.1.1, decamelize@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
@@ -6080,6 +6176,19 @@ electron-to-chromium@^1.4.84:
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.86.tgz#90fe4a9787f48d6522957213408e08a8126b2ebc"
integrity sha512-EVTZ+igi8x63pK4bPuA95PXIs2b2Cowi3WQwI9f9qManLiZJOD1Lash1J3W4TvvcUCcIR4o/rgi9o8UicXSO+w==
+elliptic@6.5.2:
+ version "6.5.2"
+ resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.2.tgz#05c5678d7173c049d8ca433552224a495d0e3762"
+ integrity sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==
+ dependencies:
+ bn.js "^4.4.0"
+ brorand "^1.0.1"
+ hash.js "^1.0.0"
+ hmac-drbg "^1.0.0"
+ inherits "^2.0.1"
+ minimalistic-assert "^1.0.0"
+ minimalistic-crypto-utils "^1.0.0"
+
elliptic@6.5.4, elliptic@^6.4.0, elliptic@^6.5.2, elliptic@^6.5.4:
version "6.5.4"
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb"
@@ -6961,7 +7070,22 @@ ethereumjs-vm@^2.3.4:
rustbn.js "~0.2.0"
safe-buffer "^5.1.1"
-ethers@^5.5.1:
+ethers@4.0.41:
+ version "4.0.41"
+ resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.41.tgz#a0cff526f08c2e08c525cf82ef4483f6333b8000"
+ integrity sha512-QpW2CPZajquwiA7rVDozMksOuvdUBKIruamAakt0++EKBB/VWtLB9zSRZDInLDpp9fZYgOT/0trPD38r6CzLIg==
+ dependencies:
+ aes-js "3.0.0"
+ bn.js "^4.4.0"
+ elliptic "6.5.2"
+ hash.js "1.1.3"
+ js-sha3 "0.5.7"
+ scrypt-js "2.0.4"
+ setimmediate "1.0.4"
+ uuid "2.0.1"
+ xmlhttprequest "1.8.0"
+
+ethers@^5.0.13, ethers@^5.5.1:
version "5.6.1"
resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.6.1.tgz#a56cd67f1595b745dc3dde0ccf2b5de53a41a6d0"
integrity sha512-qtl/2W+dwmUa5Z3JqwsbV3JEBZZHNARe5K/A2ePcNAuhJYnEKIgGOT/O9ouPwBijSqVoQnmQMzi5D48LFNOY2A==
@@ -7658,6 +7782,17 @@ from2@^2.1.0:
inherits "^2.0.1"
readable-stream "^2.0.0"
+fs-extra@^0.30.0:
+ version "0.30.0"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.30.0.tgz#f233ffcc08d4da7d432daa449776989db1df93f0"
+ integrity sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=
+ dependencies:
+ graceful-fs "^4.1.2"
+ jsonfile "^2.1.0"
+ klaw "^1.0.0"
+ path-is-absolute "^1.0.0"
+ rimraf "^2.2.8"
+
fs-extra@^4.0.2:
version "4.0.3"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94"
@@ -8075,6 +8210,11 @@ graceful-fs@^4.1.4:
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb"
integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==
+graceful-fs@^4.1.9:
+ version "4.2.9"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96"
+ integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==
+
graceful-fs@^4.2.2:
version "4.2.3"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423"
@@ -8265,6 +8405,14 @@ hash-sum@^2.0.0:
resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-2.0.0.tgz#81d01bb5de8ea4a214ad5d6ead1b523460b0b45a"
integrity sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==
+hash.js@1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846"
+ integrity sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==
+ dependencies:
+ inherits "^2.0.3"
+ minimalistic-assert "^1.0.0"
+
hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7:
version "1.1.7"
resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42"
@@ -8502,6 +8650,11 @@ ieee754@^1.1.13, ieee754@^1.1.4:
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==
+ieee754@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
+ integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
+
iferr@^0.1.5:
version "0.1.5"
resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501"
@@ -8539,6 +8692,11 @@ immediate@^3.2.3:
resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.3.0.tgz#1aef225517836bcdf7f2a2de2600c79ff0269266"
integrity sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==
+immediate@~3.0.5:
+ version "3.0.6"
+ resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b"
+ integrity sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=
+
immutable@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.0.0.tgz#b86f78de6adef3608395efb269a91462797e2c23"
@@ -8718,6 +8876,11 @@ invariant@^2.2.2, invariant@^2.2.4:
dependencies:
loose-envify "^1.0.0"
+invert-kv@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
+ integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY=
+
invert-kv@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02"
@@ -9199,6 +9362,11 @@ is-typedarray@1.0.0, is-typedarray@^1.0.0, is-typedarray@~1.0.0:
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
+is-utf8@^0.2.0:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
+ integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=
+
is-weakref@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2"
@@ -9684,16 +9852,16 @@ js-beautify@^1.6.14:
mkdirp "~0.5.1"
nopt "~4.0.1"
+js-sha3@0.5.7, js-sha3@^0.5.7:
+ version "0.5.7"
+ resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7"
+ integrity sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=
+
js-sha3@0.8.0, js-sha3@^0.8.0:
version "0.8.0"
resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840"
integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==
-js-sha3@^0.5.7:
- version "0.5.7"
- resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7"
- integrity sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=
-
"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
@@ -9879,6 +10047,13 @@ json5@^2.1.2:
dependencies:
minimist "^1.2.5"
+jsonfile@^2.1.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8"
+ integrity sha1-NzaitCi4e72gzIO1P6PWM6NcKug=
+ optionalDependencies:
+ graceful-fs "^4.1.6"
+
jsonfile@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
@@ -9913,6 +10088,16 @@ jsprim@^1.2.2:
json-schema "0.2.3"
verror "1.10.0"
+jszip@^3.5.0:
+ version "3.5.0"
+ resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.5.0.tgz#b4fd1f368245346658e781fec9675802489e15f6"
+ integrity sha512-WRtu7TPCmYePR1nazfrtuF216cIVon/3GWOvHS9QR5bIwSbnxtdpma6un3jyGGNhHsKCSzn5Ypk+EkDRvTGiFA==
+ dependencies:
+ lie "~3.3.0"
+ pako "~1.0.2"
+ readable-stream "~2.3.6"
+ set-immediate-shim "~1.0.1"
+
keccak@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/keccak/-/keccak-2.1.0.tgz#734ea53f2edcfd0f42cdb8d5f4c358fef052752b"
@@ -9968,6 +10153,13 @@ kind-of@^6.0.0, kind-of@^6.0.2:
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051"
integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==
+klaw@^1.0.0:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439"
+ integrity sha1-QIhDO0azsbolnXh4XY6W9zugJDk=
+ optionalDependencies:
+ graceful-fs "^4.1.9"
+
kleur@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e"
@@ -10003,6 +10195,13 @@ launch-editor@^2.2.1:
chalk "^2.3.0"
shell-quote "^1.6.1"
+lcid@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
+ integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=
+ dependencies:
+ invert-kv "^1.0.0"
+
lcid@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf"
@@ -10078,6 +10277,24 @@ levn@^0.3.0, levn@~0.3.0:
prelude-ls "~1.1.2"
type-check "~0.3.2"
+lie@~3.3.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a"
+ integrity sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==
+ dependencies:
+ immediate "~3.0.5"
+
+load-json-file@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
+ integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=
+ dependencies:
+ graceful-fs "^4.1.2"
+ parse-json "^2.2.0"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+ strip-bom "^2.0.0"
+
load-json-file@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8"
@@ -10166,6 +10383,11 @@ lodash._reinterpolate@^3.0.0:
resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=
+lodash.assign@^4.0.3, lodash.assign@^4.0.6:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7"
+ integrity sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=
+
lodash.camelcase@^4.1.1:
version "4.3.0"
resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
@@ -10450,6 +10672,11 @@ memory-fs@^0.5.0:
errno "^0.1.3"
readable-stream "^2.0.1"
+memorystream@^0.3.1:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2"
+ integrity sha1-htcJCzDORV1j+64S3aUaR93K+bI=
+
merge-descriptors@1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
@@ -10898,6 +11125,11 @@ nan@^2.14.0:
resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee"
integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==
+nano-base32@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/nano-base32/-/nano-base32-1.0.1.tgz#ba548c879efcfb90da1c4d9e097db4a46c9255ef"
+ integrity sha1-ulSMh578+5DaHE2eCX20pGySVe8=
+
nano-json-stream-parser@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz#0cc8f6d0e2b622b479c40d499c46d64b755c6f5f"
@@ -11516,6 +11748,13 @@ os-homedir@^1.0.0:
resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M=
+os-locale@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9"
+ integrity sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=
+ dependencies:
+ lcid "^1.0.0"
+
os-locale@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a"
@@ -11665,6 +11904,11 @@ package-json@^4.0.0:
registry-url "^3.0.3"
semver "^5.1.0"
+pako@~1.0.2:
+ version "1.0.11"
+ resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf"
+ integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==
+
pako@~1.0.5:
version "1.0.10"
resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732"
@@ -11859,6 +12103,15 @@ path-to-regexp@0.1.7:
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=
+path-type@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
+ integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=
+ dependencies:
+ graceful-fs "^4.1.2"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+
path-type@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73"
@@ -13081,6 +13334,14 @@ read-cache@^1.0.0:
dependencies:
pify "^2.3.0"
+read-pkg-up@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
+ integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=
+ dependencies:
+ find-up "^1.0.0"
+ read-pkg "^1.0.0"
+
read-pkg-up@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be"
@@ -13097,6 +13358,15 @@ read-pkg-up@^4.0.0:
find-up "^3.0.0"
read-pkg "^3.0.0"
+read-pkg@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
+ integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=
+ dependencies:
+ load-json-file "^1.0.0"
+ normalize-package-data "^2.3.2"
+ path-type "^1.0.0"
+
read-pkg@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8"
@@ -13465,6 +13735,11 @@ require-directory@^2.1.1:
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
+require-from-string@^1.1.0:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-1.2.1.tgz#529c9ccef27380adfec9a2f965b649bbee636418"
+ integrity sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=
+
require-main-filename@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
@@ -13583,14 +13858,19 @@ rimraf@2.6.3:
dependencies:
glob "^7.1.3"
-rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3, rimraf@^2.7.1:
+rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3, rimraf@^2.7.1:
version "2.7.1"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
dependencies:
glob "^7.1.3"
-ripemd160@^2.0.0, ripemd160@^2.0.1:
+ripemd160-min@0.0.6:
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/ripemd160-min/-/ripemd160-min-0.0.6.tgz#a904b77658114474d02503e819dcc55853b67e62"
+ integrity sha512-+GcJgQivhs6S9qvLogusiTcS9kQUfgR75whKuy5jIhuiOfQuJ8fjqxV6EGD5duH1Y/FawFUMtMhyeq3Fbnib8A==
+
+ripemd160@^2.0.0, ripemd160@^2.0.1, ripemd160@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c"
integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==
@@ -13777,6 +14057,11 @@ schema-utils@^3.0.0:
ajv "^6.12.5"
ajv-keywords "^3.5.2"
+scrypt-js@2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-2.0.4.tgz#32f8c5149f0797672e551c07e230f834b6af5f16"
+ integrity sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==
+
scrypt-js@3.0.1, scrypt-js@^3.0.0, scrypt-js@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312"
@@ -13947,7 +14232,7 @@ set-blocking@^2.0.0, set-blocking@~2.0.0:
resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
-set-immediate-shim@^1.0.1:
+set-immediate-shim@^1.0.1, set-immediate-shim@~1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61"
integrity sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=
@@ -13962,6 +14247,11 @@ set-value@^2.0.0, set-value@^2.0.1:
is-plain-object "^2.0.3"
split-string "^3.0.1"
+setimmediate@1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.4.tgz#20e81de622d4a02588ce0c8da8973cbcf1d3138f"
+ integrity sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48=
+
setimmediate@^1.0.4, setimmediate@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
@@ -13985,6 +14275,13 @@ sha.js@^2.4.0, sha.js@^2.4.8:
inherits "^2.0.1"
safe-buffer "^5.0.1"
+sha3@^2.1.1:
+ version "2.1.4"
+ resolved "https://registry.yarnpkg.com/sha3/-/sha3-2.1.4.tgz#000fac0fe7c2feac1f48a25e7a31b52a6492cc8f"
+ integrity sha512-S8cNxbyb0UGUM2VhRD4Poe5N58gJnJsLJ5vC7FYWGUmGhcsj4++WaIOBFVDxlG0W3To6xBuiRh+i0Qp2oNCOtg==
+ dependencies:
+ buffer "6.0.3"
+
shallow-clone@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3"
@@ -14146,6 +14443,17 @@ snapdragon@^0.8.1:
keccak "^2.0.0"
yargs "^12.0.5"
+solc@^0.4.20:
+ version "0.4.26"
+ resolved "https://registry.yarnpkg.com/solc/-/solc-0.4.26.tgz#5390a62a99f40806b86258c737c1cf653cc35cb5"
+ integrity sha512-o+c6FpkiHd+HPjmjEVpQgH7fqZ14tJpXhho+/bQXlXbliLIS/xjXb42Vxh+qQY1WCSTMQ0+a5vR9vi0MfhU6mA==
+ dependencies:
+ fs-extra "^0.30.0"
+ memorystream "^0.3.1"
+ require-from-string "^1.1.0"
+ semver "^5.3.0"
+ yargs "^4.7.1"
+
sort-keys@^1.0.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad"
@@ -14513,6 +14821,13 @@ strip-ansi@^6.0.0:
dependencies:
ansi-regex "^5.0.0"
+strip-bom@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
+ integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=
+ dependencies:
+ is-utf8 "^0.2.0"
+
strip-bom@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
@@ -14756,6 +15071,11 @@ test-exclude@^5.2.3:
read-pkg-up "^4.0.0"
require-main-filename "^2.0.0"
+testrpc@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/testrpc/-/testrpc-0.0.1.tgz#83e2195b1f5873aec7be1af8cbe6dcf39edb7aed"
+ integrity sha512-afH1hO+SQ/VPlmaLUFj2636QMeDvPCeQMc/9RBMW0IfjNe9gFD9Ra3ShqYkB7py0do1ZcCna/9acHyzTJ+GcNA==
+
text-table@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
@@ -15349,6 +15669,11 @@ utils-merge@1.0.1:
resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=
+uuid@2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.1.tgz#c2a30dedb3e535d72ccf82e343941a50ba8533ac"
+ integrity sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=
+
uuid@3.3.2:
version "3.3.2"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131"
@@ -16066,7 +16391,7 @@ web3-utils@1.5.2:
randombytes "^2.1.0"
utf8 "3.0.0"
-web3-utils@1.7.1, web3-utils@^1.3.0:
+web3-utils@1.7.1, web3-utils@^1.0.0-beta.31, web3-utils@^1.3.0:
version "1.7.1"
resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.7.1.tgz#77d8bacaf426c66027d8aa4864d77f0ed211aacd"
integrity sha512-fef0EsqMGJUgiHPdX+KN9okVWshbIumyJPmR+btnD1HgvoXijKEkuKBv0OmUqjbeqmLKP2/N9EiXKJel5+E1Dw==
@@ -16291,6 +16616,11 @@ which-boxed-primitive@^1.0.2:
is-string "^1.0.5"
is-symbol "^1.0.3"
+which-module@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f"
+ integrity sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=
+
which-module@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
@@ -16343,6 +16673,11 @@ widest-line@^3.1.0:
dependencies:
string-width "^4.0.0"
+window-size@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075"
+ integrity sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=
+
wordwrap@~0.0.2:
version "0.0.3"
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
@@ -16525,6 +16860,11 @@ xmldom@^0.1.22:
resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.31.tgz#b76c9a1bd9f0a9737e5a72dc37231cf38375e2ff"
integrity sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ==
+xmlhttprequest@1.8.0:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc"
+ integrity sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw=
+
xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0, xtend@~4.0.1:
version "4.0.2"
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
@@ -16544,6 +16884,11 @@ xxhashjs@^0.2.1:
dependencies:
cuint "^0.2.2"
+y18n@^3.2.1:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.2.tgz#85c901bd6470ce71fc4bb723ad209b70f7f28696"
+ integrity sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==
+
"y18n@^3.2.1 || ^4.0.0":
version "4.0.3"
resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf"
@@ -16603,6 +16948,14 @@ yargs-parser@^13.1.2:
camelcase "^5.0.0"
decamelize "^1.2.0"
+yargs-parser@^2.4.1:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-2.4.1.tgz#85568de3cf150ff49fa51825f03a8c880ddcc5c4"
+ integrity sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=
+ dependencies:
+ camelcase "^3.0.0"
+ lodash.assign "^4.0.6"
+
yargs@^12.0.5:
version "12.0.5"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13"
@@ -16653,6 +17006,26 @@ yargs@^13.3.0:
y18n "^4.0.0"
yargs-parser "^13.1.1"
+yargs@^4.7.1:
+ version "4.8.1"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-4.8.1.tgz#c0c42924ca4aaa6b0e6da1739dfb216439f9ddc0"
+ integrity sha1-wMQpJMpKqmsObaFznfshZDn53cA=
+ dependencies:
+ cliui "^3.2.0"
+ decamelize "^1.1.1"
+ get-caller-file "^1.0.1"
+ lodash.assign "^4.0.3"
+ os-locale "^1.4.0"
+ read-pkg-up "^1.0.1"
+ require-directory "^2.1.1"
+ require-main-filename "^1.0.1"
+ set-blocking "^2.0.0"
+ string-width "^1.0.1"
+ which-module "^1.0.0"
+ window-size "^0.2.0"
+ y18n "^3.2.1"
+ yargs-parser "^2.4.1"
+
zen-observable@^0.8.14:
version "0.8.15"
resolved "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15"