diff --git a/README.md b/README.md index 0013d22e..829bcb71 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,6 @@ Create the databases for the watchers: ``` createdb erc20-watcher -createdb address-watcher createdb uni-watcher createdb uni-info-watcher ``` @@ -63,7 +62,6 @@ Create the databases for the job queues and enable the `pgcrypto` extension on t ``` createdb erc20-watcher-job-queue -createdb address-watcher-job-queue createdb uni-watcher-job-queue createdb uni-info-watcher-job-queue ``` @@ -80,18 +78,6 @@ CREATE EXTENSION erc20-watcher-job-queue=# exit ``` -``` -postgres@tesla:~$ psql -U postgres -h localhost address-watcher-job-queue -Password for user postgres: -psql (12.7 (Ubuntu 12.7-1.pgdg18.04+1)) -SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off) -Type "help" for help. - -address-watcher-job-queue=# CREATE EXTENSION pgcrypto; -CREATE EXTENSION -address-watcher-job-queue=# exit -``` - ``` postgres@tesla:~$ psql -U postgres -h localhost uni-watcher-job-queue Password for user postgres: diff --git a/packages/address-watcher/.eslintignore b/packages/address-watcher/.eslintignore deleted file mode 100644 index 653874b5..00000000 --- a/packages/address-watcher/.eslintignore +++ /dev/null @@ -1,5 +0,0 @@ -# Don't lint node_modules. -node_modules - -# Don't lint build output. -dist diff --git a/packages/address-watcher/.eslintrc.json b/packages/address-watcher/.eslintrc.json deleted file mode 100644 index 476d529d..00000000 --- a/packages/address-watcher/.eslintrc.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "env": { - "browser": true, - "es2021": true - }, - "extends": [ - "semistandard", - "plugin:@typescript-eslint/recommended" - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { - "ecmaVersion": 12, - "sourceType": "module" - }, - "plugins": [ - "@typescript-eslint" - ], - "rules": { - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/explicit-module-boundary-types": [ - "warn", - { - "allowArgumentsExplicitlyTypedAsAny": true - } - ] - } -} diff --git a/packages/address-watcher/.gitignore b/packages/address-watcher/.gitignore deleted file mode 100644 index b3ab1ae4..00000000 --- a/packages/address-watcher/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -.idea/ -.vscode/ -node_modules/ -build/ -tmp/ -temp/ \ No newline at end of file diff --git a/packages/address-watcher/README.md b/packages/address-watcher/README.md deleted file mode 100644 index ee2e4203..00000000 --- a/packages/address-watcher/README.md +++ /dev/null @@ -1,80 +0,0 @@ -# Address Watcher - -## Setup - -Create a postgres12 database for the job queue: - -``` -sudo su - postgres -createdb address-watcher-job-queue -``` - -Enable the `pgcrypto` extension on the job queue database (https://github.com/timgit/pg-boss/blob/master/docs/usage.md#intro). - -Example: - -``` -postgres@tesla:~$ psql -U postgres -h localhost address-watcher-job-queue -Password for user postgres: -psql (12.7 (Ubuntu 12.7-1.pgdg18.04+1)) -SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off) -Type "help" for help. - -address-watcher-job-queue=# CREATE EXTENSION pgcrypto; -CREATE EXTENSION -address-watcher-job-queue=# exit -``` - -Create a postgres12 database for the address watcher: - -``` -sudo su - postgres -createdb address-watcher -``` - -Update `environments/local.toml` with database connection settings for both the databases. - -Update the `upstream` config in `environments/local.toml` and provide the `ipld-eth-server` GQL API and the tracing API (`debug_traceTransaction` RPC provider) endpoints. - -## Run - -Run the following scripts in different terminals. - -Build files: - -``` -yarn build -``` - -GQL server: - -``` -yarn server - -# For development. -yarn server:dev - -# For specifying config file. -yarn server -f environments/local.toml -``` - -Job runner for processing the tracing requests queue: - -``` -yarn job-runner - -# For development. -yarn job-runner:dev - -# For specifying config file. -yarn job-runner -f environments/local.toml -``` - -To fill a block range: - -``` -yarn fill --start-block 1 --end-block 1000 - -# For specifying config file. -yarn fill -f environments/local.toml --start-block 1 --end-block 1000 -``` diff --git a/packages/address-watcher/environments/local.toml b/packages/address-watcher/environments/local.toml deleted file mode 100644 index 363b83ff..00000000 --- a/packages/address-watcher/environments/local.toml +++ /dev/null @@ -1,28 +0,0 @@ -[server] - host = "127.0.0.1" - port = 3002 - -[database] - type = "postgres" - host = "localhost" - port = 5432 - database = "address-watcher" - username = "postgres" - password = "postgres" - synchronize = true - logging = false - -[upstream] - traceProviderEndpoint = "http://127.0.0.1:8545" - - [upstream.ethServer] - gqlApiEndpoint = "http://127.0.0.1:8082/graphql" - - [upstream.cache] - name = "requests" - enabled = false - deleteOnStart = false - -[jobQueue] - dbConnectionString = "postgres://postgres:postgres@localhost/address-watcher-job-queue" - maxCompletionLagInSecs = 300 diff --git a/packages/address-watcher/package.json b/packages/address-watcher/package.json deleted file mode 100644 index 0f859076..00000000 --- a/packages/address-watcher/package.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "name": "@vulcanize/address-watcher", - "version": "0.1.0", - "description": "Address Watcher", - "private": true, - "scripts": { - "lint": "eslint .", - "test": "mocha -r ts-node/register src/**/*.test.ts", - "build": "tsc", - "server": "DEBUG=vulcanize:* node --enable-source-maps dist/server.js", - "server:dev": "DEBUG=vulcanize:* nodemon --watch src src/server.ts", - "job-runner": "DEBUG=vulcanize:* node --enable-source-maps dist/job-runner.js", - "job-runner:dev": "DEBUG=vulcanize:* nodemon --watch src src/job-runner.ts", - "fill": "DEBUG=vulcanize:* node --enable-source-maps dist/fill.js", - "fill:dev": "DEBUG=vulcanize:* ts-node src/fill.ts" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/vulcanize/watcher-ts.git" - }, - "author": "", - "license": "AGPL-3.0", - "bugs": { - "url": "https://github.com/vulcanize/watcher-ts/issues" - }, - "homepage": "https://github.com/vulcanize/watcher-ts#readme", - "dependencies": { - "@apollo/client": "^3.3.19", - "@types/lodash": "^4.14.168", - "@vulcanize/cache": "^0.1.0", - "@vulcanize/ipld-eth-client": "^0.1.0", - "@vulcanize/solidity-mapper": "^0.1.0", - "@vulcanize/tracing-client": "^0.1.0", - "@vulcanize/util": "^0.1.0", - "apollo-server-express": "^2.25.0", - "debug": "^4.3.1", - "ethers": "^5.2.0", - "express": "^4.17.1", - "graphql": "^15.5.0", - "lodash": "^4.17.21", - "reflect-metadata": "^0.1.13", - "typeorm": "^0.2.32", - "typeorm-naming-strategies": "^2.0.0", - "yargs": "^17.0.1" - }, - "devDependencies": { - "@ethersproject/abi": "^5.3.0", - "@types/chai": "^4.2.19", - "@types/express": "^4.17.11", - "@types/mocha": "^8.2.2", - "@types/yargs": "^17.0.0", - "@typescript-eslint/eslint-plugin": "^4.25.0", - "@typescript-eslint/parser": "^4.25.0", - "chai": "^4.3.4", - "eslint": "^7.27.0", - "eslint-config-semistandard": "^15.0.1", - "eslint-config-standard": "^16.0.3", - "eslint-plugin-import": "^2.23.3", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^5.1.0", - "eslint-plugin-standard": "^5.0.0", - "mocha": "^8.4.0", - "nodemon": "^2.0.7" - } -} diff --git a/packages/address-watcher/src/cli/watch-address.ts b/packages/address-watcher/src/cli/watch-address.ts deleted file mode 100644 index d278dbb0..00000000 --- a/packages/address-watcher/src/cli/watch-address.ts +++ /dev/null @@ -1,51 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import assert from 'assert'; -import yargs from 'yargs'; -import 'reflect-metadata'; -import { ethers } from 'ethers'; - -import { Config, DEFAULT_CONFIG_PATH, getConfig } from '@vulcanize/util'; - -import { Database } from '../database'; - -(async () => { - const argv = await yargs.parserConfiguration({ - 'parse-numbers': false - }).options({ - configFile: { - type: 'string', - require: true, - demandOption: true, - describe: 'configuration file path (toml)', - default: DEFAULT_CONFIG_PATH - }, - address: { - type: 'string', - require: true, - demandOption: true, - describe: 'Address to watch' - }, - startingBlock: { - type: 'number', - default: 1, - describe: 'Starting block' - } - }).argv; - - const config: Config = await getConfig(argv.configFile); - const { database: dbConfig } = config; - - assert(dbConfig); - - const db = new Database(dbConfig); - await db.init(); - - // Always use the checksum address (https://docs.ethers.io/v5/api/utils/address/#utils-getAddress). - const address = ethers.utils.getAddress(argv.address); - - await db.saveAccount(address, argv.startingBlock); - await db.close(); -})(); diff --git a/packages/address-watcher/src/database.ts b/packages/address-watcher/src/database.ts deleted file mode 100644 index 5231cd08..00000000 --- a/packages/address-watcher/src/database.ts +++ /dev/null @@ -1,141 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import assert from 'assert'; -import { Connection, ConnectionOptions, createConnection, DeepPartial } from 'typeorm'; -import { SnakeNamingStrategy } from 'typeorm-naming-strategies'; -import path from 'path'; - -import { Account } from './entity/Account'; -import { BlockProgress } from './entity/BlockProgress'; -import { Trace } from './entity/Trace'; - -export class Database { - _config: ConnectionOptions - _conn!: Connection - - constructor (config: ConnectionOptions) { - assert(config); - - this._config = { - ...config, - entities: [path.join(__dirname, 'entity/*')] - }; - } - - async init (): Promise { - assert(!this._conn); - - this._conn = await createConnection({ - ...this._config, - namingStrategy: new SnakeNamingStrategy() - }); - } - - async close (): Promise { - return this._conn.close(); - } - - async isWatchedAddress (address: string): Promise { - const numRows = await this._conn.getRepository(Account) - .createQueryBuilder() - .where('address = :address', { address }) - .getCount(); - - return numRows > 0; - } - - async saveAccount (address: string, startingBlock: number): Promise { - await this._conn.transaction(async (tx) => { - const repo = tx.getRepository(Account); - - const numRows = await repo - .createQueryBuilder() - .where('address = :address', { address }) - .getCount(); - - if (numRows === 0) { - const entity = repo.create({ address, startingBlock }); - await repo.save(entity); - } - }); - } - - async getAccount (address: string): Promise { - return this._conn.getRepository(Account) - .createQueryBuilder() - .where('address = :address', { address }) - .getOne(); - } - - async getTrace (txHash: string): Promise { - const repo = this._conn.getRepository(Trace); - return repo.findOne({ where: { txHash } }); - } - - async saveTrace ({ txHash, blockNumber, blockHash, trace }: DeepPartial): Promise { - await this._conn.transaction(async (tx) => { - const repo = tx.getRepository(Trace); - - const numRows = await repo - .createQueryBuilder() - .where('tx_hash = :txHash', { txHash }) - .getCount(); - - if (numRows === 0) { - const entity = repo.create({ txHash, blockNumber, blockHash, trace }); - await repo.save(entity); - } - }); - } - - async saveTraceEntity (trace: Trace): Promise { - const repo = this._conn.getRepository(Trace); - return repo.save(trace); - } - - async getAppearances (address: string, fromBlockNumber: number, toBlockNumber: number): Promise { - return this._conn.getRepository(Trace) - .createQueryBuilder('trace') - .leftJoinAndSelect('trace.accounts', 'account') - .where('address = :address AND block_number >= :fromBlockNumber AND block_number <= :toBlockNumber', { address, fromBlockNumber, toBlockNumber }) - .orderBy({ block_number: 'ASC' }) - .getMany(); - } - - async getBlockProgress (blockHash: string): Promise { - const repo = this._conn.getRepository(BlockProgress); - return repo.findOne({ where: { blockHash } }); - } - - async initBlockProgress (blockHash: string, blockNumber: number, numTx: number): Promise { - await this._conn.transaction(async (tx) => { - const repo = tx.getRepository(BlockProgress); - - const numRows = await repo - .createQueryBuilder() - .where('block_hash = :blockHash', { blockHash }) - .getCount(); - - if (numRows === 0) { - const entity = repo.create({ blockHash, blockNumber, numTx, numTracedTx: 0, isComplete: (numTx === 0) }); - await repo.save(entity); - } - }); - } - - async updateBlockProgress (blockHash: string): Promise { - await this._conn.transaction(async (tx) => { - const repo = tx.getRepository(BlockProgress); - const entity = await repo.findOne({ where: { blockHash } }); - if (entity && !entity.isComplete) { - entity.numTracedTx++; - if (entity.numTracedTx >= entity.numTx) { - entity.isComplete = true; - } - await repo.save(entity); - } - }); - } -} diff --git a/packages/address-watcher/src/entity/Account.ts b/packages/address-watcher/src/entity/Account.ts deleted file mode 100644 index 86e0731c..00000000 --- a/packages/address-watcher/src/entity/Account.ts +++ /dev/null @@ -1,19 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import { Entity, PrimaryColumn, Column, ManyToMany, JoinTable } from 'typeorm'; -import { Trace } from './Trace'; - -@Entity() -export class Account { - @PrimaryColumn('varchar', { length: 42 }) - address!: string; - - @Column('integer') - startingBlock!: number; - - @ManyToMany(() => Trace, trace => trace.accounts) - @JoinTable() - appearances: Trace[]; -} diff --git a/packages/address-watcher/src/entity/BlockProgress.ts b/packages/address-watcher/src/entity/BlockProgress.ts deleted file mode 100644 index d865a264..00000000 --- a/packages/address-watcher/src/entity/BlockProgress.ts +++ /dev/null @@ -1,24 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; - -@Entity() -@Index(['blockNumber']) -export class BlockProgress { - @PrimaryColumn('varchar', { length: 66 }) - blockHash!: string; - - @Column('integer') - blockNumber!: number; - - @Column('integer') - numTx!: number; - - @Column('integer') - numTracedTx!: number; - - @Column('boolean') - isComplete!: boolean -} diff --git a/packages/address-watcher/src/entity/Trace.ts b/packages/address-watcher/src/entity/Trace.ts deleted file mode 100644 index 49b36655..00000000 --- a/packages/address-watcher/src/entity/Trace.ts +++ /dev/null @@ -1,27 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import { Entity, PrimaryColumn, Column, Index, ManyToMany } from 'typeorm'; - -import { Account } from './Account'; - -@Entity() -@Index(['txHash'], { unique: true }) -@Index(['blockNumber']) -export class Trace { - @PrimaryColumn('varchar', { length: 66 }) - txHash!: string; - - @Column('integer') - blockNumber!: number; - - @Column('varchar', { length: 66 }) - blockHash!: string; - - @Column('text') - trace!: string; - - @ManyToMany(() => Account, account => account.appearances, { eager: true, cascade: ['insert'] }) - accounts: Account[] -} diff --git a/packages/address-watcher/src/fill.ts b/packages/address-watcher/src/fill.ts deleted file mode 100644 index c1af472d..00000000 --- a/packages/address-watcher/src/fill.ts +++ /dev/null @@ -1,108 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import assert from 'assert'; -import 'reflect-metadata'; -import yargs from 'yargs'; -import { hideBin } from 'yargs/helpers'; -import debug from 'debug'; - -import { getCache } from '@vulcanize/cache'; -import { EthClient } from '@vulcanize/ipld-eth-client'; -import { DEFAULT_CONFIG_PATH, getConfig, JobQueue } from '@vulcanize/util'; - -import { Database } from './database'; -import { QUEUE_TX_TRACING } from './tx-watcher'; - -const log = debug('vulcanize:server'); - -export const main = async (): Promise => { - const argv = await yargs(hideBin(process.argv)).parserConfiguration({ - 'parse-numbers': false - }).options({ - configFile: { - alias: 'f', - type: 'string', - require: true, - demandOption: true, - describe: 'configuration file path (toml)', - default: DEFAULT_CONFIG_PATH - }, - startBlock: { - type: 'number', - require: true, - demandOption: true, - describe: 'Block number to start processing at' - }, - endBlock: { - type: 'number', - require: true, - demandOption: true, - describe: 'Block number to stop processing at' - } - }).argv; - - const config = await getConfig(argv.configFile); - - assert(config.server, 'Missing server config'); - - const { upstream, database: dbConfig, jobQueue: jobQueueConfig } = config; - - assert(dbConfig, 'Missing database config'); - - const db = new Database(dbConfig); - await db.init(); - - assert(upstream, 'Missing upstream config'); - const { ethServer: { gqlApiEndpoint }, traceProviderEndpoint, cache: cacheConfig } = upstream; - assert(gqlApiEndpoint, 'Missing upstream ethServer.gqlApiEndpoint'); - assert(traceProviderEndpoint, 'Missing upstream traceProviderEndpoint'); - - const cache = await getCache(cacheConfig); - const ethClient = new EthClient({ - gqlEndpoint: gqlApiEndpoint, - cache - }); - - assert(jobQueueConfig, 'Missing job queue config'); - - const { dbConnectionString, maxCompletionLagInSecs } = jobQueueConfig; - assert(dbConnectionString, 'Missing job queue db connection string'); - - const jobQueue = new JobQueue({ dbConnectionString, maxCompletionLag: maxCompletionLagInSecs }); - await jobQueue.start(); - - for (let blockNumber = argv.startBlock; blockNumber <= argv.endBlock; blockNumber++) { - log(`Fill block ${blockNumber}`); - - // TODO: Add pause between requests so as to not overwhelm the upsteam server. - const result = await ethClient.getBlockWithTransactions({ blockNumber }); - const { allEthHeaderCids: { nodes: blockNodes } } = result; - for (let bi = 0; bi < blockNodes.length; bi++) { - const { blockHash, ethTransactionCidsByHeaderId: { nodes: txNodes } } = blockNodes[bi]; - const blockProgress = await db.getBlockProgress(blockHash); - if (blockProgress) { - log(`Block number ${blockNumber}, block hash ${blockHash} already known, skip filling`); - } else { - await db.initBlockProgress(blockHash, blockNumber, txNodes.length); - - for (let ti = 0; ti < txNodes.length; ti++) { - const { txHash } = txNodes[ti]; - log(`Filling block number ${blockNumber}, block hash ${blockHash}, tx hash ${txHash}`); - - // Never push appearances from fill jobs to GQL subscribers, as this command can be run multiple times - // for the same block range, and/or process the same block in multiple different runs spread over a - // period of time. Also, the tx's are probably too old anyway for publishing. - await jobQueue.pushJob(QUEUE_TX_TRACING, { txHash, blockHash, publish: false, publishBlockProgress: true }); - } - } - } - } -}; - -main().then(() => { - process.exit(); -}).catch(err => { - log(err); -}); diff --git a/packages/address-watcher/src/indexer.ts b/packages/address-watcher/src/indexer.ts deleted file mode 100644 index c99cd1b2..00000000 --- a/packages/address-watcher/src/indexer.ts +++ /dev/null @@ -1,111 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import assert from 'assert'; -import debug from 'debug'; -import { ethers } from 'ethers'; - -import { EthClient } from '@vulcanize/ipld-eth-client'; -import { GetStorageAt } from '@vulcanize/solidity-mapper'; -import { TracingClient } from '@vulcanize/tracing-client'; - -import { addressesInTrace } from './util'; -import { Database } from './database'; -import { Trace } from './entity/Trace'; -import { Account } from './entity/Account'; -import { BlockProgress } from './entity/BlockProgress'; - -const log = debug('vulcanize:indexer'); - -export class Indexer { - _db: Database - _ethClient: EthClient - _getStorageAt: GetStorageAt - _tracingClient: TracingClient - - constructor (db: Database, ethClient: EthClient, tracingClient: TracingClient) { - assert(db); - assert(ethClient); - assert(tracingClient); - - this._db = db; - this._ethClient = ethClient; - this._tracingClient = tracingClient; - this._getStorageAt = this._ethClient.getStorageAt.bind(this._ethClient); - } - - async isWatchedAddress (address : string): Promise { - assert(address); - - return this._db.isWatchedAddress(ethers.utils.getAddress(address)); - } - - async watchAddress (address: string, startingBlock: number): Promise { - // Always use the checksum address (https://docs.ethers.io/v5/api/utils/address/#utils-getAddress). - await this._db.saveAccount(ethers.utils.getAddress(address), startingBlock); - - return true; - } - - async getTrace (txHash: string): Promise { - return this._db.getTrace(txHash); - } - - async traceTxAndIndexAppearances (txHash: string): Promise { - let entity = await this._db.getTrace(txHash); - if (entity) { - log(`traceTx: db hit ${txHash}`); - } else { - log(`traceTx: db miss, fetching from tracing API server ${txHash}`); - - const tx = await this._tracingClient.getTx(txHash); - const trace = await this._tracingClient.getTxTrace(txHash, 'callTraceWithAddresses', '15s'); - - await this._db.saveTrace({ - txHash, - blockNumber: tx.blockNumber, - blockHash: tx.blockHash, - trace: JSON.stringify(trace) - }); - - entity = await this._db.getTrace(txHash); - - assert(entity); - await this._indexAppearances(entity); - } - - return entity; - } - - async getAppearances (address: string, fromBlockNumber: number, toBlockNumber: number): Promise { - return this._db.getAppearances(address, fromBlockNumber, toBlockNumber); - } - - async getBlockProgress (blockHash: string): Promise { - return this._db.getBlockProgress(blockHash); - } - - async updateBlockProgress (blockHash: string): Promise { - return this._db.updateBlockProgress(blockHash); - } - - async _indexAppearances (trace: Trace): Promise { - const traceObj = JSON.parse(trace.trace); - - // TODO: Check if tx has failed? - const addresses = addressesInTrace(traceObj); - - trace.accounts = addresses.map((address: string) => { - assert(address); - - const account = new Account(); - account.address = ethers.utils.getAddress(address); - account.startingBlock = trace.blockNumber; - - return account; - }); - - return await this._db.saveTraceEntity(trace); - } -} diff --git a/packages/address-watcher/src/job-runner.ts b/packages/address-watcher/src/job-runner.ts deleted file mode 100644 index 5506d6d5..00000000 --- a/packages/address-watcher/src/job-runner.ts +++ /dev/null @@ -1,78 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import assert from 'assert'; -import 'reflect-metadata'; -import yargs from 'yargs'; -import { hideBin } from 'yargs/helpers'; -import debug from 'debug'; - -import { getCache } from '@vulcanize/cache'; -import { EthClient } from '@vulcanize/ipld-eth-client'; -import { TracingClient } from '@vulcanize/tracing-client'; -import { getConfig, JobQueue, DEFAULT_CONFIG_PATH } from '@vulcanize/util'; - -import { Indexer } from './indexer'; -import { Database } from './database'; -import { QUEUE_TX_TRACING } from './tx-watcher'; - -const log = debug('vulcanize:server'); - -export const main = async (): Promise => { - const argv = await yargs(hideBin(process.argv)) - .option('f', { - alias: 'config-file', - demandOption: true, - describe: 'configuration file path (toml)', - type: 'string', - default: DEFAULT_CONFIG_PATH - }) - .argv; - - const config = await getConfig(argv.f); - - assert(config.server, 'Missing server config'); - - const { upstream, database: dbConfig, jobQueue: jobQueueConfig } = config; - - assert(dbConfig, 'Missing database config'); - - const db = new Database(dbConfig); - await db.init(); - - assert(upstream, 'Missing upstream config'); - const { ethServer: { gqlApiEndpoint }, traceProviderEndpoint, cache: cacheConfig } = upstream; - assert(gqlApiEndpoint, 'Missing upstream ethServer.gqlApiEndpoint'); - assert(traceProviderEndpoint, 'Missing upstream traceProviderEndpoint'); - - const cache = await getCache(cacheConfig); - const ethClient = new EthClient({ - gqlEndpoint: gqlApiEndpoint, - cache - }); - - const tracingClient = new TracingClient(traceProviderEndpoint); - - const indexer = new Indexer(db, ethClient, tracingClient); - - assert(jobQueueConfig, 'Missing job queue config'); - - const { dbConnectionString, maxCompletionLagInSecs } = jobQueueConfig; - assert(dbConnectionString, 'Missing job queue db connection string'); - - const jobQueue = new JobQueue({ dbConnectionString, maxCompletionLag: maxCompletionLagInSecs }); - await jobQueue.start(); - - await jobQueue.subscribe(QUEUE_TX_TRACING, async (job) => { - const { data: { txHash } } = job; - await indexer.traceTxAndIndexAppearances(txHash); - await jobQueue.markComplete(job); - }); -}; - -main().then(() => { - log('Starting job runner...'); -}).catch(err => { - log(err); -}); diff --git a/packages/address-watcher/src/resolvers.ts b/packages/address-watcher/src/resolvers.ts deleted file mode 100644 index eb78304d..00000000 --- a/packages/address-watcher/src/resolvers.ts +++ /dev/null @@ -1,73 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import debug from 'debug'; -import { withFilter } from 'apollo-server-express'; -import { ethers } from 'ethers'; - -import { Indexer } from './indexer'; -import { TxWatcher } from './tx-watcher'; - -const log = debug('vulcanize:resolver'); - -interface WatchAddressParams { - address: string, - startingBlock: number -} - -interface AppearanceParams { - address: string, - fromBlockNumber: number, - toBlockNumber: number -} - -export const createResolvers = async (indexer: Indexer, txWatcher: TxWatcher): Promise => { - return { - Subscription: { - onAddressEvent: { - subscribe: withFilter( - () => txWatcher.getAddressEventIterator(), - (payload: any, variables: any) => { - return payload.onAddressEvent.address === ethers.utils.getAddress(variables.address); - } - ) - }, - - onBlockProgressEvent: { - subscribe: () => txWatcher.getBlockProgressEventIterator() - } - }, - - Mutation: { - watchAddress: (_: any, { address, startingBlock = 1 }: WatchAddressParams): Promise => { - address = ethers.utils.getAddress(address); - - log('watchAddress', address, startingBlock); - return indexer.watchAddress(address, startingBlock); - } - }, - - Query: { - appearances: async (_: any, { address, fromBlockNumber, toBlockNumber }: AppearanceParams): Promise => { - address = ethers.utils.getAddress(address); - - log('appearances', address, fromBlockNumber, toBlockNumber); - return indexer.getAppearances(address, fromBlockNumber, toBlockNumber); - }, - - traceTx: async (_: any, { txHash }: { txHash: string }): Promise => { - log('traceTx', txHash); - - const { blockHash, blockNumber, trace } = await indexer.traceTxAndIndexAppearances(txHash); - - return { - txHash, - blockNumber, - blockHash, - trace - }; - } - } - }; -}; diff --git a/packages/address-watcher/src/schema.ts b/packages/address-watcher/src/schema.ts deleted file mode 100644 index 85fe6a3a..00000000 --- a/packages/address-watcher/src/schema.ts +++ /dev/null @@ -1,79 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import { gql } from '@apollo/client/core'; - -export default gql` -# Types - -type TxTrace { - txHash: String! - blockNumber: Int! - blockHash: String! - trace: String! -} - -# Watched address event, include additional context over and above the event data. -type WatchedAddressEvent { - address: String! - txTrace: TxTrace! -} - -type BlockProgressEvent { - blockNumber: Int! - blockHash: String! - numTx: Int! - numTracedTx: Int! - isComplete: Boolean! -} - -# -# Queries -# - -type Query { - - # - # Developer API methods - # - - appearances( - address: String! - fromBlockNumber: Int! - toBlockNumber: Int! - ): [TxTrace!] - - # - # Low level utility methods - # - - traceTx( - txHash: String! - ): TxTrace -} - -# -# Subscriptions -# -type Subscription { - - # Watch for address events (at head of chain). - onAddressEvent(address: String!): WatchedAddressEvent! - - # Watch for block progress events from filler process. - onBlockProgressEvent: BlockProgressEvent! -} - -# -# Mutations -# -type Mutation { - - # Actively watch and index data for the address. - watchAddress( - address: String! - startingBlock: Int - ): Boolean! -} -`; diff --git a/packages/address-watcher/src/server.ts b/packages/address-watcher/src/server.ts deleted file mode 100644 index 3d4245d6..00000000 --- a/packages/address-watcher/src/server.ts +++ /dev/null @@ -1,107 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import assert from 'assert'; -import 'reflect-metadata'; -import express, { Application } from 'express'; -import { ApolloServer, PubSub } from 'apollo-server-express'; -import yargs from 'yargs'; -import { hideBin } from 'yargs/helpers'; -import debug from 'debug'; -import { createServer } from 'http'; - -import { getCache } from '@vulcanize/cache'; -import { EthClient } from '@vulcanize/ipld-eth-client'; -import { TracingClient } from '@vulcanize/tracing-client'; -import { getConfig, JobQueue, DEFAULT_CONFIG_PATH } from '@vulcanize/util'; - -import typeDefs from './schema'; - -import { createResolvers } from './resolvers'; -import { Indexer } from './indexer'; -import { Database } from './database'; -import { TxWatcher } from './tx-watcher'; - -const log = debug('vulcanize:server'); - -export const main = async (): Promise => { - const argv = await yargs(hideBin(process.argv)) - .option('f', { - alias: 'config-file', - demandOption: true, - describe: 'configuration file path (toml)', - type: 'string', - default: DEFAULT_CONFIG_PATH - }) - .argv; - - const config = await getConfig(argv.f); - - assert(config.server, 'Missing server config'); - - const { host, port } = config.server; - - const { upstream, database: dbConfig, jobQueue: jobQueueConfig } = config; - - assert(dbConfig, 'Missing database config'); - - const db = new Database(dbConfig); - await db.init(); - - assert(upstream, 'Missing upstream config'); - const { ethServer: { gqlApiEndpoint }, traceProviderEndpoint, cache: cacheConfig } = upstream; - assert(gqlApiEndpoint, 'Missing upstream ethServer.gqlApiEndpoint'); - assert(traceProviderEndpoint, 'Missing upstream traceProviderEndpoint'); - - const cache = await getCache(cacheConfig); - const ethClient = new EthClient({ - gqlEndpoint: gqlApiEndpoint, - cache - }); - - const tracingClient = new TracingClient(traceProviderEndpoint); - - const indexer = new Indexer(db, ethClient, tracingClient); - - assert(jobQueueConfig, 'Missing job queue config'); - - const { dbConnectionString, maxCompletionLagInSecs } = jobQueueConfig; - assert(dbConnectionString, 'Missing job queue db connection string'); - assert(dbConnectionString, 'Missing job queue max completion lag time (seconds)'); - - const jobQueue = new JobQueue({ dbConnectionString, maxCompletionLag: maxCompletionLagInSecs }); - await jobQueue.start(); - - // Note: In-memory pubsub works fine for now, as each watcher is a single process anyway. - // Later: https://www.apollographql.com/docs/apollo-server/data/subscriptions/#production-pubsub-libraries - const pubsub = new PubSub(); - const txWatcher = new TxWatcher(ethClient, indexer, pubsub, jobQueue); - await txWatcher.start(); - - const resolvers = await createResolvers(indexer, txWatcher); - - const app: Application = express(); - const server = new ApolloServer({ - typeDefs, - resolvers - }); - - await server.start(); - server.applyMiddleware({ app }); - - const httpServer = createServer(app); - server.installSubscriptionHandlers(httpServer); - - httpServer.listen(port, host, () => { - log(`Server is listening on host ${host} port ${port}`); - }); - - return { app, server }; -}; - -main().then(() => { - log('Starting server...'); -}).catch(err => { - log(err); -}); diff --git a/packages/address-watcher/src/tx-watcher.ts b/packages/address-watcher/src/tx-watcher.ts deleted file mode 100644 index 65fa8eca..00000000 --- a/packages/address-watcher/src/tx-watcher.ts +++ /dev/null @@ -1,127 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import assert from 'assert'; -import debug from 'debug'; -import _ from 'lodash'; -import { PubSub } from 'apollo-server-express'; - -import { EthClient } from '@vulcanize/ipld-eth-client'; -import { JobQueue } from '@vulcanize/util'; - -import { Indexer } from './indexer'; -import { BlockProgress } from './entity/BlockProgress'; - -const log = debug('vulcanize:tx-watcher'); - -export const AddressEvent = 'address-event'; -export const BlockProgressEvent = 'block-progress-event'; -export const QUEUE_TX_TRACING = 'tx-tracing'; - -export class TxWatcher { - _ethClient: EthClient - _indexer: Indexer - _pubsub: PubSub - _watchTxSubscription: ZenObservable.Subscription | undefined - _jobQueue: JobQueue - - constructor (ethClient: EthClient, indexer: Indexer, pubsub: PubSub, jobQueue: JobQueue) { - this._ethClient = ethClient; - this._indexer = indexer; - this._pubsub = pubsub; - this._jobQueue = jobQueue; - } - - getAddressEventIterator (): AsyncIterator { - return this._pubsub.asyncIterator([AddressEvent]); - } - - getBlockProgressEventIterator (): AsyncIterator { - return this._pubsub.asyncIterator([BlockProgressEvent]); - } - - async start (): Promise { - assert(!this._watchTxSubscription, 'subscription already started'); - - log('Started watching upstream tx...'); - - this._jobQueue.onComplete(QUEUE_TX_TRACING, async (job) => { - const { data: { request, failed, state, createdOn } } = job; - - await this._indexer.updateBlockProgress(request.data.blockHash); - const blockProgress = await this._indexer.getBlockProgress(request.data.blockHash); - if (blockProgress && request.data.publishBlockProgress) { - await this.publishBlockProgressToSubscribers(blockProgress); - } - - const timeElapsedInSeconds = (Date.now() - Date.parse(createdOn)) / 1000; - log(`Job onComplete tx ${request.data.txHash} publish ${!!request.data.publish}`); - if (!failed && state === 'completed' && request.data.publish) { - // Check for max acceptable lag time between tracing request and sending results to live subscribers. - if (timeElapsedInSeconds <= this._jobQueue.maxCompletionLag) { - return await this.publishAddressEventToSubscribers(request.data.txHash, timeElapsedInSeconds); - } else { - log(`tx ${request.data.txHash} is too old (${timeElapsedInSeconds}s), not broadcasting to live subscribers`); - } - } - }); - - // TODO: Update to pull based watcher. - // this._watchTxSubscription = await this._ethClient.watchTransactions(async (value) => { - // const { txHash, ethHeaderCidByHeaderId: { blockHash, blockNumber } } = _.get(value, 'data.listen.relatedNode'); - // log('watchTransaction', JSON.stringify({ txHash, blockHash, blockNumber }, null, 2)); - // await this._jobQueue.pushJob(QUEUE_TX_TRACING, { txHash, blockHash, publish: true }); - // }); - } - - async publishAddressEventToSubscribers (txHash: string, timeElapsedInSeconds: number): Promise { - const traceObj = await this._indexer.getTrace(txHash); - if (!traceObj) { - return; - } - - const { blockNumber, blockHash, trace } = traceObj; - - for (let i = 0; i < traceObj.accounts.length; i++) { - const account = traceObj.accounts[i]; - - log(`publishing trace for ${txHash} (${timeElapsedInSeconds}s elapsed) to GQL subscribers for address ${account.address}`); - - // Publishing the event here will result in pushing the payload to GQL subscribers for `onAddressEvent(address)`. - await this._pubsub.publish(AddressEvent, { - onAddressEvent: { - address: account.address, - txTrace: { - txHash, - blockHash, - blockNumber, - trace - } - } - }); - } - } - - async publishBlockProgressToSubscribers (blockProgress: BlockProgress): Promise { - const { blockHash, blockNumber, numTx, numTracedTx, isComplete } = blockProgress; - - // Publishing the event here will result in pushing the payload to GQL subscribers for `onAddressEvent(address)`. - await this._pubsub.publish(BlockProgressEvent, { - onBlockProgressEvent: { - blockHash, - blockNumber, - numTx, - numTracedTx, - isComplete - } - }); - } - - async stop (): Promise { - if (this._watchTxSubscription) { - log('Stopped watching upstream tx'); - this._watchTxSubscription.unsubscribe(); - } - } -} diff --git a/packages/address-watcher/src/types/common/main.d.ts b/packages/address-watcher/src/types/common/main.d.ts deleted file mode 100644 index ceaf2626..00000000 --- a/packages/address-watcher/src/types/common/main.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -// https://medium.com/@steveruiz/using-a-javascript-library-without-type-declarations-in-a-typescript-project-3643490015f3 -declare module 'canonical-json' -declare module 'lodash-contrib'; diff --git a/packages/address-watcher/src/types/common/package.json b/packages/address-watcher/src/types/common/package.json deleted file mode 100644 index 5861d0f0..00000000 --- a/packages/address-watcher/src/types/common/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "common", - "version": "0.1.0", - "license": "AGPL-3.0", - "typings": "main.d.ts" -} diff --git a/packages/address-watcher/src/util.test.ts b/packages/address-watcher/src/util.test.ts deleted file mode 100644 index 3470bff0..00000000 --- a/packages/address-watcher/src/util.test.ts +++ /dev/null @@ -1,150 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import { describe, it } from 'mocha'; -import { expect } from 'chai'; - -import { addressesInTrace } from './util'; - -describe('addressInTrace', () => { - it('should parse an empty trace', () => { - const addresses = addressesInTrace({}); - expect(addresses).to.eql([]); - }); - - it('should parse an unnested trace', () => { - const addresses = addressesInTrace({ - from: '0xDC7d7A8920C8Eecc098da5B7522a5F31509b5Bfc', - to: '0xCA6D29232D1435D8198E3E5302495417dD073d61' - }); - - expect(addresses).to.eql([ - '0xCA6D29232D1435D8198E3E5302495417dD073d61', - '0xDC7d7A8920C8Eecc098da5B7522a5F31509b5Bfc' - ]); - }); - - it('should parse an unnested trace with an addresses field', () => { - const addresses = addressesInTrace({ - from: '0xDC7d7A8920C8Eecc098da5B7522a5F31509b5Bfc', - to: '0xCA6D29232D1435D8198E3E5302495417dD073d61', - addresses: { - '0x9273D9437B0bf2F1b7999d8dB72960d6379564d1': {}, - '0xd86fB467B78901310e9967A2C8B601A5E794c12C': {} - } - }); - - expect(addresses).to.eql([ - '0x9273D9437B0bf2F1b7999d8dB72960d6379564d1', - '0xCA6D29232D1435D8198E3E5302495417dD073d61', - '0xDC7d7A8920C8Eecc098da5B7522a5F31509b5Bfc', - '0xd86fB467B78901310e9967A2C8B601A5E794c12C' - ]); - }); - - it('should parse a nested trace', () => { - const addresses = addressesInTrace({ - from: '0xDC7d7A8920C8Eecc098da5B7522a5F31509b5Bfc', - to: '0xCA6D29232D1435D8198E3E5302495417dD073d61', - calls: [{ - from: '0x9273D9437B0bf2F1b7999d8dB72960d6379564d1', - to: '0xd86fB467B78901310e9967A2C8B601A5E794c12C' - }, - { - from: '0xf29340ca4ad7A797dF2d67Be58d354EC284AE62f', - to: '0xEcFF6b14D3ed9569108b413f846279E64E39BC92' - }] - }); - - expect(addresses).to.eql([ - '0x9273D9437B0bf2F1b7999d8dB72960d6379564d1', - '0xCA6D29232D1435D8198E3E5302495417dD073d61', - '0xDC7d7A8920C8Eecc098da5B7522a5F31509b5Bfc', - '0xEcFF6b14D3ed9569108b413f846279E64E39BC92', - '0xd86fB467B78901310e9967A2C8B601A5E794c12C', - '0xf29340ca4ad7A797dF2d67Be58d354EC284AE62f' - ]); - }); - - it('should parse a nested trace with an addresses field', () => { - const addresses = addressesInTrace({ - from: '0xDC7d7A8920C8Eecc098da5B7522a5F31509b5Bfc', - to: '0xCA6D29232D1435D8198E3E5302495417dD073d61', - calls: [{ - from: '0x9273D9437B0bf2F1b7999d8dB72960d6379564d1', - to: '0xd86fB467B78901310e9967A2C8B601A5E794c12C', - addresses: { - '0xf29340ca4ad7A797dF2d67Be58d354EC284AE62f': {}, - '0xEcFF6b14D3ed9569108b413f846279E64E39BC92': {} - } - }] - }); - - expect(addresses).to.eql([ - '0x9273D9437B0bf2F1b7999d8dB72960d6379564d1', - '0xCA6D29232D1435D8198E3E5302495417dD073d61', - '0xDC7d7A8920C8Eecc098da5B7522a5F31509b5Bfc', - '0xEcFF6b14D3ed9569108b413f846279E64E39BC92', - '0xd86fB467B78901310e9967A2C8B601A5E794c12C', - '0xf29340ca4ad7A797dF2d67Be58d354EC284AE62f' - ]); - }); - - it('should not return duplicate addresses', () => { - const addresses = addressesInTrace({ - from: '0xDC7d7A8920C8Eecc098da5B7522a5F31509b5Bfc', - to: '0xCA6D29232D1435D8198E3E5302495417dD073d61', - calls: [{ - from: '0xDC7d7A8920C8Eecc098da5B7522a5F31509b5Bfc', - to: '0xCA6D29232D1435D8198E3E5302495417dD073d61', - addresses: { - '0xDC7d7A8920C8Eecc098da5B7522a5F31509b5Bfc': {}, - '0xCA6D29232D1435D8198E3E5302495417dD073d61': {} - } - }] - }); - - expect(addresses).to.eql([ - '0xCA6D29232D1435D8198E3E5302495417dD073d61', - '0xDC7d7A8920C8Eecc098da5B7522a5F31509b5Bfc' - ]); - }); - - it('should return correct addresses for an ERC20 transfer', () => { - /* eslint-disable */ - const trace = { - "type": "CALL", - "from": "0xdc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "to": "0x1ca7c995f8ef0a2989bbce08d5b7efe50a584aa1", - "value": "0x0", - "gas": "0x4edf", - "gasUsed": "0x3982", - "input": "0xa9059cbb000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d610000000000000000000000000000000000000000000000000de0b6b3a7640000", - "output": "0x0000000000000000000000000000000000000000000000000000000000000001", - "time": "66.609994ms", - "addresses": { - "0xca6d29232d1435d8198e3e5302495417dd073d61": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", "AND", "SWAP1", "DUP5", "DUP3", "AND", "DUP4", "POP", "DUP6", "AND", "AND", "DUP5", "AND", "AND", "DUP2", "AND", "POP", "SWAP2" - ] - }, - "0xdc7d7a8920c8eecc098da5b7522a5f31509b5bfc": { - "confidence": 1, - "opcodes": [ - "CALLER", "POP", "JUMP", "JUMPDEST", "DUP4", "AND", "DUP4", "POP", "DUP8", "AND", "AND", "DUP6", "AND", "AND", "DUP4", "AND", "POP" - ] - } - } - }; - /* eslint-enable */ - - const addresses = addressesInTrace(trace); - expect(addresses).to.eql([ - '0x1ca7c995f8eF0A2989BbcE08D5B7Efe50A584aa1', - '0xCA6D29232D1435D8198E3E5302495417dD073d61', - '0xDC7d7A8920C8Eecc098da5B7522a5F31509b5Bfc' - ]); - }); -}); diff --git a/packages/address-watcher/src/util.ts b/packages/address-watcher/src/util.ts deleted file mode 100644 index 9c2fb56b..00000000 --- a/packages/address-watcher/src/util.ts +++ /dev/null @@ -1,33 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import _ from 'lodash'; -import { ethers } from 'ethers'; - -export const addressesInTrace = (obj: any): any => { - return _.uniq(_.compact(_.flattenDeep(addressesIn(obj)))) - .sort() - .map(address => ethers.utils.getAddress(address)); -}; - -const addressesIn = (obj: any): any => { - const addresses: any = []; - - if (obj) { - addresses.push(obj.from); - addresses.push(obj.to); - - if (obj.addresses) { - addresses.push(_.keys(obj.addresses)); - } - - if (obj.calls) { - obj.calls.forEach((call: any) => { - addresses.push(addressesIn(call)); - }); - } - } - - return addresses; -}; diff --git a/packages/address-watcher/tsconfig.json b/packages/address-watcher/tsconfig.json deleted file mode 100644 index e19a1b30..00000000 --- a/packages/address-watcher/tsconfig.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "compilerOptions": { - /* Visit https://aka.ms/tsconfig.json to read more about this file */ - - /* Basic Options */ - // "incremental": true, /* Enable incremental compilation */ - "target": "es5", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', 'ES2021', or 'ESNEXT'. */ - "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */ - "lib": [ "ES5", "ES6", "ES2020" ], /* Specify library files to be included in the compilation. */ - // "allowJs": true, /* Allow javascript files to be compiled. */ - // "checkJs": true, /* Report errors in .js files. */ - // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', 'react', 'react-jsx' or 'react-jsxdev'. */ - "declaration": true, /* Generates corresponding '.d.ts' file. */ - // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ - "sourceMap": true, /* Generates corresponding '.map' file. */ - // "outFile": "./", /* Concatenate and emit output to single file. */ - "outDir": "dist", /* Redirect output structure to the directory. */ - // "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ - // "composite": true, /* Enable project compilation */ - // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ - // "removeComments": true, /* Do not emit comments to output. */ - // "noEmit": true, /* Do not emit outputs. */ - // "importHelpers": true, /* Import emit helpers from 'tslib'. */ - "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ - // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ - - /* Strict Type-Checking Options */ - "strict": true, /* Enable all strict type-checking options. */ - // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ - // "strictNullChecks": true, /* Enable strict null checks. */ - // "strictFunctionTypes": true, /* Enable strict checking of function types. */ - // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ - "strictPropertyInitialization": false, /* Enable strict checking of property initialization in classes. */ - // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ - // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ - - /* Additional Checks */ - // "noUnusedLocals": true, /* Report errors on unused locals. */ - // "noUnusedParameters": true, /* Report errors on unused parameters. */ - // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ - // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ - // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ - // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an 'override' modifier. */ - // "noPropertyAccessFromIndexSignature": true, /* Require undeclared properties from index signatures to use element accesses. */ - - /* Module Resolution Options */ - "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ - // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ - // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ - // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ - "typeRoots": [ - "./src/types" - ], /* List of folders to include type definitions from. */ - // "types": [], /* Type declaration files to be included in compilation. */ - // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ - "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ - // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ - // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ - - /* Source Map Options */ - // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ - // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ - - /* Experimental Options */ - "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ - // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ - - /* Advanced Options */ - "skipLibCheck": true, /* Skip type checking of declaration files. */ - "forceConsistentCasingInFileNames": true, /* Disallow inconsistently-cased references to the same file. */ - "resolveJsonModule": true /* Enabling the option allows importing JSON, and validating the types in that JSON file. */ - }, - "include": ["src"], - "exclude": ["dist", "src/**/*.test.ts"] -} diff --git a/packages/codegen/.eslintignore b/packages/codegen/.eslintignore deleted file mode 100644 index f5c65561..00000000 --- a/packages/codegen/.eslintignore +++ /dev/null @@ -1,2 +0,0 @@ -# Don't lint node_modules. -node_modules diff --git a/packages/codegen/.eslintrc.json b/packages/codegen/.eslintrc.json deleted file mode 100644 index 476d529d..00000000 --- a/packages/codegen/.eslintrc.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "env": { - "browser": true, - "es2021": true - }, - "extends": [ - "semistandard", - "plugin:@typescript-eslint/recommended" - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { - "ecmaVersion": 12, - "sourceType": "module" - }, - "plugins": [ - "@typescript-eslint" - ], - "rules": { - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/explicit-module-boundary-types": [ - "warn", - { - "allowArgumentsExplicitlyTypedAsAny": true - } - ] - } -} diff --git a/packages/codegen/README.md b/packages/codegen/README.md deleted file mode 100644 index fe6ac4fb..00000000 --- a/packages/codegen/README.md +++ /dev/null @@ -1,120 +0,0 @@ -# Code Generator - -## Setup - -* In root of the repository: - - * Install required packages: - - ```bash - yarn - ``` - - * Build files: - - ```bash - yarn build - ``` - -## Run - -* Run the following command to generate a watcher from a contract file: - - ```bash - yarn codegen --input-file --contract-name --output-folder [output-folder] --mode [eth_call | storage | all] --flatten [true | false] --kind [lazy | active] - ``` - - * `input-file`(alias: `i`): Input contract file path or an URL (required). - * `contract-name`(alias: `c`): Main contract name (required). - * `output-folder`(alias: `o`): Output folder path. (logs output using `stdout` if not provided). - * `mode`(alias: `m`): Code generation mode (default: `all`). - * `flatten`(alias: `f`): Flatten the input contract file (default: `true`). - * `kind` (alias: `k`): Kind of watcher (default; `active`). - - **Note**: When passed an *URL* as `input-file`, it is assumed that it points to an already flattened contract file. - - Examples: - - Generate code in both `eth_call` and `storage` mode, `active` kind. - - ```bash - yarn codegen --input-file ./test/examples/contracts/ERC20.sol --contract-name ERC20 --output-folder ../my-erc20-watcher --mode all --kind active - ``` - - Generate code in `eth_call` mode using a contract provided by an URL. - - ```bash - yarn codegen --input-file https://git.io/Jupci --contract-name ERC721 --output-folder ../my-erc721-watcher --mode eth_call - ``` - - Generate code in `storage` mode, `lazy` kind. - - ```bash - yarn codegen --input-file ./test/examples/contracts/ERC721.sol --contract-name ERC721 --output-folder ../my-erc721-watcher --mode storage --kind lazy - ``` - - Generate code for `ERC721` contract in both `eth_call` and `storage` mode, `active` kind: - - ```bash - yarn codegen --input-file ../../node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol --contract-name ERC721 --output-folder ../demo-erc721-watcher --mode all --kind active - ``` - - This will create a folder called `demo-erc721-watcher` containing the generated code at the specified path. Follow the steps in [Run Generated Watcher](#run-generated-watcher) to setup and run the generated watcher. - -## Run Generated Watcher - -### Setup - -* Run the following command to install required packages: - - ```bash - yarn - ``` - -* Create the databases configured in `environments/local.toml`. - -### Customize - -* Indexing on an event: - - * Edit the custom hook function `handleEvent` (triggered on an event) in `src/hooks.ts` to perform corresponding indexing using the `Indexer` object. - - * Refer to `src/hooks.example.ts` for an example hook function for events in an ERC20 contract. - -### Run - -* Run lint: - - ```bash - yarn lint - ``` - -* Run the watcher: - - ```bash - yarn server - ``` - -* If the watcher is an `active` watcher: - - * Run the job-runner: - - ```bash - yarn job-runner - ``` - - * To watch a contract: - - ```bash - yarn watch:contract --address --kind ERC721 --starting-block [block-number] - ``` - - * To fill a block range: - - ```bash - yarn fill --startBlock --endBlock - ``` - -## Known Issues - -* Currently, `node-fetch v2.6.2` is being used to fetch from URLs as `v3.0.0` is an [ESM-only module](https://www.npmjs.com/package/node-fetch#loading-and-configuring-the-module) and `ts-node` transpiles to import it using `require`. diff --git a/packages/codegen/package.json b/packages/codegen/package.json deleted file mode 100644 index 19e757c5..00000000 --- a/packages/codegen/package.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "name": "@vulcanize/codegen", - "version": "0.1.0", - "description": "Code generator", - "private": true, - "main": "index.js", - "scripts": { - "lint": "eslint .", - "codegen": "ts-node src/generate-code.ts" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/vulcanize/watcher-ts.git" - }, - "author": "", - "license": "AGPL-3.0", - "bugs": { - "url": "https://github.com/vulcanize/watcher-ts/issues" - }, - "homepage": "https://github.com/vulcanize/watcher-ts#readme", - "dependencies": { - "@poanet/solidity-flattener": "https://github.com/vulcanize/solidity-flattener.git", - "@solidity-parser/parser": "^0.13.2", - "gql-generator": "https://github.com/vulcanize/gql-generator.git", - "graphql": "^15.5.0", - "graphql-compose": "^9.0.3", - "handlebars": "^4.7.7", - "js-yaml": "^4.0.0", - "lodash": "^4.17.21", - "node-fetch": "^2", - "solc": "^0.8.7-fixed", - "ts-node": "^10.2.1", - "typescript": "^4.3.2", - "yargs": "^17.1.1" - }, - "devDependencies": { - "@openzeppelin/contracts": "^4.3.2", - "@types/js-yaml": "^4.0.3", - "@types/node": "^16.9.0", - "@typescript-eslint/eslint-plugin": "^4.25.0", - "@typescript-eslint/parser": "^4.25.0", - "eslint": "^7.27.0", - "eslint-config-semistandard": "^15.0.1", - "eslint-config-standard": "^16.0.3", - "eslint-plugin-import": "^2.23.3", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^5.1.0" - } -} diff --git a/packages/codegen/src/artifacts.ts b/packages/codegen/src/artifacts.ts deleted file mode 100644 index d6a12a37..00000000 --- a/packages/codegen/src/artifacts.ts +++ /dev/null @@ -1,35 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import solc from 'solc'; -import { Writable } from 'stream'; - -/** - * Compiles the given contract using solc and writes the resultant artifacts to a file. - * @param outStream A writable output stream to write the artifacts file to. - * @param contractContent Contents of the contract file to be compiled. - * @param contractFileName Input contract file name. - * @param contractName Name of the main contract in the contract file. - */ -export function exportArtifacts (outStream: Writable, contractContent: string, contractFileName: string, contractName: string): void { - const input: any = { - language: 'Solidity', - sources: {}, - settings: { - outputSelection: { - '*': { - '*': ['abi', 'storageLayout'] - } - } - } - }; - - input.sources[contractFileName] = { - content: contractContent - }; - - // Get artifacts for the required contract. - const output = JSON.parse(solc.compile(JSON.stringify(input))).contracts[contractFileName][contractName]; - outStream.write(JSON.stringify(output, null, 2)); -} diff --git a/packages/codegen/src/client.ts b/packages/codegen/src/client.ts deleted file mode 100644 index 0f4e5e0b..00000000 --- a/packages/codegen/src/client.ts +++ /dev/null @@ -1,79 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import fs from 'fs'; -import path from 'path'; -import assert from 'assert'; -import Handlebars from 'handlebars'; -import { Writable } from 'stream'; -import _ from 'lodash'; -import { gqlGenerate } from 'gql-generator'; - -import { getTsForSol } from './utils/type-mappings'; -import { Param } from './utils/types'; - -const TEMPLATE_FILE = './templates/client-template.handlebars'; - -export class Client { - _queries: Array; - _templateString: string; - - constructor () { - this._queries = []; - this._templateString = fs.readFileSync(path.resolve(__dirname, TEMPLATE_FILE)).toString(); - } - - /** - * Stores the query to be passed to the template. - * @param mode Code generation mode. - * @param name Name of the query. - * @param params Parameters to the query. - * @param returnType Return type for the query. - */ - addQuery (name: string, params: Array, returnType: string): void { - // Check if the query is already added. - if (this._queries.some(query => query.name === name)) { - return; - } - - const queryObject = { - name, - params: _.cloneDeep(params), - returnType - }; - - queryObject.params = queryObject.params.map((param) => { - const tsParamType = getTsForSol(param.type); - assert(tsParamType); - param.type = tsParamType; - return param; - }); - - const tsReturnType = getTsForSol(returnType); - assert(tsReturnType); - queryObject.returnType = tsReturnType; - - this._queries.push(queryObject); - } - - /** - * Writes the client file generated from a template to a stream and export quries. - * @param outStream A writable output stream to write the client file to. - * @param schemaContent Content of the schema for generating the queries, mutations and subscriptions. - * @param gqlDir Directory to store the generated gql queries, mutations and subscriptions. - */ - exportClient (outStream: Writable, schemaContent: string, gqlDir: string): void { - this._exportGql(schemaContent, gqlDir); - - const template = Handlebars.compile(this._templateString); - const client = template({ - queries: this._queries - }); - outStream.write(client); - } - - _exportGql (schemaContent: string, gqlDir: string): void { - gqlGenerate(schemaContent, gqlDir); - } -} diff --git a/packages/codegen/src/config.ts b/packages/codegen/src/config.ts deleted file mode 100644 index ba13392b..00000000 --- a/packages/codegen/src/config.ts +++ /dev/null @@ -1,26 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import fs from 'fs'; -import path from 'path'; -import Handlebars from 'handlebars'; -import { Writable } from 'stream'; - -const TEMPLATE_FILE = './templates/config-template.handlebars'; - -/** - * Writes the config file generated from a template to a stream. - * @param watcherKind Watcher kind to be passed to the template. - * @param folderName Watcher folder name to be passed to the template. - * @param outStream A writable output stream to write the config file to. - */ -export function exportConfig (watcherKind: string, folderName: string, outStream: Writable): void { - const templateString = fs.readFileSync(path.resolve(__dirname, TEMPLATE_FILE)).toString(); - const template = Handlebars.compile(templateString); - const config = template({ - watcherKind, - folderName - }); - outStream.write(config); -} diff --git a/packages/codegen/src/data/entities/BlockProgress.yaml b/packages/codegen/src/data/entities/BlockProgress.yaml deleted file mode 100644 index ba0307d8..00000000 --- a/packages/codegen/src/data/entities/BlockProgress.yaml +++ /dev/null @@ -1,66 +0,0 @@ -className: BlockProgress -implements: BlockProgressInterface -indexOn: - - columns: - - blockHash - unique: true - - columns: - - blockNumber - - columns: - - parentHash -columns: - - name: blockHash - pgType: varchar - tsType: string - columnType: Column - columnOptions: - - option: length - value: 66 - - name: parentHash - pgType: varchar - tsType: string - columnType: Column - columnOptions: - - option: length - value: 66 - - name: blockNumber - pgType: integer - tsType: number - columnType: Column - - name: blockTimestamp - pgType: integer - tsType: number - columnType: Column - - name: numEvents - pgType: integer - tsType: number - columnType: Column - - name: numProcessedEvents - pgType: integer - tsType: number - columnType: Column - - name: lastProcessedEventIndex - pgType: integer - tsType: number - columnType: Column - - name: isComplete - pgType: boolean - tsType: boolean - columnType: Column - - name: isPruned - pgType: boolean - tsType: boolean - columnType: Column - columnOptions: - - option: default - value: false -imports: - - toImport: - - Entity - - PrimaryGeneratedColumn - - Column - - Index - from: typeorm - - toImport: - - BlockProgressInterface - from: '@vulcanize/util' diff --git a/packages/codegen/src/data/entities/Contract.yaml b/packages/codegen/src/data/entities/Contract.yaml deleted file mode 100644 index e7019fbf..00000000 --- a/packages/codegen/src/data/entities/Contract.yaml +++ /dev/null @@ -1,31 +0,0 @@ -className: Contract -indexOn: - - columns: - - address - unique: true -columns: - - name: address - pgType: varchar - tsType: string - columnType: Column - columnOptions: - - option: length - value: 42 - - name: kind - pgType: varchar - tsType: string - columnType: Column - columnOptions: - - option: length - value: 8 - - name: startingBlock - pgType: integer - tsType: number - columnType: Column -imports: - - toImport: - - Entity - - PrimaryGeneratedColumn - - Column - - Index - from: typeorm diff --git a/packages/codegen/src/data/entities/Event.yaml b/packages/codegen/src/data/entities/Event.yaml deleted file mode 100644 index bee57e7b..00000000 --- a/packages/codegen/src/data/entities/Event.yaml +++ /dev/null @@ -1,63 +0,0 @@ -className: Event -indexOn: - - columns: - - block - - contract - - columns: - - block - - contract - - eventName -columns: - - name: block - tsType: BlockProgress - columnType: ManyToOne - lhs: () - rhs: BlockProgress - - name: txHash - pgType: varchar - tsType: string - columnType: Column - columnOptions: - - option: length - value: 66 - - name: index - pgType: integer - tsType: number - columnType: Column - - name: contract - pgType: varchar - tsType: string - columnType: Column - columnOptions: - - option: length - value: 42 - - name: eventName - pgType: varchar - tsType: string - columnType: Column - columnOptions: - - option: length - value: 256 - - name: eventInfo - pgType: text - tsType: string - columnType: Column - - name: extraInfo - pgType: text - tsType: string - columnType: Column - - name: proof - pgType: text - tsType: string - columnType: Column -imports: - - toImport: - - Entity - - PrimaryGeneratedColumn - - Column - - Index - - ManyToOne - from: typeorm - - toImport: - - BlockProgress - from: ./BlockProgress diff --git a/packages/codegen/src/data/entities/SyncStatus.yaml b/packages/codegen/src/data/entities/SyncStatus.yaml deleted file mode 100644 index cd415c3c..00000000 --- a/packages/codegen/src/data/entities/SyncStatus.yaml +++ /dev/null @@ -1,46 +0,0 @@ -className: SyncStatus -implements: SyncStatusInterface -indexOn: [] -columns: - - name: chainHeadBlockHash - pgType: varchar - tsType: string - columnType: Column - columnOptions: - - option: length - value: 66 - - name: chainHeadBlockNumber - pgType: integer - tsType: number - columnType: Column - - name: latestIndexedBlockHash - pgType: varchar - tsType: string - columnType: Column - columnOptions: - - option: length - value: 66 - - name: latestIndexedBlockNumber - pgType: integer - tsType: number - columnType: Column - - name: latestCanonicalBlockHash - pgType: varchar - tsType: string - columnType: Column - columnOptions: - - option: length - value: 66 - - name: latestCanonicalBlockNumber - pgType: integer - tsType: number - columnType: Column -imports: - - toImport: - - Entity - - PrimaryGeneratedColumn - - Column - from: typeorm - - toImport: - - SyncStatusInterface - from: '@vulcanize/util' diff --git a/packages/codegen/src/database.ts b/packages/codegen/src/database.ts deleted file mode 100644 index 08f4970c..00000000 --- a/packages/codegen/src/database.ts +++ /dev/null @@ -1,77 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import fs from 'fs'; -import path from 'path'; -import assert from 'assert'; -import Handlebars from 'handlebars'; -import { Writable } from 'stream'; -import _ from 'lodash'; - -import { getTsForSol } from './utils/type-mappings'; -import { Param } from './utils/types'; - -const TEMPLATE_FILE = './templates/database-template.handlebars'; - -export class Database { - _queries: Array; - _templateString: string; - - constructor () { - this._queries = []; - this._templateString = fs.readFileSync(path.resolve(__dirname, TEMPLATE_FILE)).toString(); - } - - /** - * Stores the query to be passed to the template. - * @param name Name of the query. - * @param params Parameters to the query. - * @param returnType Return type for the query. - */ - addQuery (name: string, params: Array, returnType: string): void { - // Check if the query is already added. - if (this._queries.some(query => query.name === name)) { - return; - } - - const queryObject = { - name, - entityName: '', - params: _.cloneDeep(params), - returnType - }; - - // eth_call mode: Capitalize first letter of entity name (balanceOf -> BalanceOf). - // storage mode: Capiltalize second letter of entity name (_balances -> _Balances). - queryObject.entityName = (name.charAt(0) === '_') - ? `_${name.charAt(1).toUpperCase()}${name.slice(2)}` - : `${name.charAt(0).toUpperCase()}${name.slice(1)}`; - - queryObject.params = queryObject.params.map((param) => { - const tsParamType = getTsForSol(param.type); - assert(tsParamType); - param.type = tsParamType; - return param; - }); - - const tsReturnType = getTsForSol(returnType); - assert(tsReturnType); - queryObject.returnType = tsReturnType; - - this._queries.push(queryObject); - } - - /** - * Writes the database file generated from a template to a stream. - * @param outStream A writable output stream to write the database file to. - */ - exportDatabase (outStream: Writable): void { - const template = Handlebars.compile(this._templateString); - const obj = { - queries: this._queries - }; - const database = template(obj); - outStream.write(database); - } -} diff --git a/packages/codegen/src/entity.ts b/packages/codegen/src/entity.ts deleted file mode 100644 index 4b91a764..00000000 --- a/packages/codegen/src/entity.ts +++ /dev/null @@ -1,221 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import fs from 'fs'; -import path from 'path'; -import assert from 'assert'; -import yaml from 'js-yaml'; -import Handlebars from 'handlebars'; -import { Writable } from 'stream'; - -import { getTsForSol, getPgForTs } from './utils/type-mappings'; -import { Param } from './utils/types'; - -const TEMPLATE_FILE = './templates/entity-template.handlebars'; -const TABLES_DIR = './data/entities'; - -export class Entity { - _entities: Array; - _templateString: string; - - constructor () { - this._entities = []; - this._templateString = fs.readFileSync(path.resolve(__dirname, TEMPLATE_FILE)).toString(); - } - - /** - * Creates an entity object from the query and stores to be passed to the template. - * @param name Name of the query. - * @param params Parameters to the query. - * @param returnType Return type for the query. - */ - addQuery (name: string, params: Array, returnType: string): void { - // Check if the query is already added. - if (this._entities.some(entity => entity.className.toLowerCase() === name.toLowerCase())) { - return; - } - - const entityObject: any = { - // Capitalize the first letter of name. - className: '', - indexOn: [], - columns: [], - imports: [] - }; - - // eth_call mode: Capitalize first letter of entity name (balanceOf -> BalanceOf). - // storage mode: Capiltalize second letter of entity name (_balances -> _Balances). - entityObject.className = (name.charAt(0) === '_') - ? `_${name.charAt(1).toUpperCase()}${name.slice(2)}` - : `${name.charAt(0).toUpperCase()}${name.slice(1)}`; - - entityObject.imports.push( - { - toImport: new Set(['Entity', 'PrimaryGeneratedColumn', 'Column', 'Index']), - from: 'typeorm' - } - ); - - const indexObject = { - columns: ['blockHash', 'contractAddress'], - unique: true - }; - indexObject.columns = indexObject.columns.concat( - params.map((param) => { - return param.name; - }) - ); - entityObject.indexOn.push(indexObject); - - entityObject.columns.push({ - name: 'blockHash', - pgType: 'varchar', - tsType: 'string', - columnType: 'Column', - columnOptions: [ - { - option: 'length', - value: 66 - } - ] - }); - entityObject.columns.push({ - name: 'contractAddress', - pgType: 'varchar', - tsType: 'string', - columnType: 'Column', - columnOptions: [ - { - option: 'length', - value: 42 - } - ] - }); - - entityObject.columns = entityObject.columns.concat( - params.map((param) => { - const name = param.name; - - const tsType = getTsForSol(param.type); - assert(tsType); - - const pgType = getPgForTs(tsType); - assert(pgType); - - const columnOptions = []; - - if (param.type === 'address') { - columnOptions.push( - { - option: 'length', - value: 42 - } - ); - } - - return { - name, - pgType, - tsType, - columnType: 'Column', - columnOptions - }; - }) - ); - - const tsReturnType = getTsForSol(returnType); - assert(tsReturnType); - - const pgReturnType = getPgForTs(tsReturnType); - assert(pgReturnType); - - entityObject.columns.push({ - name: 'value', - pgType: pgReturnType, - tsType: tsReturnType, - columnType: 'Column', - columnOptions: [] - }); - - entityObject.columns.push({ - name: 'proof', - pgType: 'text', - tsType: 'string', - columnType: 'Column', - columnOptions: [ - { - option: 'nullable', - value: true - } - ] - }); - - entityObject.columns.forEach((column: any) => { - if (column.tsType === 'bigint') { - column.columnOptions.push( - { - option: 'transformer', - value: 'bigintTransformer' - } - ); - const importObject = entityObject.imports.find((element: any) => { - return element.from === '@vulcanize/util'; - }); - - if (importObject) { - importObject.toImport.add('bigintTransformer'); - } else { - entityObject.imports.push( - { - toImport: new Set(['bigintTransformer']), - from: '@vulcanize/util' - } - ); - } - } - }); - - this._entities.push(entityObject); - } - - /** - * Writes the generated entity files in the given directory. - * @param entityDir Directory to write the entities to. - */ - exportEntities (entityDir: string): void { - this._addEventEntity(); - this._addSyncStatusEntity(); - this._addContractEntity(); - this._addBlockProgressEntity(); - - const template = Handlebars.compile(this._templateString); - this._entities.forEach(entityObj => { - const entity = template(entityObj); - const outStream: Writable = entityDir - ? fs.createWriteStream(path.join(entityDir, `${entityObj.className}.ts`)) - : process.stdout; - outStream.write(entity); - }); - } - - _addEventEntity (): void { - const entity = yaml.load(fs.readFileSync(path.resolve(__dirname, TABLES_DIR, 'Event.yaml'), 'utf8')); - this._entities.push(entity); - } - - _addSyncStatusEntity (): void { - const entity = yaml.load(fs.readFileSync(path.resolve(__dirname, TABLES_DIR, 'SyncStatus.yaml'), 'utf8')); - this._entities.push(entity); - } - - _addContractEntity (): void { - const entity = yaml.load(fs.readFileSync(path.resolve(__dirname, TABLES_DIR, 'Contract.yaml'), 'utf8')); - this._entities.push(entity); - } - - _addBlockProgressEntity (): void { - const entity = yaml.load(fs.readFileSync(path.resolve(__dirname, TABLES_DIR, 'BlockProgress.yaml'), 'utf8')); - this._entities.push(entity); - } -} diff --git a/packages/codegen/src/events.ts b/packages/codegen/src/events.ts deleted file mode 100644 index 51720dc0..00000000 --- a/packages/codegen/src/events.ts +++ /dev/null @@ -1,21 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import fs from 'fs'; -import path from 'path'; -import Handlebars from 'handlebars'; -import { Writable } from 'stream'; - -const TEMPLATE_FILE = './templates/events-template.handlebars'; - -/** - * Writes the events file generated from a template to a stream. - * @param outStream A writable output stream to write the events file to. - */ -export function exportEvents (outStream: Writable): void { - const templateString = fs.readFileSync(path.resolve(__dirname, TEMPLATE_FILE)).toString(); - const template = Handlebars.compile(templateString); - const events = template({}); - outStream.write(events); -} diff --git a/packages/codegen/src/fill.ts b/packages/codegen/src/fill.ts deleted file mode 100644 index 6d72107b..00000000 --- a/packages/codegen/src/fill.ts +++ /dev/null @@ -1,21 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import fs from 'fs'; -import path from 'path'; -import Handlebars from 'handlebars'; -import { Writable } from 'stream'; - -const TEMPLATE_FILE = './templates/fill-template.handlebars'; - -/** - * Writes the fill file generated from a template to a stream. - * @param outStream A writable output stream to write the fill file to. - */ -export function exportFill (outStream: Writable): void { - const templateString = fs.readFileSync(path.resolve(__dirname, TEMPLATE_FILE)).toString(); - const template = Handlebars.compile(templateString); - const fill = template({}); - outStream.write(fill); -} diff --git a/packages/codegen/src/generate-code.ts b/packages/codegen/src/generate-code.ts deleted file mode 100644 index b3fed713..00000000 --- a/packages/codegen/src/generate-code.ts +++ /dev/null @@ -1,246 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import fs from 'fs'; -import fetch from 'node-fetch'; -import path from 'path'; -import yargs from 'yargs'; -import { hideBin } from 'yargs/helpers'; -import { flatten } from '@poanet/solidity-flattener'; - -import { parse, visit } from '@solidity-parser/parser'; -import { KIND_ACTIVE, KIND_LAZY } from '@vulcanize/util'; - -import { MODE_ETH_CALL, MODE_STORAGE, MODE_ALL } from './utils/constants'; -import { Visitor } from './visitor'; -import { exportServer } from './server'; -import { exportConfig } from './config'; -import { exportArtifacts } from './artifacts'; -import { exportPackage } from './package'; -import { exportTSConfig } from './tsconfig'; -import { exportReadme } from './readme'; -import { exportEvents } from './events'; -import { exportJobRunner } from './job-runner'; -import { exportWatchContract } from './watch-contract'; -import { exportLint } from './lint'; -import { registerHandlebarHelpers } from './utils/handlebar-helpers'; -import { exportHooks } from './hooks'; -import { exportFill } from './fill'; - -const main = async (): Promise => { - const argv = await yargs(hideBin(process.argv)) - .option('input-file', { - alias: 'i', - demandOption: true, - describe: 'Input contract file path or an url.', - type: 'string' - }) - .option('contract-name', { - alias: 'c', - demandOption: true, - describe: 'Main contract name.', - type: 'string' - }) - .option('output-folder', { - alias: 'o', - describe: 'Output folder path.', - type: 'string' - }) - .option('mode', { - alias: 'm', - describe: 'Code generation mode.', - type: 'string', - default: MODE_ALL, - choices: [MODE_ETH_CALL, MODE_STORAGE, MODE_ALL] - }) - .option('kind', { - alias: 'k', - describe: 'Watcher kind.', - type: 'string', - default: KIND_ACTIVE, - choices: [KIND_ACTIVE, KIND_LAZY] - }) - .option('flatten', { - alias: 'f', - describe: 'Flatten the input contract file.', - type: 'boolean', - default: true - }) - .argv; - - let data: string; - if (argv['input-file'].startsWith('http')) { - // Assume flattened file in case of URL. - const response = await fetch(argv['input-file']); - data = await response.text(); - } else { - data = argv.flatten - ? await flatten(path.resolve(argv['input-file'])) - : fs.readFileSync(path.resolve(argv['input-file'])).toString(); - } - - const visitor = new Visitor(); - - parseAndVisit(data, visitor, argv.mode); - - generateWatcher(data, visitor, argv); -}; - -function parseAndVisit (data: string, visitor: Visitor, mode: string) { - // Get the abstract syntax tree for the flattened contract. - const ast = parse(data); - - // Filter out library nodes. - ast.children = ast.children.filter(child => !(child.type === 'ContractDefinition' && child.kind === 'library')); - - if ([MODE_ALL, MODE_ETH_CALL].some(value => value === mode)) { - visit(ast, { - FunctionDefinition: visitor.functionDefinitionVisitor.bind(visitor), - EventDefinition: visitor.eventDefinitionVisitor.bind(visitor) - }); - } - - if ([MODE_ALL, MODE_STORAGE].some(value => value === mode)) { - visit(ast, { - StateVariableDeclaration: visitor.stateVariableDeclarationVisitor.bind(visitor), - EventDefinition: visitor.eventDefinitionVisitor.bind(visitor) - }); - } -} - -function generateWatcher (data: string, visitor: Visitor, argv: any) { - // Prepare directory structure for the watcher. - let outputDir = ''; - if (argv['output-folder']) { - outputDir = path.resolve(argv['output-folder']); - if (!fs.existsSync(outputDir)) fs.mkdirSync(outputDir, { recursive: true }); - - const environmentsFolder = path.join(outputDir, 'environments'); - if (!fs.existsSync(environmentsFolder)) fs.mkdirSync(environmentsFolder); - - const artifactsFolder = path.join(outputDir, 'src/artifacts'); - if (!fs.existsSync(artifactsFolder)) fs.mkdirSync(artifactsFolder, { recursive: true }); - - const entitiesFolder = path.join(outputDir, 'src/entity'); - if (!fs.existsSync(entitiesFolder)) fs.mkdirSync(entitiesFolder, { recursive: true }); - - const cliFolder = path.join(outputDir, 'src/cli'); - if (!fs.existsSync(cliFolder)) fs.mkdirSync(cliFolder, { recursive: true }); - } - - const inputFileName = path.basename(argv['input-file'], '.sol'); - - registerHandlebarHelpers(); - - let outStream = outputDir - ? fs.createWriteStream(path.join(outputDir, 'src/schema.gql')) - : process.stdout; - const schemaContent = visitor.exportSchema(outStream); - - outStream = outputDir - ? fs.createWriteStream(path.join(outputDir, 'src/resolvers.ts')) - : process.stdout; - visitor.exportResolvers(outStream); - - outStream = outputDir - ? fs.createWriteStream(path.join(outputDir, 'src/indexer.ts')) - : process.stdout; - visitor.exportIndexer(outStream, inputFileName, argv['contract-name']); - - outStream = outputDir - ? fs.createWriteStream(path.join(outputDir, 'src/server.ts')) - : process.stdout; - exportServer(outStream); - - outStream = outputDir - ? fs.createWriteStream(path.join(outputDir, 'environments/local.toml')) - : process.stdout; - exportConfig(argv.kind, path.basename(outputDir), outStream); - - outStream = outputDir - ? fs.createWriteStream(path.join(outputDir, 'src/artifacts/', `${inputFileName}.json`)) - : process.stdout; - exportArtifacts( - outStream, - data, - `${inputFileName}.sol`, - argv['contract-name'] - ); - - outStream = outputDir - ? fs.createWriteStream(path.join(outputDir, 'src/database.ts')) - : process.stdout; - visitor.exportDatabase(outStream); - - outStream = outputDir - ? fs.createWriteStream(path.join(outputDir, 'package.json')) - : process.stdout; - exportPackage(path.basename(outputDir), outStream); - - outStream = outputDir - ? fs.createWriteStream(path.join(outputDir, 'tsconfig.json')) - : process.stdout; - exportTSConfig(outStream); - - const entityDir = outputDir - ? path.join(outputDir, 'src/entity') - : ''; - visitor.exportEntities(entityDir); - - outStream = outputDir - ? fs.createWriteStream(path.join(outputDir, 'README.md')) - : process.stdout; - exportReadme(path.basename(outputDir), argv['contract-name'], outStream); - - outStream = outputDir - ? fs.createWriteStream(path.join(outputDir, 'src/events.ts')) - : process.stdout; - exportEvents(outStream); - - outStream = outputDir - ? fs.createWriteStream(path.join(outputDir, 'src/job-runner.ts')) - : process.stdout; - exportJobRunner(outStream); - - outStream = outputDir - ? fs.createWriteStream(path.join(outputDir, 'src/cli/watch-contract.ts')) - : process.stdout; - exportWatchContract(outStream); - - let hooksOutStream; - let exampleOutStream; - if (outputDir) { - hooksOutStream = fs.createWriteStream(path.join(outputDir, 'src/hooks.ts')); - exampleOutStream = fs.createWriteStream(path.join(outputDir, 'src/hooks.example.ts')); - } else { - hooksOutStream = process.stdout; - exampleOutStream = process.stdout; - } - exportHooks(hooksOutStream, exampleOutStream); - - outStream = outputDir - ? fs.createWriteStream(path.join(outputDir, 'src/fill.ts')) - : process.stdout; - exportFill(outStream); - - let rcOutStream; - let ignoreOutStream; - if (outputDir) { - rcOutStream = fs.createWriteStream(path.join(outputDir, '.eslintrc.json')); - ignoreOutStream = fs.createWriteStream(path.join(outputDir, '.eslintignore')); - } else { - rcOutStream = process.stdout; - ignoreOutStream = process.stdout; - } - exportLint(rcOutStream, ignoreOutStream); - - outStream = outputDir - ? fs.createWriteStream(path.join(outputDir, 'src/client.ts')) - : process.stdout; - visitor.exportClient(outStream, schemaContent, path.join(outputDir, 'src/gql')); -} - -main().catch(err => { - console.error(err); -}); diff --git a/packages/codegen/src/hooks.ts b/packages/codegen/src/hooks.ts deleted file mode 100644 index 6c2783be..00000000 --- a/packages/codegen/src/hooks.ts +++ /dev/null @@ -1,30 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import fs from 'fs'; -import path from 'path'; -import Handlebars from 'handlebars'; -import { Writable } from 'stream'; - -const HOOKS_TEMPLATE_FILE = './templates/hooks-template.handlebars'; -const EXAMPLE_TEMPLATE_FILE = './templates/hooks-example-template.handlebars'; - -/** - * Writes the hooks and hooks.example files generated from templates to a stream. - * @param outStream A writable output stream to write the hooks file to. - * @param exampleOutStream A writable output stream to write the hooks.example file to. - */ -export function exportHooks (hooksOutStream: Writable, exampleOutStream: Writable): void { - const hooksTemplateString = fs.readFileSync(path.resolve(__dirname, HOOKS_TEMPLATE_FILE)).toString(); - const exampleTemplateString = fs.readFileSync(path.resolve(__dirname, EXAMPLE_TEMPLATE_FILE)).toString(); - - const hooksTemplate = Handlebars.compile(hooksTemplateString); - const exampleTemplate = Handlebars.compile(exampleTemplateString); - - const hooks = hooksTemplate({}); - const example = exampleTemplate({}); - - hooksOutStream.write(hooks); - exampleOutStream.write(example); -} diff --git a/packages/codegen/src/indexer.ts b/packages/codegen/src/indexer.ts deleted file mode 100644 index 37e41ff7..00000000 --- a/packages/codegen/src/indexer.ts +++ /dev/null @@ -1,106 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import fs from 'fs'; -import path from 'path'; -import assert from 'assert'; -import Handlebars from 'handlebars'; -import { Writable } from 'stream'; -import _ from 'lodash'; - -import { getTsForSol } from './utils/type-mappings'; -import { Param } from './utils/types'; -import { MODE_ETH_CALL, MODE_STORAGE } from './utils/constants'; - -const TEMPLATE_FILE = './templates/indexer-template.handlebars'; - -export class Indexer { - _queries: Array; - _events: Array; - _templateString: string; - - constructor () { - this._queries = []; - this._events = []; - this._templateString = fs.readFileSync(path.resolve(__dirname, TEMPLATE_FILE)).toString(); - } - - /** - * Stores the query to be passed to the template. - * @param mode Code generation mode. - * @param name Name of the query. - * @param params Parameters to the query. - * @param returnType Return type for the query. - */ - addQuery (mode: string, name: string, params: Array, returnType: string): void { - // Check if the query is already added. - if (this._queries.some(query => query.name === name)) { - return; - } - - const queryObject = { - name, - params: _.cloneDeep(params), - returnType, - mode - }; - - queryObject.params = queryObject.params.map((param) => { - const tsParamType = getTsForSol(param.type); - assert(tsParamType); - param.type = tsParamType; - return param; - }); - - const tsReturnType = getTsForSol(returnType); - assert(tsReturnType); - queryObject.returnType = tsReturnType; - - this._queries.push(queryObject); - } - - addEvent (name: string, params: Array): void { - // Check if the event is already added. - if (this._events.some(event => event.name === name)) { - return; - } - - const eventObject = { - name, - params: _.cloneDeep(params) - }; - - eventObject.params = eventObject.params.map((param) => { - const tsParamType = getTsForSol(param.type); - assert(tsParamType); - param.type = tsParamType; - return param; - }); - - this._events.push(eventObject); - } - - /** - * Writes the indexer file generated from a template to a stream. - * @param outStream A writable output stream to write the indexer file to. - * @param inputFileName Input contract file name to be passed to the template. - */ - exportIndexer (outStream: Writable, inputFileName: string, contractName: string): void { - const template = Handlebars.compile(this._templateString); - - const obj = { - inputFileName, - contractName, - queries: this._queries, - constants: { - MODE_ETH_CALL, - MODE_STORAGE - }, - events: this._events - }; - - const indexer = template(obj); - outStream.write(indexer); - } -} diff --git a/packages/codegen/src/job-runner.ts b/packages/codegen/src/job-runner.ts deleted file mode 100644 index fc4f0a30..00000000 --- a/packages/codegen/src/job-runner.ts +++ /dev/null @@ -1,21 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import fs from 'fs'; -import path from 'path'; -import Handlebars from 'handlebars'; -import { Writable } from 'stream'; - -const TEMPLATE_FILE = './templates/job-runner-template.handlebars'; - -/** - * Writes the job-runner file generated from a template to a stream. - * @param outStream A writable output stream to write the events file to. - */ -export function exportJobRunner (outStream: Writable): void { - const templateString = fs.readFileSync(path.resolve(__dirname, TEMPLATE_FILE)).toString(); - const template = Handlebars.compile(templateString); - const events = template({}); - outStream.write(events); -} diff --git a/packages/codegen/src/lint.ts b/packages/codegen/src/lint.ts deleted file mode 100644 index 849777fb..00000000 --- a/packages/codegen/src/lint.ts +++ /dev/null @@ -1,28 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import fs from 'fs'; -import path from 'path'; -import Handlebars from 'handlebars'; -import { Writable } from 'stream'; - -const RC_TEMPLATE_FILE = './templates/eslintrc-template.handlebars'; -const IGNORE_TEMPLATE_FILE = './templates/eslintignore-template.handlebars'; - -/** - * Writes the .eslintrc.json and .eslintignore file generated from a template to respective streams. - * @param rcOutStream A writable output stream to write the .eslintrc.json file to. - * @param ignoreOutStream A writable output stream to write the .eslintignore file to. - */ -export function exportLint (rcOutStream: Writable, ignoreOutStream: Writable): void { - const rcTemplateString = fs.readFileSync(path.resolve(__dirname, RC_TEMPLATE_FILE)).toString(); - const rcTemplate = Handlebars.compile(rcTemplateString); - const rcString = rcTemplate({}); - rcOutStream.write(rcString); - - const ignoreTemplateString = fs.readFileSync(path.resolve(__dirname, IGNORE_TEMPLATE_FILE)).toString(); - const ignoreTemplate = Handlebars.compile(ignoreTemplateString); - const ignoreString = ignoreTemplate({}); - ignoreOutStream.write(ignoreString); -} diff --git a/packages/codegen/src/package.ts b/packages/codegen/src/package.ts deleted file mode 100644 index e0d61940..00000000 --- a/packages/codegen/src/package.ts +++ /dev/null @@ -1,24 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import fs from 'fs'; -import path from 'path'; -import Handlebars from 'handlebars'; -import { Writable } from 'stream'; - -const TEMPLATE_FILE = './templates/package-template.handlebars'; - -/** - * Writes the package.json file generated from a template to a stream. - * @param folderName Watcher folder name to be passed to the template. - * @param outStream A writable output stream to write the package.json file to. - */ -export function exportPackage (folderName: string, outStream: Writable): void { - const templateString = fs.readFileSync(path.resolve(__dirname, TEMPLATE_FILE)).toString(); - const template = Handlebars.compile(templateString); - const packageString = template({ - folderName - }); - outStream.write(packageString); -} diff --git a/packages/codegen/src/readme.ts b/packages/codegen/src/readme.ts deleted file mode 100644 index cf4c912e..00000000 --- a/packages/codegen/src/readme.ts +++ /dev/null @@ -1,26 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import fs from 'fs'; -import path from 'path'; -import Handlebars from 'handlebars'; -import { Writable } from 'stream'; - -const TEMPLATE_FILE = './templates/readme-template.handlebars'; - -/** - * Writes the README.md file generated from a template to a stream. - * @param folderName Watcher folder name to be passed to the template. - * @param contractName Input contract name given as title of the README. - * @param outStream A writable output stream to write the README.md file to. - */ -export function exportReadme (folderName: string, contractName: string, outStream: Writable): void { - const templateString = fs.readFileSync(path.resolve(__dirname, TEMPLATE_FILE)).toString(); - const template = Handlebars.compile(templateString); - const readmeString = template({ - folderName, - contractName - }); - outStream.write(readmeString); -} diff --git a/packages/codegen/src/resolvers.ts b/packages/codegen/src/resolvers.ts deleted file mode 100644 index 5c2092c8..00000000 --- a/packages/codegen/src/resolvers.ts +++ /dev/null @@ -1,66 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import fs from 'fs'; -import path from 'path'; -import { Writable } from 'stream'; -import Handlebars from 'handlebars'; -import assert from 'assert'; -import _ from 'lodash'; - -import { getTsForSol } from './utils/type-mappings'; -import { Param } from './utils/types'; - -const TEMPLATE_FILE = './templates/resolvers-template.handlebars'; - -export class Resolvers { - _queries: Array; - _templateString: string; - - constructor () { - this._queries = []; - this._templateString = fs.readFileSync(path.resolve(__dirname, TEMPLATE_FILE)).toString(); - } - - /** - * Stores the query to be passed to the template. - * @param name Name of the query. - * @param params Parameters to the query. - * @param returnType Return type for the query. - */ - addQuery (name: string, params: Array, returnType: string): void { - // Check if the query is already added. - if (this._queries.some(query => query.name === name)) { - return; - } - - const queryObject = { - name, - params: _.cloneDeep(params), - returnType - }; - - queryObject.params = queryObject.params.map((param) => { - const tsParamType = getTsForSol(param.type); - assert(tsParamType); - param.type = tsParamType; - return param; - }); - - this._queries.push(queryObject); - } - - /** - * Writes the resolvers file generated from a template to a stream. - * @param outStream A writable output stream to write the resolvers file to. - */ - exportResolvers (outStream: Writable): void { - const template = Handlebars.compile(this._templateString); - const obj = { - queries: this._queries - }; - const resolvers = template(obj); - outStream.write(resolvers); - } -} diff --git a/packages/codegen/src/schema.ts b/packages/codegen/src/schema.ts deleted file mode 100644 index 5e75cfb2..00000000 --- a/packages/codegen/src/schema.ts +++ /dev/null @@ -1,273 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import assert from 'assert'; -import { GraphQLSchema, printSchema } from 'graphql'; -import { SchemaComposer } from 'graphql-compose'; -import { Writable } from 'stream'; - -import { getTsForSol, getGqlForTs } from './utils/type-mappings'; -import { Param } from './utils/types'; - -export class Schema { - _composer: SchemaComposer; - _events: Array; - - constructor () { - this._composer = new SchemaComposer(); - this._events = []; - - this._addBasicTypes(); - } - - /** - * Adds a query to the schema with the given parameters. - * @param name Name of the query. - * @param params Parameters to the query. - * @param returnType Return type for the query. - */ - addQuery (name: string, params: Array, returnType: string): void { - // TODO: Handle cases where returnType/params type is an array. - const tsReturnType = getTsForSol(returnType); - assert(tsReturnType); - - const queryObject: { [key: string]: any; } = {}; - queryObject[name] = { - // Get type composer object for return type from the schema composer. - type: this._composer.getOTC(`Result${getGqlForTs(tsReturnType)}`).NonNull, - args: { - blockHash: 'String!', - contractAddress: 'String!' - } - }; - - if (params.length > 0) { - queryObject[name].args = params.reduce((acc, curr) => { - const tsCurrType = getTsForSol(curr.type); - assert(tsCurrType); - acc[curr.name] = `${getGqlForTs(tsCurrType)}!`; - return acc; - }, queryObject[name].args); - } - - // Add a query to the schema composer using queryObject. - this._composer.Query.addFields(queryObject); - } - - /** - * Adds a type to the schema for an event. - * @param name Event name. - * @param params Event parameters. - */ - addEventType (name: string, params: Array): void { - name = `${name}Event`; - - const typeObject: any = {}; - typeObject.name = name; - typeObject.fields = {}; - - if (params.length > 0) { - typeObject.fields = params.reduce((acc, curr) => { - const tsCurrType = getTsForSol(curr.type); - assert(tsCurrType); - acc[curr.name] = `${getGqlForTs(tsCurrType)}!`; - return acc; - }, typeObject.fields); - } - - // Create a type composer to add the required type in the schema composer. - this._composer.createObjectTC(typeObject); - - this._events.push(name); - this._addToEventUnion(name); - - if (this._events.length === 1) { - this._addEventsRelatedTypes(); - this._addEventsQuery(); - this._addEventSubscription(); - } - } - - /** - * Builds the schema from the schema composer. - * @returns GraphQLSchema object. - */ - buildSchema (): GraphQLSchema { - // Add a mutation for watching a contract. - this._addWatchContractMutation(); - - return this._composer.buildSchema(); - } - - /** - * Writes schema to a stream. - * @param outStream A writable output stream to write the schema to. - */ - exportSchema (outStream: Writable): string { - // Get schema as a string from GraphQLSchema. - const schemaString = printSchema(this.buildSchema()); - outStream.write(schemaString); - - return schemaString; - } - - /** - * Adds basic types to the schema and typemapping. - */ - _addBasicTypes (): void { - // Create a scalar type composer to add the scalar BigInt in the schema composer. - this._composer.createScalarTC({ - name: 'BigInt' - }); - - // Create a type composer to add the type Proof in the schema composer. - this._composer.createObjectTC({ - name: 'Proof', - fields: { - data: 'String!' - } - }); - - this._composer.createObjectTC({ - name: 'ResultBoolean', - fields: { - value: 'Boolean!', - proof: () => this._composer.getOTC('Proof') - } - }); - - this._composer.createObjectTC({ - name: 'ResultString', - fields: { - value: 'String!', - proof: () => this._composer.getOTC('Proof') - } - }); - - this._composer.createObjectTC({ - name: 'ResultInt', - fields: { - value: () => 'Int!', - proof: () => this._composer.getOTC('Proof') - } - }); - - this._composer.createObjectTC({ - name: 'ResultBigInt', - fields: { - // Get type composer object for BigInt scalar from the schema composer. - value: () => this._composer.getSTC('BigInt').NonNull, - proof: () => this._composer.getOTC('Proof') - } - }); - } - - /** - * Adds types 'ResultEvent' and 'WatchedEvent' to the schema. - */ - _addEventsRelatedTypes (): void { - // Create Ethereum types. - // Create the Block type. - const blockName = 'Block'; - this._composer.createObjectTC({ - name: blockName, - fields: { - hash: 'String!', - number: 'Int!', - timestamp: 'Int!', - parentHash: 'String!' - } - }); - - // Create the Transaction type. - const transactionName = 'Transaction'; - this._composer.createObjectTC({ - name: transactionName, - fields: { - hash: 'String!', - index: 'Int!', - from: 'String!', - to: 'String!' - } - }); - - // Create the ResultEvent type. - const resultEventName = 'ResultEvent'; - this._composer.createObjectTC({ - name: resultEventName, - fields: { - // Get type composer object for 'blockName' type from the schema composer. - block: () => this._composer.getOTC(blockName).NonNull, - tx: () => this._composer.getOTC(transactionName).NonNull, - contract: 'String!', - eventIndex: 'Int!', - event: () => this._composer.getUTC('Event').NonNull, - proof: () => this._composer.getOTC('Proof') - } - }); - } - - /** - * Adds a query for events to the schema. - */ - _addEventsQuery (): void { - this._composer.Query.addFields({ - events: { - type: [this._composer.getOTC('ResultEvent').NonNull], - args: { - blockHash: 'String!', - contractAddress: 'String!', - name: 'String' - } - } - }); - - this._composer.Query.addFields({ - eventsInRange: { - type: [this._composer.getOTC('ResultEvent').NonNull], - args: { - fromBlockNumber: 'Int!', - toBlockNumber: 'Int!' - } - } - }); - } - - /** - * Adds an event subscription to the schema. - */ - _addEventSubscription (): void { - // Add a subscription to the schema composer. - this._composer.Subscription.addFields({ - onEvent: () => this._composer.getOTC('ResultEvent').NonNull - }); - } - - /** - * Adds a watchContract mutation to the schema. - */ - _addWatchContractMutation (): void { - // Add a mutation to the schema composer. - this._composer.Mutation.addFields({ - watchContract: { - type: 'Boolean!', - args: { - contractAddress: 'String!', - startingBlock: 'Int' - } - } - }); - } - - /** - * Adds an 'Event' union (if doesn't exist) to the schema. Adds the specified event to the 'Event' union. - * @param event Event type name to add to the union. - */ - _addToEventUnion (event: string): void { - // Get (or create if doesn't exist) type composer object for Event union from the schema composer. - const eventUnion = this._composer.getOrCreateUTC('Event'); - // Add a new type to the union. - eventUnion.addType(this._composer.getOTC(event)); - } -} diff --git a/packages/codegen/src/server.ts b/packages/codegen/src/server.ts deleted file mode 100644 index a15327d4..00000000 --- a/packages/codegen/src/server.ts +++ /dev/null @@ -1,21 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import fs from 'fs'; -import path from 'path'; -import Handlebars from 'handlebars'; -import { Writable } from 'stream'; - -const TEMPLATE_FILE = './templates/server-template.handlebars'; - -/** - * Writes the server file generated from a template to a stream. - * @param outStream A writable output stream to write the server file to. - */ -export function exportServer (outStream: Writable): void { - const templateString = fs.readFileSync(path.resolve(__dirname, TEMPLATE_FILE)).toString(); - const template = Handlebars.compile(templateString); - const server = template({}); - outStream.write(server); -} diff --git a/packages/codegen/src/templates/client-template.handlebars b/packages/codegen/src/templates/client-template.handlebars deleted file mode 100644 index 172e75e0..00000000 --- a/packages/codegen/src/templates/client-template.handlebars +++ /dev/null @@ -1,70 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import { gql } from '@apollo/client/core'; - -import { GraphQLClient, GraphQLConfig } from '@vulcanize/ipld-eth-client'; - -import { queries, mutations, subscriptions } from './gql'; - -export class Client { - _config: GraphQLConfig; - _client: GraphQLClient; - - constructor (config: GraphQLConfig) { - this._config = config; - - this._client = new GraphQLClient(config); - } - - {{#each queries as | query |}} - // eslint-disable-next-line camelcase - async get{{capitalize query.name tillIndex=1}} (blockHash: string, contractAddress: string - {{~#each query.params}}, {{this.name}}: {{this.type~}} {{/each}}): Promise { - const { {{query.name}} } = await this._client.query( - gql(queries.{{query.name}}), - { blockHash, contractAddress - {{~#each query.params}}, {{this.name~}} {{/each}} } - ); - - return {{query.name}}; - } - - {{/each}} - async getEvents (blockHash: string, contractAddress: string, name: string): Promise { - const { events } = await this._client.query( - gql(queries.events), - { blockHash, contractAddress, name } - ); - - return events; - } - - async getEventsInRange (fromBlockNumber: number, toBlockNumber: number): Promise { - const { eventsInRange } = await this._client.query( - gql(queries.eventsInRange), - { fromBlockNumber, toBlockNumber } - ); - - return eventsInRange; - } - - async watchContract (contractAddress: string, startingBlock?: number): Promise { - const { watchContract } = await this._client.mutate( - gql(mutations.watchContract), - { contractAddress, startingBlock } - ); - - return watchContract; - } - - async watchEvents (onNext: (value: any) => void): Promise { - return this._client.subscribe( - gql(subscriptions.onEvent), - ({ data }) => { - onNext(data.onEvent); - } - ); - } -} diff --git a/packages/codegen/src/templates/config-template.handlebars b/packages/codegen/src/templates/config-template.handlebars deleted file mode 100644 index 2f2a2826..00000000 --- a/packages/codegen/src/templates/config-template.handlebars +++ /dev/null @@ -1,30 +0,0 @@ -[server] - host = "127.0.0.1" - port = 3008 - kind = "{{watcherKind}}" - -[database] - type = "postgres" - host = "localhost" - port = 5432 - database = "{{folderName}}" - username = "postgres" - password = "postgres" - synchronize = true - logging = false - -[upstream] - [upstream.ethServer] - gqlApiEndpoint = "http://127.0.0.1:8082/graphql" - rpcProviderEndpoint = "http://127.0.0.1:8081" - blockDelayInMilliSecs = 2000 - - [upstream.cache] - name = "requests" - enabled = false - deleteOnStart = false - -[jobQueue] - dbConnectionString = "postgres://postgres:postgres@localhost/{{folderName}}-job-queue" - maxCompletionLagInSecs = 300 - jobDelayInMilliSecs = 100 diff --git a/packages/codegen/src/templates/database-template.handlebars b/packages/codegen/src/templates/database-template.handlebars deleted file mode 100644 index 9e21b3d5..00000000 --- a/packages/codegen/src/templates/database-template.handlebars +++ /dev/null @@ -1,208 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import assert from 'assert'; -import { Connection, ConnectionOptions, DeepPartial, FindConditions, QueryRunner, FindManyOptions } from 'typeorm'; -import path from 'path'; - -import { Database as BaseDatabase, QueryOptions, Where } from '@vulcanize/util'; - -import { Contract } from './entity/Contract'; -import { Event } from './entity/Event'; -import { SyncStatus } from './entity/SyncStatus'; -import { BlockProgress } from './entity/BlockProgress'; - -{{#each queries as | query |}} -import { {{query.entityName}} } from './entity/{{query.entityName}}'; -{{/each}} - -export class Database { - _config: ConnectionOptions; - _conn!: Connection; - _baseDatabase: BaseDatabase; - _propColMaps: { [key: string]: Map; } - - constructor (config: ConnectionOptions) { - assert(config); - - this._config = { - ...config, - entities: [path.join(__dirname, 'entity/*')] - }; - - this._baseDatabase = new BaseDatabase(this._config); - this._propColMaps = {}; - } - - async init (): Promise { - this._conn = await this._baseDatabase.init(); - this._setPropColMaps(); - } - - async close (): Promise { - return this._baseDatabase.close(); - } - - {{#each queries as | query |}} - // eslint-disable-next-line camelcase - {{#if (reservedNameCheck (capitalize query.name tillIndex=1)) }} - // eslint-disable-next-line @typescript-eslint/ban-types - {{/if}} - async get{{capitalize query.name tillIndex=1}} ({ blockHash, contractAddress - {{~#each query.params}}, {{this.name~}} {{/each}} }: { blockHash: string, contractAddress: string - {{~#each query.params}}, {{this.name~}}: {{this.type~}} {{/each}} }): Promise<{{query.entityName}} | undefined> { - return this._conn.getRepository({{query.entityName}}) - .findOne({ - blockHash, - contractAddress{{#if query.params.length}},{{/if}} - {{#each query.params}} - {{this.name}}{{#unless @last}},{{/unless}} - {{/each}} - }); - } - - {{/each}} - - {{~#each queries as | query |}} - // eslint-disable-next-line camelcase - {{#if (reservedNameCheck (capitalize query.name tillIndex=1)) }} - // eslint-disable-next-line @typescript-eslint/ban-types - {{/if}} - async save{{capitalize query.name tillIndex=1}} ({ blockHash, contractAddress - {{~#each query.params}}, {{this.name~}} {{/each}}, value, proof }: DeepPartial<{{query.entityName}}>): Promise<{{query.entityName}}> { - const repo = this._conn.getRepository({{query.entityName}}); - const entity = repo.create({ blockHash, contractAddress - {{~#each query.params}}, {{this.name~}} {{/each}}, value, proof }); - return repo.save(entity); - } - - {{/each}} - async getContract (address: string): Promise { - const repo = this._conn.getRepository(Contract); - - return this._baseDatabase.getContract(repo, address); - } - - async createTransactionRunner (): Promise { - return this._baseDatabase.createTransactionRunner(); - } - - async getProcessedBlockCountForRange (fromBlockNumber: number, toBlockNumber: number): Promise<{ expected: number, actual: number }> { - const repo = this._conn.getRepository(BlockProgress); - - return this._baseDatabase.getProcessedBlockCountForRange(repo, fromBlockNumber, toBlockNumber); - } - - async getEventsInRange (fromBlockNumber: number, toBlockNumber: number): Promise> { - const repo = this._conn.getRepository(Event); - - return this._baseDatabase.getEventsInRange(repo, fromBlockNumber, toBlockNumber); - } - - async saveEventEntity (queryRunner: QueryRunner, entity: Event): Promise { - const repo = queryRunner.manager.getRepository(Event); - return this._baseDatabase.saveEventEntity(repo, entity); - } - - async getBlockEvents (blockHash: string, where: Where, queryOptions: QueryOptions): Promise { - const repo = this._conn.getRepository(Event); - - return this._baseDatabase.getBlockEvents(repo, blockHash, options); - return this._baseDatabase.getBlockEvents(repo, blockHash, where, queryOptions); - } - - async saveEvents (queryRunner: QueryRunner, block: DeepPartial, events: DeepPartial[]): Promise { - const blockRepo = queryRunner.manager.getRepository(BlockProgress); - const eventRepo = queryRunner.manager.getRepository(Event); - - return this._baseDatabase.saveEvents(blockRepo, eventRepo, block, events); - } - - async saveContract (address: string, kind: string, startingBlock: number): Promise { - await this._conn.transaction(async (tx) => { - const repo = tx.getRepository(Contract); - - return this._baseDatabase.saveContract(repo, address, startingBlock, kind); - }); - } - - async updateSyncStatusIndexedBlock (queryRunner: QueryRunner, blockHash: string, blockNumber: number): Promise { - const repo = queryRunner.manager.getRepository(SyncStatus); - - return this._baseDatabase.updateSyncStatusIndexedBlock(repo, blockHash, blockNumber); - } - - async updateSyncStatusCanonicalBlock (queryRunner: QueryRunner, blockHash: string, blockNumber: number): Promise { - const repo = queryRunner.manager.getRepository(SyncStatus); - - return this._baseDatabase.updateSyncStatusCanonicalBlock(repo, blockHash, blockNumber); - } - - async updateSyncStatusChainHead (queryRunner: QueryRunner, blockHash: string, blockNumber: number): Promise { - const repo = queryRunner.manager.getRepository(SyncStatus); - - return this._baseDatabase.updateSyncStatusChainHead(repo, blockHash, blockNumber); - } - - async getSyncStatus (queryRunner: QueryRunner): Promise { - const repo = queryRunner.manager.getRepository(SyncStatus); - - return this._baseDatabase.getSyncStatus(repo); - } - - async getEvent (id: string): Promise { - const repo = this._conn.getRepository(Event); - - return this._baseDatabase.getEvent(repo, id); - } - - async getBlocksAtHeight (height: number, isPruned: boolean): Promise { - const repo = this._conn.getRepository(BlockProgress); - - return this._baseDatabase.getBlocksAtHeight(repo, height, isPruned); - } - - async markBlocksAsPruned (queryRunner: QueryRunner, blocks: BlockProgress[]): Promise { - const repo = queryRunner.manager.getRepository(BlockProgress); - - return this._baseDatabase.markBlocksAsPruned(repo, blocks); - } - - async getBlockProgress (blockHash: string): Promise { - const repo = this._conn.getRepository(BlockProgress); - return this._baseDatabase.getBlockProgress(repo, blockHash); - } - - async getBlockProgressEntities (where: FindConditions, options: FindManyOptions): Promise { - const repo = this._conn.getRepository(BlockProgress); - - return this._baseDatabase.getBlockProgressEntities(repo, where, options); - } - - async updateBlockProgress (queryRunner: QueryRunner, blockHash: string, lastProcessedEventIndex: number): Promise { - const repo = queryRunner.manager.getRepository(BlockProgress); - - return this._baseDatabase.updateBlockProgress(repo, blockHash, lastProcessedEventIndex); - } - - async removeEntities (queryRunner: QueryRunner, entity: new () => Entity, findConditions?: FindConditions): Promise { - return this._baseDatabase.removeEntities(queryRunner, entity, findConditions); - } - - async getAncestorAtDepth (blockHash: string, depth: number): Promise { - return this._baseDatabase.getAncestorAtDepth(blockHash, depth); - } - - _getPropertyColumnMapForEntity (entityName: string): Map { - return this._conn.getMetadata(entityName).ownColumns.reduce((acc, curr) => { - return acc.set(curr.propertyName, curr.databaseName); - }, new Map()); - } - - _setPropColMaps (): void { - {{#each queries as | query |}} - this._propColMaps.{{query.entityName}} = this._getPropertyColumnMapForEntity('{{query.entityName}}'); - {{/each}} - } -} diff --git a/packages/codegen/src/templates/entity-template.handlebars b/packages/codegen/src/templates/entity-template.handlebars deleted file mode 100644 index eedb7299..00000000 --- a/packages/codegen/src/templates/entity-template.handlebars +++ /dev/null @@ -1,40 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -{{#each imports as | import |}} -import { {{~#each import.toImport}} {{this}} {{~#unless @last}}, {{~/unless}} {{~/each}} } from '{{import.from}}'; -{{/each}} - -@Entity() -{{#each indexOn as | index |}} -{{#if index.columns}} -@Index([ -{{~#each index.columns}}'{{this}}' -{{~#unless @last}}, {{/unless}} -{{~/each}}] -{{~#if index.unique}}, { unique: true }{{/if}}) -{{/if}} -{{/each}} -export class {{className}} {{~#if implements}} implements {{implements}} {{~/if}} { - @PrimaryGeneratedColumn() - id!: number; - - {{#each columns as | column |}} - {{#if (compare column.columnType 'ManyToOne')}} - @{{column.columnType}}({{column.lhs}} => {{column.rhs}} - {{~else}} - @{{column.columnType}}('{{column.pgType}}' - {{~/if}} - {{~#if column.columnOptions}}, { - {{~#each column.columnOptions}} {{this.option}}: {{this.value}} - {{~#unless @last}}, {{/unless}} - {{~/each}} } - {{~/if}}) - {{column.name}}!: {{column.tsType}}; - {{~#unless @last}} - - {{/unless}} - - {{/each}} -} diff --git a/packages/codegen/src/templates/eslintignore-template.handlebars b/packages/codegen/src/templates/eslintignore-template.handlebars deleted file mode 100644 index 55cb5225..00000000 --- a/packages/codegen/src/templates/eslintignore-template.handlebars +++ /dev/null @@ -1,2 +0,0 @@ -# Don't lint build output. -dist diff --git a/packages/codegen/src/templates/eslintrc-template.handlebars b/packages/codegen/src/templates/eslintrc-template.handlebars deleted file mode 100644 index 476d529d..00000000 --- a/packages/codegen/src/templates/eslintrc-template.handlebars +++ /dev/null @@ -1,27 +0,0 @@ -{ - "env": { - "browser": true, - "es2021": true - }, - "extends": [ - "semistandard", - "plugin:@typescript-eslint/recommended" - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { - "ecmaVersion": 12, - "sourceType": "module" - }, - "plugins": [ - "@typescript-eslint" - ], - "rules": { - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/explicit-module-boundary-types": [ - "warn", - { - "allowArgumentsExplicitlyTypedAsAny": true - } - ] - } -} diff --git a/packages/codegen/src/templates/events-template.handlebars b/packages/codegen/src/templates/events-template.handlebars deleted file mode 100644 index 7bf44c52..00000000 --- a/packages/codegen/src/templates/events-template.handlebars +++ /dev/null @@ -1,120 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import assert from 'assert'; -import debug from 'debug'; -import { PubSub } from 'apollo-server-express'; - -import { EthClient } from '@vulcanize/ipld-eth-client'; -import { - JobQueue, - EventWatcher as BaseEventWatcher, - QUEUE_BLOCK_PROCESSING, - QUEUE_EVENT_PROCESSING, - UNKNOWN_EVENT_NAME, - UpstreamConfig -} from '@vulcanize/util'; - -import { Indexer } from './indexer'; -import { Event } from './entity/Event'; - -const EVENT = 'event'; - -const log = debug('vulcanize:events'); - -export class EventWatcher { - _ethClient: EthClient - _indexer: Indexer - _subscription: ZenObservable.Subscription | undefined - _baseEventWatcher: BaseEventWatcher - _pubsub: PubSub - _jobQueue: JobQueue - - constructor (upstreamConfig: UpstreamConfig, ethClient: EthClient, indexer: Indexer, pubsub: PubSub, jobQueue: JobQueue) { - assert(ethClient); - assert(indexer); - - this._ethClient = ethClient; - this._indexer = indexer; - this._pubsub = pubsub; - this._jobQueue = jobQueue; - this._baseEventWatcher = new BaseEventWatcher(upstreamConfig, this._ethClient, this._indexer, this._pubsub, this._jobQueue); - } - - getEventIterator (): AsyncIterator { - return this._pubsub.asyncIterator([EVENT]); - } - - getBlockProgressEventIterator (): AsyncIterator { - return this._baseEventWatcher.getBlockProgressEventIterator(); - } - - async start (): Promise { - assert(!this._subscription, 'subscription already started'); - - await this.initBlockProcessingOnCompleteHandler(); - await this.initEventProcessingOnCompleteHandler(); - this._baseEventWatcher.startBlockProcessing(); - } - - async stop (): Promise { - this._baseEventWatcher.stop(); - } - - async initBlockProcessingOnCompleteHandler (): Promise { - this._jobQueue.onComplete(QUEUE_BLOCK_PROCESSING, async (job) => { - const { id, data: { failed } } = job; - - if (failed) { - log(`Job ${id} for queue ${QUEUE_BLOCK_PROCESSING} failed`); - return; - } - - await this._baseEventWatcher.blockProcessingCompleteHandler(job); - }); - } - - async initEventProcessingOnCompleteHandler (): Promise { - await this._jobQueue.onComplete(QUEUE_EVENT_PROCESSING, async (job) => { - const { id, data: { request, failed, state, createdOn } } = job; - - if (failed) { - log(`Job ${id} for queue ${QUEUE_EVENT_PROCESSING} failed`); - return; - } - - const dbEvents = await this._baseEventWatcher.eventProcessingCompleteHandler(job); - const timeElapsedInSeconds = (Date.now() - Date.parse(createdOn)) / 1000; - - // Cannot publish individual event as they are processed together in a single job. - // TODO: Use a different pubsub to publish event from job-runner. - // https://www.apollographql.com/docs/apollo-server/data/subscriptions/#production-pubsub-libraries - for (const dbEvent of dbEvents) { - log(`Job onComplete event ${dbEvent.id} publish ${!!request.data.publish}`); - - if (!failed && state === 'completed' && request.data.publish) { - // Check for max acceptable lag time between request and sending results to live subscribers. - if (timeElapsedInSeconds <= this._jobQueue.maxCompletionLag) { - await this.publishEventToSubscribers(dbEvent, timeElapsedInSeconds); - } else { - log(`event ${dbEvent.id} is too old (${timeElapsedInSeconds}s), not broadcasting to live subscribers`); - } - } - } - }); - } - - async publishEventToSubscribers (dbEvent: Event, timeElapsedInSeconds: number): Promise { - if (dbEvent && dbEvent.eventName !== UNKNOWN_EVENT_NAME) { - const resultEvent = this._indexer.getResultEvent(dbEvent); - - log(`pushing event to GQL subscribers (${timeElapsedInSeconds}s elapsed): ${resultEvent.event.__typename}`); - - // Publishing the event here will result in pushing the payload to GQL subscribers for `onEvent`. - await this._pubsub.publish(EVENT, { - onEvent: resultEvent - }); - } - } -} diff --git a/packages/codegen/src/templates/fill-template.handlebars b/packages/codegen/src/templates/fill-template.handlebars deleted file mode 100644 index c5b3db9d..00000000 --- a/packages/codegen/src/templates/fill-template.handlebars +++ /dev/null @@ -1,90 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import assert from 'assert'; -import 'reflect-metadata'; -import yargs from 'yargs'; -import { hideBin } from 'yargs/helpers'; -import debug from 'debug'; -import { PubSub } from 'apollo-server-express'; - -import { getCache } from '@vulcanize/cache'; -import { EthClient } from '@vulcanize/ipld-eth-client'; -import { getConfig, fillBlocks, JobQueue, DEFAULT_CONFIG_PATH, getCustomProvider } from '@vulcanize/util'; - -import { Database } from './database'; -import { Indexer } from './indexer'; -import { EventWatcher } from './events'; - -const log = debug('vulcanize:server'); - -export const main = async (): Promise => { - const argv = await yargs(hideBin(process.argv)).parserConfiguration({ - 'parse-numbers': false - }).options({ - configFile: { - alias: 'f', - type: 'string', - demandOption: true, - describe: 'configuration file path (toml)', - default: DEFAULT_CONFIG_PATH - }, - startBlock: { - type: 'number', - demandOption: true, - describe: 'Block number to start processing at' - }, - endBlock: { - type: 'number', - demandOption: true, - describe: 'Block number to stop processing at' - } - }).argv; - - const config = await getConfig(argv.configFile); - - assert(config.server, 'Missing server config'); - - const { upstream, database: dbConfig, jobQueue: jobQueueConfig } = config; - - assert(dbConfig, 'Missing database config'); - - const db = new Database(dbConfig); - await db.init(); - - assert(upstream, 'Missing upstream config'); - const { ethServer: { gqlApiEndpoint, rpcProviderEndpoint, blockDelayInMilliSecs }, cache: cacheConfig } = upstream; - - const cache = await getCache(cacheConfig); - - const ethClient = new EthClient({ - gqlEndpoint: gqlApiEndpoint, - cache - }); - - const ethProvider = getCustomProvider(rpcProviderEndpoint); - - // Note: In-memory pubsub works fine for now, as each watcher is a single process anyway. - // Later: https://www.apollographql.com/docs/apollo-server/data/subscriptions/#production-pubsub-libraries - const pubsub = new PubSub(); - const indexer = new Indexer(db, ethClient, ethProvider); - - const { dbConnectionString, maxCompletionLagInSecs } = jobQueueConfig; - assert(dbConnectionString, 'Missing job queue db connection string'); - - const jobQueue = new JobQueue({ dbConnectionString, maxCompletionLag: maxCompletionLagInSecs }); - await jobQueue.start(); - - const eventWatcher = new EventWatcher(upstream, ethClient, indexer, pubsub, jobQueue); - - assert(jobQueueConfig, 'Missing job queue config'); - - await fillBlocks(jobQueue, indexer, eventWatcher, blockDelayInMilliSecs, argv); -}; - -main().catch(err => { - log(err); -}).finally(() => { - process.exit(); -}); diff --git a/packages/codegen/src/templates/hooks-example-template.handlebars b/packages/codegen/src/templates/hooks-example-template.handlebars deleted file mode 100644 index 04b5ebf2..00000000 --- a/packages/codegen/src/templates/hooks-example-template.handlebars +++ /dev/null @@ -1,51 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import assert from 'assert'; - -import { Indexer, ResultEvent } from './indexer'; - -/** - * Event hook function. - * @param indexer Indexer instance that contains methods to fetch and update the contract values in the database. - * @param eventData ResultEvent object containing necessary information. - */ -export async function handleEvent (indexer: Indexer, eventData: ResultEvent): Promise { - assert(indexer); - assert(eventData); - - // The following code is for ERC20 contract implementation. - - // Perform indexing based on the type of event. - switch (eventData.event.__typename) { - // In case of ERC20 'Transfer' event. - case 'TransferEvent': { - // On a transfer, balances for both parties change. - // Therefore, trigger indexing for both sender and receiver. - - // Get event fields from eventData. - // const { from, to } = eventData.event; - - // Update balance entry for sender in the database. - // await indexer.balanceOf(eventData.block.hash, eventData.contract, from); - - // Update balance entry for receiver in the database. - // await indexer.balanceOf(eventData.block.hash, eventData.contract, to); - - break; - } - // In case of ERC20 'Approval' event. - case 'ApprovalEvent': { - // On an approval, allowance for (owner, spender) combination changes. - - // Get event fields from eventData. - // const { owner, spender } = eventData.event; - - // Update allowance entry for (owner, spender) combination in the database. - // await indexer.allowance(eventData.block.hash, eventData.contract, owner, spender); - - break; - } - } -} diff --git a/packages/codegen/src/templates/hooks-template.handlebars b/packages/codegen/src/templates/hooks-template.handlebars deleted file mode 100644 index 27e856ae..00000000 --- a/packages/codegen/src/templates/hooks-template.handlebars +++ /dev/null @@ -1,19 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import assert from 'assert'; - -import { Indexer, ResultEvent } from './indexer'; - -/** - * Event hook function. - * @param indexer Indexer instance that contains methods to fetch and update the contract values in the database. - * @param eventData ResultEvent object containing necessary information. - */ -export async function handleEvent (indexer: Indexer, eventData: ResultEvent): Promise { - assert(indexer); - assert(eventData); - - // Perform indexing based on the type of event. -} diff --git a/packages/codegen/src/templates/indexer-template.handlebars b/packages/codegen/src/templates/indexer-template.handlebars deleted file mode 100644 index 3d32abda..00000000 --- a/packages/codegen/src/templates/indexer-template.handlebars +++ /dev/null @@ -1,393 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import assert from 'assert'; -import debug from 'debug'; -import { JsonFragment } from '@ethersproject/abi'; -import { DeepPartial, FindConditions } from 'typeorm'; -import JSONbig from 'json-bigint'; -import { ethers } from 'ethers'; -import { BaseProvider } from '@ethersproject/providers'; - -import { EthClient } from '@vulcanize/ipld-eth-client'; -import { StorageLayout } from '@vulcanize/solidity-mapper'; -import { EventInterface, Indexer as BaseIndexer, ValueResult, UNKNOWN_EVENT_NAME, Where, QueryOptions } from '@vulcanize/util'; - -import { Database } from './database'; -import { Contract } from './entity/Contract'; -import { Event } from './entity/Event'; -import { SyncStatus } from './entity/SyncStatus'; -import { BlockProgress } from './entity/BlockProgress'; -import artifacts from './artifacts/{{inputFileName}}.json'; -import { handleEvent } from './hooks'; - -const log = debug('vulcanize:indexer'); - -{{#each events as | event |}} -const {{capitalize event.name}}_EVENT = '{{event.name}}'; -{{/each}} - -export type ResultEvent = { - block: { - hash: string; - number: number; - timestamp: number; - parentHash: string; - }; - tx: { - hash: string; - from: string; - to: string; - index: number; - }; - - contract: string; - - eventIndex: number; - event: any; - - proof: string; -} - -export class Indexer { - _db: Database - _ethClient: EthClient - _ethProvider: BaseProvider - _baseIndexer: BaseIndexer - - _abi: JsonFragment[] - _storageLayout: StorageLayout - _contract: ethers.utils.Interface - - constructor (db: Database, ethClient: EthClient, ethProvider: BaseProvider) { - assert(db); - assert(ethClient); - - this._db = db; - this._ethClient = ethClient; - this._ethProvider = ethProvider; - this._baseIndexer = new BaseIndexer(this._db, this._ethClient, this._ethProvider); - - const { abi, storageLayout } = artifacts; - - assert(abi); - assert(storageLayout); - - this._abi = abi; - this._storageLayout = storageLayout; - - this._contract = new ethers.utils.Interface(this._abi); - } - - getResultEvent (event: Event): ResultEvent { - const block = event.block; - const eventFields = JSONbig.parse(event.eventInfo); - const { tx } = JSON.parse(event.extraInfo); - - return { - block: { - hash: block.blockHash, - number: block.blockNumber, - timestamp: block.blockTimestamp, - parentHash: block.parentHash - }, - - tx: { - hash: event.txHash, - from: tx.src, - to: tx.dst, - index: tx.index - }, - - contract: event.contract, - - eventIndex: event.index, - event: { - __typename: `${event.eventName}Event`, - ...eventFields - }, - - // TODO: Return proof only if requested. - proof: JSON.parse(event.proof) - }; - } - - {{#each queries as | query |}} - async {{query.name}} (blockHash: string, contractAddress: string - {{~#each query.params}}, {{this.name~}}: {{this.type~}} {{/each}}): Promise { - const entity = await this._db.get{{capitalize query.name tillIndex=1}}({ blockHash, contractAddress - {{~#each query.params}}, {{this.name~}} {{~/each}} }); - if (entity) { - log('{{query.name}}: db hit.'); - - return { - value: entity.value, - proof: JSON.parse(entity.proof) - }; - } - - log('{{query.name}}: db miss, fetching from upstream server'); - - {{#if (compare query.mode @root.constants.MODE_ETH_CALL)}} - const contract = new ethers.Contract(contractAddress, this._abi, this._ethProvider); - - {{#if (compare query.returnType 'bigint')}} - let value = await contract.{{query.name}}( - {{~#each query.params}}{{this.name}}, {{/each}}{ blockTag: blockHash }); - value = value.toString(); - value = BigInt(value); - {{else}} - const value = await contract.{{query.name}}( - {{~#each query.params}}{{this.name}}, {{/each}}{ blockTag: blockHash }); - {{/if}} - - const result: ValueResult = { value }; - {{/if}} - - {{~#if (compare query.mode @root.constants.MODE_STORAGE)}} - const result = await this._baseIndexer.getStorageValue( - this._storageLayout, - blockHash, - contractAddress, - '{{query.name}}'{{#if query.params.length}},{{/if}} - {{#each query.params}} - {{this.name}}{{#unless @last}},{{/unless}} - {{/each}} - ); - {{/if}} - - await this._db.save{{capitalize query.name tillIndex=1}}({ blockHash, contractAddress - {{~#each query.params}}, {{this.name~}} {{/each}}, value: result.value, proof: JSONbig.stringify(result.proof) }); - - return result; - } - - {{/each}} - async triggerIndexingOnEvent (event: Event): Promise { - const resultEvent = this.getResultEvent(event); - - // Call custom hook function for indexing on event. - await handleEvent(this, resultEvent); - } - - async processEvent (event: Event): Promise { - // Trigger indexing of data based on the event. - await this.triggerIndexingOnEvent(event); - } - - parseEventNameAndArgs (kind: string, logObj: any): any { - let eventName = UNKNOWN_EVENT_NAME; - let eventInfo = {}; - - const { topics, data } = logObj; - const logDescription = this._contract.parseLog({ data, topics }); - - switch (logDescription.name) { - {{#each events as | event |}} - case {{capitalize event.name}}_EVENT: { - eventName = logDescription.name; - const { {{#each event.params~}} {{this.name}} {{~#unless @last}}, {{/unless}} {{~/each}} } = logDescription.args; - eventInfo = { - {{#each event.params}} - {{#if (compare this.type 'bigint')}} - {{this.name}}: BigInt(ethers.BigNumber.from({{this.name}}).toString()) - {{else}} - {{this.name}} - {{~/if}} - {{~#unless @last}},{{/unless}} - {{/each}} - }; - - break; - } - {{/each}} - } - - return { eventName, eventInfo }; - } - - async watchContract (address: string, startingBlock: number): Promise { - // Always use the checksum address (https://docs.ethers.io/v5/api/utils/address/#utils-getAddress). - await this._db.saveContract(ethers.utils.getAddress(address), '{{contractName}}', startingBlock); - - return true; - } - - async getEventsByFilter (blockHash: string, contract: string, name: string | null): Promise> { - return this._baseIndexer.getEventsByFilter(blockHash, contract, name); - } - - async isWatchedContract (address : string): Promise { - return this._baseIndexer.isWatchedContract(address); - } - - async getProcessedBlockCountForRange (fromBlockNumber: number, toBlockNumber: number): Promise<{ expected: number, actual: number }> { - return this._baseIndexer.getProcessedBlockCountForRange(fromBlockNumber, toBlockNumber); - } - - async getEventsInRange (fromBlockNumber: number, toBlockNumber: number): Promise> { - return this._baseIndexer.getEventsInRange(fromBlockNumber, toBlockNumber); - } - - async getSyncStatus (): Promise { - return this._baseIndexer.getSyncStatus(); - } - - async updateSyncStatusIndexedBlock (blockHash: string, blockNumber: number): Promise { - return this._baseIndexer.updateSyncStatusIndexedBlock(blockHash, blockNumber); - } - - async updateSyncStatusChainHead (blockHash: string, blockNumber: number): Promise { - return this._baseIndexer.updateSyncStatusChainHead(blockHash, blockNumber); - } - - async updateSyncStatusCanonicalBlock (blockHash: string, blockNumber: number): Promise { - return this._baseIndexer.updateSyncStatusCanonicalBlock(blockHash, blockNumber); - } - - async getBlocks (blockFilter: { blockNumber?: number, blockHash?: string }): Promise { - return this._baseIndexer.getBlocks(blockFilter); - } - - async getEvent (id: string): Promise { - return this._baseIndexer.getEvent(id); - } - - async getBlockProgress (blockHash: string): Promise { - return this._baseIndexer.getBlockProgress(blockHash); - } - - async getBlockProgressEntities (where: FindConditions, options: FindManyOptions): Promise { - return this._baseIndexer.getBlockProgressEntities(where, options); - } - - async getBlocksAtHeight (height: number, isPruned: boolean): Promise { - return this._baseIndexer.getBlocksAtHeight(height, isPruned); - } - - async fetchBlockEvents (block: DeepPartial): Promise { - return this._baseIndexer.fetchBlockEvents(block, this._fetchAndSaveEvents.bind(this)); - } - - async getBlockEvents (blockHash: string, where: Where, queryOptions: QueryOptions): Promise> { - return this._baseIndexer.getBlockEvents(blockHash, where, queryOptions); - } - - async removeUnknownEvents (block: BlockProgress): Promise { - return this._baseIndexer.removeUnknownEvents(Event, block); - } - - async markBlocksAsPruned (blocks: BlockProgress[]): Promise { - return this._baseIndexer.markBlocksAsPruned(blocks); - } - - async updateBlockProgress (blockHash: string, lastProcessedEventIndex: number): Promise { - return this._baseIndexer.updateBlockProgress(blockHash, lastProcessedEventIndex); - } - - async getAncestorAtDepth (blockHash: string, depth: number): Promise { - return this._baseIndexer.getAncestorAtDepth(blockHash, depth); - } - - async _fetchAndSaveEvents ({ blockHash }: DeepPartial): Promise { - assert(blockHash); - let { block, logs } = await this._ethClient.getLogs({ blockHash }); - - const { - allEthHeaderCids: { - nodes: [ - { - ethTransactionCidsByHeaderId: { - nodes: transactions - } - } - ] - } - } = await this._ethClient.getBlockWithTransactions({ blockHash }); - - const transactionMap = transactions.reduce((acc: {[key: string]: any}, transaction: {[key: string]: any}) => { - acc[transaction.txHash] = transaction; - return acc; - }, {}); - - const dbEvents: Array> = []; - - for (let li = 0; li < logs.length; li++) { - const logObj = logs[li]; - const { - topics, - data, - index: logIndex, - cid, - ipldBlock, - account: { - address - }, - transaction: { - hash: txHash - }, - receiptCID, - status - } = logObj; - - if (status) { - let eventName = UNKNOWN_EVENT_NAME; - let eventInfo = {}; - const tx = transactionMap[txHash]; - const extraInfo = { topics, data, tx }; - - const contract = ethers.utils.getAddress(address); - const watchedContract = await this.isWatchedContract(contract); - - if (watchedContract) { - const eventDetails = this.parseEventNameAndArgs(watchedContract.kind, logObj); - eventName = eventDetails.eventName; - eventInfo = eventDetails.eventInfo; - } - - dbEvents.push({ - index: logIndex, - txHash, - contract, - eventName, - eventInfo: JSONbig.stringify(eventInfo), - extraInfo: JSONbig.stringify(extraInfo), - proof: JSONbig.stringify({ - data: JSONbig.stringify({ - blockHash, - receiptCID, - log: { - cid, - ipldBlock - } - }) - }) - }); - } else { - log(`Skipping event for receipt ${receiptCID} due to failed transaction.`); - } - } - - const dbTx = await this._db.createTransactionRunner(); - - try { - block = { - blockHash, - blockNumber: block.number, - blockTimestamp: block.timestamp, - parentHash: block.parent.hash - }; - - const blockProgress = await this._db.saveEvents(dbTx, block, dbEvents); - await dbTx.commitTransaction(); - - return blockProgress; - } catch (error) { - await dbTx.rollbackTransaction(); - throw error; - } finally { - await dbTx.release(); - } - } -} diff --git a/packages/codegen/src/templates/job-runner-template.handlebars b/packages/codegen/src/templates/job-runner-template.handlebars deleted file mode 100644 index 361ddbba..00000000 --- a/packages/codegen/src/templates/job-runner-template.handlebars +++ /dev/null @@ -1,126 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import assert from 'assert'; -import 'reflect-metadata'; -import yargs from 'yargs'; -import { hideBin } from 'yargs/helpers'; -import debug from 'debug'; - -import { getCache } from '@vulcanize/cache'; -import { EthClient } from '@vulcanize/ipld-eth-client'; -import { - getConfig, - JobQueue, - JobRunner as BaseJobRunner, - QUEUE_BLOCK_PROCESSING, - QUEUE_EVENT_PROCESSING, - JobQueueConfig, - DEFAULT_CONFIG_PATH, - getCustomProvider -} from '@vulcanize/util'; - -import { Indexer } from './indexer'; -import { Database } from './database'; - -const log = debug('vulcanize:job-runner'); - -export class JobRunner { - _indexer: Indexer - _jobQueue: JobQueue - _baseJobRunner: BaseJobRunner - _jobQueueConfig: JobQueueConfig - - constructor (jobQueueConfig: JobQueueConfig, indexer: Indexer, jobQueue: JobQueue) { - this._jobQueueConfig = jobQueueConfig; - this._indexer = indexer; - this._jobQueue = jobQueue; - this._baseJobRunner = new BaseJobRunner(this._jobQueueConfig, this._indexer, this._jobQueue); - } - - async start (): Promise { - await this.subscribeBlockProcessingQueue(); - await this.subscribeEventProcessingQueue(); - } - - async subscribeBlockProcessingQueue (): Promise { - await this._jobQueue.subscribe(QUEUE_BLOCK_PROCESSING, async (job) => { - await this._baseJobRunner.processBlock(job); - - await this._jobQueue.markComplete(job); - }); - } - - async subscribeEventProcessingQueue (): Promise { - await this._jobQueue.subscribe(QUEUE_EVENT_PROCESSING, async (job) => { - const event = await this._baseJobRunner.processEvent(job); - - const watchedContract = await this._indexer.isWatchedContract(event.contract); - if (watchedContract) { - await this._indexer.processEvent(event); - } - - await this._indexer.updateBlockProgress(event.block.blockHash, event.index); - await this._jobQueue.markComplete(job); - }); - } -} - -export const main = async (): Promise => { - const argv = await yargs(hideBin(process.argv)) - .option('f', { - alias: 'config-file', - demandOption: true, - describe: 'configuration file path (toml)', - type: 'string', - default: DEFAULT_CONFIG_PATH - }) - .argv; - - const config = await getConfig(argv.f); - - assert(config.server, 'Missing server config'); - - const { upstream, database: dbConfig, jobQueue: jobQueueConfig } = config; - - assert(dbConfig, 'Missing database config'); - - const db = new Database(dbConfig); - await db.init(); - - assert(upstream, 'Missing upstream config'); - const { ethServer: { gqlApiEndpoint, rpcProviderEndpoint }, cache: cacheConfig } = upstream; - assert(gqlApiEndpoint, 'Missing upstream ethServer.gqlApiEndpoint'); - - const cache = await getCache(cacheConfig); - - const ethClient = new EthClient({ - gqlEndpoint: gqlApiEndpoint, - cache - }); - - const ethProvider = getCustomProvider(rpcProviderEndpoint); - const indexer = new Indexer(db, ethClient, ethProvider); - - assert(jobQueueConfig, 'Missing job queue config'); - - const { dbConnectionString, maxCompletionLagInSecs } = jobQueueConfig; - assert(dbConnectionString, 'Missing job queue db connection string'); - - const jobQueue = new JobQueue({ dbConnectionString, maxCompletionLag: maxCompletionLagInSecs }); - await jobQueue.start(); - - const jobRunner = new JobRunner(jobQueueConfig, indexer, jobQueue); - await jobRunner.start(); -}; - -main().then(() => { - log('Starting job runner...'); -}).catch(err => { - log(err); -}); - -process.on('uncaughtException', err => { - log('uncaughtException', err); -}); diff --git a/packages/codegen/src/templates/package-template.handlebars b/packages/codegen/src/templates/package-template.handlebars deleted file mode 100644 index 1358b7de..00000000 --- a/packages/codegen/src/templates/package-template.handlebars +++ /dev/null @@ -1,59 +0,0 @@ -{ - "name": "@vulcanize/{{folderName}}", - "version": "0.1.0", - "description": "{{folderName}}", - "private": true, - "main": "dist/index.js", - "scripts": { - "lint": "eslint .", - "build": "tsc", - "server": "DEBUG=vulcanize:* ts-node src/server.ts", - "job-runner": "DEBUG=vulcanize:* ts-node src/job-runner.ts", - "watch:contract": "DEBUG=vulcanize:* ts-node src/cli/watch-contract.ts", - "fill": "DEBUG=vulcanize:* ts-node src/fill.ts" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/vulcanize/watcher-ts.git" - }, - "author": "", - "license": "AGPL-3.0", - "bugs": { - "url": "https://github.com/vulcanize/watcher-ts/issues" - }, - "homepage": "https://github.com/vulcanize/watcher-ts#readme", - "dependencies": { - "@ethersproject/providers": "5.3.0", - "@vulcanize/cache": "^0.1.0", - "@vulcanize/ipld-eth-client": "^0.1.0", - "@vulcanize/solidity-mapper": "^0.1.0", - "@vulcanize/util": "^0.1.0", - "apollo-server-express": "^2.25.0", - "apollo-type-bigint": "^0.1.3", - "debug": "^4.3.1", - "ethers": "^5.2.0", - "express": "^4.17.1", - "graphql": "^15.5.0", - "graphql-import-node": "^0.0.4", - "json-bigint": "^1.0.0", - "reflect-metadata": "^0.1.13", - "typeorm": "^0.2.32", - "yargs": "^17.0.1" - }, - "devDependencies": { - "@ethersproject/abi": "^5.3.0", - "@types/express": "^4.17.11", - "@types/yargs": "^17.0.0", - "@typescript-eslint/eslint-plugin": "^4.25.0", - "@typescript-eslint/parser": "^4.25.0", - "eslint": "^7.27.0", - "eslint-config-semistandard": "^15.0.1", - "eslint-config-standard": "^16.0.3", - "eslint-plugin-import": "^2.23.3", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^5.1.0", - "eslint-plugin-standard": "^5.0.0", - "ts-node": "^10.0.0", - "typescript": "^4.3.2" - } -} diff --git a/packages/codegen/src/templates/readme-template.handlebars b/packages/codegen/src/templates/readme-template.handlebars deleted file mode 100644 index 5c55024b..00000000 --- a/packages/codegen/src/templates/readme-template.handlebars +++ /dev/null @@ -1,78 +0,0 @@ -# {{contractName}} Watcher - -## Setup - -* Run the following command to install required packages: - - ```bash - yarn - ``` - -* Create a postgres12 database for the watcher: - - ```bash - sudo su - postgres - createdb {{folderName}} - ``` - -* If the watcher is an `active` watcher: - - Create database for the job queue and enable the `pgcrypto` extension on them (https://github.com/timgit/pg-boss/blob/master/docs/usage.md#intro): - - ``` - createdb {{folderName}}-job-queue - ``` - - ``` - postgres@tesla:~$ psql -U postgres -h localhost {{folderName}}-job-queue - Password for user postgres: - psql (12.7 (Ubuntu 12.7-1.pgdg18.04+1)) - SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off) - Type "help" for help. - - {{folderName}}-job-queue=# CREATE EXTENSION pgcrypto; - CREATE EXTENSION - {{folderName}}-job-queue=# exit - ``` - -* Update the [config](./environments/local.toml) with database connection settings. - -* Update the `upstream` config in the [config file](./environments/local.toml) and provide the `ipld-eth-server` GQL API endpoint. - -## Customize - -* Indexing on an event: - - * Edit the custom hook function `handleEvent` (triggered on an event) in [hooks.ts](./src/hooks.ts) to perform corresponding indexing using the `Indexer` object. - - * Refer to [hooks.example.ts](./src/hooks.example.ts) for an example hook function for events in an ERC20 contract. - -## Run - -* Run the watcher: - - ```bash - yarn server - ``` - -GQL console: http://localhost:3008/graphql - -* If the watcher is an `active` watcher: - - * Run the job-runner: - - ```bash - yarn job-runner - ``` - - * To watch a contract: - - ```bash - yarn watch:contract --address --kind {{contractName}} --starting-block [block-number] - ``` - - * To fill a block range: - - ```bash - yarn fill --startBlock --endBlock - ``` diff --git a/packages/codegen/src/templates/resolvers-template.handlebars b/packages/codegen/src/templates/resolvers-template.handlebars deleted file mode 100644 index 56e979d3..00000000 --- a/packages/codegen/src/templates/resolvers-template.handlebars +++ /dev/null @@ -1,80 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import assert from 'assert'; -import BigInt from 'apollo-type-bigint'; -import debug from 'debug'; - -import { ValueResult } from '@vulcanize/util'; - -import { Indexer } from './indexer'; -import { EventWatcher } from './events'; - -const log = debug('vulcanize:resolver'); - -export const createResolvers = async (indexer: Indexer, eventWatcher: EventWatcher): Promise => { - assert(indexer); - - return { - BigInt: new BigInt('bigInt'), - - Event: { - __resolveType: (obj: any) => { - assert(obj.__typename); - - return obj.__typename; - } - }, - - Subscription: { - onEvent: { - subscribe: () => eventWatcher.getEventIterator() - } - }, - - Mutation: { - watchContract: (_: any, { contractAddress, startingBlock = 1 }: { contractAddress: string, startingBlock: number }): Promise => { - log('watchContract', contractAddress, startingBlock); - return indexer.watchContract(contractAddress, startingBlock); - } - }, - - Query: { - {{#each queries}} - {{this.name}}: (_: any, { blockHash, contractAddress - {{~#each this.params}}, {{this.name~}} {{/each}} }: { blockHash: string, contractAddress: string - {{~#each this.params}}, {{this.name}}: {{this.type~}} {{/each}} }): Promise => { - log('{{this.name}}', blockHash, contractAddress - {{~#each this.params}}, {{this.name~}} {{/each}}); - return indexer.{{this.name}}(blockHash, contractAddress - {{~#each this.params}}, {{this.name~}} {{/each}}); - }, - - {{/each}} - events: async (_: any, { blockHash, contractAddress, name }: { blockHash: string, contractAddress: string, name: string }) => { - log('events', blockHash, contractAddress, name || ''); - - const block = await indexer.getBlockProgress(blockHash); - if (!block || !block.isComplete) { - throw new Error(`Block hash ${blockHash} number ${block?.blockNumber} not processed yet`); - } - - const events = await indexer.getEventsByFilter(blockHash, contractAddress, name); - return events.map(event => indexer.getResultEvent(event)); - }, - - eventsInRange: async (_: any, { fromBlockNumber, toBlockNumber }: { fromBlockNumber: number, toBlockNumber: number }) => { - log('eventsInRange', fromBlockNumber, toBlockNumber); - - const { expected, actual } = await indexer.getProcessedBlockCountForRange(fromBlockNumber, toBlockNumber); - if (expected !== actual) { - throw new Error(`Range not available, expected ${expected}, got ${actual} blocks in range`); - } - - const events = await indexer.getEventsInRange(fromBlockNumber, toBlockNumber); - return events.map(event => indexer.getResultEvent(event)); - } - } - }; -}; diff --git a/packages/codegen/src/templates/server-template.handlebars b/packages/codegen/src/templates/server-template.handlebars deleted file mode 100644 index d7d6e1ad..00000000 --- a/packages/codegen/src/templates/server-template.handlebars +++ /dev/null @@ -1,110 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import fs from 'fs'; -import path from 'path'; -import assert from 'assert'; -import 'reflect-metadata'; -import express, { Application } from 'express'; -import { ApolloServer, PubSub } from 'apollo-server-express'; -import yargs from 'yargs'; -import { hideBin } from 'yargs/helpers'; -import debug from 'debug'; -import 'graphql-import-node'; -import { createServer } from 'http'; - -import { getCache } from '@vulcanize/cache'; -import { EthClient } from '@vulcanize/ipld-eth-client'; -import { DEFAULT_CONFIG_PATH, getConfig, JobQueue, KIND_ACTIVE, getCustomProvider } from '@vulcanize/util'; - -import { createResolvers } from './resolvers'; -import { Indexer } from './indexer'; -import { Database } from './database'; -import { EventWatcher } from './events'; - -const log = debug('vulcanize:server'); - -export const main = async (): Promise => { - const argv = await yargs(hideBin(process.argv)) - .option('f', { - alias: 'config-file', - demandOption: true, - describe: 'configuration file path (toml)', - type: 'string', - default: DEFAULT_CONFIG_PATH - }) - .argv; - - const config = await getConfig(argv.f); - - assert(config.server, 'Missing server config'); - - const { host, port, kind: watcherKind } = config.server; - - const { upstream, database: dbConfig, jobQueue: jobQueueConfig } = config; - - assert(dbConfig, 'Missing database config'); - - const db = new Database(dbConfig); - await db.init(); - - assert(upstream, 'Missing upstream config'); - const { ethServer: { gqlApiEndpoint, rpcProviderEndpoint }, cache: cacheConfig } = upstream; - assert(gqlApiEndpoint, 'Missing upstream ethServer.gqlApiEndpoint'); - - const cache = await getCache(cacheConfig); - - const ethClient = new EthClient({ - gqlEndpoint: gqlApiEndpoint, - cache - }); - - const ethProvider = getCustomProvider(rpcProviderEndpoint); - - const indexer = new Indexer(db, ethClient, ethProvider); - - // Note: In-memory pubsub works fine for now, as each watcher is a single process anyway. - // Later: https://www.apollographql.com/docs/apollo-server/data/subscriptions/#production-pubsub-libraries - const pubsub = new PubSub(); - - assert(jobQueueConfig, 'Missing job queue config'); - const { dbConnectionString, maxCompletionLagInSecs } = jobQueueConfig; - assert(dbConnectionString, 'Missing job queue db connection string'); - - const jobQueue = new JobQueue({ dbConnectionString, maxCompletionLag: maxCompletionLagInSecs }); - - const eventWatcher = new EventWatcher(upstream, ethClient, indexer, pubsub, jobQueue); - - if (watcherKind === KIND_ACTIVE) { - await jobQueue.start(); - await eventWatcher.start(); - } - - const resolvers = await createResolvers(indexer, eventWatcher); - - const app: Application = express(); - const typeDefs = fs.readFileSync(path.join(__dirname, 'schema.gql')).toString(); - const server = new ApolloServer({ - typeDefs, - resolvers - }); - - await server.start(); - server.applyMiddleware({ app }); - - const httpServer = createServer(app); - server.installSubscriptionHandlers(httpServer); - - httpServer.listen(port, host, () => { - log(`Server is listening on host ${host} port ${port}`); - }); - - return { app, server }; -}; - -main().then(() => { - log('Starting server...'); -}).catch(err => { - log(err); -}); diff --git a/packages/codegen/src/templates/tsconfig-template.handlebars b/packages/codegen/src/templates/tsconfig-template.handlebars deleted file mode 100644 index 99712bdf..00000000 --- a/packages/codegen/src/templates/tsconfig-template.handlebars +++ /dev/null @@ -1,74 +0,0 @@ -{ - "compilerOptions": { - /* Visit https://aka.ms/tsconfig.json to read more about this file */ - - /* Basic Options */ - // "incremental": true, /* Enable incremental compilation */ - "target": "es5", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', 'ES2021', or 'ESNEXT'. */ - "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */ - // "lib": [], /* Specify library files to be included in the compilation. */ - // "allowJs": true, /* Allow javascript files to be compiled. */ - // "checkJs": true, /* Report errors in .js files. */ - // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', 'react', 'react-jsx' or 'react-jsxdev'. */ - // "declaration": true, /* Generates corresponding '.d.ts' file. */ - // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ - // "sourceMap": true, /* Generates corresponding '.map' file. */ - // "outFile": "./", /* Concatenate and emit output to single file. */ - "outDir": "dist", /* Redirect output structure to the directory. */ - // "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ - // "composite": true, /* Enable project compilation */ - // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ - // "removeComments": true, /* Do not emit comments to output. */ - // "noEmit": true, /* Do not emit outputs. */ - // "importHelpers": true, /* Import emit helpers from 'tslib'. */ - // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ - // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ - - /* Strict Type-Checking Options */ - "strict": true, /* Enable all strict type-checking options. */ - // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ - // "strictNullChecks": true, /* Enable strict null checks. */ - // "strictFunctionTypes": true, /* Enable strict checking of function types. */ - // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ - // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ - // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ - // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ - - /* Additional Checks */ - // "noUnusedLocals": true, /* Report errors on unused locals. */ - // "noUnusedParameters": true, /* Report errors on unused parameters. */ - // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ - // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ - // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ - // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an 'override' modifier. */ - // "noPropertyAccessFromIndexSignature": true, /* Require undeclared properties from index signatures to use element accesses. */ - - /* Module Resolution Options */ - // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ - // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ - // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ - // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ - // "typeRoots": [], /* List of folders to include type definitions from. */ - // "types": [], /* Type declaration files to be included in compilation. */ - // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ - "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ - // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ - // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ - - /* Source Map Options */ - // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ - // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ - - /* Experimental Options */ - "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ - // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ - - /* Advanced Options */ - "skipLibCheck": true, /* Skip type checking of declaration files. */ - "forceConsistentCasingInFileNames": true, /* Disallow inconsistently-cased references to the same file. */ - "resolveJsonModule": true /* Enabling the option allows importing JSON, and validating the types in that JSON file. */ - }, - "include": ["src/**/*"] -} diff --git a/packages/codegen/src/templates/watch-contract-template.handlebars b/packages/codegen/src/templates/watch-contract-template.handlebars deleted file mode 100644 index a9b9640e..00000000 --- a/packages/codegen/src/templates/watch-contract-template.handlebars +++ /dev/null @@ -1,55 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import assert from 'assert'; -import yargs from 'yargs'; -import 'reflect-metadata'; - -import { Config, DEFAULT_CONFIG_PATH, getConfig } from '@vulcanize/util'; - -import { Database } from '../database'; - -(async () => { - const argv = await yargs.parserConfiguration({ - 'parse-numbers': false - }).options({ - configFile: { - alias: 'f', - type: 'string', - require: true, - demandOption: true, - describe: 'configuration file path (toml)', - default: DEFAULT_CONFIG_PATH - }, - address: { - type: 'string', - require: true, - demandOption: true, - describe: 'Address of the deployed contract' - }, - kind: { - type: 'string', - require: true, - demandOption: true, - describe: 'Kind of contract' - }, - startingBlock: { - type: 'number', - default: 1, - describe: 'Starting block' - } - }).argv; - - const config: Config = await getConfig(argv.configFile); - const { database: dbConfig } = config; - - assert(dbConfig); - - const db = new Database(dbConfig); - await db.init(); - - await db.saveContract(argv.address, argv.kind, argv.startingBlock); - - await db.close(); -})(); diff --git a/packages/codegen/src/tsconfig.ts b/packages/codegen/src/tsconfig.ts deleted file mode 100644 index 6a746934..00000000 --- a/packages/codegen/src/tsconfig.ts +++ /dev/null @@ -1,21 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import fs from 'fs'; -import path from 'path'; -import Handlebars from 'handlebars'; -import { Writable } from 'stream'; - -const TEMPLATE_FILE = './templates/tsconfig-template.handlebars'; - -/** - * Writes the tsconfig.json file generated from a template to a stream. - * @param outStream A writable output stream to write the tsconfig.json file to. - */ -export function exportTSConfig (outStream: Writable): void { - const templateString = fs.readFileSync(path.resolve(__dirname, TEMPLATE_FILE)).toString(); - const template = Handlebars.compile(templateString); - const tsconfig = template({}); - outStream.write(tsconfig); -} diff --git a/packages/codegen/src/types/common/main.d.ts b/packages/codegen/src/types/common/main.d.ts deleted file mode 100644 index 4b5ce0a7..00000000 --- a/packages/codegen/src/types/common/main.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -declare module '@poanet/solidity-flattener'; -declare module 'solc'; -declare module 'gql-generator'; diff --git a/packages/codegen/src/types/common/package.json b/packages/codegen/src/types/common/package.json deleted file mode 100644 index 5861d0f0..00000000 --- a/packages/codegen/src/types/common/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "common", - "version": "0.1.0", - "license": "AGPL-3.0", - "typings": "main.d.ts" -} diff --git a/packages/codegen/src/utils/constants.ts b/packages/codegen/src/utils/constants.ts deleted file mode 100644 index 7f2fda28..00000000 --- a/packages/codegen/src/utils/constants.ts +++ /dev/null @@ -1,7 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -export const MODE_ETH_CALL = 'eth_call'; -export const MODE_STORAGE = 'storage'; -export const MODE_ALL = 'all'; diff --git a/packages/codegen/src/utils/handlebar-helpers.ts b/packages/codegen/src/utils/handlebar-helpers.ts deleted file mode 100644 index 7059476b..00000000 --- a/packages/codegen/src/utils/handlebar-helpers.ts +++ /dev/null @@ -1,59 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import assert from 'assert'; -import Handlebars from 'handlebars'; - -import { reservedNames } from './types'; - -export function registerHandlebarHelpers (): void { - Handlebars.registerHelper('compare', compareHelper); - Handlebars.registerHelper('capitalize', capitalizeHelper); - Handlebars.registerHelper('reservedNameCheck', reservedNameCheckHelper); -} - -/** - * Helper function to compare two values using the given operator. - * @param lvalue Left hand side value. - * @param rvalue Right hasd side value. - * @param options Handlebars options parameter. `options.hash.operator`: operator to be used for comparison. - * @returns Result of the comparison. - */ -function compareHelper (lvalue: string, rvalue: string, options: any): boolean { - assert(lvalue && rvalue, "Handlerbars Helper 'compare' needs at least 2 parameters"); - - const operator = options.hash.operator || '==='; - - const operators: Map boolean> = new Map(); - - operators.set('===', function (l: any, r: any) { return l === r; }); - operators.set('!==', function (l: any, r: any) { return l !== r; }); - operators.set('<', function (l: any, r: any) { return l < r; }); - operators.set('>', function (l: any, r: any) { return l > r; }); - operators.set('<=', function (l: any, r: any) { return l <= r; }); - operators.set('>=', function (l: any, r: any) { return l >= r; }); - - const operatorFunction = operators.get(operator); - assert(operatorFunction, "Handlerbars Helper 'compare' doesn't know the operator " + operator); - const result = operatorFunction(lvalue, rvalue); - - return result; -} - -/** - * Helper function that capitalized string till given index. - * @param value String of which content is to be capitalized. - * @param options Handlebars options parameter. `options.hash.tillIndex`: index till which to capitalize the string. - * @returns The modified string. - */ -function capitalizeHelper (value: string, options: any): string { - const tillIndex = options.hash.tillIndex || value.length; - const result = `${value.slice(0, tillIndex).toUpperCase()}${value.slice(tillIndex, value.length)}`; - - return result; -} - -function reservedNameCheckHelper (value: string): boolean { - return reservedNames.has(value); -} diff --git a/packages/codegen/src/utils/type-mappings.ts b/packages/codegen/src/utils/type-mappings.ts deleted file mode 100644 index 5488485f..00000000 --- a/packages/codegen/src/utils/type-mappings.ts +++ /dev/null @@ -1,42 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -const _solToTs: Map = new Map(); -const _tsToGql: Map = new Map(); -const _tsToPg: Map = new Map(); - -// TODO Get typemapping from ethersjs. -// Solidity to Typescript type-mapping. -_solToTs.set('string', 'string'); -_solToTs.set('uint8', 'number'); -_solToTs.set('uint256', 'bigint'); -_solToTs.set('address', 'string'); -_solToTs.set('bool', 'boolean'); -_solToTs.set('bytes4', 'string'); - -// Typescript to Graphql type-mapping. -_tsToGql.set('string', 'String'); -_tsToGql.set('number', 'Int'); -_tsToGql.set('bigint', 'BigInt'); -_tsToGql.set('boolean', 'Boolean'); - -// Typescript to Postgres type-mapping. -_tsToPg.set('string', 'varchar'); -_tsToPg.set('number', 'numeric'); -_tsToPg.set('bigint', 'numeric'); -_tsToPg.set('boolean', 'boolean'); - -function getTsForSol (solType: string): string | undefined { - return _solToTs.get(solType); -} - -function getGqlForTs (tsType: string): string | undefined { - return _tsToGql.get(tsType); -} - -function getPgForTs (tsType: string): string | undefined { - return _tsToPg.get(tsType); -} - -export { getTsForSol, getGqlForTs, getPgForTs }; diff --git a/packages/codegen/src/utils/types.ts b/packages/codegen/src/utils/types.ts deleted file mode 100644 index 3f448d3a..00000000 --- a/packages/codegen/src/utils/types.ts +++ /dev/null @@ -1,12 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -export interface Param { - name: string; - type: string; -} - -export const reservedNames = new Set([ - 'Symbol' -]); diff --git a/packages/codegen/src/visitor.ts b/packages/codegen/src/visitor.ts deleted file mode 100644 index 15d1146d..00000000 --- a/packages/codegen/src/visitor.ts +++ /dev/null @@ -1,153 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import { Writable } from 'stream'; - -import { Database } from './database'; -import { Param } from './utils/types'; -import { MODE_ETH_CALL, MODE_STORAGE } from './utils/constants'; -import { Entity } from './entity'; -import { Indexer } from './indexer'; -import { Resolvers } from './resolvers'; -import { Schema } from './schema'; -import { Client } from './client'; - -export class Visitor { - _schema: Schema; - _resolvers: Resolvers; - _indexer: Indexer; - _entity: Entity; - _database: Database; - _client: Client; - - constructor () { - this._schema = new Schema(); - this._resolvers = new Resolvers(); - this._indexer = new Indexer(); - this._entity = new Entity(); - this._database = new Database(); - this._client = new Client(); - } - - /** - * Visitor function for function definitions. - * @param node ASTNode for a function definition. - */ - functionDefinitionVisitor (node: any): void { - if (node.stateMutability === 'view' && (node.visibility === 'external' || node.visibility === 'public')) { - const name = node.name; - const params = node.parameters.map((item: any) => { - return { name: item.name, type: item.typeName.name }; - }); - - // TODO Handle multiple return parameters and array return type. - const returnType = node.returnParameters[0].typeName.name; - - this._schema.addQuery(name, params, returnType); - this._resolvers.addQuery(name, params, returnType); - this._indexer.addQuery(MODE_ETH_CALL, name, params, returnType); - this._entity.addQuery(name, params, returnType); - this._database.addQuery(name, params, returnType); - this._client.addQuery(name, params, returnType); - } - } - - /** - * Visitor function for state variable declarations. - * @param node ASTNode for a state variable declaration. - */ - stateVariableDeclarationVisitor (node: any): void { - // TODO Handle multiples variables in a single line. - // TODO Handle array types. - const name: string = node.variables[0].name; - - const params: Param[] = []; - - let typeName = node.variables[0].typeName; - let numParams = 0; - - // If the variable type is mapping, extract key as a param: - // Eg. mapping(address => mapping(address => uint256)) private _allowances; - while (typeName.type === 'Mapping') { - params.push({ name: `key${numParams.toString()}`, type: typeName.keyType.name }); - typeName = typeName.valueType; - numParams++; - } - - const returnType = typeName.name; - - this._schema.addQuery(name, params, returnType); - this._resolvers.addQuery(name, params, returnType); - this._indexer.addQuery(MODE_STORAGE, name, params, returnType); - this._entity.addQuery(name, params, returnType); - this._database.addQuery(name, params, returnType); - this._client.addQuery(name, params, returnType); - } - - /** - * Visitor function for event definitions. - * @param node ASTNode for an event definition. - */ - eventDefinitionVisitor (node: any): void { - const name = node.name; - const params = node.parameters.map((item: any) => { - return { name: item.name, type: item.typeName.name }; - }); - - this._schema.addEventType(name, params); - this._indexer.addEvent(name, params); - } - - /** - * Writes schema to a stream. - * @param outStream A writable output stream to write the schema to. - * @returns The schema string. - */ - exportSchema (outStream: Writable): string { - return this._schema.exportSchema(outStream); - } - - /** - * Writes the resolvers file generated from a template to a stream. - * @param outStream A writable output stream to write the resolvers file to. - */ - exportResolvers (outStream: Writable): void { - this._resolvers.exportResolvers(outStream); - } - - /** - * Writes the indexer file generated from a template to a stream. - * @param outStream A writable output stream to write the indexer file to. - * @param inputFileName Input contract file name to be passed to the template. - */ - exportIndexer (outStream: Writable, inputFileName: string, contractName: string): void { - this._indexer.exportIndexer(outStream, inputFileName, contractName); - } - - /** - * Writes the generated entity files in the given directory. - * @param entityDir Directory to write the entities to. - */ - exportEntities (entityDir: string): void { - this._entity.exportEntities(entityDir); - } - - /** - * Writes the database file generated from a template to a stream. - * @param outStream A writable output stream to write the database file to. - */ - exportDatabase (outStream: Writable): void { - this._database.exportDatabase(outStream); - } - - /** - * Writes the client file generated from a template to a stream and export quries. - * @param outStream A writable output stream to write the client file to. - * @param schemaContent Content of the schema for generating the queries, mutations and subscriptions. - * @param gqlDir Directory to store the generated gql queries, mutations and subscriptions. - */ - exportClient (outStream: Writable, schemaContent: string, gqlDir: string): void { - this._client.exportClient(outStream, schemaContent, gqlDir); - } -} diff --git a/packages/codegen/src/watch-contract.ts b/packages/codegen/src/watch-contract.ts deleted file mode 100644 index 3b056ed6..00000000 --- a/packages/codegen/src/watch-contract.ts +++ /dev/null @@ -1,21 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import fs from 'fs'; -import path from 'path'; -import Handlebars from 'handlebars'; -import { Writable } from 'stream'; - -const TEMPLATE_FILE = './templates/watch-contract-template.handlebars'; - -/** - * Writes the watch-contract file generated from a template to a stream. - * @param outStream A writable output stream to write the events file to. - */ -export function exportWatchContract (outStream: Writable): void { - const templateString = fs.readFileSync(path.resolve(__dirname, TEMPLATE_FILE)).toString(); - const template = Handlebars.compile(templateString); - const events = template({}); - outStream.write(events); -} diff --git a/packages/codegen/tsconfig.json b/packages/codegen/tsconfig.json deleted file mode 100644 index 111448d7..00000000 --- a/packages/codegen/tsconfig.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "compilerOptions": { - /* Visit https://aka.ms/tsconfig.json to read more about this file */ - - /* Basic Options */ - // "incremental": true, /* Enable incremental compilation */ - "target": "es5", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', 'ES2021', or 'ESNEXT'. */ - "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */ - // "lib": [], /* Specify library files to be included in the compilation. */ - // "allowJs": true, /* Allow javascript files to be compiled. */ - // "checkJs": true, /* Report errors in .js files. */ - // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', 'react', 'react-jsx' or 'react-jsxdev'. */ - // "declaration": true, /* Generates corresponding '.d.ts' file. */ - // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ - // "sourceMap": true, /* Generates corresponding '.map' file. */ - // "outFile": "./", /* Concatenate and emit output to single file. */ - // "outDir": "./", /* Redirect output structure to the directory. */ - // "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ - // "composite": true, /* Enable project compilation */ - // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ - // "removeComments": true, /* Do not emit comments to output. */ - // "noEmit": true, /* Do not emit outputs. */ - // "importHelpers": true, /* Import emit helpers from 'tslib'. */ - // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ - // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ - - /* Strict Type-Checking Options */ - "strict": true, /* Enable all strict type-checking options. */ - // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ - // "strictNullChecks": true, /* Enable strict null checks. */ - // "strictFunctionTypes": true, /* Enable strict checking of function types. */ - // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ - // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ - // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ - // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ - - /* Additional Checks */ - // "noUnusedLocals": true, /* Report errors on unused locals. */ - // "noUnusedParameters": true, /* Report errors on unused parameters. */ - // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ - // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ - // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ - // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an 'override' modifier. */ - // "noPropertyAccessFromIndexSignature": true, /* Require undeclared properties from index signatures to use element accesses. */ - - /* Module Resolution Options */ - "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ - // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ - // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ - // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ - "typeRoots": [ - "./src/types", - "node_modules/@types" - ], /* List of folders to include type definitions from. */ - // "types": [], /* Type declaration files to be included in compilation. */ - // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ - "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ - // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ - // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ - - /* Source Map Options */ - // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ - // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ - - /* Experimental Options */ - // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ - // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ - - /* Advanced Options */ - "skipLibCheck": true, /* Skip type checking of declaration files. */ - "forceConsistentCasingInFileNames": true, /* Disallow inconsistently-cased references to the same file. */ - "resolveJsonModule": true /* Enabling the option allows importing JSON, and validating the types in that JSON file. */ - }, - "include": ["src/**/*"] -} diff --git a/packages/erc20-watcher/package.json b/packages/erc20-watcher/package.json index a15eaf90..4b77a7c3 100644 --- a/packages/erc20-watcher/package.json +++ b/packages/erc20-watcher/package.json @@ -53,7 +53,6 @@ "debug": "^4.3.1", "ethers": "^5.2.0", "express": "^4.17.1", - "graphql": "^15.5.0", "graphql-import-node": "^0.0.4", "graphql-request": "^3.4.0", "json-bigint": "^1.0.0", @@ -81,7 +80,6 @@ "eslint-plugin-standard": "^5.0.0", "hardhat": "^2.3.0", "mocha": "^8.4.0", - "nodemon": "^2.0.7", - "pprof": "^3.2.0" + "nodemon": "^2.0.7" } } diff --git a/packages/ipld-eth-client/package.json b/packages/ipld-eth-client/package.json index 856f729f..368b8dda 100644 --- a/packages/ipld-eth-client/package.json +++ b/packages/ipld-eth-client/package.json @@ -24,7 +24,6 @@ "@vulcanize/cache": "^0.1.0", "cross-fetch": "^3.1.4", "ethers": "^5.2.0", - "graphql": "^15.5.0", "left-pad": "^1.3.0", "subscriptions-transport-ws": "^0.9.19", "ws": "^7.4.6", diff --git a/packages/lighthouse-watcher/.eslintignore b/packages/lighthouse-watcher/.eslintignore deleted file mode 100644 index 653874b5..00000000 --- a/packages/lighthouse-watcher/.eslintignore +++ /dev/null @@ -1,5 +0,0 @@ -# Don't lint node_modules. -node_modules - -# Don't lint build output. -dist diff --git a/packages/lighthouse-watcher/.eslintrc.json b/packages/lighthouse-watcher/.eslintrc.json deleted file mode 100644 index 476d529d..00000000 --- a/packages/lighthouse-watcher/.eslintrc.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "env": { - "browser": true, - "es2021": true - }, - "extends": [ - "semistandard", - "plugin:@typescript-eslint/recommended" - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { - "ecmaVersion": 12, - "sourceType": "module" - }, - "plugins": [ - "@typescript-eslint" - ], - "rules": { - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/explicit-module-boundary-types": [ - "warn", - { - "allowArgumentsExplicitlyTypedAsAny": true - } - ] - } -} diff --git a/packages/lighthouse-watcher/.gitignore b/packages/lighthouse-watcher/.gitignore deleted file mode 100644 index 3ac0fb0a..00000000 --- a/packages/lighthouse-watcher/.gitignore +++ /dev/null @@ -1,10 +0,0 @@ -.idea/ -.vscode/ -node_modules/ -build/ -tmp/ -temp/ - -#Hardhat files -cache -artifacts diff --git a/packages/lighthouse-watcher/.mocharc.yml b/packages/lighthouse-watcher/.mocharc.yml deleted file mode 100644 index 50153fbf..00000000 --- a/packages/lighthouse-watcher/.mocharc.yml +++ /dev/null @@ -1,4 +0,0 @@ -timeout: '10000' -bail: true -exit: true # TODO: Find out why the program doesn't exit on its own. -require: 'ts-node/register' diff --git a/packages/lighthouse-watcher/README.md b/packages/lighthouse-watcher/README.md deleted file mode 100644 index 4a85f844..00000000 --- a/packages/lighthouse-watcher/README.md +++ /dev/null @@ -1,89 +0,0 @@ -# Lighthouse Watcher - -## Setup - -Deploy a Lighthouse contract: - -```bash -yarn lighthouse:deploy -``` - -Use the Lighthouse contract address and set `environments/local.toml` to watch the contract. - -```toml -[watch] - lighthouse = "0xLighthouseContractAddress" -``` - -## Run - -Build files: - -```bash -$ yarn build -``` - -Run the server: - -```bash -$ yarn server - -# For development. -$ yarn server:dev - -# For specifying config file. -$ yarn server -f environments/local.toml -``` - -## Test - -To test the watcher locally: - -Open graphql playground at http://127.0.0.1:3005/graphql and set a subscription query - -```graphql -subscription { - onEvent { - block { - hash - number - timestamp - } - tx { - hash - } - contract - eventIndex - event { - __typename - ... on StorageRequestEvent { - uploader - cid - config - fileCost - } - } - proof { - data - } - } -} -``` - -To trigger StorageRequest event locally, run: - -```bash -yarn lighthouse:store --lighthouse 0xLighthouseContractAddress --cid testCid --store-config testConfig --file-cost 10 -``` - -### Smoke test - -To run a smoke test: - -* Start the server. - -* Run: - - ```bash - $ yarn smoke-test - ``` diff --git a/packages/lighthouse-watcher/environments/local.toml b/packages/lighthouse-watcher/environments/local.toml deleted file mode 100644 index 807c9581..00000000 --- a/packages/lighthouse-watcher/environments/local.toml +++ /dev/null @@ -1,15 +0,0 @@ -[server] - host = "127.0.0.1" - port = 3005 - -[watch] - lighthouse = "0xbDA876401576281a1912a20de135F60de6D7d711" - -[upstream] - [upstream.ethServer] - gqlApiEndpoint = "http://127.0.0.1:8082/graphql" - - [upstream.cache] - name = "requests" - enabled = false - deleteOnStart = false diff --git a/packages/lighthouse-watcher/hardhat.config.ts b/packages/lighthouse-watcher/hardhat.config.ts deleted file mode 100644 index b86afbdd..00000000 --- a/packages/lighthouse-watcher/hardhat.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { HardhatUserConfig } from 'hardhat/config'; - -import './tasks/lighthouse-deploy'; -import './tasks/lighthouse-store'; - -const config: HardhatUserConfig = { - defaultNetwork: 'localhost', - solidity: '0.7.3', - paths: { - sources: './test/contracts' - } -}; - -export default config; diff --git a/packages/lighthouse-watcher/package.json b/packages/lighthouse-watcher/package.json deleted file mode 100644 index bb599c9e..00000000 --- a/packages/lighthouse-watcher/package.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "name": "@vulcanize/lighthouse-watcher", - "version": "0.1.0", - "main": "index.js", - "license": "AGPL-3.0", - "private": true, - "scripts": { - "lint": "eslint .", - "test": "mocha -r ts-node/register src/**/*.test.ts", - "build": "tsc", - "server": "DEBUG=vulcanize:* node dist/server.js", - "server:dev": "DEBUG=vulcanize:* nodemon --watch src src/server.ts", - "smoke-test": "mocha src/smoke.test.ts", - "lighthouse:deploy": "hardhat lighthouse-deploy", - "lighthouse:store": "hardhat lighthouse-store" - }, - "dependencies": { - "@vulcanize/cache": "^0.1.0", - "@vulcanize/ipld-eth-client": "^0.1.0", - "@vulcanize/util": "^0.1.0", - "@apollo/client": "^3.3.19", - "apollo-server-express": "^2.25.0", - "apollo-type-bigint": "^0.1.3", - "debug": "^4.3.1", - "ethers": "^5.2.0", - "express": "^4.17.1", - "json-bigint": "^1.0.0", - "lodash": "^4.17.21", - "reflect-metadata": "^0.1.13", - "graphql-request": "^3.4.0", - "yargs": "^17.0.1" - }, - "devDependencies": { - "@types/chai": "^4.2.19", - "@types/express": "^4.17.11", - "@types/json-bigint": "^1.0.0", - "@types/mocha": "^8.2.2", - "@types/yargs": "^17.0.0", - "@typescript-eslint/eslint-plugin": "^4.25.0", - "@typescript-eslint/parser": "^4.25.0", - "@nomiclabs/hardhat-ethers": "^2.0.2", - "chai": "^4.3.4", - "eslint": "^7.27.0", - "eslint-config-semistandard": "^15.0.1", - "eslint-config-standard": "^16.0.3", - "eslint-plugin-import": "^2.23.3", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^5.1.0", - "eslint-plugin-standard": "^5.0.0", - "mocha": "^8.4.0", - "nodemon": "^2.0.7", - "hardhat": "^2.3.0" - } -} diff --git a/packages/lighthouse-watcher/src/abi/Lighthouse.json b/packages/lighthouse-watcher/src/abi/Lighthouse.json deleted file mode 100644 index 64edfbe5..00000000 --- a/packages/lighthouse-watcher/src/abi/Lighthouse.json +++ /dev/null @@ -1,107 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "uploader", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "cid", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "config", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "fileCost", - "type": "uint256" - } - ], - "name": "StorageRequest", - "type": "event" - }, - { - "stateMutability": "payable", - "type": "fallback" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "address payable", - "name": "recipient", - "type": "address" - } - ], - "name": "getPaid", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "requests", - "outputs": [ - { - "internalType": "string", - "name": "cid", - "type": "string" - }, - { - "internalType": "string", - "name": "config", - "type": "string" - }, - { - "internalType": "uint256", - "name": "fileCost", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "cid", - "type": "string" - }, - { - "internalType": "string", - "name": "config", - "type": "string" - } - ], - "name": "store", - "outputs": [], - "stateMutability": "payable", - "type": "function" - } -] diff --git a/packages/lighthouse-watcher/src/client.ts b/packages/lighthouse-watcher/src/client.ts deleted file mode 100644 index aba19ba8..00000000 --- a/packages/lighthouse-watcher/src/client.ts +++ /dev/null @@ -1,28 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import { gql } from '@apollo/client/core'; -import { GraphQLClient, GraphQLConfig } from '@vulcanize/ipld-eth-client'; - -import { subscribeEvents } from './queries'; - -export class Client { - _config: GraphQLConfig; - _client: GraphQLClient; - - constructor (config: GraphQLConfig) { - this._config = config; - - this._client = new GraphQLClient(config); - } - - async watchEvents (onNext: (value: any) => void): Promise { - return this._client.subscribe( - gql(subscribeEvents), - ({ data }) => { - onNext(data.onEvent); - } - ); - } -} diff --git a/packages/lighthouse-watcher/src/events.ts b/packages/lighthouse-watcher/src/events.ts deleted file mode 100644 index c18bbf02..00000000 --- a/packages/lighthouse-watcher/src/events.ts +++ /dev/null @@ -1,72 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import assert from 'assert'; -import debug from 'debug'; -import _ from 'lodash'; -import { PubSub } from 'apollo-server-express'; - -import { EthClient } from '@vulcanize/ipld-eth-client'; - -import { Indexer, ResultEvent, UNKNOWN_EVENT_NAME } from './indexer'; -const log = debug('vulcanize:events'); - -export const LighthouseEvent = 'lighthouse-event'; - -export class EventWatcher { - _ethClient: EthClient - _indexer: Indexer - _subscription: ZenObservable.Subscription | undefined - _pubsub: PubSub - - constructor (ethClient: EthClient, indexer: Indexer, pubsub: PubSub) { - this._ethClient = ethClient; - this._indexer = indexer; - this._pubsub = pubsub; - } - - getEventIterator (): AsyncIterator { - return this._pubsub.asyncIterator([LighthouseEvent]); - } - - async start (): Promise { - assert(!this._subscription, 'subscription already started'); - - await this.watchBlocksAtChainHead(); - } - - async watchBlocksAtChainHead (): Promise { - log('Started watching upstream blocks...'); - - // TODO: Update to pull based watcher. - // this._subscription = await this._ethClient.watchBlocks(async (value) => { - // const { blockHash, blockNumber } = _.get(value, 'data.listen.relatedNode'); - // log('watchBlock', blockHash, blockNumber); - - // const events = await this._indexer.getOrFetchBlockEvents(blockHash); - - // for (let ei = 0; ei < events.length; ei++) { - // await this.publishLighthouseEventToSubscribers(events[ei]); - // } - // }); - } - - async publishLighthouseEventToSubscribers (resultEvent: ResultEvent): Promise { - if (resultEvent.event.__typename !== UNKNOWN_EVENT_NAME) { - log(`pushing event to GQL subscribers: ${resultEvent.event.__typename}`); - - // Publishing the event here will result in pushing the payload to GQL subscribers for `onEvent`. - await this._pubsub.publish(LighthouseEvent, { - onEvent: resultEvent - }); - } - } - - async stop (): Promise { - if (this._subscription) { - log('Stopped watching upstream blocks'); - this._subscription.unsubscribe(); - } - } -} diff --git a/packages/lighthouse-watcher/src/indexer.ts b/packages/lighthouse-watcher/src/indexer.ts deleted file mode 100644 index 4875a295..00000000 --- a/packages/lighthouse-watcher/src/indexer.ts +++ /dev/null @@ -1,176 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import debug from 'debug'; -import JSONbig from 'json-bigint'; -import { ethers } from 'ethers'; -import assert from 'assert'; - -import { EthClient } from '@vulcanize/ipld-eth-client'; -import { Config as BaseConfig } from '@vulcanize/util'; - -import lighthouseABI from './abi/Lighthouse.json'; - -export const UNKNOWN_EVENT_NAME = '__unknown__'; - -const log = debug('vulcanize:indexer'); - -export type ResultEvent = { - block: any; - tx: any; - - contract: string; - - eventIndex: number; - event: any; - - proof: any; -}; - -export interface Config extends BaseConfig { - watch?: { - lighthouse: string - } -} - -export class Indexer { - _config: Config - _ethClient: EthClient - - _lighthouseContract: ethers.utils.Interface - - constructor (config: Config, ethClient: EthClient) { - assert(config.watch); - this._config = config; - this._ethClient = ethClient; - - this._lighthouseContract = new ethers.utils.Interface(lighthouseABI); - } - - // Note: Some event names might be unknown at this point, as earlier events might not yet be processed. - async getOrFetchBlockEvents (blockHash: string): Promise> { - // Fetch and save events first and make a note in the event sync progress table. - log(`getBlockEvents: fetching from upstream server ${blockHash}`); - const events = await this.fetchEvents(blockHash); - - log(`getBlockEvents: ${blockHash} num events: ${events.length}`); - - return events; - } - - parseEventNameAndArgs (logObj: any): any { - let eventName = UNKNOWN_EVENT_NAME; - let eventInfo = {}; - - const { topics, data } = logObj; - - const logDescription = this._lighthouseContract.parseLog({ data, topics }); - switch (logDescription.name) { - case 'StorageRequest': { - eventName = logDescription.name; - const { uploader, cid, config, fileCost } = logDescription.args; - eventInfo = { uploader, cid, config, fileCost }; - - break; - } - } - - return { eventName, eventInfo }; - } - - async fetchEvents (blockHash: string): Promise> { - assert(this._config.watch); - const contract = this._config.watch.lighthouse; - const { logs, block } = await this._ethClient.getLogs({ blockHash, contract }); - - const { - allEthHeaderCids: { - nodes: [ - { - ethTransactionCidsByHeaderId: { - nodes: transactions - } - } - ] - } - } = await this._ethClient.getBlockWithTransactions({ blockHash }); - - const transactionMap = transactions.reduce((acc: {[key: string]: any}, transaction: {[key: string]: any}) => { - acc[transaction.txHash] = transaction; - return acc; - }, {}); - - const events: Array = []; - - for (let li = 0; li < logs.length; li++) { - const logObj = logs[li]; - const { - index: logIndex, - cid, - ipldBlock, - account: { - address - }, - transaction: { - hash: txHash - }, - receiptCID, - status - } = logObj; - - if (status) { - const tx = transactionMap[txHash]; - assert(ethers.utils.getAddress(address) === contract); - - const eventDetails = this.parseEventNameAndArgs(logObj); - const eventName = eventDetails.eventName; - const eventInfo = eventDetails.eventInfo; - - const { - hash, - number, - timestamp, - parent: { - hash: parentHash - } - } = block; - - events.push({ - block: { - hash, - number, - timestamp, - parentHash - }, - eventIndex: logIndex, - tx: { - hash: txHash, - index: tx.index, - from: tx.src, - to: tx.dst - }, - contract, - event: { - __typename: `${eventName}Event`, - ...eventInfo - }, - proof: { - data: JSONbig.stringify({ - blockHash, - receiptCID, - log: { - cid, - ipldBlock - } - }) - } - }); - } else { - log(`Skipping event for receipt ${receiptCID} due to failed transaction.`); - } - } - - return events; - } -} diff --git a/packages/lighthouse-watcher/src/queries.ts b/packages/lighthouse-watcher/src/queries.ts deleted file mode 100644 index fcbc1a03..00000000 --- a/packages/lighthouse-watcher/src/queries.ts +++ /dev/null @@ -1,46 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import { gql } from 'graphql-request'; - -const resultEvent = ` -{ - block { - number - hash - timestamp - parentHash - } - tx { - hash - from - to - index - } - contract - eventIndex - - event { - __typename - - ... on StorageRequestEvent { - uploader - cid - config - fileCost - } - } - - proof { - data - } -} -`; - -export const subscribeEvents = gql` - subscription SubscriptionEvents { - onEvent - ${resultEvent} - } -`; diff --git a/packages/lighthouse-watcher/src/resolvers.ts b/packages/lighthouse-watcher/src/resolvers.ts deleted file mode 100644 index f3c2729d..00000000 --- a/packages/lighthouse-watcher/src/resolvers.ts +++ /dev/null @@ -1,28 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import BigInt from 'apollo-type-bigint'; -import assert from 'assert'; - -import { EventWatcher } from './events'; - -export const createResolvers = async (eventWatcher: EventWatcher): Promise => { - return { - BigInt: new BigInt('bigInt'), - - Event: { - __resolveType: (obj: any) => { - assert(obj.__typename); - - return obj.__typename; - } - }, - - Subscription: { - onEvent: { - subscribe: () => eventWatcher.getEventIterator() - } - } - }; -}; diff --git a/packages/lighthouse-watcher/src/schema.ts b/packages/lighthouse-watcher/src/schema.ts deleted file mode 100644 index b8736b8e..00000000 --- a/packages/lighthouse-watcher/src/schema.ts +++ /dev/null @@ -1,79 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import { gql } from '@apollo/client/core'; - -export default gql` -# Types - -# Support uint256 values. -scalar BigInt - -# Ethereum types - -type Block { - hash: String! - number: Int! - timestamp: Int! - parentHash: String! -} - -type Transaction { - hash: String! - index: Int! - from: String! - to: String! -} - -# event StorageRequest(address uploader, string cid, string config, uint fileCost); -type StorageRequestEvent { - uploader: String! - cid: String! - config: String! - fileCost: BigInt! -} - -# All events emitted by the watcher. -union Event = StorageRequestEvent - -# Proof for returned data. Serialized blob for now. -# Will be converted into a well defined structure later. -type Proof { - data: String! -} - -# Result event, include additional context over and above the event data. -type ResultEvent { - # Block and tx data for the event. - block: Block! - tx: Transaction! - - # Contract that generated the event. - contract: String! - - # Index of the event in the block. - eventIndex: Int! - - event: Event! - - # Proof from receipts trie. - proof: Proof -} - -# -# Queries -# -type Query { - # https://github.com/ardatan/graphql-tools/issues/764#issuecomment-419556241 - dummy: String -} - -# -# Subscriptions -# -type Subscription { - # Watch for Lighthouse events (at head of chain). - onEvent: ResultEvent! -} -`; diff --git a/packages/lighthouse-watcher/src/server.ts b/packages/lighthouse-watcher/src/server.ts deleted file mode 100644 index 02761e18..00000000 --- a/packages/lighthouse-watcher/src/server.ts +++ /dev/null @@ -1,88 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import assert from 'assert'; -import 'reflect-metadata'; -import express, { Application } from 'express'; -import { ApolloServer, PubSub } from 'apollo-server-express'; -import yargs from 'yargs'; -import { hideBin } from 'yargs/helpers'; -import debug from 'debug'; -import { createServer } from 'http'; - -import { getCache } from '@vulcanize/cache'; -import { EthClient } from '@vulcanize/ipld-eth-client'; -import { DEFAULT_CONFIG_PATH, getConfig } from '@vulcanize/util'; - -import typeDefs from './schema'; - -import { createResolvers } from './resolvers'; -import { Indexer } from './indexer'; -import { EventWatcher } from './events'; - -const log = debug('vulcanize:server'); - -export const main = async (): Promise => { - const argv = await yargs(hideBin(process.argv)) - .option('f', { - alias: 'config-file', - demandOption: true, - describe: 'configuration file path (toml)', - type: 'string', - default: DEFAULT_CONFIG_PATH - }) - .argv; - - const config = await getConfig(argv.f); - - assert(config.server, 'Missing server config'); - - const { host, port } = config.server; - - const { upstream } = config; - - assert(upstream, 'Missing upstream config'); - const { ethServer: { gqlApiEndpoint }, cache: cacheConfig } = upstream; - assert(gqlApiEndpoint, 'Missing upstream ethServer.gqlApiEndpoint'); - - const cache = await getCache(cacheConfig); - const ethClient = new EthClient({ - gqlEndpoint: gqlApiEndpoint, - cache - }); - - const indexer = new Indexer(config, ethClient); - - // Note: In-memory pubsub works fine for now, as each watcher is a single process anyway. - // Later: https://www.apollographql.com/docs/apollo-server/data/subscriptions/#production-pubsub-libraries - const pubsub = new PubSub(); - const eventWatcher = new EventWatcher(ethClient, indexer, pubsub); - await eventWatcher.start(); - - const resolvers = await createResolvers(eventWatcher); - - const app: Application = express(); - const server = new ApolloServer({ - typeDefs, - resolvers - }); - - await server.start(); - server.applyMiddleware({ app }); - - const httpServer = createServer(app); - server.installSubscriptionHandlers(httpServer); - - httpServer.listen(port, host, () => { - log(`Server is listening on host ${host} port ${port}`); - }); - - return { app, server }; -}; - -main().then(() => { - log('Starting server...'); -}).catch(err => { - log(err); -}); diff --git a/packages/lighthouse-watcher/src/smoke.test.ts b/packages/lighthouse-watcher/src/smoke.test.ts deleted file mode 100644 index b6dbb9d2..00000000 --- a/packages/lighthouse-watcher/src/smoke.test.ts +++ /dev/null @@ -1,78 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import { expect } from 'chai'; -import assert from 'assert'; -import { ethers, Contract, ContractTransaction, Signer, utils } from 'ethers'; -import 'mocha'; - -import { - getConfig -} from '@vulcanize/util'; - -import lighthouseABI from './abi/Lighthouse.json'; -import { Config } from './indexer'; -import { Client } from './client'; - -const NETWORK_RPC_URL = 'http://localhost:8545'; - -describe('lighthouse-watcher', () => { - let lighthouse: Contract; - - let config: Config; - let signer: Signer; - let client: Client; - - before(async () => { - const configFile = './environments/local.toml'; - config = await getConfig(configFile); - - const { server: { host, port }, watch } = config; - assert(watch); - - const endpoint = `http://${host}:${port}/graphql`; - const gqlEndpoint = endpoint; - const gqlSubscriptionEndpoint = endpoint; - client = new Client({ - gqlEndpoint, - gqlSubscriptionEndpoint - }); - - const provider = new ethers.providers.JsonRpcProvider(NETWORK_RPC_URL); - signer = provider.getSigner(); - lighthouse = new Contract(watch.lighthouse, lighthouseABI, signer); - }); - - it('should trigger StorageRequest event', done => { - (async () => { - const cid = 'testCid'; - const config = 'testConfig'; - const fileCost = '10'; - const signerAddress = await signer.getAddress(); - - // Subscribe using UniClient. - const subscription = await client.watchEvents((value: any) => { - if (value.event.__typename === 'StorageRequestEvent') { - expect(value.event.uploader).to.equal(signerAddress); - expect(value.event.cid).to.equal(cid); - expect(value.event.config).to.equal(config); - expect(value.event.fileCost).to.equal(fileCost); - - if (subscription) { - subscription.unsubscribe(); - } - - done(); - } - }); - - // Pool mint. - const value = utils.parseUnits(fileCost, 'wei'); - const transaction: ContractTransaction = await lighthouse.store(cid, config, { value }); - await transaction.wait(); - })().catch((error) => { - done(error); - }); - }); -}); diff --git a/packages/lighthouse-watcher/src/types/common/main.d.ts b/packages/lighthouse-watcher/src/types/common/main.d.ts deleted file mode 100644 index aa0c891f..00000000 --- a/packages/lighthouse-watcher/src/types/common/main.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -// https://medium.com/@steveruiz/using-a-javascript-library-without-type-declarations-in-a-typescript-project-3643490015f3 -declare module 'canonical-json' diff --git a/packages/lighthouse-watcher/src/types/common/package.json b/packages/lighthouse-watcher/src/types/common/package.json deleted file mode 100644 index 5861d0f0..00000000 --- a/packages/lighthouse-watcher/src/types/common/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "common", - "version": "0.1.0", - "license": "AGPL-3.0", - "typings": "main.d.ts" -} diff --git a/packages/lighthouse-watcher/tasks/lighthouse-deploy.ts b/packages/lighthouse-watcher/tasks/lighthouse-deploy.ts deleted file mode 100644 index 902db620..00000000 --- a/packages/lighthouse-watcher/tasks/lighthouse-deploy.ts +++ /dev/null @@ -1,16 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import { task } from 'hardhat/config'; -import '@nomiclabs/hardhat-ethers'; - -task('lighthouse-deploy', 'Deploys Lighthouse contract') - .setAction(async (_, hre) => { - await hre.run('compile'); - - const lighthouseFactory = await hre.ethers.getContractFactory('Lighthouse'); - const lighthouse = await lighthouseFactory.deploy(); - - console.log('Lighthouse deployed to:', lighthouse.address); - }); diff --git a/packages/lighthouse-watcher/tasks/lighthouse-store.ts b/packages/lighthouse-watcher/tasks/lighthouse-store.ts deleted file mode 100644 index ee37ea5d..00000000 --- a/packages/lighthouse-watcher/tasks/lighthouse-store.ts +++ /dev/null @@ -1,45 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import { task, types } from 'hardhat/config'; -import '@nomiclabs/hardhat-ethers'; -import { ContractTransaction, utils } from 'ethers'; - -task('lighthouse-store', 'Call Lighthouse store method') - .addParam('lighthouse', 'Address of Lighthouse contract', undefined, types.string) - .addParam('cid', 'store cid', undefined, types.string) - .addParam('storeConfig', 'store config', undefined, types.string) - .addParam('fileCost', 'store fileCost (wei)', undefined, types.float) - .setAction(async (args, hre) => { - const { - lighthouse: lighthouseAddress, - cid, - storeConfig: config, - fileCost - } = args; - - await hre.run('compile'); - - const Ligthouse = await hre.ethers.getContractFactory('Lighthouse'); - const lighthouse = Ligthouse.attach(lighthouseAddress); - const value = utils.parseUnits(String(fileCost), 'wei'); - - const transaction: ContractTransaction = await lighthouse.store(cid, config, { value }); - - const receipt = await transaction.wait(); - - if (receipt.events) { - console.log('receipt blockHash', receipt.blockHash); - - const storageRequestEvent = receipt.events.find(el => el.event === 'StorageRequest'); - - if (storageRequestEvent && storageRequestEvent.args) { - console.log('StorageRequest Event'); - console.log('uploader:', storageRequestEvent.args.uploader); - console.log('cid:', storageRequestEvent.args.cid); - console.log('config:', storageRequestEvent.args.config); - console.log('fileCost:', storageRequestEvent.args.fileCost.toString()); - } - } - }); diff --git a/packages/lighthouse-watcher/test/contracts/Lighthouse.sol b/packages/lighthouse-watcher/test/contracts/Lighthouse.sol deleted file mode 100644 index 6fa3bb75..00000000 --- a/packages/lighthouse-watcher/test/contracts/Lighthouse.sol +++ /dev/null @@ -1,38 +0,0 @@ -// Original: https://github.com/nandit123/lighthouse/blob/master/contracts/Lighthouse.sol -// License: -// https://github.com/nandit123/lighthouse/blob/master/LICENSE-APACHE -// https://github.com/nandit123/lighthouse/blob/master/LICENSE-MIT - -pragma solidity >=0.4.22 <0.8.0; - -contract Lighthouse { - address owner = msg.sender; - - struct Content { - string cid; - string config; - uint fileCost; - } - - event StorageRequest(address uploader, string cid, string config, uint fileCost); - - mapping(address => mapping(string => Content)) public requests; - - function store(string calldata cid, string calldata config) - external - payable - { - uint fileCost = msg.value; - requests[msg.sender][cid] = Content(cid, config, fileCost); - emit StorageRequest(msg.sender, cid, config, msg.value); - } - - function getPaid(uint amount, address payable recipient) - external - { - require(msg.sender == owner); - recipient.transfer(amount); - } - - fallback () external payable {} -} diff --git a/packages/lighthouse-watcher/tsconfig.json b/packages/lighthouse-watcher/tsconfig.json deleted file mode 100644 index 07aa1f20..00000000 --- a/packages/lighthouse-watcher/tsconfig.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "compilerOptions": { - /* Visit https://aka.ms/tsconfig.json to read more about this file */ - - /* Basic Options */ - // "incremental": true, /* Enable incremental compilation */ - "target": "es5", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', 'ES2021', or 'ESNEXT'. */ - "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */ - "lib": [ "ES5", "ES6", "ES2020" ], /* Specify library files to be included in the compilation. */ - // "allowJs": true, /* Allow javascript files to be compiled. */ - // "checkJs": true, /* Report errors in .js files. */ - // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', 'react', 'react-jsx' or 'react-jsxdev'. */ - "declaration": true, /* Generates corresponding '.d.ts' file. */ - // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ - "sourceMap": true, /* Generates corresponding '.map' file. */ - // "outFile": "./", /* Concatenate and emit output to single file. */ - "outDir": "dist", /* Redirect output structure to the directory. */ - // "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ - // "composite": true, /* Enable project compilation */ - // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ - // "removeComments": true, /* Do not emit comments to output. */ - // "noEmit": true, /* Do not emit outputs. */ - // "importHelpers": true, /* Import emit helpers from 'tslib'. */ - "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ - // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ - - /* Strict Type-Checking Options */ - "strict": true, /* Enable all strict type-checking options. */ - // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ - // "strictNullChecks": true, /* Enable strict null checks. */ - // "strictFunctionTypes": true, /* Enable strict checking of function types. */ - // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ - "strictPropertyInitialization": false, /* Enable strict checking of property initialization in classes. */ - // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ - // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ - - /* Additional Checks */ - // "noUnusedLocals": true, /* Report errors on unused locals. */ - // "noUnusedParameters": true, /* Report errors on unused parameters. */ - // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ - // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ - // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ - // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an 'override' modifier. */ - // "noPropertyAccessFromIndexSignature": true, /* Require undeclared properties from index signatures to use element accesses. */ - - /* Module Resolution Options */ - "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ - // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ - // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ - // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ - "typeRoots": [ - "./src/types" - ], /* List of folders to include type definitions from. */ - // "types": [], /* Type declaration files to be included in compilation. */ - // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ - "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ - // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ - // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ - - /* Source Map Options */ - // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ - // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ - - /* Experimental Options */ - "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ - // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ - - /* Advanced Options */ - "skipLibCheck": true, /* Skip type checking of declaration files. */ - "forceConsistentCasingInFileNames": true, /* Disallow inconsistently-cased references to the same file. */ - "resolveJsonModule": true /* Enabling the option allows importing JSON, and validating the types in that JSON file. */ - }, - "include": ["src"], - "exclude": ["dist"] -} diff --git a/packages/tracing-client/.eslintignore b/packages/tracing-client/.eslintignore deleted file mode 100644 index a09675ce..00000000 --- a/packages/tracing-client/.eslintignore +++ /dev/null @@ -1,7 +0,0 @@ -# Don't lint node_modules. -node_modules - -# Don't lint build output. -dist - -tracers diff --git a/packages/tracing-client/.eslintrc.json b/packages/tracing-client/.eslintrc.json deleted file mode 100644 index 476d529d..00000000 --- a/packages/tracing-client/.eslintrc.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "env": { - "browser": true, - "es2021": true - }, - "extends": [ - "semistandard", - "plugin:@typescript-eslint/recommended" - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { - "ecmaVersion": 12, - "sourceType": "module" - }, - "plugins": [ - "@typescript-eslint" - ], - "rules": { - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/explicit-module-boundary-types": [ - "warn", - { - "allowArgumentsExplicitlyTypedAsAny": true - } - ] - } -} diff --git a/packages/tracing-client/README.md b/packages/tracing-client/README.md deleted file mode 100644 index 0e6a8620..00000000 --- a/packages/tracing-client/README.md +++ /dev/null @@ -1,106 +0,0 @@ -# Tracing Client - -```bash -npx ts-node src/cli/get-tx-trace.ts --txHash 0xa58ec012f8b6d5baac684b9939287866deffa3806f4c8252a190f264cc07b872 - -npx ts-node src/cli/get-tx-trace.ts --txHash 0xa58ec012f8b6d5baac684b9939287866deffa3806f4c8252a190f264cc07b872 --tracer callTracer - -npx ts-node src/cli/get-tx-trace.ts --txHash 0xa58ec012f8b6d5baac684b9939287866deffa3806f4c8252a190f264cc07b872 --tracerFile src/tracers/call_tracer.js - -npx ts-node src/cli/get-tx-trace.ts --txHash 0xa58ec012f8b6d5baac684b9939287866deffa3806f4c8252a190f264cc07b872 --tracerFile src/tracers/address_tracer.js -``` - -Rinkeby: - -```bash -npx ts-node src/cli/get-call-trace.ts --block 0x66bbe015dec07f55bc916dff724a962bca067fa0fcdd42eb211474ad609f87be --txFile test/tx/rinkeby-test.json --providerUrl http://rinkeby-testing.vdb.to:8545 - -npx ts-node src/cli/get-call-trace.ts --block 0x85C9ED --txFile test/tx/rinkeby-test.json --providerUrl http://rinkeby-testing.vdb.to:8545 -``` - -Mainnet: - -```bash -ssh geth@arch1.vdb.to -L 8545:127.0.0.1:8545 - -# https://etherscan.io/tx/0xab6b8315187d3333f2cad87eb861203c856b6cb997b0d58f2d96b6ea1a42c258 -# Note: 43 internal transactions. - -npx ts-node src/cli/get-tx-trace.ts --txHash 0xab6b8315187d3333f2cad87eb861203c856b6cb997b0d58f2d96b6ea1a42c258 --tracer callTracer - -npx ts-node src/cli/get-tx-trace.ts --txHash 0xab6b8315187d3333f2cad87eb861203c856b6cb997b0d58f2d96b6ea1a42c258 --tracerFile src/tracers/address_tracer.js --timeout 20s - -{ - "0xf94d7953d44bdcc7a5585a61ed91899ef2d39524": 1, - "0x240c7488df044d2f69d66201ee59a296c64d714c": 1, - "0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8": 1, - "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": 1, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": 1, - "0x1f4de5cc412ff43db7663e39aaa04221ca9e995f": 1, - "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3": 1, - "0x00004d59594796297b1b33f9dbc3fb1829ebaaf9": 0.6, - "0x0081a5107db14797df968e243e8918fec5c189ec": 0.6, - "0x41120695a494e1653b6c5fd69d8de0d301be2810": 0.75, - "0x0001ef68096b0199f8afcdd6eedbb16a461c1272": 0.6, - "0xfffd8963efd1fc6a506488495d951d5263988d26": 0.75, - "0x00004d6d099aa3197c9a709447db6b6a00000000": 0.6, - "0x0003050b85adc04db540d95779a4000000000000": 0.6, - "0x0003050b831e5bcc09c1d4fd1eb3ed5e62ffc556": 0.6, - "0x00004d6d28b4e64200d8556776f0fc20a12bc1ad": 0.6, - "0x11b815efb8f581194ae79006d24e0d814b7697f6": 1, - "0xdac17f958d2ee523a2206206994597c13d831ec7": 1, - "0x058ca87960e3da12000000000000000000000000": 0.6, - "0x0005aa065bcf8dcf069c57ed3fad1980b2a4a873": 0.6, - "0x058e98dfce0fd2a2b9373e6974cea7ffbe91decc": 0.6, - "0x0001efb93682b84a1014b9fb7941273c0ba0e9f5": 0.6, - "0x3333333acdedbbc9ad7bda0876e60714195681c5": 1, - "0xbebc44782c7db0a1a60cb6fe97d0b483032ff1c7": 1, - "0x00002af904b638ed930cddfe78cf741a9f440000": 0.6, - "0x0000334c40df9502deb37a4ac7f2d72780000000": 0.6, - "0x00002dc527a4a9017812d98e236bc2cb40000000": 0.6, - "0x0feef93405c3ca6c31df80109628d3137dcbe3b0": 0.6, - "0x807a96288a1a408dbc13de2b1d087d10356395d2": 1, - "0xa2327a938febf5fec13bacfb16ae10ecbc4cbdcf": 1, - "0xe592427a0aece92de3edee1f18e0157c05861564": 1, - "0x1f98431c8ad98523631ae4a59f267346ea31f984": 1, - "0xffffffff00000000000000000000000000000000": 0.75, - "0xf0d160dec1749afaf5a831668093b1431f7c8527": 1, - "0xc6cde7c39eb2f0f0095f41570af89efc2c1ea828": 1 -} - -npx ts-node src/cli/get-tx-trace.ts --txHash 0xab6b8315187d3333f2cad87eb861203c856b6cb997b0d58f2d96b6ea1a42c258 --tracerFile src/tracers/call_address_tracer.js --timeout 20s - -# https://etherscan.io/tx/0xa3446df7ce6e26dd510aea009790769f3379fbeb5671e9fa4e5091854e2cf36a -# Note: 5 internal transactions, too many false positives. -npx ts-node src/cli/get-tx-trace.ts --txHash 0xa3446df7ce6e26dd510aea009790769f3379fbeb5671e9fa4e5091854e2cf36a --tracerFile src/tracers/address_tracer.js - -{ - "0x80e9540c204c05be63cfe44b43302780175b60ff": 1, - "0x8f99ddc76cf23fef479b5ca1ab2b143c6d77198b": 1, - "0xca30274b11140581cfbd7ddf7f48adb4f324377e": 1, - "0x44b13a9ec5bba78a52a1e074e37a690eea45eaca": 1, - "0xfa54969a776f57b6af8117b6b157b448b6c1ef7f": 1, - "0x1788430620960f9a70e3dc14202a3a35dde1a316": 1, - "0xa35e62e5eb729142643df04838e5c71113564fbd": 0.75, - "0x629dbb4ecde5fa809fdc68cb1b75f6f43d7f5575": 1, - "0x898b4cdaae3d6e638c5c139a3909c1928f63b63c": 1, - "0xb355f12949091ac418c2dbd96704423f57aa5ecb": 1 -} - - -# ERC20 transfer (many false positives) -# https://etherscan.io/tx/0x036f7b1da4c3b0d0359728852b4f7923c02b155c5b7d4d3aab55e6fda6ca50a1 -npx ts-node src/cli/get-call-trace.ts --block 0x8baa3abf4faee54750a95f649236c116c4ec1660774ad5a3b4e00c84167ecbb7 --txFile test/tx/mainnet-test.json --tracerFile src/tracers/address_tracer.js -npx ts-node src/cli/get-tx-trace.ts --txHash 0x036f7b1da4c3b0d0359728852b4f7923c02b155c5b7d4d3aab55e6fda6ca50a1 --tracerFile src/tracers/address_tracer.js - -{ - "0x9acbb72cf67103a30333a32cd203459c6a9c3311": 1, - "0x66b6d6e78fbc4575f5197ae15af62f5dc7d48349": 1 -} - -``` - -## References - -* https://geth.ethereum.org/docs/rpc/ns-debug#debug_tracetransaction -* https://golang.org/pkg/time/#ParseDuration diff --git a/packages/tracing-client/package.json b/packages/tracing-client/package.json deleted file mode 100644 index 368e2b09..00000000 --- a/packages/tracing-client/package.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "@vulcanize/tracing-client", - "version": "0.1.0", - "description": "ETH VM tracing client", - "private": true, - "main": "dist/index.js", - "scripts": { - "lint": "eslint .", - "test": "mocha -r ts-node/register src/**/*.test.ts", - "build": "tsc" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/vulcanize/watcher-ts.git" - }, - "author": "", - "license": "AGPL-3.0", - "bugs": { - "url": "https://github.com/vulcanize/watcher-ts/issues" - }, - "homepage": "https://github.com/vulcanize/watcher-ts#readme", - "dependencies": { - "ethers": "^5.3.1", - "yargs": "^17.0.1" - }, - "devDependencies": { - "@typescript-eslint/eslint-plugin": "^4.25.0", - "@typescript-eslint/parser": "^4.25.0", - "eslint": "^7.27.0", - "eslint-config-semistandard": "^15.0.1", - "eslint-config-standard": "^16.0.3", - "eslint-plugin-import": "^2.23.3", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^5.1.0", - "eslint-plugin-standard": "^5.0.0" - } -} diff --git a/packages/tracing-client/src/cli/find-addresses.ts b/packages/tracing-client/src/cli/find-addresses.ts deleted file mode 100644 index cd9b495b..00000000 --- a/packages/tracing-client/src/cli/find-addresses.ts +++ /dev/null @@ -1,56 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import fs from 'fs'; -import yargs from 'yargs'; -import { ethers } from 'ethers'; - -interface StructLog { - stack: string[] -} - -(async () => { - const argv = await yargs.parserConfiguration({ - 'parse-numbers': false - }).options({ - traceFile: { - type: 'string', - require: true, - demandOption: true - } - }).argv; - - const { structLogs }: { structLogs: StructLog[] } = JSON.parse(fs.readFileSync(argv.traceFile).toString('utf-8')); - - const addressMap: any = {}; - - structLogs.forEach((log: StructLog) => { - if (!log.stack.length) { - return; - } - - let maybeAddress = log.stack[log.stack.length - 1]; - - // Address are 40 bytes. - // Example: 000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61 - if (!maybeAddress.startsWith('000000000000000000000000')) { - return; - } - - if (addressMap[maybeAddress]) { - return; - } - - maybeAddress = maybeAddress.substr('000000000000000000000000'.length); - - if (!ethers.utils.isAddress(maybeAddress)) { - return; - } - - addressMap[ethers.utils.getAddress(maybeAddress)] = true; - Object.keys(addressMap).forEach(address => { - console.log(address); - }); - }); -})(); diff --git a/packages/tracing-client/src/cli/get-call-trace.ts b/packages/tracing-client/src/cli/get-call-trace.ts deleted file mode 100644 index 3f174456..00000000 --- a/packages/tracing-client/src/cli/get-call-trace.ts +++ /dev/null @@ -1,56 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import fs from 'fs'; -import yargs from 'yargs'; - -import { TracingClient } from '../tracing'; - -(async () => { - const argv = await yargs.parserConfiguration({ - 'parse-numbers': false - }).options({ - providerUrl: { - type: 'string', - require: true, - demandOption: true, - default: 'http://localhost:8545', - describe: 'ETH JSON-RPC provider URL' - }, - block: { - type: 'string', - require: true, - demandOption: true, - describe: 'Block hash or number' - }, - txFile: { - type: 'string', - require: true, - demandOption: true, - describe: 'File with tx data for call tracing' - }, - tracer: { - type: 'string', - describe: 'The tracer to use' - }, - tracerFile: { - type: 'string', - describe: 'File with custom tracing JS code' - } - }).argv; - - let tracer = argv.tracer; - - const tracerFile = argv.tracerFile; - if (tracerFile) { - tracer = fs.readFileSync(tracerFile).toString('utf-8'); - } - - const txData = JSON.parse(fs.readFileSync(argv.txFile).toString('utf-8')); - - const tracingClient = new TracingClient(argv.providerUrl); - const result = await tracingClient.getCallTrace(argv.block, txData, tracer); - - console.log(JSON.stringify(result, null, 2)); -})(); diff --git a/packages/tracing-client/src/cli/get-tx-trace.ts b/packages/tracing-client/src/cli/get-tx-trace.ts deleted file mode 100644 index 4996ad42..00000000 --- a/packages/tracing-client/src/cli/get-tx-trace.ts +++ /dev/null @@ -1,53 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import fs from 'fs'; -import yargs from 'yargs'; - -import { TracingClient } from '../tracing'; - -(async () => { - const argv = await yargs.parserConfiguration({ - 'parse-numbers': false - }).options({ - providerUrl: { - type: 'string', - require: true, - demandOption: true, - default: 'http://localhost:8545', - describe: 'ETH JSON-RPC provider URL' - }, - txHash: { - type: 'string', - require: true, - demandOption: true, - describe: 'Transaction hash' - }, - tracer: { - type: 'string', - describe: 'The tracer to use' - }, - tracerFile: { - type: 'string', - describe: 'File with custom tracing JS code' - }, - timeout: { - type: 'string', - default: '10s', - describe: 'Trace execution timeout' - } - }).argv; - - let tracer = argv.tracer; - - const tracerFile = argv.tracerFile; - if (tracerFile) { - tracer = fs.readFileSync(tracerFile).toString('utf-8'); - } - - const tracingClient = new TracingClient(argv.providerUrl); - const result = await tracingClient.getTxTrace(argv.txHash, tracer, argv.timeout); - - console.log(JSON.stringify(result, null, 2)); -})(); diff --git a/packages/tracing-client/src/index.ts b/packages/tracing-client/src/index.ts deleted file mode 100644 index 556fe78c..00000000 --- a/packages/tracing-client/src/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -export * from './tracing'; diff --git a/packages/tracing-client/src/tracing.test.ts b/packages/tracing-client/src/tracing.test.ts deleted file mode 100644 index c4562172..00000000 --- a/packages/tracing-client/src/tracing.test.ts +++ /dev/null @@ -1,3 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// diff --git a/packages/tracing-client/src/tracing.ts b/packages/tracing-client/src/tracing.ts deleted file mode 100644 index 96adbd09..00000000 --- a/packages/tracing-client/src/tracing.ts +++ /dev/null @@ -1,38 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -import assert from 'assert'; -import path from 'path'; -import fs from 'fs'; -import { ethers } from 'ethers'; - -const callTracerWithAddresses = fs.readFileSync(path.join(__dirname, '../tracers', 'call_address_tracer.js')).toString('utf-8'); - -export class TracingClient { - _providerUrl: string; - _provider: ethers.providers.JsonRpcProvider; - - constructor (providerUrl: string) { - assert(providerUrl); - - this._providerUrl = providerUrl; - this._provider = new ethers.providers.JsonRpcProvider(providerUrl); - } - - async getTx (txHash: string): Promise { - return this._provider.getTransaction(txHash); - } - - async getTxTrace (txHash: string, tracer: string | undefined, timeout: string | undefined): Promise { - if (tracer === 'callTraceWithAddresses') { - tracer = callTracerWithAddresses; - } - - return this._provider.send('debug_traceTransaction', [txHash, { tracer, timeout }]); - } - - async getCallTrace (block: string, txData: any, tracer: string | undefined): Promise { - return this._provider.send('debug_traceCall', [txData, block, { tracer }]); - } -} diff --git a/packages/tracing-client/test/traces/call-address-tracer/mainnet-tx-0x3fa2943473a979e55abf74e0136c8c114f6c2b8020de8355ddfa9b99121df9ef.json b/packages/tracing-client/test/traces/call-address-tracer/mainnet-tx-0x3fa2943473a979e55abf74e0136c8c114f6c2b8020de8355ddfa9b99121df9ef.json deleted file mode 100644 index 994f89f0..00000000 --- a/packages/tracing-client/test/traces/call-address-tracer/mainnet-tx-0x3fa2943473a979e55abf74e0136c8c114f6c2b8020de8355ddfa9b99121df9ef.json +++ /dev/null @@ -1,483 +0,0 @@ -{ - "type": "CALL", - "from": "0xee057f58eee281d2b20fff17af6170ec3d2c02bb", - "to": "0x7a250d5630b4cf539739df2c5dacb4c659f2488d", - "value": "0x0", - "gas": "0x2aaf4", - "gasUsed": "0x1f8e2", - "input": "0x791ac947000000000000000000000000000000000000000000000002a646e18c9537800000000000000000000000000000000000000000000000000002e7d0f95e5c1dbe00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000ee057f58eee281d2b20fff17af6170ec3d2c02bb0000000000000000000000000000000000000000000000000000000060caff8700000000000000000000000000000000000000000000000000000000000000020000000000000000000000004c9bbfc1fbd93dfb509e718400978fbeedf590e9000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", - "output": "0x", - "time": "1.690991566s", - "calls": [ - { - "type": "CALL", - "from": "0x7a250d5630b4cf539739df2c5dacb4c659f2488d", - "to": "0x4c9bbfc1fbd93dfb509e718400978fbeedf590e9", - "value": "0x0", - "gas": "0x28e54", - "gasUsed": "0xa725", - "input": "0x23b872dd000000000000000000000000ee057f58eee281d2b20fff17af6170ec3d2c02bb00000000000000000000000006ff89df6e1c820088ee67bf25e081b624ab676e000000000000000000000000000000000000000000000002a646e18c95378000", - "output": "0x", - "addresses": { - "0xee057f58eee281d2b20fff17af6170ec3d2c02bb": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "DUP2", - "JUMP", - "JUMPDEST", - "DUP2", - "AND", - "DUP2", - "JUMPI", - "JUMPDEST", - "JUMP", - "JUMPDEST", - "SWAP3", - "DUP5", - "DUP4", - "AND", - "SWAP1", - "DUP5", - "DUP3", - "AND", - "DUP3", - "AND", - "SWAP1", - "DUP5", - "AND", - "SWAP1", - "DUP6", - "AND", - "POP", - "DUP7", - "DUP4", - "AND", - "DUP4", - "AND", - "SWAP1", - "DUP7", - "AND", - "SWAP1", - "DUP5", - "AND", - "POP", - "DUP6", - "DUP4", - "AND", - "DUP4", - "AND", - "SWAP1", - "DUP7", - "AND", - "SWAP1", - "DUP5", - "AND", - "POP", - "POP", - "DUP5", - "AND", - "SWAP1", - "DUP6", - "DUP4", - "AND", - "DUP4", - "AND", - "DUP2", - "POP", - "SWAP4" - ] - }, - "0x06ff89df6e1c820088ee67bf25e081b624ab676e": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "DUP2", - "JUMP", - "JUMPDEST", - "DUP2", - "AND", - "DUP2", - "JUMPI", - "JUMPDEST", - "JUMP", - "JUMPDEST", - "SWAP3", - "DUP5", - "DUP3", - "AND", - "DUP3", - "AND", - "SWAP1", - "DUP6", - "DUP3", - "AND", - "DUP6", - "AND", - "DUP3", - "AND", - "POP", - "POP", - "POP" - ] - }, - "0x4c9bbfc1fbd93dfb509e718400978fbeedf590e9": { - "confidence": 1, - "opcodes": [ - "ADDRESS" - ] - }, - "0x199dbf779e5baf9e7703435d3a446b526d64fea5": { - "confidence": 1, - "opcodes": [ - "AND", - "DUP3", - "AND", - "DUP6", - "AND", - "DUP3", - "AND", - "POP" - ] - }, - "0x7a250d5630b4cf539739df2c5dacb4c659f2488d": { - "confidence": 1, - "opcodes": [ - "CALLER", - "CALLER", - "DUP3", - "AND", - "DUP8", - "AND", - "DUP1", - "MSTORE", - "POP" - ] - } - } - }, - { - "type": "STATICCALL", - "from": "0x7a250d5630b4cf539739df2c5dacb4c659f2488d", - "to": "0x06ff89df6e1c820088ee67bf25e081b624ab676e", - "gas": "0x1d989", - "gasUsed": "0x9c8", - "input": "0x0902f1ac", - "output": "0x0000000000000000000000000000000000000000000003cb926bab0ebfc955520000000000000000000000000000000000000000000000049622d3edc66b21100000000000000000000000000000000000000000000000000000000060caf8a3" - }, - { - "type": "STATICCALL", - "from": "0x7a250d5630b4cf539739df2c5dacb4c659f2488d", - "to": "0x4c9bbfc1fbd93dfb509e718400978fbeedf590e9", - "gas": "0x1cdea", - "gasUsed": "0x244", - "input": "0x70a0823100000000000000000000000006ff89df6e1c820088ee67bf25e081b624ab676e", - "output": "0x0000000000000000000000000000000000000000000003ce296faca6e390dd52", - "addresses": { - "0x06ff89df6e1c820088ee67bf25e081b624ab676e": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "DUP2", - "JUMP", - "JUMPDEST", - "DUP2", - "AND", - "DUP2", - "JUMPI", - "JUMPDEST", - "JUMP", - "JUMPDEST", - "JUMP", - "JUMPDEST", - "AND", - "SWAP1" - ] - } - } - }, - { - "type": "CALL", - "from": "0x7a250d5630b4cf539739df2c5dacb4c659f2488d", - "to": "0x06ff89df6e1c820088ee67bf25e081b624ab676e", - "value": "0x0", - "gas": "0x1c5af", - "gasUsed": "0xd4d3", - "input": "0x022c0d9f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000031cba3089c231210000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000", - "output": "0x", - "calls": [ - { - "type": "CALL", - "from": "0x06ff89df6e1c820088ee67bf25e081b624ab676e", - "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", - "value": "0x0", - "gas": "0x18b0c", - "gasUsed": "0x750a", - "input": "0xa9059cbb0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000000000000000000000000000031cba3089c23121", - "output": "0x", - "addresses": { - "0x7a250d5630b4cf539739df2c5dacb4c659f2488d": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "SWAP1", - "DUP5", - "DUP6", - "AND", - "AND", - "DUP3", - "AND", - "POP", - "SWAP2" - ] - }, - "0x06ff89df6e1c820088ee67bf25e081b624ab676e": { - "confidence": 1, - "opcodes": [ - "CALLER", - "DUP7", - "AND", - "AND", - "CALLER", - "AND", - "DUP5", - "AND", - "DUP7", - "AND", - "AND", - "DUP5", - "AND", - "SWAP3" - ] - } - } - }, - { - "type": "STATICCALL", - "from": "0x06ff89df6e1c820088ee67bf25e081b624ab676e", - "to": "0x4c9bbfc1fbd93dfb509e718400978fbeedf590e9", - "gas": "0x1157d", - "gasUsed": "0x244", - "input": "0x70a0823100000000000000000000000006ff89df6e1c820088ee67bf25e081b624ab676e", - "output": "0x0000000000000000000000000000000000000000000003ce296faca6e390dd52", - "addresses": { - "0x06ff89df6e1c820088ee67bf25e081b624ab676e": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "DUP2", - "JUMP", - "JUMPDEST", - "DUP2", - "AND", - "DUP2", - "JUMPI", - "JUMPDEST", - "JUMP", - "JUMPDEST", - "JUMP", - "JUMPDEST", - "AND", - "SWAP1" - ] - } - } - }, - { - "type": "STATICCALL", - "from": "0x06ff89df6e1c820088ee67bf25e081b624ab676e", - "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", - "gas": "0x111ac", - "gasUsed": "0x216", - "input": "0x70a0823100000000000000000000000006ff89df6e1c820088ee67bf25e081b624ab676e", - "output": "0x000000000000000000000000000000000000000000000004930619bd3ca8efef", - "addresses": { - "0x06ff89df6e1c820088ee67bf25e081b624ab676e": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "SWAP1", - "POP", - "JUMP", - "JUMPDEST", - "MSTORE", - "DUP1", - "MSTORE", - "SWAP2" - ] - } - } - } - ], - "addresses": { - "0x7a250d5630b4cf539739df2c5dacb4c659f2488d": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "DUP10", - "AND", - "DUP10", - "AND", - "DUP11", - "DUP6", - "AND", - "POP", - "DUP12", - "AND", - "CALLER", - "POP" - ] - }, - "0x4c9bbfc1fbd93dfb509e718400978fbeedf590e9": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "SWAP2", - "SWAP2", - "AND", - "DUP3", - "DUP5", - "AND", - "DUP7", - "DUP1", - "POP", - "POP", - "SWAP2" - ] - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "SWAP2", - "SWAP1", - "AND", - "POP", - "DUP1", - "AND", - "JUMPI", - "JUMPDEST", - "JUMPI", - "JUMPDEST", - "JUMPI", - "DUP2", - "DUP10", - "AND", - "DUP7", - "SWAP2", - "POP", - "JUMP", - "JUMPDEST", - "JUMPI", - "JUMPDEST", - "POP", - "DUP4", - "AND", - "DUP7", - "DUP1", - "POP", - "POP", - "POP", - "POP", - "POP" - ] - }, - "0x06ff89df6e1c820088ee67bf25e081b624ab676e": { - "confidence": 1, - "opcodes": [ - "ADDRESS", - "ADDRESS" - ] - } - } - }, - { - "type": "STATICCALL", - "from": "0x7a250d5630b4cf539739df2c5dacb4c659f2488d", - "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", - "gas": "0xf262", - "gasUsed": "0x216", - "input": "0x70a082310000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d", - "output": "0x000000000000000000000000000000000000000000000000031cba3089c23121", - "addresses": { - "0x7a250d5630b4cf539739df2c5dacb4c659f2488d": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "SWAP1", - "POP", - "JUMP", - "JUMPDEST", - "MSTORE", - "DUP1", - "MSTORE", - "SWAP2" - ] - } - } - }, - { - "type": "CALL", - "from": "0x7a250d5630b4cf539739df2c5dacb4c659f2488d", - "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", - "value": "0x0", - "gas": "0xeeac", - "gasUsed": "0x2407", - "input": "0x2e1a7d4d000000000000000000000000000000000000000000000000031cba3089c23121", - "output": "0x", - "calls": [ - { - "type": "CALL", - "from": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", - "to": "0x7a250d5630b4cf539739df2c5dacb4c659f2488d", - "value": "0x31cba3089c23121", - "gas": "0x8fc", - "gasUsed": "0x53", - "input": "0x", - "output": "0x", - "addresses": { - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "confidence": 1, - "opcodes": [ - "CALLER", - "PUSH32", - "AND" - ] - } - } - } - ], - "addresses": { - "0x7a250d5630b4cf539739df2c5dacb4c659f2488d": { - "confidence": 1, - "opcodes": [ - "CALLER", - "AND", - "AND", - "CALLER", - "AND", - "AND", - "CALLER", - "AND", - "DUP9", - "SWAP4", - "CALLER", - "AND" - ] - } - } - }, - { - "type": "CALL", - "from": "0x7a250d5630b4cf539739df2c5dacb4c659f2488d", - "to": "0xee057f58eee281d2b20fff17af6170ec3d2c02bb", - "value": "0x31cba3089c23121", - "input": "0x", - "output": "0x" - } - ] -} diff --git a/packages/tracing-client/test/traces/call-address-tracer/mainnet-tx-0x43b0125079ed3b80d552a135ebb5cd5da59073a81ef580c17b65932592aff80f.json b/packages/tracing-client/test/traces/call-address-tracer/mainnet-tx-0x43b0125079ed3b80d552a135ebb5cd5da59073a81ef580c17b65932592aff80f.json deleted file mode 100644 index 3d0c60ef..00000000 --- a/packages/tracing-client/test/traces/call-address-tracer/mainnet-tx-0x43b0125079ed3b80d552a135ebb5cd5da59073a81ef580c17b65932592aff80f.json +++ /dev/null @@ -1,749 +0,0 @@ -{ - "type": "CALL", - "from": "0x30389a99a5756141410a45e81d04ab50a5b5c374", - "to": "0xe592427a0aece92de3edee1f18e0157c05861564", - "value": "0x0", - "gas": "0x26d62", - "gasUsed": "0x1f022", - "input": "0xac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000104414bf389000000000000000000000000467bccd9d29f223bce8043b84e8c8b282827790f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000bb800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060cb00420000000000000000000000000000000000000000000000000000000000091f730000000000000000000000000000000000000000000000000111c8d3093e4217000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000111c8d3093e421700000000000000000000000030389a99a5756141410a45e81d04ab50a5b5c37400000000000000000000000000000000000000000000000000000000", - "output": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000001132744bb359c060000000000000000000000000000000000000000000000000000000000000000", - "time": "2.635179319s", - "calls": [ - { - "type": "DELEGATECALL", - "from": "0xe592427a0aece92de3edee1f18e0157c05861564", - "to": "0xe592427a0aece92de3edee1f18e0157c05861564", - "gas": "0x25efa", - "gasUsed": "0x19d73", - "input": "0x414bf389000000000000000000000000467bccd9d29f223bce8043b84e8c8b282827790f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000bb800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060cb00420000000000000000000000000000000000000000000000000000000000091f730000000000000000000000000000000000000000000000000111c8d3093e42170000000000000000000000000000000000000000000000000000000000000000", - "output": "0x", - "calls": [ - { - "type": "CALL", - "from": "0xe592427a0aece92de3edee1f18e0157c05861564", - "to": "0xf359492d26764481002ed88bd2acae83ca50b5c9", - "value": "0x0", - "gas": "0x23a69", - "gasUsed": "0x18064", - "input": "0x128acb08000000000000000000000000e592427a0aece92de3edee1f18e0157c0586156400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000091f7300000000000000000000000000000000000000000000000000000001000276a400000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000030389a99a5756141410a45e81d04ab50a5b5c374000000000000000000000000000000000000000000000000000000000000002b467bccd9d29f223bce8043b84e8c8b282827790f000bb8c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000", - "output": "0x0000000000000000000000000000000000000000000000000000000000091f73fffffffffffffffffffffffffffffffffffffffffffffffffeecd8bb44ca63fa", - "calls": [ - { - "type": "CALL", - "from": "0xf359492d26764481002ed88bd2acae83ca50b5c9", - "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", - "value": "0x0", - "gas": "0x1a791", - "gasUsed": "0x750a", - "input": "0xa9059cbb000000000000000000000000e592427a0aece92de3edee1f18e0157c0586156400000000000000000000000000000000000000000000000001132744bb359c06", - "output": "0x", - "addresses": { - "0xe592427a0aece92de3edee1f18e0157c05861564": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "SWAP1", - "DUP5", - "DUP6", - "AND", - "AND", - "DUP3", - "AND", - "POP", - "SWAP2" - ] - }, - "0xf359492d26764481002ed88bd2acae83ca50b5c9": { - "confidence": 1, - "opcodes": [ - "CALLER", - "DUP7", - "AND", - "AND", - "CALLER", - "AND", - "DUP5", - "AND", - "DUP7", - "AND", - "AND", - "DUP5", - "AND", - "SWAP3" - ] - } - } - }, - { - "type": "STATICCALL", - "from": "0xf359492d26764481002ed88bd2acae83ca50b5c9", - "to": "0x467bccd9d29f223bce8043b84e8c8b282827790f", - "gas": "0x12757", - "gasUsed": "0xa01", - "input": "0x70a08231000000000000000000000000f359492d26764481002ed88bd2acae83ca50b5c9", - "output": "0x", - "addresses": { - "0xf359492d26764481002ed88bd2acae83ca50b5c9": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "SWAP1", - "POP", - "JUMP", - "JUMPDEST", - "DUP4", - "AND", - "AND", - "SWAP1" - ] - } - } - }, - { - "type": "CALL", - "from": "0xf359492d26764481002ed88bd2acae83ca50b5c9", - "to": "0xe592427a0aece92de3edee1f18e0157c05861564", - "value": "0x0", - "gas": "0x11a68", - "gasUsed": "0x51b1", - "input": "0xfa461e330000000000000000000000000000000000000000000000000000000000091f73fffffffffffffffffffffffffffffffffffffffffffffffffeecd8bb44ca63fa000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000030389a99a5756141410a45e81d04ab50a5b5c374000000000000000000000000000000000000000000000000000000000000002b467bccd9d29f223bce8043b84e8c8b282827790f000bb8c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000", - "output": "0x", - "calls": [ - { - "type": "CALL", - "from": "0xe592427a0aece92de3edee1f18e0157c05861564", - "to": "0x467bccd9d29f223bce8043b84e8c8b282827790f", - "value": "0x0", - "gas": "0x107a2", - "gasUsed": "0x41d9", - "input": "0x23b872dd00000000000000000000000030389a99a5756141410a45e81d04ab50a5b5c374000000000000000000000000f359492d26764481002ed88bd2acae83ca50b5c90000000000000000000000000000000000000000000000000000000000091f73", - "output": "0x", - "addresses": { - "0x30389a99a5756141410a45e81d04ab50a5b5c374": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "SWAP1", - "DUP6", - "AND", - "AND", - "DUP6", - "AND", - "AND", - "DUP8", - "AND", - "AND", - "DUP7", - "AND", - "AND", - "DUP8", - "AND", - "AND", - "DUP7", - "AND", - "AND", - "DUP5", - "AND", - "SWAP3" - ] - }, - "0xf359492d26764481002ed88bd2acae83ca50b5c9": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "SWAP1", - "DUP4", - "AND", - "DUP7", - "AND", - "AND", - "DUP6", - "AND", - "AND", - "DUP3", - "AND", - "POP" - ] - }, - "0xe592427a0aece92de3edee1f18e0157c05861564": { - "confidence": 1, - "opcodes": [ - "CALLER", - "AND", - "AND", - "CALLER", - "AND", - "AND", - "CALLER", - "AND", - "AND" - ] - } - } - } - ], - "addresses": { - "0x30389a99a5756141410a45e81d04ab50a5b5c374": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "DUP4", - "JUMP", - "JUMPDEST", - "DUP2", - "AND", - "DUP2", - "JUMPI", - "JUMPDEST", - "SWAP3", - "MLOAD", - "DUP4", - "AND", - "DUP5", - "DUP6", - "AND", - "POP", - "POP" - ] - }, - "0x467bccd9d29f223bce8043b84e8c8b282827790f": { - "confidence": 1, - "opcodes": [ - "DIV", - "JUMP", - "JUMPDEST", - "SWAP2", - "POP", - "DUP5", - "DUP7", - "DUP5", - "AND", - "SWAP5", - "AND", - "MLOAD", - "AND", - "MLOAD", - "SWAP5", - "AND", - "POP", - "DUP6", - "AND", - "DUP6", - "DUP5", - "AND", - "DUP5", - "DUP11", - "AND", - "DUP7", - "SWAP2", - "POP", - "POP", - "POP" - ] - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "confidence": 1, - "opcodes": [ - "DIV", - "JUMP", - "JUMPDEST", - "SWAP1", - "POP", - "DUP5", - "DUP7", - "DUP3", - "AND", - "SWAP3", - "AND", - "MLOAD", - "AND", - "MLOAD", - "SWAP2", - "AND", - "POP", - "DUP4", - "AND", - "PUSH32", - "AND", - "POP" - ] - }, - "0x1f98431c8ad98523631ae4a59f267346ea31f984": { - "confidence": 1, - "opcodes": [ - "PUSH32", - "DUP6", - "DUP4", - "SWAP5", - "SWAP2", - "SWAP5" - ] - }, - "0xf359492d26764481002ed88bd2acae83ca50b5c9": { - "confidence": 1, - "opcodes": [ - "CALLER", - "AND", - "CALLER", - "DUP5", - "DUP5", - "AND", - "POP", - "POP" - ] - }, - "0xe592427a0aece92de3edee1f18e0157c05861564": { - "confidence": 1, - "opcodes": [ - "ADDRESS" - ] - } - } - }, - { - "type": "STATICCALL", - "from": "0xf359492d26764481002ed88bd2acae83ca50b5c9", - "to": "0x467bccd9d29f223bce8043b84e8c8b282827790f", - "gas": "0xc785", - "gasUsed": "0x231", - "input": "0x70a08231000000000000000000000000f359492d26764481002ed88bd2acae83ca50b5c9", - "output": "0x", - "addresses": { - "0xf359492d26764481002ed88bd2acae83ca50b5c9": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "SWAP1", - "POP", - "JUMP", - "JUMPDEST", - "DUP4", - "AND", - "AND", - "SWAP1" - ] - } - } - } - ], - "addresses": { - "0xe592427a0aece92de3edee1f18e0157c05861564": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "DUP14", - "DUP5", - "AND", - "POP", - "CALLER", - "AND", - "DUP8", - "DUP1", - "POP", - "POP", - "DUP15", - "AND", - "CALLER", - "SWAP8" - ] - }, - "0xf359492d26764481002ed88bd2acae83ca50b5c9": { - "confidence": 1, - "opcodes": [ - "ADDRESS", - "PUSH32", - "AND", - "ADDRESS", - "SWAP2", - "ADDRESS", - "SWAP2" - ] - }, - "0x000572597abd77b58fe8ea52ed1274502e314db3": { - "confidence": 0.6, - "opcodes": [ - "JUMPDEST", - "JUMPI" - ] - }, - "0x0008069dbff7b1ae000000000000000000000000": { - "confidence": 0.6, - "opcodes": [ - "AND", - "JUMPI", - "AND" - ] - }, - "0x000014129bb2e5e51cc6ed827ae27cc3ac8e96cf": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "JUMPI", - "JUMPDEST" - ] - }, - "0x000806cfc75c3e3e87f33f3d06602232fd84e913": { - "confidence": 0.6, - "opcodes": [ - "JUMPI", - "DUP4", - "JUMPDEST", - "DUP5", - "JUMPDEST", - "DUP1" - ] - }, - "0x000015c325af171854ec8c471d233c08d883e294": { - "confidence": 0.6, - "opcodes": [ - "MULMOD" - ] - }, - "0xfffd8963efd1fc6a506488495d951d5263988d26": { - "confidence": 0.75, - "opcodes": [ - "PUSH20" - ] - }, - "0x00057ff8e0dae545830cea8d306ee66500000000": { - "confidence": 0.6, - "opcodes": [ - "AND" - ] - }, - "0x0003e7a9bb29bf882b25a62837f8000000000000": { - "confidence": 0.6, - "opcodes": [ - "MUL" - ] - }, - "0x0003e7a9b89a5b067fa6a1cddd07ed5e62ffc556": { - "confidence": 0.6, - "opcodes": [ - "ADD" - ] - }, - "0x00057ff099c8388ff5f6d46e7ec3667358154b0f": { - "confidence": 0.6, - "opcodes": [ - "JUMPDEST", - "JUMPI" - ] - }, - "0xffffffff00000000000000000000000000000000": { - "confidence": 0.75, - "opcodes": [ - "PUSH20" - ] - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "confidence": 1, - "opcodes": [ - "PUSH32", - "DUP10", - "AND", - "DUP7", - "SWAP2", - "POP" - ] - }, - "0x467bccd9d29f223bce8043b84e8c8b282827790f": { - "confidence": 1, - "opcodes": [ - "PUSH32", - "AND", - "DUP6", - "SWAP2", - "PUSH32", - "AND", - "DUP6", - "SWAP2" - ] - } - } - } - ], - "addresses": { - "0x467bccd9d29f223bce8043b84e8c8b282827790f": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "DUP2", - "JUMP", - "JUMPDEST", - "DUP2", - "AND", - "DUP2", - "JUMPI", - "JUMPDEST", - "JUMP", - "JUMPDEST", - "JUMP", - "JUMPDEST", - "SWAP4", - "SWAP4", - "DIV", - "JUMP", - "JUMPDEST", - "SWAP2", - "SWAP2", - "DUP5", - "AND", - "DUP7", - "DUP7", - "DUP5", - "AND", - "SWAP5", - "AND", - "MLOAD", - "AND", - "MLOAD", - "SWAP5", - "AND", - "SWAP4", - "POP" - ] - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "DUP2", - "JUMP", - "JUMPDEST", - "DUP2", - "AND", - "DUP2", - "JUMPI", - "JUMPDEST", - "JUMP", - "JUMPDEST", - "JUMP", - "JUMPDEST", - "SWAP2", - "DIV", - "JUMP", - "JUMPDEST", - "SWAP1", - "POP", - "DUP4", - "AND", - "DUP7", - "DUP7", - "DUP3", - "AND", - "SWAP3", - "AND", - "MLOAD", - "AND", - "MLOAD", - "SWAP2", - "AND", - "POP", - "POP" - ] - }, - "0x30389a99a5756141410a45e81d04ab50a5b5c374": { - "confidence": 1, - "opcodes": [ - "CALLER", - "AND", - "MLOAD", - "AND", - "MLOAD" - ] - }, - "0xe592427a0aece92de3edee1f18e0157c05861564": { - "confidence": 1, - "opcodes": [ - "ADDRESS", - "DUP12", - "SWAP6", - "DUP9", - "AND", - "SWAP7", - "POP" - ] - }, - "0x1f98431c8ad98523631ae4a59f267346ea31f984": { - "confidence": 1, - "opcodes": [ - "PUSH32", - "SWAP5" - ] - }, - "0xf359492d26764481002ed88bd2acae83ca50b5c9": { - "confidence": 1, - "opcodes": [ - "AND", - "DUP8", - "DUP1", - "POP", - "POP" - ] - } - } - }, - { - "type": "DELEGATECALL", - "from": "0xe592427a0aece92de3edee1f18e0157c05861564", - "to": "0xe592427a0aece92de3edee1f18e0157c05861564", - "gas": "0xc544", - "gasUsed": "0x46fd", - "input": "0x49404b7c0000000000000000000000000000000000000000000000000111c8d3093e421700000000000000000000000030389a99a5756141410a45e81d04ab50a5b5c374", - "output": "0x", - "calls": [ - { - "type": "STATICCALL", - "from": "0xe592427a0aece92de3edee1f18e0157c05861564", - "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", - "gas": "0xbf6f", - "gasUsed": "0x216", - "input": "0x70a08231000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564", - "output": "0x00000000000000000000000000000000000000000000000001132744bb359c06", - "addresses": { - "0xe592427a0aece92de3edee1f18e0157c05861564": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "SWAP1", - "POP", - "JUMP", - "JUMPDEST", - "MSTORE", - "DUP1", - "MSTORE", - "SWAP2" - ] - } - } - }, - { - "type": "CALL", - "from": "0xe592427a0aece92de3edee1f18e0157c05861564", - "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", - "value": "0x0", - "gas": "0xbba6", - "gasUsed": "0x2407", - "input": "0x2e1a7d4d00000000000000000000000000000000000000000000000001132744bb359c06", - "output": "0x", - "calls": [ - { - "type": "CALL", - "from": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", - "to": "0xe592427a0aece92de3edee1f18e0157c05861564", - "value": "0x1132744bb359c06", - "gas": "0x8fc", - "gasUsed": "0x53", - "input": "0x", - "output": "0x", - "addresses": { - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "confidence": 1, - "opcodes": [ - "CALLER", - "PUSH32", - "AND" - ] - } - } - } - ], - "addresses": { - "0xe592427a0aece92de3edee1f18e0157c05861564": { - "confidence": 1, - "opcodes": [ - "CALLER", - "AND", - "AND", - "CALLER", - "AND", - "AND", - "CALLER", - "AND", - "DUP9", - "SWAP4", - "CALLER", - "AND" - ] - } - } - }, - { - "type": "CALL", - "from": "0xe592427a0aece92de3edee1f18e0157c05861564", - "to": "0x30389a99a5756141410a45e81d04ab50a5b5c374", - "value": "0x1132744bb359c06", - "input": "0x", - "output": "0x" - } - ], - "addresses": { - "0x30389a99a5756141410a45e81d04ab50a5b5c374": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "DUP2", - "JUMP", - "JUMPDEST", - "DUP2", - "AND", - "DUP2", - "JUMPI", - "JUMPDEST", - "JUMP", - "JUMPDEST", - "DUP1", - "POP", - "POP", - "JUMP", - "JUMPDEST", - "JUMP", - "JUMPDEST", - "DUP3", - "DUP5", - "AND", - "DUP8", - "SWAP3", - "POP", - "POP" - ] - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "confidence": 1, - "opcodes": [ - "PUSH32", - "AND", - "DUP7", - "DUP1", - "POP", - "POP", - "PUSH32", - "AND", - "DUP8", - "DUP1", - "POP", - "POP" - ] - }, - "0xe592427a0aece92de3edee1f18e0157c05861564": { - "confidence": 1, - "opcodes": [ - "ADDRESS", - "DUP3", - "AND", - "SWAP2" - ] - } - } - } - ] -} diff --git a/packages/tracing-client/test/traces/call-address-tracer/mainnet-tx-0x86cd6d4b0ba745e1edfa29056f51e4ba449a4a00605d6f64c25e7e619f5b1dd9.json b/packages/tracing-client/test/traces/call-address-tracer/mainnet-tx-0x86cd6d4b0ba745e1edfa29056f51e4ba449a4a00605d6f64c25e7e619f5b1dd9.json deleted file mode 100644 index e340d797..00000000 --- a/packages/tracing-client/test/traces/call-address-tracer/mainnet-tx-0x86cd6d4b0ba745e1edfa29056f51e4ba449a4a00605d6f64c25e7e619f5b1dd9.json +++ /dev/null @@ -1,3396 +0,0 @@ -{ - "type": "CALL", - "from": "0x9544a9249d8fc6b28faf211f5e616aaf8ac13e62", - "to": "0xd6419fd982a7651a12a757ca7cd96b969d180330", - "value": "0x0", - "gas": "0x98b61", - "gasUsed": "0x98b61", - "input": "0xfdb5a03e", - "output": "0x", - "time": "12.576277308s", - "calls": [ - { - "type": "CALL", - "from": "0xd6419fd982a7651a12a757ca7cd96b969d180330", - "to": "0xc2edad668740f1aa35e4d8f227fb8e17dca888cd", - "value": "0x0", - "gas": "0x93597", - "gasUsed": "0x1ac75", - "input": "0x441a3e7000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", - "output": "0x", - "calls": [ - { - "type": "STATICCALL", - "from": "0xc2edad668740f1aa35e4d8f227fb8e17dca888cd", - "to": "0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f", - "gas": "0x8e25a", - "gasUsed": "0x9bc", - "input": "0x70a08231000000000000000000000000c2edad668740f1aa35e4d8f227fb8e17dca888cd", - "output": "0x00000000000000000000000000000000000000000001783a0901091cfbcedca9", - "addresses": { - "0xc2edad668740f1aa35e4d8f227fb8e17dca888cd": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "JUMP", - "JUMPDEST", - "MSTORE", - "SWAP1" - ] - } - } - }, - { - "type": "CALL", - "from": "0xc2edad668740f1aa35e4d8f227fb8e17dca888cd", - "to": "0x6b3595068778dd592e39a122f4f5a5cf09c90fe2", - "value": "0x0", - "gas": "0x89850", - "gasUsed": "0x42ad", - "input": "0x40c10f19000000000000000000000000e94b5eec1fa96ceecbd33ef5baa8d00e4493f4f300000000000000000000000000000000000000000000000219e48616068db9f9", - "output": "0x", - "addresses": { - "0xe94b5eec1fa96ceecbd33ef5baa8d00e4493f4f3": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "DUP3", - "DUP3", - "AND", - "DUP4", - "POP", - "DUP3", - "AND", - "SWAP1", - "DUP4", - "AND", - "DUP2", - "SWAP3", - "POP", - "DUP4", - "AND", - "SWAP1", - "POP" - ] - }, - "0xc2edad668740f1aa35e4d8f227fb8e17dca888cd": { - "confidence": 1, - "opcodes": [ - "CALLER", - "JUMP", - "JUMPDEST", - "DIV", - "SWAP1", - "AND", - "SWAP2", - "AND" - ] - } - } - }, - { - "type": "CALL", - "from": "0xc2edad668740f1aa35e4d8f227fb8e17dca888cd", - "to": "0x6b3595068778dd592e39a122f4f5a5cf09c90fe2", - "value": "0x0", - "gas": "0x854b7", - "gasUsed": "0x281d", - "input": "0x40c10f19000000000000000000000000c2edad668740f1aa35e4d8f227fb8e17dca888cd00000000000000000000000000000000000000000000001502ed3cdc418943c0", - "output": "0x", - "addresses": { - "0xc2edad668740f1aa35e4d8f227fb8e17dca888cd": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "CALLER", - "JUMP", - "JUMPDEST", - "DIV", - "SWAP1", - "AND", - "SWAP2", - "AND", - "DUP3", - "DUP3", - "AND", - "DUP4", - "POP", - "DUP3", - "AND", - "SWAP1", - "DUP4", - "AND", - "DUP2", - "SWAP3", - "POP", - "DUP4", - "AND", - "SWAP1", - "POP" - ] - } - } - }, - { - "type": "STATICCALL", - "from": "0xc2edad668740f1aa35e4d8f227fb8e17dca888cd", - "to": "0x6b3595068778dd592e39a122f4f5a5cf09c90fe2", - "gas": "0x80029", - "gasUsed": "0x242", - "input": "0x70a08231000000000000000000000000c2edad668740f1aa35e4d8f227fb8e17dca888cd", - "output": "0x00000000000000000000000000000000000000000001d4bcb01e7520ac38ab49", - "addresses": { - "0xc2edad668740f1aa35e4d8f227fb8e17dca888cd": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "JUMP", - "JUMPDEST", - "AND", - "SWAP1" - ] - } - } - }, - { - "type": "CALL", - "from": "0xc2edad668740f1aa35e4d8f227fb8e17dca888cd", - "to": "0x6b3595068778dd592e39a122f4f5a5cf09c90fe2", - "value": "0x0", - "gas": "0x7fbab", - "gasUsed": "0x6289", - "input": "0xa9059cbb000000000000000000000000d6419fd982a7651a12a757ca7cd96b969d180330000000000000000000000000000000000000000000000002a67b0658cbbad843", - "output": "0x0000000000000000000000000000000000000000000000000000000000000001", - "addresses": { - "0xd6419fd982a7651a12a757ca7cd96b969d180330": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "DUP5", - "DUP3", - "AND", - "DUP4", - "POP", - "DUP5", - "AND", - "DUP5", - "AND", - "DUP2", - "SWAP2", - "POP", - "SWAP2" - ] - }, - "0xc2edad668740f1aa35e4d8f227fb8e17dca888cd": { - "confidence": 1, - "opcodes": [ - "CALLER", - "JUMP", - "JUMPDEST", - "DUP4", - "AND", - "DUP4", - "POP", - "DUP7", - "AND", - "SWAP1", - "DUP6", - "AND", - "SWAP1", - "DUP8", - "AND", - "POP" - ] - } - } - }, - { - "type": "CALL", - "from": "0xc2edad668740f1aa35e4d8f227fb8e17dca888cd", - "to": "0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f", - "value": "0x0", - "gas": "0x7873f", - "gasUsed": "0x1438", - "input": "0xa9059cbb000000000000000000000000d6419fd982a7651a12a757ca7cd96b969d1803300000000000000000000000000000000000000000000000000000000000000000", - "output": "0x", - "addresses": { - "0xd6419fd982a7651a12a757ca7cd96b969d180330": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "DUP5", - "DUP5", - "AND", - "DUP5", - "AND", - "DUP2", - "SWAP2", - "POP", - "SWAP2" - ] - }, - "0xc2edad668740f1aa35e4d8f227fb8e17dca888cd": { - "confidence": 1, - "opcodes": [ - "CALLER", - "DUP4", - "AND", - "SWAP1", - "DUP6", - "AND", - "SWAP1", - "DUP8", - "AND", - "POP" - ] - } - } - } - ], - "addresses": { - "0xd6419fd982a7651a12a757ca7cd96b969d180330": { - "confidence": 1, - "opcodes": [ - "CALLER", - "CALLER", - "DUP7", - "AND", - "POP", - "CALLER", - "DUP5", - "AND", - "POP", - "CALLER" - ] - }, - "0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "SWAP3", - "AND", - "DUP7", - "DUP1", - "POP", - "POP", - "SLOAD", - "SWAP1", - "AND", - "DUP5", - "DUP6", - "AND", - "SWAP1", - "DUP5", - "DUP6", - "JUMP", - "JUMPDEST", - "DUP2", - "SWAP2", - "DUP7", - "AND", - "DUP8", - "SWAP3", - "SWAP4", - "SWAP4", - "POP", - "POP" - ] - }, - "0xc2edad668740f1aa35e4d8f227fb8e17dca888cd": { - "confidence": 1, - "opcodes": [ - "ADDRESS", - "ADDRESS", - "ADDRESS" - ] - }, - "0x6b3595068778dd592e39a122f4f5a5cf09c90fe2": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "POP", - "SWAP1", - "AND", - "DUP8", - "DUP1", - "POP", - "SLOAD", - "SWAP3", - "AND", - "SWAP4", - "DUP8", - "DUP1", - "POP", - "POP", - "SLOAD", - "SWAP3", - "AND", - "DUP7", - "DUP1", - "POP", - "POP", - "SLOAD", - "SWAP3", - "AND", - "DUP8", - "DUP1", - "POP", - "POP" - ] - }, - "0xe94b5eec1fa96ceecbd33ef5baa8d00e4493f4f3": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "SWAP2", - "AND", - "DUP4", - "AND", - "SWAP3" - ] - } - } - }, - { - "type": "STATICCALL", - "from": "0xd6419fd982a7651a12a757ca7cd96b969d180330", - "to": "0x6b3595068778dd592e39a122f4f5a5cf09c90fe2", - "gas": "0x785fa", - "gasUsed": "0x242", - "input": "0x70a08231000000000000000000000000d6419fd982a7651a12a757ca7cd96b969d180330", - "output": "0x000000000000000000000000000000000000000000000002a67b0658cbbad843", - "addresses": { - "0xd6419fd982a7651a12a757ca7cd96b969d180330": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "JUMP", - "JUMPDEST", - "AND", - "SWAP1" - ] - } - } - }, - { - "type": "CALL", - "from": "0xd6419fd982a7651a12a757ca7cd96b969d180330", - "to": "0x6b3595068778dd592e39a122f4f5a5cf09c90fe2", - "value": "0x0", - "gas": "0x77749", - "gasUsed": "0x1fbd", - "input": "0xa9059cbb0000000000000000000000009544a9249d8fc6b28faf211f5e616aaf8ac13e62000000000000000000000000000000000000000000000000145abb12061ca535", - "output": "0x", - "addresses": { - "0x9544a9249d8fc6b28faf211f5e616aaf8ac13e62": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "DUP5", - "DUP3", - "AND", - "DUP4", - "POP", - "DUP5", - "AND", - "DUP5", - "AND", - "DUP2", - "SWAP2", - "POP", - "SWAP2" - ] - }, - "0xd6419fd982a7651a12a757ca7cd96b969d180330": { - "confidence": 1, - "opcodes": [ - "CALLER", - "JUMP", - "JUMPDEST", - "DUP4", - "AND", - "DUP4", - "POP", - "DUP7", - "AND", - "SWAP1", - "DUP6", - "AND", - "SWAP1", - "DUP8", - "AND", - "POP" - ] - } - } - }, - { - "type": "CALL", - "from": "0xd6419fd982a7651a12a757ca7cd96b969d180330", - "to": "0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f", - "value": "0x0", - "gas": "0x738a8", - "gasUsed": "0x1b2d2", - "input": "0x18cbafe500000000000000000000000000000000000000000000000292204b46c59e330e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000d6419fd982a7651a12a757ca7cd96b969d1803300000000000000000000000000000000000000000000000000000000060caf97500000000000000000000000000000000000000000000000000000000000000020000000000000000000000006b3595068778dd592e39a122f4f5a5cf09c90fe2000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", - "output": "0x", - "calls": [ - { - "type": "STATICCALL", - "from": "0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f", - "to": "0x795065dcc9f64b5614c407a6efdc400da6221fb0", - "gas": "0x70864", - "gasUsed": "0x9d5", - "input": "0x0902f1ac", - "output": "0x0000000000000000000000000000000000000000001118de9b8a77927b11e03300000000000000000000000000000000000000000000103058e717cceb0f59080000000000000000000000000000000000000000000000000000000060caf8d2" - }, - { - "type": "CALL", - "from": "0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f", - "to": "0x6b3595068778dd592e39a122f4f5a5cf09c90fe2", - "value": "0x0", - "gas": "0x6f354", - "gasUsed": "0x3d40", - "input": "0x23b872dd000000000000000000000000d6419fd982a7651a12a757ca7cd96b969d180330000000000000000000000000795065dcc9f64b5614c407a6efdc400da6221fb000000000000000000000000000000000000000000000000292204b46c59e330e", - "output": "0x", - "addresses": { - "0xd6419fd982a7651a12a757ca7cd96b969d180330": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "DUP5", - "DUP4", - "AND", - "DUP4", - "POP", - "DUP7", - "AND", - "SWAP1", - "DUP6", - "AND", - "SWAP1", - "DUP8", - "AND", - "POP", - "DUP5", - "DUP11", - "AND", - "SWAP1", - "DUP4", - "AND", - "DUP5", - "AND", - "DUP2", - "POP", - "SWAP3" - ] - }, - "0x795065dcc9f64b5614c407a6efdc400da6221fb0": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "DUP5", - "DUP3", - "AND", - "DUP4", - "POP", - "DUP5", - "AND", - "DUP5", - "AND", - "DUP2", - "SWAP2", - "POP", - "POP" - ] - }, - "0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f": { - "confidence": 1, - "opcodes": [ - "CALLER", - "JUMP", - "JUMPDEST", - "CALLER", - "JUMP", - "JUMPDEST", - "AND", - "DUP3", - "AND", - "DUP8", - "AND", - "DUP1", - "MSTORE", - "POP" - ] - } - } - }, - { - "type": "CALL", - "from": "0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f", - "to": "0x795065dcc9f64b5614c407a6efdc400da6221fb0", - "value": "0x0", - "gas": "0x6adc7", - "gasUsed": "0xfef6", - "input": "0x022c0d9f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026d4ac890e1dee5000000000000000000000000d9e1ce17f2641f24ae83637ab66a2cca9c378b9f00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000", - "output": "0x", - "calls": [ - { - "type": "CALL", - "from": "0x795065dcc9f64b5614c407a6efdc400da6221fb0", - "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", - "value": "0x0", - "gas": "0x65f19", - "gasUsed": "0x750a", - "input": "0xa9059cbb000000000000000000000000d9e1ce17f2641f24ae83637ab66a2cca9c378b9f000000000000000000000000000000000000000000000000026d4ac890e1dee5", - "output": "0x", - "addresses": { - "0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "SWAP1", - "DUP5", - "DUP6", - "AND", - "AND", - "DUP3", - "AND", - "POP", - "SWAP2" - ] - }, - "0x795065dcc9f64b5614c407a6efdc400da6221fb0": { - "confidence": 1, - "opcodes": [ - "CALLER", - "DUP7", - "AND", - "AND", - "CALLER", - "AND", - "DUP5", - "AND", - "DUP7", - "AND", - "AND", - "DUP5", - "AND", - "SWAP3" - ] - } - } - }, - { - "type": "STATICCALL", - "from": "0x795065dcc9f64b5614c407a6efdc400da6221fb0", - "to": "0x6b3595068778dd592e39a122f4f5a5cf09c90fe2", - "gas": "0x5e978", - "gasUsed": "0x242", - "input": "0x70a08231000000000000000000000000795065dcc9f64b5614c407a6efdc400da6221fb0", - "output": "0x0000000000000000000000000000000000000000001118e12daac2d940b01341", - "addresses": { - "0x795065dcc9f64b5614c407a6efdc400da6221fb0": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "JUMP", - "JUMPDEST", - "AND", - "SWAP1" - ] - } - } - }, - { - "type": "STATICCALL", - "from": "0x795065dcc9f64b5614c407a6efdc400da6221fb0", - "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", - "gas": "0x5e597", - "gasUsed": "0x216", - "input": "0x70a08231000000000000000000000000795065dcc9f64b5614c407a6efdc400da6221fb0", - "output": "0x0000000000000000000000000000000000000000000010305679cd045a2d7a23", - "addresses": { - "0x795065dcc9f64b5614c407a6efdc400da6221fb0": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "SWAP1", - "POP", - "JUMP", - "JUMPDEST", - "MSTORE", - "DUP1", - "MSTORE", - "SWAP2" - ] - } - } - } - ], - "addresses": { - "0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "DUP10", - "AND", - "DUP10", - "AND", - "DUP11", - "DUP6", - "AND", - "POP", - "DUP12", - "AND", - "CALLER", - "POP" - ] - }, - "0x6b3595068778dd592e39a122f4f5a5cf09c90fe2": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "SWAP2", - "SWAP2", - "AND", - "DUP3", - "DUP5", - "AND", - "DUP7", - "DUP1", - "POP", - "POP", - "SWAP2" - ] - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "SWAP2", - "SWAP1", - "AND", - "POP", - "DUP1", - "AND", - "JUMPI", - "JUMPDEST", - "JUMPI", - "JUMPDEST", - "JUMPI", - "DUP2", - "DUP10", - "AND", - "DUP7", - "SWAP2", - "POP", - "JUMP", - "JUMPDEST", - "JUMPI", - "JUMPDEST", - "POP", - "DUP4", - "AND", - "DUP7", - "DUP1", - "POP", - "POP", - "POP", - "POP", - "POP" - ] - }, - "0x795065dcc9f64b5614c407a6efdc400da6221fb0": { - "confidence": 1, - "opcodes": [ - "ADDRESS", - "ADDRESS" - ] - }, - "0x00017995080613f0c5d2d6f7b6d71963b4bbbd3b": { - "confidence": 0.6, - "opcodes": [ - "SLOAD" - ] - } - } - }, - { - "type": "CALL", - "from": "0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f", - "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", - "value": "0x0", - "gas": "0x5b0c6", - "gasUsed": "0x2413", - "input": "0x2e1a7d4d000000000000000000000000000000000000000000000000026d4ac890e1dee5", - "output": "0x", - "calls": [ - { - "type": "CALL", - "from": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", - "to": "0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f", - "value": "0x26d4ac890e1dee5", - "gas": "0x8fc", - "gasUsed": "0x5f", - "input": "0x", - "output": "0x", - "addresses": { - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "confidence": 1, - "opcodes": [ - "CALLER", - "PUSH32", - "AND" - ] - } - } - } - ], - "addresses": { - "0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f": { - "confidence": 1, - "opcodes": [ - "CALLER", - "AND", - "AND", - "CALLER", - "AND", - "AND", - "CALLER", - "AND", - "DUP9", - "SWAP4", - "CALLER", - "AND" - ] - } - } - }, - { - "type": "CALL", - "from": "0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f", - "to": "0xd6419fd982a7651a12a757ca7cd96b969d180330", - "value": "0x26d4ac890e1dee5", - "gas": "0x571a6", - "gasUsed": "0x28", - "input": "0x", - "output": "0x" - } - ], - "addresses": { - "0xd6419fd982a7651a12a757ca7cd96b969d180330": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "CALLER", - "DUP6", - "AND", - "POP", - "DUP5", - "DUP5", - "AND", - "DUP8", - "SWAP3", - "POP", - "POP" - ] - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "confidence": 1, - "opcodes": [ - "PUSH32", - "AND", - "CALLDATALOAD", - "AND", - "AND", - "MLOAD", - "JUMP", - "JUMPDEST", - "DUP6", - "JUMP", - "JUMPDEST", - "DUP3", - "AND", - "DUP3", - "AND", - "DUP4", - "JUMPDEST", - "POP", - "POP", - "JUMPI", - "JUMPDEST", - "SWAP1", - "JUMP", - "JUMPDEST", - "DUP9", - "JUMP", - "JUMPDEST", - "DUP6", - "JUMP", - "JUMPDEST", - "DUP3", - "AND", - "DUP3", - "AND", - "DUP4", - "JUMPDEST", - "POP", - "POP", - "JUMPI", - "JUMPDEST", - "SWAP1", - "JUMP", - "JUMPDEST", - "SWAP4", - "POP", - "POP", - "CALLDATALOAD", - "AND", - "JUMP", - "JUMPDEST", - "DUP6", - "JUMP", - "JUMPDEST", - "DUP3", - "AND", - "DUP3", - "AND", - "DUP4", - "JUMPDEST", - "POP", - "POP", - "JUMPI", - "JUMPDEST", - "SWAP1", - "JUMP", - "JUMPDEST", - "SWAP4", - "POP", - "MLOAD", - "POP", - "DUP4", - "JUMP", - "JUMPDEST", - "DUP3", - "AND", - "DUP3", - "AND", - "DUP4", - "JUMPDEST", - "POP", - "POP", - "JUMPI", - "JUMPDEST", - "SWAP1", - "JUMP", - "JUMPDEST", - "DUP9", - "JUMP", - "JUMPDEST", - "DUP6", - "JUMP", - "JUMPDEST", - "DUP3", - "AND", - "DUP3", - "AND", - "DUP4", - "JUMPDEST", - "POP", - "POP", - "JUMPI", - "JUMPDEST", - "SWAP1", - "JUMP", - "JUMPDEST", - "SWAP4", - "POP", - "POP", - "PUSH32", - "AND", - "DUP8", - "DUP1", - "POP", - "POP" - ] - }, - "0xc0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac": { - "confidence": 1, - "opcodes": [ - "PUSH32", - "DUP8", - "DUP9", - "SWAP11", - "SWAP9", - "SWAP3", - "PUSH32", - "SWAP11", - "PUSH32", - "SWAP11" - ] - }, - "0x6b3595068778dd592e39a122f4f5a5cf09c90fe2": { - "confidence": 1, - "opcodes": [ - "MLOAD", - "DUP6", - "DUP5", - "AND", - "DUP5", - "AND", - "DUP4", - "SWAP1", - "DUP3", - "AND", - "SWAP3", - "POP", - "POP", - "POP", - "DUP9", - "DUP6", - "DUP5", - "AND", - "DUP5", - "AND", - "DUP4", - "SWAP1", - "DUP3", - "AND", - "SWAP3", - "POP", - "SWAP5", - "POP", - "DUP8", - "AND", - "DUP5", - "AND", - "SWAP7", - "POP", - "CALLDATALOAD", - "AND", - "CALLDATALOAD", - "AND", - "DUP6", - "DUP5", - "AND", - "DUP5", - "AND", - "DUP4", - "SWAP1", - "DUP3", - "AND", - "SWAP3", - "POP", - "SWAP5", - "POP", - "DUP11", - "AND", - "DUP7", - "SWAP2", - "POP", - "MLOAD", - "POP", - "DUP4", - "DUP5", - "AND", - "DUP5", - "AND", - "DUP4", - "SWAP1", - "DUP3", - "AND", - "SWAP3", - "POP", - "POP", - "POP", - "DUP4", - "AND", - "DUP7", - "AND", - "DUP9", - "DUP6", - "DUP5", - "AND", - "DUP5", - "AND", - "DUP4", - "SWAP1", - "DUP3", - "AND", - "SWAP3", - "POP", - "SWAP5", - "POP", - "SWAP8", - "POP" - ] - }, - "0x795065dcc9f64b5614c407a6efdc400da6221fb0": { - "confidence": 1, - "opcodes": [ - "AND", - "DUP7", - "DUP1", - "POP", - "POP", - "AND", - "AND", - "DUP8", - "DUP1", - "POP", - "POP", - "POP" - ] - }, - "0x00a2158ae1867c5b709ac843084ded7a93fc4230": { - "confidence": 0.6, - "opcodes": [ - "POP" - ] - }, - "0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f": { - "confidence": 1, - "opcodes": [ - "ADDRESS", - "JUMP", - "JUMPDEST", - "DUP9", - "JUMP", - "JUMPDEST", - "POP", - "DUP5", - "DUP4", - "AND", - "POP", - "POP", - "POP" - ] - } - } - }, - { - "type": "CALL", - "from": "0xd6419fd982a7651a12a757ca7cd96b969d180330", - "to": "0x737aad349312f36b43041737d648051a39f146e8", - "value": "0x26d4ac890e1dee5", - "gas": "0x553f3", - "gasUsed": "0x4fc5a", - "input": "0xb61d27f600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000400000000000000000000000006b175474e89094c44da98b954eedeac495271d0f0000000000000000000000000000000000000000000000000000000000000000", - "output": "0x", - "calls": [ - { - "type": "STATICCALL", - "from": "0x737aad349312f36b43041737d648051a39f146e8", - "to": "0xc0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac", - "gas": "0x5059d", - "gasUsed": "0xa54", - "input": "0xe6a439050000000000000000000000006b175474e89094c44da98b954eedeac495271d0f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", - "output": "0x000000000000000000000000c3d03e4f041fd4cd388c549ee2a29a9e5075882f", - "addresses": { - "0x6b175474e89094c44da98b954eedeac495271d0f": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "SWAP3" - ] - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "JUMP", - "JUMPDEST", - "SWAP1" - ] - }, - "0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "AND", - "JUMP", - "JUMPDEST", - "SWAP3", - "AND" - ] - } - } - }, - { - "type": "STATICCALL", - "from": "0x737aad349312f36b43041737d648051a39f146e8", - "to": "0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f", - "gas": "0x4f9c8", - "gasUsed": "0x9d5", - "input": "0x0902f1ac", - "output": "0x0000000000000000000000000000000000000000005ee7fd4f63bea2fcaa9acf0000000000000000000000000000000000000000000009ed54fb2429a71b73470000000000000000000000000000000000000000000000000000000060caf8ef" - }, - { - "type": "STATICCALL", - "from": "0x737aad349312f36b43041737d648051a39f146e8", - "to": "0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f", - "gas": "0x4ede8", - "gasUsed": "0x991", - "input": "0x0dfe1681", - "output": "0x0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f", - "addresses": { - "0x6b175474e89094c44da98b954eedeac495271d0f": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "AND", - "JUMP", - "JUMPDEST", - "SWAP3", - "AND" - ] - } - } - }, - { - "type": "CALL", - "from": "0x737aad349312f36b43041737d648051a39f146e8", - "to": "0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f", - "value": "0x1371cc8eda3f522", - "gas": "0x49432", - "gasUsed": "0x1a95a", - "input": "0x7ff36ab500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000737aad349312f36b43041737d648051a39f146e80000000000000000000000000000000000000000000000000000000060caf9750000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000006b175474e89094c44da98b954eedeac495271d0f", - "output": "0x", - "calls": [ - { - "type": "STATICCALL", - "from": "0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f", - "to": "0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f", - "gas": "0x4780c", - "gasUsed": "0x205", - "input": "0x0902f1ac", - "output": "0x0000000000000000000000000000000000000000005ee7fd4f63bea2fcaa9acf0000000000000000000000000000000000000000000009ed54fb2429a71b73470000000000000000000000000000000000000000000000000000000060caf8ef" - }, - { - "type": "CALL", - "from": "0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f", - "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", - "value": "0x1371cc8eda3f522", - "gas": "0x45680", - "gasUsed": "0x55d6", - "input": "0xd0e30db0", - "output": "0x", - "addresses": { - "0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f": { - "confidence": 1, - "opcodes": [ - "CALLER", - "AND", - "AND", - "CALLER", - "AND" - ] - } - } - }, - { - "type": "CALL", - "from": "0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f", - "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", - "value": "0x0", - "gas": "0x3fcd0", - "gasUsed": "0x1f7e", - "input": "0xa9059cbb000000000000000000000000c3d03e4f041fd4cd388c549ee2a29a9e5075882f00000000000000000000000000000000000000000000000001371cc8eda3f522", - "output": "0x0000000000000000000000000000000000000000000000000000000000000001", - "addresses": { - "0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "SWAP1", - "DUP5", - "DUP6", - "AND", - "AND", - "DUP3", - "AND", - "POP", - "SWAP2" - ] - }, - "0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f": { - "confidence": 1, - "opcodes": [ - "CALLER", - "DUP7", - "AND", - "AND", - "CALLER", - "AND", - "DUP5", - "AND", - "DUP7", - "AND", - "AND", - "DUP5", - "AND", - "SWAP3" - ] - } - } - }, - { - "type": "CALL", - "from": "0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f", - "to": "0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f", - "value": "0x0", - "gas": "0x3d520", - "gasUsed": "0xf812", - "input": "0x022c0d9f00000000000000000000000000000000000000000000000b956943533134654d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000737aad349312f36b43041737d648051a39f146e800000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000", - "output": "0x", - "calls": [ - { - "type": "CALL", - "from": "0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f", - "to": "0x6b175474e89094c44da98b954eedeac495271d0f", - "value": "0x0", - "gas": "0x399a3", - "gasUsed": "0x75de", - "input": "0xa9059cbb000000000000000000000000737aad349312f36b43041737d648051a39f146e800000000000000000000000000000000000000000000000b956943533134654d", - "output": "0x", - "addresses": { - "0x737aad349312f36b43041737d648051a39f146e8": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "SWAP1", - "DUP5", - "DUP6", - "AND", - "AND", - "DUP6", - "AND", - "AND", - "DUP3", - "AND", - "POP", - "SWAP2" - ] - }, - "0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f": { - "confidence": 1, - "opcodes": [ - "CALLER", - "DUP7", - "AND", - "AND", - "CALLER", - "AND", - "DUP5", - "AND", - "DUP7", - "AND", - "AND", - "DUP7", - "AND", - "AND", - "DUP5", - "AND", - "SWAP3" - ] - } - } - }, - { - "type": "STATICCALL", - "from": "0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f", - "to": "0x6b175474e89094c44da98b954eedeac495271d0f", - "gas": "0x3231e", - "gasUsed": "0x25a", - "input": "0x70a08231000000000000000000000000c3d03e4f041fd4cd388c549ee2a29a9e5075882f", - "output": "0x0000000000000000000000000000000000000000005ee7f1b9fa7b4fcb763582", - "addresses": { - "0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "SWAP1", - "POP", - "JUMP", - "JUMPDEST", - "MSTORE", - "DUP1", - "MSTORE", - "SWAP2" - ] - } - } - }, - { - "type": "STATICCALL", - "from": "0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f", - "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", - "gas": "0x31f26", - "gasUsed": "0x216", - "input": "0x70a08231000000000000000000000000c3d03e4f041fd4cd388c549ee2a29a9e5075882f", - "output": "0x0000000000000000000000000000000000000000000009ed563240f294bf6869", - "addresses": { - "0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "SWAP1", - "POP", - "JUMP", - "JUMPDEST", - "MSTORE", - "DUP1", - "MSTORE", - "SWAP2" - ] - } - } - } - ], - "addresses": { - "0x737aad349312f36b43041737d648051a39f146e8": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "DUP10", - "AND", - "DUP10", - "AND", - "DUP11", - "DUP6", - "AND", - "POP", - "DUP12", - "AND", - "POP" - ] - }, - "0x6b175474e89094c44da98b954eedeac495271d0f": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "SWAP2", - "SWAP2", - "AND", - "DUP3", - "DUP3", - "DUP10", - "AND", - "DUP7", - "SWAP2", - "POP", - "DUP5", - "AND", - "DUP7", - "DUP1", - "POP", - "POP", - "SWAP2" - ] - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "SWAP2", - "SWAP1", - "AND", - "POP", - "DUP1", - "AND", - "JUMPI", - "JUMPDEST", - "JUMPI", - "JUMP", - "JUMPDEST", - "JUMPI", - "JUMPDEST", - "JUMPI", - "JUMPDEST", - "POP", - "DUP4", - "AND", - "DUP7", - "DUP1", - "POP", - "POP", - "POP", - "POP", - "POP" - ] - }, - "0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f": { - "confidence": 1, - "opcodes": [ - "ADDRESS", - "ADDRESS" - ] - }, - "0x0007ffd8159ce1e76a71d84cf937e101131a1891": { - "confidence": 0.6, - "opcodes": [ - "SLOAD" - ] - }, - "0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f": { - "confidence": 1, - "opcodes": [ - "CALLER" - ] - } - } - } - ], - "addresses": { - "0x737aad349312f36b43041737d648051a39f146e8": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "DUP10", - "JUMP", - "JUMPDEST", - "DUP9", - "JUMP", - "JUMPDEST", - "POP", - "DUP5", - "DUP4", - "AND", - "POP", - "POP", - "POP", - "POP" - ] - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "confidence": 1, - "opcodes": [ - "PUSH32", - "AND", - "CALLDATALOAD", - "AND", - "AND", - "MLOAD", - "DUP6", - "DUP5", - "AND", - "DUP5", - "AND", - "DUP5", - "JUMP", - "JUMPDEST", - "POP", - "POP", - "JUMPI", - "JUMPDEST", - "SWAP3", - "JUMP", - "JUMPDEST", - "DUP9", - "DUP6", - "DUP5", - "AND", - "DUP5", - "AND", - "DUP5", - "JUMP", - "JUMPDEST", - "POP", - "POP", - "JUMPI", - "JUMPDEST", - "SWAP3", - "JUMP", - "JUMPDEST", - "SWAP4", - "POP", - "DUP8", - "AND", - "SWAP7", - "PUSH32", - "AND", - "DUP9", - "DUP1", - "POP", - "POP", - "PUSH32", - "AND", - "CALLDATALOAD", - "AND", - "DUP6", - "DUP5", - "AND", - "DUP5", - "AND", - "DUP5", - "JUMP", - "JUMPDEST", - "POP", - "POP", - "JUMPI", - "JUMPDEST", - "SWAP3", - "JUMP", - "JUMPDEST", - "SWAP4", - "POP", - "DUP8", - "DUP1", - "POP", - "POP", - "MLOAD", - "POP", - "DUP4", - "DUP5", - "AND", - "DUP5", - "AND", - "DUP5", - "JUMP", - "JUMPDEST", - "POP", - "POP", - "JUMPI", - "JUMPDEST", - "SWAP3", - "JUMP", - "JUMPDEST", - "DUP7", - "AND", - "DUP9", - "DUP6", - "DUP5", - "AND", - "DUP5", - "AND", - "DUP5", - "JUMP", - "JUMPDEST", - "POP", - "POP", - "JUMPI", - "JUMPDEST", - "SWAP3", - "JUMP", - "JUMPDEST", - "SWAP4", - "POP", - "SWAP8" - ] - }, - "0xc0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac": { - "confidence": 1, - "opcodes": [ - "PUSH32", - "DUP8", - "DUP9", - "SWAP11", - "SWAP9", - "SWAP3", - "PUSH32", - "SWAP11", - "PUSH32", - "SWAP11" - ] - }, - "0x6b175474e89094c44da98b954eedeac495271d0f": { - "confidence": 1, - "opcodes": [ - "MLOAD", - "JUMP", - "JUMPDEST", - "DUP6", - "JUMP", - "JUMPDEST", - "DUP3", - "AND", - "DUP3", - "AND", - "DUP3", - "SWAP1", - "DUP3", - "AND", - "POP", - "SWAP1", - "POP", - "POP", - "DUP9", - "JUMP", - "JUMPDEST", - "DUP6", - "JUMP", - "JUMPDEST", - "DUP3", - "AND", - "DUP3", - "AND", - "DUP3", - "SWAP1", - "DUP3", - "AND", - "POP", - "SWAP1", - "SWAP5", - "POP", - "DUP5", - "AND", - "POP", - "POP", - "CALLDATALOAD", - "AND", - "JUMP", - "JUMPDEST", - "DUP6", - "JUMP", - "JUMPDEST", - "DUP3", - "AND", - "DUP3", - "AND", - "DUP3", - "SWAP1", - "DUP3", - "AND", - "POP", - "SWAP1", - "SWAP5", - "POP", - "MLOAD", - "POP", - "DUP4", - "JUMP", - "JUMPDEST", - "DUP3", - "AND", - "DUP3", - "AND", - "DUP3", - "SWAP1", - "DUP3", - "AND", - "POP", - "SWAP1", - "POP", - "POP", - "DUP4", - "AND", - "DUP9", - "JUMP", - "JUMPDEST", - "DUP6", - "JUMP", - "JUMPDEST", - "DUP3", - "AND", - "DUP3", - "AND", - "DUP3", - "SWAP1", - "DUP3", - "AND", - "POP", - "SWAP1", - "SWAP5", - "POP", - "POP", - "POP" - ] - }, - "0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f": { - "confidence": 1, - "opcodes": [ - "AND", - "DUP7", - "DUP1", - "POP", - "POP", - "AND", - "AND", - "DUP8", - "DUP1", - "POP", - "POP", - "POP" - ] - }, - "0x01c12fe2d1e3ec1ade34b8c586db61e07308fcb6": { - "confidence": 0.6, - "opcodes": [ - "POP" - ] - } - } - }, - { - "type": "CALL", - "from": "0x737aad349312f36b43041737d648051a39f146e8", - "to": "0x6b175474e89094c44da98b954eedeac495271d0f", - "value": "0x0", - "gas": "0x2ebdd", - "gasUsed": "0x1cf6", - "input": "0x095ea7b3000000000000000000000000d9e1ce17f2641f24ae83637ab66a2cca9c378b9f0000000000000000000000000000000000000000000000000000000000000000", - "output": "0x", - "addresses": { - "0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "SWAP1", - "DUP6", - "AND", - "AND", - "DUP3", - "AND", - "SWAP2" - ] - }, - "0x737aad349312f36b43041737d648051a39f146e8": { - "confidence": 1, - "opcodes": [ - "CALLER", - "AND", - "AND", - "CALLER", - "AND" - ] - } - } - }, - { - "type": "CALL", - "from": "0x737aad349312f36b43041737d648051a39f146e8", - "to": "0x6b175474e89094c44da98b954eedeac495271d0f", - "value": "0x0", - "gas": "0x2cb04", - "gasUsed": "0x9d2", - "input": "0x095ea7b3000000000000000000000000d9e1ce17f2641f24ae83637ab66a2cca9c378b9fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "output": "0x", - "addresses": { - "0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "SWAP1", - "DUP6", - "AND", - "AND", - "DUP3", - "AND", - "SWAP2" - ] - }, - "0x737aad349312f36b43041737d648051a39f146e8": { - "confidence": 1, - "opcodes": [ - "CALLER", - "AND", - "AND", - "CALLER", - "AND" - ] - } - } - }, - { - "type": "STATICCALL", - "from": "0x737aad349312f36b43041737d648051a39f146e8", - "to": "0x6b175474e89094c44da98b954eedeac495271d0f", - "gas": "0x2be48", - "gasUsed": "0x25a", - "input": "0x70a08231000000000000000000000000737aad349312f36b43041737d648051a39f146e8", - "output": "0x00000000000000000000000000000000000000000000000b956943533134654d", - "addresses": { - "0x737aad349312f36b43041737d648051a39f146e8": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "SWAP1", - "POP", - "JUMP", - "JUMPDEST", - "MSTORE", - "DUP1", - "MSTORE", - "SWAP2" - ] - } - } - }, - { - "type": "CALL", - "from": "0x737aad349312f36b43041737d648051a39f146e8", - "to": "0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f", - "value": "0x1362dffb4b86ff2", - "gas": "0x2a039", - "gasUsed": "0x1f284", - "input": "0xf305d7190000000000000000000000006b175474e89094c44da98b954eedeac495271d0f00000000000000000000000000000000000000000000000b956943533134654d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000737aad349312f36b43041737d648051a39f146e80000000000000000000000000000000000000000000000000000000060caf975", - "output": "0x00000000000000000000000000000000000000000000000b956943533134654d00000000000000000000000000000000000000000000000001362dffb4b86ff00000000000000000000000000000000000000000000000002e2fea42b4f9d112", - "calls": [ - { - "type": "STATICCALL", - "from": "0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f", - "to": "0xc0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac", - "gas": "0x29265", - "gasUsed": "0x284", - "input": "0xe6a439050000000000000000000000006b175474e89094c44da98b954eedeac495271d0f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", - "output": "0x000000000000000000000000c3d03e4f041fd4cd388c549ee2a29a9e5075882f", - "addresses": { - "0x6b175474e89094c44da98b954eedeac495271d0f": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "SWAP3" - ] - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "JUMP", - "JUMPDEST", - "SWAP1" - ] - }, - "0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "AND", - "JUMP", - "JUMPDEST", - "SWAP3", - "AND" - ] - } - } - }, - { - "type": "STATICCALL", - "from": "0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f", - "to": "0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f", - "gas": "0x28a81", - "gasUsed": "0x205", - "input": "0x0902f1ac", - "output": "0x0000000000000000000000000000000000000000005ee7f1b9fa7b4fcb7635820000000000000000000000000000000000000000000009ed563240f294bf68690000000000000000000000000000000000000000000000000000000060caf975" - }, - { - "type": "CALL", - "from": "0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f", - "to": "0x6b175474e89094c44da98b954eedeac495271d0f", - "value": "0x0", - "gas": "0x27fdd", - "gasUsed": "0xeea", - "input": "0x23b872dd000000000000000000000000737aad349312f36b43041737d648051a39f146e8000000000000000000000000c3d03e4f041fd4cd388c549ee2a29a9e5075882f00000000000000000000000000000000000000000000000b956943533134654d", - "output": "0x", - "addresses": { - "0x737aad349312f36b43041737d648051a39f146e8": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "SWAP1", - "DUP7", - "AND", - "AND", - "DUP5", - "AND", - "DUP7", - "AND", - "AND", - "DUP7", - "AND", - "AND", - "DUP7", - "AND", - "AND", - "DUP5", - "AND", - "SWAP3" - ] - }, - "0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "SWAP1", - "DUP6", - "AND", - "AND", - "DUP6", - "AND", - "AND", - "DUP3", - "AND", - "POP" - ] - }, - "0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f": { - "confidence": 1, - "opcodes": [ - "CALLER", - "AND", - "CALLER", - "AND", - "AND" - ] - } - } - }, - { - "type": "CALL", - "from": "0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f", - "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", - "value": "0x1362dffb4b86ff0", - "gas": "0x25556", - "gasUsed": "0x55d6", - "input": "0xd0e30db0", - "output": "0x", - "addresses": { - "0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f": { - "confidence": 1, - "opcodes": [ - "CALLER", - "AND", - "AND", - "CALLER", - "AND" - ] - } - } - }, - { - "type": "CALL", - "from": "0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f", - "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", - "value": "0x0", - "gas": "0x1ff1a", - "gasUsed": "0xcbe", - "input": "0xa9059cbb000000000000000000000000c3d03e4f041fd4cd388c549ee2a29a9e5075882f00000000000000000000000000000000000000000000000001362dffb4b86ff0", - "output": "0x0000000000000000000000000000000000000000000000000000000000000001", - "addresses": { - "0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "SWAP1", - "DUP5", - "DUP6", - "AND", - "AND", - "DUP3", - "AND", - "POP", - "SWAP2" - ] - }, - "0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f": { - "confidence": 1, - "opcodes": [ - "CALLER", - "DUP7", - "AND", - "AND", - "CALLER", - "AND", - "DUP5", - "AND", - "DUP7", - "AND", - "AND", - "DUP5", - "AND", - "SWAP3" - ] - } - } - }, - { - "type": "CALL", - "from": "0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f", - "to": "0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f", - "value": "0x0", - "gas": "0x1f0da", - "gasUsed": "0x12dd5", - "input": "0x6a627842000000000000000000000000737aad349312f36b43041737d648051a39f146e8", - "output": "0x0000000000000000000000000000000000000000000000002e2fea42b4f9d112", - "calls": [ - { - "type": "STATICCALL", - "from": "0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f", - "to": "0x6b175474e89094c44da98b954eedeac495271d0f", - "gas": "0x1d9ca", - "gasUsed": "0x25a", - "input": "0x70a08231000000000000000000000000c3d03e4f041fd4cd388c549ee2a29a9e5075882f", - "output": "0x0000000000000000000000000000000000000000005ee7fd4f63bea2fcaa9acf", - "addresses": { - "0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "SWAP1", - "POP", - "JUMP", - "JUMPDEST", - "MSTORE", - "DUP1", - "MSTORE", - "SWAP2" - ] - } - } - }, - { - "type": "STATICCALL", - "from": "0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f", - "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", - "gas": "0x1d564", - "gasUsed": "0x216", - "input": "0x70a08231000000000000000000000000c3d03e4f041fd4cd388c549ee2a29a9e5075882f", - "output": "0x0000000000000000000000000000000000000000000009ed57686ef24977d859", - "addresses": { - "0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "SWAP1", - "POP", - "JUMP", - "JUMPDEST", - "MSTORE", - "DUP1", - "MSTORE", - "SWAP2" - ] - } - } - }, - { - "type": "STATICCALL", - "from": "0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f", - "to": "0xc0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac", - "gas": "0x1c8b4", - "gasUsed": "0x922", - "input": "0x017e7e58", - "output": "0x000000000000000000000000e11fc0b43ab98eb91e9836129d1ee7c3bc95df50", - "addresses": { - "0xe11fc0b43ab98eb91e9836129d1ee7c3bc95df50": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "AND", - "JUMP", - "JUMPDEST", - "SWAP3", - "AND" - ] - } - } - } - ], - "addresses": { - "0x737aad349312f36b43041737d648051a39f146e8": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "JUMP", - "JUMPDEST", - "DUP11", - "DUP4", - "AND", - "DUP4", - "AND", - "DUP2", - "SWAP3", - "POP", - "SWAP6" - ] - }, - "0x6b175474e89094c44da98b954eedeac495271d0f": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "POP", - "SWAP2", - "AND", - "DUP7", - "DUP1", - "POP", - "POP" - ] - }, - "0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f": { - "confidence": 1, - "opcodes": [ - "ADDRESS", - "ADDRESS" - ] - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "SWAP3", - "AND", - "DUP7", - "DUP1", - "POP", - "POP" - ] - }, - "0xc0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "SWAP1", - "DIV", - "AND", - "AND", - "DUP7", - "DUP1", - "POP", - "POP" - ] - }, - "0xe11fc0b43ab98eb91e9836129d1ee7c3bc95df50": { - "confidence": 1, - "opcodes": [ - "MLOAD", - "DUP3", - "AND", - "SWAP2", - "DUP8", - "DUP4", - "AND", - "DUP4", - "AND", - "DUP2", - "SWAP3", - "POP", - "POP" - ] - }, - "0xeb890bb7e435515b55f8be654ba04dd9e34db095": { - "confidence": 0.75, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x75c485dbf21aa8adaafc5f32a5d026ecf1a6d84c": { - "confidence": 0.75, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x3ae242edf90d5456d57e2f9952e8137678d36c29": { - "confidence": 0.75, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x1d712176fc86aa2b6abf17cca97409bb3c69b61c": { - "confidence": 0.75, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x0eb890bb7e435515b55f8be654ba04dd9e34db1d": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x075c485dbf21aa8adaafc5f32a5d026ecf1a6dae": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x03ae242edf90d5456d57e2f9952e8137678d3716": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x01d712176fc86aa2b6abf17cca97409bb3c69c0a": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x00eb890bb7e435515b55f8be654ba04dd9e34f04": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x0075c485dbf21aa8adaafc5f32a5d026ecf1a981": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x003ae242edf90d5456d57e2f9952e8137678d8c0": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x001d712176fc86aa2b6abf17cca97409bb3c745f": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x000eb890bb7e435515b55f8be654ba04dd9e4a2f": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x00075c485dbf21aa8adaafc5f32a5d026ecf4517": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x0003ae242edf90d5456d57e2f9952e813767e28b": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x0001d712176fc86aa2b6abf17cca97409bb47145": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x0000eb890bb7e435515b55f8be654ba04ddb38a2": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x000075c485dbf21aa8adaafc5f32a5d026ef9c50": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x00003ae242edf90d5456d57e2f9952e8137bce27": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x00001d712176fc86aa2b6abf17cca97409c5e713": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0xeb88a01f7c68474262723475231dc0edbb1d39a2": { - "confidence": 0.75, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x75c4500fbe3423a131391a3a918ee076dd8e9cd2": { - "confidence": 0.75, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x3ae22807df1a11d0989c8d1d48c7703b6ec74e6c": { - "confidence": 0.75, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x1d711403ef8d08e84c4e468ea463b81db763a73d": { - "confidence": 0.75, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x0eb88a01f7c68474262723475231dc0edbb1d3ae": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x075c4500fbe3423a131391a3a918ee076dd8e9f6": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x03ae22807df1a11d0989c8d1d48c7703b6ec753a": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x01d711403ef8d08e84c4e468ea463b81db763b1c": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x00eb88a01f7c68474262723475231dc0edbb1e8d": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x0075c4500fbe3423a131391a3a918ee076dd9146": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x003ae22807df1a11d0989c8d1d48c7703b6ecca2": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x001d711403ef8d08e84c4e468ea463b81db76e50": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x000eb88a01f7c68474262723475231dc0edbc727": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x00075c4500fbe3423a131391a3a918ee076e0393": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x0003ae22807df1a11d0989c8d1d48c7703b741c9": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x0001d711403ef8d08e84c4e468ea463b81dc20e4": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x0000eb88a01f7c68474262723475231dc0ef1071": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x000075c4500fbe3423a131391a3a918ee0798838": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x00003ae22807df1a11d0989c8d1d48c77040c41b": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x00001d711403ef8d08e84c4e468ea463b828620d": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x0000a5cfe35b563df213e841c194289c8fe26cae": { - "confidence": 0.6, - "opcodes": [ - "POP" - ] - }, - "0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f": { - "confidence": 1, - "opcodes": [ - "CALLER" - ] - } - } - }, - { - "type": "CALL", - "from": "0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f", - "to": "0x737aad349312f36b43041737d648051a39f146e8", - "value": "0x2", - "gas": "0xac11", - "gasUsed": "0x28", - "input": "0x", - "output": "0x" - } - ], - "addresses": { - "0x6b175474e89094c44da98b954eedeac495271d0f": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "DUP11", - "DUP11", - "DUP4", - "AND", - "SWAP3", - "DUP12", - "DUP6", - "DUP5", - "AND", - "DUP5", - "AND", - "DUP4", - "SWAP1", - "DUP3", - "AND", - "SWAP3", - "POP", - "POP", - "POP", - "DUP9", - "DUP6", - "DUP5", - "AND", - "DUP5", - "AND", - "DUP4", - "SWAP1", - "DUP3", - "AND", - "SWAP3", - "POP", - "SWAP5", - "POP", - "DUP8", - "AND", - "DUP5", - "AND", - "SWAP7", - "POP", - "SWAP7", - "DUP13", - "DUP6", - "DUP5", - "AND", - "DUP5", - "AND", - "DUP4", - "SWAP1", - "DUP3", - "AND", - "SWAP3", - "POP", - "SWAP5", - "POP", - "DUP12", - "DUP11", - "AND", - "DUP7", - "SWAP2", - "POP", - "SWAP7" - ] - }, - "0x737aad349312f36b43041737d648051a39f146e8": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "CALLER", - "DUP6", - "AND", - "POP", - "DUP9", - "DUP3", - "AND", - "SWAP2", - "CALLER", - "DUP5", - "AND", - "DUP8", - "SWAP3", - "POP", - "POP" - ] - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "confidence": 1, - "opcodes": [ - "PUSH32", - "DUP11", - "DUP3", - "AND", - "POP", - "DUP12", - "JUMP", - "JUMPDEST", - "DUP6", - "JUMP", - "JUMPDEST", - "DUP3", - "AND", - "DUP3", - "AND", - "DUP4", - "JUMPDEST", - "POP", - "POP", - "JUMPI", - "JUMPDEST", - "SWAP1", - "JUMP", - "JUMPDEST", - "DUP9", - "JUMP", - "JUMPDEST", - "DUP6", - "JUMP", - "JUMPDEST", - "DUP3", - "AND", - "DUP3", - "AND", - "DUP4", - "JUMPDEST", - "POP", - "POP", - "JUMPI", - "JUMPDEST", - "SWAP1", - "JUMP", - "JUMPDEST", - "SWAP4", - "POP", - "POP", - "SWAP5", - "PUSH32", - "JUMP", - "JUMPDEST", - "DUP6", - "JUMP", - "JUMPDEST", - "DUP3", - "AND", - "DUP3", - "AND", - "DUP4", - "JUMPDEST", - "POP", - "POP", - "JUMPI", - "JUMPDEST", - "SWAP1", - "JUMP", - "JUMPDEST", - "SWAP4", - "POP", - "PUSH32", - "AND", - "DUP9", - "DUP1", - "POP", - "POP", - "PUSH32", - "AND", - "DUP8", - "DUP1", - "POP", - "POP" - ] - }, - "0xc0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac": { - "confidence": 1, - "opcodes": [ - "PUSH32", - "AND", - "DUP7", - "DUP1", - "POP", - "POP", - "PUSH32", - "DUP9", - "SWAP11", - "SWAP9", - "PUSH32", - "SWAP11" - ] - }, - "0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f": { - "confidence": 1, - "opcodes": [ - "MLOAD", - "AND", - "AND", - "DUP7", - "DUP1", - "POP", - "POP", - "AND", - "AND", - "AND", - "DUP8", - "DUP1", - "POP", - "POP" - ] - } - } - }, - { - "type": "STATICCALL", - "from": "0x737aad349312f36b43041737d648051a39f146e8", - "to": "0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f", - "gas": "0xb385", - "gasUsed": "0x1ec", - "input": "0x70a08231000000000000000000000000737aad349312f36b43041737d648051a39f146e8", - "output": "0x0000000000000000000000000000000000000000000000002e2fea42b4f9d112", - "addresses": { - "0x737aad349312f36b43041737d648051a39f146e8": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "JUMP", - "JUMPDEST", - "MSTORE", - "SWAP1" - ] - } - } - }, - { - "type": "CALL", - "from": "0x737aad349312f36b43041737d648051a39f146e8", - "to": "0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f", - "value": "0x0", - "gas": "0xafe0", - "gasUsed": "0x5a24", - "input": "0xa9059cbb000000000000000000000000d6419fd982a7651a12a757ca7cd96b969d1803300000000000000000000000000000000000000000000000002e2fea42b4f9d112", - "output": "0x0000000000000000000000000000000000000000000000000000000000000001", - "addresses": { - "0xd6419fd982a7651a12a757ca7cd96b969d180330": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "DUP5", - "DUP5", - "AND", - "DUP5", - "AND", - "DUP2", - "SWAP2", - "POP", - "SWAP2" - ] - }, - "0x737aad349312f36b43041737d648051a39f146e8": { - "confidence": 1, - "opcodes": [ - "CALLER", - "DUP4", - "AND", - "SWAP1", - "DUP6", - "AND", - "SWAP1", - "DUP8", - "AND", - "POP" - ] - } - } - } - ], - "addresses": { - "0x6b175474e89094c44da98b954eedeac495271d0f": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "DUP2", - "SWAP2", - "DUP8", - "AND", - "SWAP5", - "MLOAD", - "AND", - "DUP9", - "SWAP3", - "AND", - "SWAP1", - "SWAP2", - "MLOAD", - "DUP14", - "AND", - "DUP10", - "AND", - "DUP7", - "SWAP2", - "POP", - "DUP12", - "AND", - "DUP10", - "AND", - "DUP7", - "SWAP2", - "POP", - "DUP14", - "DUP3", - "AND", - "JUMP", - "JUMPDEST", - "DUP5", - "AND", - "DUP7", - "DUP1", - "POP", - "POP", - "SWAP2", - "SWAP4", - "AND", - "SWAP10" - ] - }, - "0xc0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "SWAP4", - "SWAP3", - "AND", - "DUP7", - "DUP1", - "POP", - "POP" - ] - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "SWAP2", - "AND", - "SLOAD", - "POP", - "SWAP2", - "AND", - "POP", - "SLOAD", - "POP", - "AND", - "SWAP1", - "AND", - "DUP2", - "AND", - "POP", - "MLOAD" - ] - }, - "0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f": { - "confidence": 1, - "opcodes": [ - "MLOAD", - "SWAP2", - "DUP7", - "AND", - "DUP7", - "DUP1", - "POP", - "POP", - "DUP11", - "AND", - "DUP7", - "DUP1", - "POP", - "POP", - "DUP11", - "AND", - "DUP5", - "DUP7", - "DUP1", - "POP", - "POP", - "DUP8", - "DUP1", - "POP", - "POP", - "POP" - ] - }, - "0xbb66860c76511903758dee49a5f77f3900c718f9": { - "confidence": 0.75, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x5db343063b288c81bac6f724d2fbbf9c80639c7c": { - "confidence": 0.75, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x2ed9a1831d944640dd637b92697ddfce4031ee3d": { - "confidence": 0.75, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x176cd0c18eca23206eb1bdc934beefe72019371e": { - "confidence": 0.75, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x0bb66860c76511903758dee49a5f77f3900d1b8e": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x05db343063b288c81bac6f724d2fbbf9c8078dc6": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x02ed9a1831d944640dd637b92697ddfce405c6e2": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x0176cd0c18eca23206eb1bdc934beefe7206e370": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x00bb66860c76511903758dee49a5f77f390b71b7": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x005db343063b288c81bac6f724d2fbbf9c95b8db": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x002ed9a1831d944640dd637b92697ddfce6adc6d": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x00176cd0c18eca23206eb1bdc934beefe7756e36": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x000bb66860c76511903758dee49a5f77f43ab71a": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x0005db343063b288c81bac6f724d2fbbfb1d5b8c": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x0002ed9a1831d944640dd637b92697ddff8eadc5": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x000176cd0c18eca23206eb1bdc934bef03c756e2": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x0000bb66860c76511903758dee49a5f789e3ab70": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x00005db343063b288c81bac6f724d2fbd4f1d5b7": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x00002ed9a1831d944640dd637b92697e0a78eadb": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0x0000176cd0c18eca23206eb1bdc934bf453c756d": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "DUP2" - ] - }, - "0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "SWAP7", - "AND", - "DUP9", - "DUP1", - "POP", - "POP", - "SLOAD", - "POP", - "AND", - "POP", - "DUP5", - "AND", - "POP", - "SLOAD", - "SWAP1", - "SWAP2", - "AND", - "DUP5", - "AND", - "POP", - "SLOAD", - "SWAP1", - "SWAP1", - "AND", - "DUP9", - "DUP1", - "POP", - "POP" - ] - }, - "0x737aad349312f36b43041737d648051a39f146e8": { - "confidence": 1, - "opcodes": [ - "ADDRESS", - "DUP2", - "MSTORE", - "SWAP5", - "POP", - "ADDRESS", - "ADDRESS", - "ADDRESS" - ] - }, - "0xd6419fd982a7651a12a757ca7cd96b969d180330": { - "confidence": 1, - "opcodes": [ - "CALLER", - "POP", - "SWAP4", - "AND" - ] - } - } - }, - { - "type": "STATICCALL", - "from": "0xd6419fd982a7651a12a757ca7cd96b969d180330", - "to": "0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f", - "gas": "0x60f6", - "gasUsed": "0x1ec", - "input": "0x70a08231000000000000000000000000d6419fd982a7651a12a757ca7cd96b969d180330", - "output": "0x0000000000000000000000000000000000000000000000002e2fea42b4f9d112", - "addresses": { - "0xd6419fd982a7651a12a757ca7cd96b969d180330": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "JUMP", - "JUMPDEST", - "MSTORE", - "SWAP1" - ] - } - } - }, - { - "type": "CALL", - "from": "0xd6419fd982a7651a12a757ca7cd96b969d180330", - "to": "0xc2edad668740f1aa35e4d8f227fb8e17dca888cd", - "value": "0x0", - "gas": "0x5d5f", - "gasUsed": "0x577c", - "input": "0xe2bbb15800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000002e2fea42b4f9d112", - "output": "0x", - "calls": [ - { - "type": "STATICCALL", - "from": "0xc2edad668740f1aa35e4d8f227fb8e17dca888cd", - "to": "0x6b3595068778dd592e39a122f4f5a5cf09c90fe2", - "gas": "0x5282", - "gasUsed": "0x242", - "input": "0x70a08231000000000000000000000000c2edad668740f1aa35e4d8f227fb8e17dca888cd", - "output": "0x00000000000000000000000000000000000000000001d4ba09a36ec7e07dd306", - "addresses": { - "0xc2edad668740f1aa35e4d8f227fb8e17dca888cd": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "JUMP", - "JUMPDEST", - "AND", - "SWAP1" - ] - } - } - }, - { - "type": "CALL", - "from": "0xc2edad668740f1aa35e4d8f227fb8e17dca888cd", - "to": "0x6b3595068778dd592e39a122f4f5a5cf09c90fe2", - "value": "0x0", - "gas": "0x4e04", - "gasUsed": "0xcfd", - "input": "0xa9059cbb000000000000000000000000d6419fd982a7651a12a757ca7cd96b969d1803300000000000000000000000000000000000000000000000000000000000000000", - "output": "0x0000000000000000000000000000000000000000000000000000000000000001", - "addresses": { - "0xd6419fd982a7651a12a757ca7cd96b969d180330": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "DUP5", - "DUP3", - "AND", - "DUP4", - "POP", - "DUP5", - "AND", - "DUP5", - "AND", - "DUP2", - "SWAP2", - "POP", - "SWAP2" - ] - }, - "0xc2edad668740f1aa35e4d8f227fb8e17dca888cd": { - "confidence": 1, - "opcodes": [ - "CALLER", - "JUMP", - "JUMPDEST", - "DUP4", - "AND", - "DUP4", - "POP", - "DUP7", - "AND", - "SWAP1", - "DUP6", - "AND", - "SWAP1", - "DUP8", - "AND", - "POP" - ] - } - } - }, - { - "type": "CALL", - "from": "0xc2edad668740f1aa35e4d8f227fb8e17dca888cd", - "to": "0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f", - "value": "0x0", - "gas": "0x3bbc", - "gasUsed": "0x201d", - "input": "0x23b872dd000000000000000000000000d6419fd982a7651a12a757ca7cd96b969d180330000000000000000000000000c2edad668740f1aa35e4d8f227fb8e17dca888cd0000000000000000000000000000000000000000000000002e2fea42b4f9d112", - "output": "0x", - "addresses": { - "0xd6419fd982a7651a12a757ca7cd96b969d180330": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "DUP4", - "AND", - "SWAP1", - "DUP5", - "DUP4", - "AND", - "SWAP1", - "DUP6", - "AND", - "SWAP1", - "DUP8", - "AND", - "POP", - "SWAP3" - ] - }, - "0xc2edad668740f1aa35e4d8f227fb8e17dca888cd": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "CALLER", - "DUP5", - "DUP5", - "AND", - "DUP5", - "AND", - "DUP2", - "SWAP2", - "POP", - "POP" - ] - } - } - } - ], - "addresses": { - "0xd6419fd982a7651a12a757ca7cd96b969d180330": { - "confidence": 1, - "opcodes": [ - "CALLER", - "CALLER", - "DUP7", - "AND", - "POP", - "CALLER", - "DUP7", - "AND", - "POP", - "CALLER" - ] - }, - "0x6b3595068778dd592e39a122f4f5a5cf09c90fe2": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "SWAP3", - "AND", - "DUP7", - "DUP1", - "POP", - "POP", - "SLOAD", - "SWAP3", - "AND", - "DUP8", - "DUP1", - "POP", - "POP" - ] - }, - "0xc2edad668740f1aa35e4d8f227fb8e17dca888cd": { - "confidence": 1, - "opcodes": [ - "ADDRESS", - "ADDRESS", - "DUP5", - "AND", - "POP" - ] - }, - "0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "SWAP1", - "AND", - "DUP6", - "DUP6", - "AND", - "SWAP1", - "DUP5", - "DUP6", - "JUMP", - "JUMPDEST", - "DUP2", - "SWAP2", - "DUP7", - "AND", - "DUP8", - "SWAP3", - "SWAP4", - "SWAP4", - "POP", - "POP" - ] - } - } - } - ] -} diff --git a/packages/tracing-client/test/traces/call-address-tracer/mainnet-tx-0xba835544ca17b3613852a23de0851dd061314506769441aa97fdb08290227d4a.json b/packages/tracing-client/test/traces/call-address-tracer/mainnet-tx-0xba835544ca17b3613852a23de0851dd061314506769441aa97fdb08290227d4a.json deleted file mode 100644 index ab05158d..00000000 --- a/packages/tracing-client/test/traces/call-address-tracer/mainnet-tx-0xba835544ca17b3613852a23de0851dd061314506769441aa97fdb08290227d4a.json +++ /dev/null @@ -1,973 +0,0 @@ -{ - "type": "CALL", - "from": "0x64ce5830e8b829587657e5caa36f8910f84bbd24", - "to": "0x000000000035b5e5ad9019092c665357240f594e", - "value": "0x0", - "gas": "0x3cb650", - "gasUsed": "0x3577cb", - "input": "0x000000010000000000000000000000000000000000000000000000000000000000000060", - "output": "0x", - "time": "485.944859ms", - "calls": [ - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x0e54178c2efbf9030f2b97172bdf0ca715751777", - "value": "0x0", - "gas": "0x3b3f4b", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0xfb5992112cca61fabf4f54dc9c6102b88277e3ef", - "value": "0x0", - "gas": "0x3ab329", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x529449ca07fffd96f5c8d7702c6c4eb52eab6216", - "value": "0x0", - "gas": "0x3a2706", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x83b65a537933243b4b3c6d701b8b70e5b2517dd4", - "value": "0x0", - "gas": "0x399ae4", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x2ec95ab6072c48969020fd60142e891c55248f5e", - "value": "0x0", - "gas": "0x390ec1", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0xce7c5236a7e8f55b7437ca6becbc87c4655eda41", - "value": "0x0", - "gas": "0x38829f", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x4585fdb3c403ad1e759df14b06976b82e008886a", - "value": "0x0", - "gas": "0x37f67c", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x72a328988f9e4887e1d5b95e2da7c957ba3ce985", - "value": "0x0", - "gas": "0x376a59", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0xb14c4b3aaf3df87c640c6c0e26a0b4f782705862", - "value": "0x0", - "gas": "0x36de37", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0xf2d2a105efcf033d26eafe663b5160a867d69d22", - "value": "0x0", - "gas": "0x365214", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0xcbb12efaef7140d04f58efce7bb2a3be0efa40fe", - "value": "0x0", - "gas": "0x35c5f2", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x44d55f6c36a283f90d75a1ce0e08568bf5865655", - "value": "0x0", - "gas": "0x3539cf", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x0e8b17e44528afd92015c7b68d5b68a863d45e93", - "value": "0x0", - "gas": "0x34adad", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x5364b47f385677e2a47d444362c5e9da0da6adfa", - "value": "0x0", - "gas": "0x34218a", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0xad2db9b5562d1e737bfe2bd8e27020d1b3a24d71", - "value": "0x0", - "gas": "0x339567", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0xa2919ca1e970685a12926b6e59a3789b3eacb4ed", - "value": "0x0", - "gas": "0x330945", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0xce42d8e8d337794abf011e342ca48a6c221401ce", - "value": "0x0", - "gas": "0x327d22", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0xbffb48f3f78b04b6db70f8fbb8fb2a14d9033dfc", - "value": "0x0", - "gas": "0x31f100", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x484315c3e51e3a1e9097853526829fd7193e68f4", - "value": "0x0", - "gas": "0x3164dd", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x0853bf3952ec8e4c7094177f95d42e8e998e4766", - "value": "0x0", - "gas": "0x30d8bb", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x76c16515e4b8026e54f0954564df2fbede6a29bd", - "value": "0x0", - "gas": "0x304c98", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x1c89d579192e100a6d05340e486f6c2fd173fcd9", - "value": "0x0", - "gas": "0x2fc076", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0xa85f54935fe2a7c7fc150d8cc4cfb8661a7f04e6", - "value": "0x0", - "gas": "0x2f3453", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x9789ffa91d12781496952dae3e3c7862bd27120f", - "value": "0x0", - "gas": "0x2ea830", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x6ec7347905a1fd53c067e40c8897d75e8ad6ceac", - "value": "0x0", - "gas": "0x2e1c0e", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0xa8255de5f3372666e7e2bd969ed692fe3483cfeb", - "value": "0x0", - "gas": "0x2d8feb", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x774e328fec69402122c5f5a467e9e36bc0df7e9e", - "value": "0x0", - "gas": "0x2d03c9", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0xdb67fd3bc02e8174956a5f9ed0b4b1c061a3d8cc", - "value": "0x0", - "gas": "0x2c77a6", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x7a34ace7db0c442f2d7044c7ce37234c23e1d2a1", - "value": "0x0", - "gas": "0x2beb84", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x355518aa1c1762bbf3f8723d2bd48e0e5ea8d3c9", - "value": "0x0", - "gas": "0x2b5f61", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x16be9dde8528d5d512ce80235eb8e5a7ef3f9f00", - "value": "0x0", - "gas": "0x2ad33e", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x1391bf582370a38d4e6d499a2fc6847d63fa1e1a", - "value": "0x0", - "gas": "0x2a471c", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x09a370e03a9db9e210b50cf9f52d4c5a21a13010", - "value": "0x0", - "gas": "0x29bac9", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x6ea2c4406e513937a28255f976af9e2a51836c07", - "value": "0x0", - "gas": "0x292ea7", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0xea4065cba166864ed98e949bc0d8d429881da051", - "value": "0x0", - "gas": "0x28a284", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x4a67f324e27ef51c76d9f0f7e3d892237d7e891f", - "value": "0x0", - "gas": "0x281661", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x7ad3b97d683398a8983503486e449a69dc5af279", - "value": "0x0", - "gas": "0x278a3f", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0xa94bfd4f285d49f62795a3fc9bb0064881544dc4", - "value": "0x0", - "gas": "0x26fe1c", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x6d84cbce185667819ce0a62ba6c016fe61be0ea2", - "value": "0x0", - "gas": "0x2671fa", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x03f82e6d1cfa4effd057276c778dbe8ae6336f94", - "value": "0x0", - "gas": "0x25e5d7", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x59f7320009cbc83a1372b9a1a3392f7aaac88a4c", - "value": "0x0", - "gas": "0x2559b5", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x76af91042e6441eea4e8aee9b6df0dbf157e1349", - "value": "0x0", - "gas": "0x24cd92", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x223b2ca463330153a987ca0993a34effc9ce208c", - "value": "0x0", - "gas": "0x24416f", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0xc0981007150c19ff67e46598dc1c018465d24550", - "value": "0x0", - "gas": "0x23b54d", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x924bc646bb40562923f31f84ec394b7b879ddd1f", - "value": "0x0", - "gas": "0x23292a", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x16ef606f9b11a5d98662bce859dda1b08133f838", - "value": "0x0", - "gas": "0x229d08", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0xc3d9129ccba41a7cacabaf5088c8fa9139387464", - "value": "0x0", - "gas": "0x2210e5", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x11fb4970af99d748213abc8db37f50fba8f5808d", - "value": "0x0", - "gas": "0x2184c3", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x65ecea2f70a95edcc10217189b8d1e1b3f45e248", - "value": "0x0", - "gas": "0x20f8a0", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x209b3a1125d2415b8bdeed02dfff498b5dde0e93", - "value": "0x0", - "gas": "0x206c7e", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0xe3b3d213774149f1abe5d7402b5d9eaea2e98207", - "value": "0x0", - "gas": "0x1fe05b", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0xaf0cbfb3b5815ad69041b3989905745e7742e9fd", - "value": "0x0", - "gas": "0x1f5438", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x7e8d951208487e85e369e8761169dc8df5a9e255", - "value": "0x0", - "gas": "0x1ec816", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0xe84ed7c80cdbbae8c6fae0e6c4c599bf65477b91", - "value": "0x0", - "gas": "0x1e3bf3", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x9f721ccca211cb4471dfeff632779e049833fc4b", - "value": "0x0", - "gas": "0x1dafd1", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x133c4cc0c0358b6ae19fc0aa60e6a73aaf5342bb", - "value": "0x0", - "gas": "0x1d23ae", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0xf20bbb7bab9e9fbd6754b44fddc92fd708f74523", - "value": "0x0", - "gas": "0x1c978c", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0xb32e57cb89526cf81de6203b6499832acd36647c", - "value": "0x0", - "gas": "0x1c0b69", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0xe7f5e6d4fc28d86422311dd7c30793c7acf779e2", - "value": "0x0", - "gas": "0x1b7f46", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x34d50dd2897794749795f5c57b88dd0233e5ce69", - "value": "0x0", - "gas": "0x1af324", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x9807113d19223d9517c3ca1dd114fddb2f12f882", - "value": "0x0", - "gas": "0x1a6701", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x0355919bc9f12e1ac3178d0ed18de4df38d0ca12", - "value": "0x0", - "gas": "0x19dadf", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x6fabf8173abdf48199f157de967741d87f928ec1", - "value": "0x0", - "gas": "0x194ebc", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x729017231e4a6c74fc92c15ff76c963efcf0f3fb", - "value": "0x0", - "gas": "0x18c29a", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x9be19094a6d565ae434b2e4bdc4a108fe72951f9", - "value": "0x0", - "gas": "0x183647", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x969f4c42e3b296d0834139f10d8711f91c6371a4", - "value": "0x0", - "gas": "0x17aa24", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x6dbfaeabfb11a2912bfc22f718e476a14f44e478", - "value": "0x0", - "gas": "0x171e02", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x09ca835f5842266340d008c42f4ad21cc4d4e29b", - "value": "0x0", - "gas": "0x1691df", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0xfea1403908cc592a2781265c2a07df08bd292c05", - "value": "0x0", - "gas": "0x1605bd", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x2fbc71917bae9789f79e57b8ad27b701083401bb", - "value": "0x0", - "gas": "0x15799a", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0xdb1dad5576cceaf029161977e5c69e45e37e7055", - "value": "0x0", - "gas": "0x14ed77", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0xbb918555aa12d1a83db1f93856860bf947839a80", - "value": "0x0", - "gas": "0x146155", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0xc558231175d3a1676a0d6afbb88ac0c42893b770", - "value": "0x0", - "gas": "0x13d532", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x9d377160fad77b49a2a5a86ffd76af3dbaa138ee", - "value": "0x0", - "gas": "0x134910", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0xe05f93ae59edd73adfd3ad1c6e87455f544f590f", - "value": "0x0", - "gas": "0x12bced", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0xb309a63229bc373782b1ada8d573683e5e4f0951", - "value": "0x0", - "gas": "0x1230cb", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0xd62818e050b8d8df72debd0966f61aec799e8483", - "value": "0x0", - "gas": "0x11a4a8", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x9e305a53d69e6457b166766a8d86f369daf358b3", - "value": "0x0", - "gas": "0x111886", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0xce55ccb74658b3db2996a0bbe42b4814b9f39caa", - "value": "0x0", - "gas": "0x108c63", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x08357ae06989277f70186ea9b6c4bab92a76d016", - "value": "0x0", - "gas": "0x100040", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x497091ac13d9f282ac6cd90392da15927e0f58db", - "value": "0x0", - "gas": "0xf741e", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x10a941affa77cfd1878643e80b8be6d4a4543a9a", - "value": "0x0", - "gas": "0xee7fb", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x4646104094cb7127d6cbfde9adfebe138c13e8ec", - "value": "0x0", - "gas": "0xe5bd9", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x4f524fa7a1ac871b2de9d6958aefc70e619d3240", - "value": "0x0", - "gas": "0xdcfb6", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0xd86b327b4ba8711ad3fd2783c12ec1f6586b76ad", - "value": "0x0", - "gas": "0xd4394", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x9ebc16ea02220a1803837db64d4d8141af1d9548", - "value": "0x0", - "gas": "0xcb771", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0xd5b84afbf68897cd1e588073dd2d86963debe8c1", - "value": "0x0", - "gas": "0xc2b4e", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x21ba191a2fa9c8fa67aa4bfed20e6b923f8944ba", - "value": "0x0", - "gas": "0xb9f2c", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0xd8a38dc56ef6cd734c4ed1884de596739e94fd45", - "value": "0x0", - "gas": "0xb1309", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x7fe54de2c45fcb0cd7ed538583c94f628f770925", - "value": "0x0", - "gas": "0xa86e7", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x7d70eb7e58dbc096048cf4b8011fb2b6c8343cf3", - "value": "0x0", - "gas": "0x9fac4", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x9f5c847d83777d404820f9ba1b045695f44fa925", - "value": "0x0", - "gas": "0x96ea2", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x097bec6efa28a0a2ba5a7dad329315008f965221", - "value": "0x0", - "gas": "0x8e27f", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x7806a6f702131e076b6af16dee0021c2adf62a53", - "value": "0x0", - "gas": "0x8565d", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x124e7ee9b37b6b19dc1a8f09cab6d747f39f426d", - "value": "0x0", - "gas": "0x7ca3a", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - }, - { - "type": "CREATE2", - "from": "0x000000000035b5e5ad9019092c665357240f594e", - "to": "0x3b821f08239b1711cf263e8b240a69918bc60fbe", - "value": "0x0", - "gas": "0x73e17", - "gasUsed": "0x1142", - "input": "0x756e35b5e5ad9019092c665357240f594e3318585733ff6000526016600af3", - "output": "0x6e35b5e5ad9019092c665357240f594e3318585733ff" - } - ] -} diff --git a/packages/tracing-client/test/traces/call-address-tracer/mainnet-with-many-internal-tx.json b/packages/tracing-client/test/traces/call-address-tracer/mainnet-with-many-internal-tx.json deleted file mode 100644 index 54e8a252..00000000 --- a/packages/tracing-client/test/traces/call-address-tracer/mainnet-with-many-internal-tx.json +++ /dev/null @@ -1,2417 +0,0 @@ -{ - "type": "CALL", - "from": "0xf94d7953d44bdcc7a5585a61ed91899ef2d39524", - "to": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "value": "0x0", - "gas": "0xb3237", - "gasUsed": "0x5e42a", - "input": "0x0000004d0000000000000000000000000000000000000000000000000000000000c057bd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000002c40000007300000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000066aeefc9200000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000003f8ad599c3a0ff1de082011efddc58f1908eb6e6d8a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000bb800000000000000000000000000000000000000000000000000000000000000003f11b815efb8f581194ae79006d24e0d814b7697f6c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2dac17f958d2ee523a2206206994597c13d831ec70001f40000000000000000000000000000000000000000000000000000000000000000173333333acdedbbc9ad7bda0876e60714195681c502010000000000000000000000000000000000000000000000000000000000000000000000000000", - "output": "0x", - "time": "11.842766113s", - "calls": [ - { - "type": "DELEGATECALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0x240c7488df044d2f69d66201ee59a296c64d714c", - "gas": "0xae6af", - "gasUsed": "0x5c47b", - "input": "0x0000007300000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000066aeefc9200000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000003f8ad599c3a0ff1de082011efddc58f1908eb6e6d8a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000bb800000000000000000000000000000000000000000000000000000000000000003f11b815efb8f581194ae79006d24e0d814b7697f6c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2dac17f958d2ee523a2206206994597c13d831ec70001f40000000000000000000000000000000000000000000000000000000000000000173333333acdedbbc9ad7bda0876e60714195681c5020100000000000000000000", - "output": "0x", - "calls": [ - { - "type": "DELEGATECALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0x1f4de5cc412ff43db7663e39aaa04221ca9e995f", - "gas": "0xa9f93", - "gasUsed": "0x572e", - "input": "0xdab617590000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000066aeefc920000000000000000000000008ad599c3a0ff1de082011efddc58f1908eb6e6d80000000000000000000000000000000000000000000000000000000000000bb8", - "output": "0x00000000000000000000000000000000000000000000000095d5e0843bea29b4", - "calls": [ - { - "type": "STATICCALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8", - "gas": "0xa6846", - "gasUsed": "0x97c", - "input": "0x1a686502", - "output": "0x000000000000000000000000000000000000000000000001f6397f4bda22e9d2" - }, - { - "type": "STATICCALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8", - "gas": "0xa5cc0", - "gasUsed": "0xa88", - "input": "0x3850c7bd", - "output": "0x0000000000000000000000000000000000004d6d55fae0dc58b57a67bdd9ed70000000000000000000000000000000000000000000000000000000000003050c00000000000000000000000000000000000000000000000000000000000001580000000000000000000000000000000000000000000000000000000000000168000000000000000000000000000000000000000000000000000000000000016800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" - }, - { - "type": "STATICCALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8", - "gas": "0xa4e13", - "gasUsed": "0x117", - "input": "0xd0c93a7c", - "output": "0x000000000000000000000000000000000000000000000000000000000000003c" - }, - { - "type": "STATICCALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8", - "gas": "0xa47b4", - "gasUsed": "0x9dd", - "input": "0x5339c296000000000000000000000000000000000000000000000000000000000000000c", - "output": "0xfffffffffffffffffffffffffffffffff7ffedbfdedfcf5dff2541aeb225cebc" - } - ], - "addresses": { - "0x1f4de5cc412ff43db7663e39aaa04221ca9e995f": { - "confidence": 1, - "opcodes": [ - "PUSH20" - ] - }, - "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3": { - "confidence": 1, - "opcodes": [ - "ADDRESS" - ] - }, - "0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "DUP2", - "JUMP", - "JUMPDEST", - "DUP2", - "AND", - "DUP2", - "JUMPI", - "JUMPDEST", - "JUMP", - "JUMPDEST", - "SWAP1", - "DUP4", - "POP", - "DUP4", - "AND", - "DUP7", - "DUP1", - "POP", - "POP", - "DUP2", - "AND", - "DUP7", - "DUP1", - "POP", - "POP", - "DUP6", - "AND", - "DUP7", - "DUP1", - "POP", - "POP", - "DUP8", - "DUP14", - "AND", - "DUP7", - "DUP1", - "POP", - "POP", - "SWAP5", - "POP", - "POP" - ] - }, - "0x00004d59594796297b1b33f9dbc3fb1829ebaaf9": { - "confidence": 0.6, - "opcodes": [ - "JUMPDEST", - "JUMPI" - ] - }, - "0x0081a5107db14797df968e243e8918fec5c189ec": { - "confidence": 0.6, - "opcodes": [ - "POP", - "JUMPI", - "JUMPDEST" - ] - }, - "0x41120695a494e1653b6c5fd69d8de0d301be2810": { - "confidence": 0.75, - "opcodes": [ - "MULMOD" - ] - }, - "0x0001ef68096b0199f8afcdd6eedbb16a461c1272": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "JUMPI", - "JUMPDEST" - ] - }, - "0xfffd8963efd1fc6a506488495d951d5263988d26": { - "confidence": 0.75, - "opcodes": [ - "PUSH20" - ] - }, - "0x00004d6d099aa3197c9a709447db6b6a00000000": { - "confidence": 0.6, - "opcodes": [ - "AND" - ] - }, - "0x0003050b85adc04db540d95779a4000000000000": { - "confidence": 0.6, - "opcodes": [ - "MUL" - ] - }, - "0x0003050b831e5bcc09c1d4fd1eb3ed5e62ffc556": { - "confidence": 0.6, - "opcodes": [ - "ADD" - ] - }, - "0x00004d6d28b4e64200d8556776f0fc20a12bc1ad": { - "confidence": 0.6, - "opcodes": [ - "JUMPDEST", - "JUMPI" - ] - } - } - }, - { - "type": "DELEGATECALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0x1f4de5cc412ff43db7663e39aaa04221ca9e995f", - "gas": "0xa42c2", - "gasUsed": "0x54dc", - "input": "0xdab61759000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000095d5e0843bea295000000000000000000000000011b815efb8f581194ae79006d24e0d814b7697f600000000000000000000000000000000000000000000000000000000000001f4", - "output": "0x000000000000000000000000000000000000000000000000000000066b234162", - "calls": [ - { - "type": "STATICCALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0x11b815efb8f581194ae79006d24e0d814b7697f6", - "gas": "0xa0ce9", - "gasUsed": "0x97c", - "input": "0x1a686502", - "output": "0x000000000000000000000000000000000000000000000000058ca87960e3da12" - }, - { - "type": "STATICCALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0x11b815efb8f581194ae79006d24e0d814b7697f6", - "gas": "0xa0162", - "gasUsed": "0xa88", - "input": "0x3850c7bd", - "output": "0x00000000000000000000000000000000000000000003508b4c0b22de548e9dfefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcfb2500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" - }, - { - "type": "STATICCALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0x11b815efb8f581194ae79006d24e0d814b7697f6", - "gas": "0x9f2b5", - "gasUsed": "0x117", - "input": "0xd0c93a7c", - "output": "0x000000000000000000000000000000000000000000000000000000000000000a" - }, - { - "type": "STATICCALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0x11b815efb8f581194ae79006d24e0d814b7697f6", - "gas": "0x9ec15", - "gasUsed": "0x9dd", - "input": "0x5339c296ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb2", - "output": "0x8b042000000401a10080b0790000011000808804000020012088600500000000" - } - ], - "addresses": { - "0x1f4de5cc412ff43db7663e39aaa04221ca9e995f": { - "confidence": 1, - "opcodes": [ - "PUSH20" - ] - }, - "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3": { - "confidence": 1, - "opcodes": [ - "ADDRESS" - ] - }, - "0x11b815efb8f581194ae79006d24e0d814b7697f6": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "DUP2", - "JUMP", - "JUMPDEST", - "DUP2", - "AND", - "DUP2", - "JUMPI", - "JUMPDEST", - "JUMP", - "JUMPDEST", - "SWAP1", - "DUP4", - "POP", - "DUP4", - "AND", - "DUP7", - "DUP1", - "POP", - "POP", - "DUP2", - "AND", - "DUP7", - "DUP1", - "POP", - "POP", - "DUP6", - "AND", - "DUP7", - "DUP1", - "POP", - "POP", - "DUP8", - "DUP14", - "AND", - "DUP7", - "DUP1", - "POP", - "POP", - "SWAP5", - "POP", - "POP" - ] - }, - "0x058ca87960e3da12000000000000000000000000": { - "confidence": 0.6, - "opcodes": [ - "AND", - "AND", - "AND" - ] - }, - "0x0005aa065bcf8dcf069c57ed3fad1980b2a4a873": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "JUMPI", - "JUMPDEST" - ] - }, - "0x058e98dfce0fd2a2b9373e6974cea7ffbe91decc": { - "confidence": 0.6, - "opcodes": [ - "JUMPI", - "DUP4", - "JUMPDEST", - "DUP5", - "JUMPDEST", - "DUP1" - ] - }, - "0x0001efb93682b84a1014b9fb7941273c0ba0e9f5": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "JUMPI", - "JUMPDEST" - ] - }, - "0xfffd8963efd1fc6a506488495d951d5263988d26": { - "confidence": 0.75, - "opcodes": [ - "PUSH20" - ] - } - } - }, - { - "type": "STATICCALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0x3333333acdedbbc9ad7bda0876e60714195681c5", - "gas": "0x9e07f", - "gasUsed": "0x8c30", - "input": "0x5e0d443f00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000066b2340fe", - "output": "0x000000000000000000000000000000000000000000000000000000066b98c297", - "calls": [ - { - "type": "DELEGATECALL", - "from": "0x3333333acdedbbc9ad7bda0876e60714195681c5", - "to": "0xbebc44782c7db0a1a60cb6fe97d0b483032ff1c7", - "gas": "0x9a597", - "gasUsed": "0x7852", - "input": "0x5e0d443f00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000066b2340fe", - "output": "0x", - "addresses": { - "0x00002af904b638ed930cddfe78cf741a9f440000": { - "confidence": 0.6, - "opcodes": [ - "POP" - ] - }, - "0x0000334c40df9502deb37a4ac7f2d72780000000": { - "confidence": 0.6, - "opcodes": [ - "POP" - ] - }, - "0x00002dc527a4a9017812d98e236bc2cb40000000": { - "confidence": 0.6, - "opcodes": [ - "POP" - ] - }, - "0x0feef93405c3ca6c31df80109628d3137dcbe3b0": { - "confidence": 0.6, - "opcodes": [ - "POP" - ] - } - } - } - ], - "addresses": { - "0xbebc44782c7db0a1a60cb6fe97d0b483032ff1c7": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "SWAP1", - "AND", - "JUMP", - "JUMPDEST", - "CALLDATACOPY", - "DUP5" - ] - } - } - }, - { - "type": "STATICCALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", - "gas": "0x94a33", - "gasUsed": "0x2657", - "input": "0x70a082310000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "output": "0x000000000000000000000000000000000000000000000000000002851d282e04", - "calls": [ - { - "type": "DELEGATECALL", - "from": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", - "to": "0xa2327a938febf5fec13bacfb16ae10ecbc4cbdcf", - "gas": "0x90932", - "gasUsed": "0x9e1", - "input": "0x70a082310000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "output": "0x", - "addresses": { - "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "JUMP", - "JUMPDEST", - "AND", - "SWAP1" - ] - } - } - } - ], - "addresses": { - "0x807a96288a1a408dbc13de2b1d087d10356395d2": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "POP", - "JUMP", - "JUMPDEST", - "AND" - ] - }, - "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3": { - "confidence": 1, - "opcodes": [ - "CALLER", - "AND" - ] - }, - "0xa2327a938febf5fec13bacfb16ae10ecbc4cbdcf": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "POP", - "JUMP", - "JUMPDEST", - "JUMP", - "JUMPDEST", - "CALLDATACOPY", - "DUP5" - ] - } - } - }, - { - "type": "STATICCALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", - "gas": "0x918ce", - "gasUsed": "0x9e6", - "input": "0x70a082310000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "output": "0x00000000000000000000000000000000000000000000000972ca2015bb6261ee", - "addresses": { - "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "SWAP1", - "POP", - "JUMP", - "JUMPDEST", - "MSTORE", - "DUP1", - "MSTORE", - "SWAP2" - ] - } - } - }, - { - "type": "CALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0xe592427a0aece92de3edee1f18e0157c05861564", - "value": "0x0", - "gas": "0x8fd90", - "gasUsed": "0x149f1", - "input": "0x414bf389000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000bb80000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d30000000000000000000000000000000000000000000000000000000060c1bd37000000000000000000000000000000000000000000000000000000066aeefc9200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "output": "0x00000000000000000000000000000000000000000000000095d5e0843bea29b4", - "calls": [ - { - "type": "CALL", - "from": "0xe592427a0aece92de3edee1f18e0157c05861564", - "to": "0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8", - "value": "0x0", - "gas": "0x8c828", - "gasUsed": "0x136ad", - "input": "0x128acb080000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d30000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000066aeefc9200000000000000000000000000000000000000000000000000000001000276a400000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d3000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000bb8c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000", - "output": "0x000000000000000000000000000000000000000000000000000000066aeefc92ffffffffffffffffffffffffffffffffffffffffffffffff6a2a1f7bc415d64c", - "calls": [ - { - "type": "CALL", - "from": "0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8", - "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", - "value": "0x0", - "gas": "0x83361", - "gasUsed": "0x2a6e", - "input": "0xa9059cbb0000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d300000000000000000000000000000000000000000000000095d5e0843bea29b4", - "output": "0x", - "addresses": { - "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "SWAP1", - "DUP5", - "DUP6", - "AND", - "AND", - "DUP3", - "AND", - "POP", - "SWAP2" - ] - }, - "0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8": { - "confidence": 1, - "opcodes": [ - "CALLER", - "DUP7", - "AND", - "AND", - "CALLER", - "AND", - "DUP5", - "AND", - "DUP7", - "AND", - "AND", - "DUP5", - "AND", - "SWAP3" - ] - } - } - }, - { - "type": "STATICCALL", - "from": "0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8", - "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", - "gas": "0x80635", - "gasUsed": "0xcf3", - "input": "0x70a082310000000000000000000000008ad599c3a0ff1de082011efddc58f1908eb6e6d8", - "output": "0x", - "calls": [ - { - "type": "DELEGATECALL", - "from": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", - "to": "0xa2327a938febf5fec13bacfb16ae10ecbc4cbdcf", - "gas": "0x7e342", - "gasUsed": "0x9e1", - "input": "0x70a082310000000000000000000000008ad599c3a0ff1de082011efddc58f1908eb6e6d8", - "output": "0x", - "addresses": { - "0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "JUMP", - "JUMPDEST", - "AND", - "SWAP1" - ] - } - } - } - ], - "addresses": { - "0x807a96288a1a408dbc13de2b1d087d10356395d2": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "POP", - "JUMP", - "JUMPDEST", - "AND" - ] - }, - "0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8": { - "confidence": 1, - "opcodes": [ - "CALLER", - "AND" - ] - }, - "0xa2327a938febf5fec13bacfb16ae10ecbc4cbdcf": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "POP", - "JUMP", - "JUMPDEST", - "JUMP", - "JUMPDEST", - "CALLDATACOPY", - "DUP5" - ] - } - } - }, - { - "type": "CALL", - "from": "0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8", - "to": "0xe592427a0aece92de3edee1f18e0157c05861564", - "value": "0x0", - "gas": "0x7f660", - "gasUsed": "0x6f20", - "input": "0xfa461e33000000000000000000000000000000000000000000000000000000066aeefc92ffffffffffffffffffffffffffffffffffffffffffffffff6a2a1f7bc415d64c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d3000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000bb8c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000", - "output": "0x", - "calls": [ - { - "type": "CALL", - "from": "0xe592427a0aece92de3edee1f18e0157c05861564", - "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", - "value": "0x0", - "gas": "0x7c82a", - "gasUsed": "0x5f48", - "input": "0x23b872dd0000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d30000000000000000000000008ad599c3a0ff1de082011efddc58f1908eb6e6d8000000000000000000000000000000000000000000000000000000066aeefc92", - "output": "0x", - "calls": [ - { - "type": "DELEGATECALL", - "from": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", - "to": "0xa2327a938febf5fec13bacfb16ae10ecbc4cbdcf", - "gas": "0x7a627", - "gasUsed": "0x5c2d", - "input": "0x23b872dd0000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d30000000000000000000000008ad599c3a0ff1de082011efddc58f1908eb6e6d8000000000000000000000000000000000000000000000000000000066aeefc92", - "output": "0x", - "addresses": { - "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "DUP6", - "AND", - "SWAP1", - "DUP6", - "JUMPI", - "JUMPDEST", - "DUP8", - "AND", - "SWAP1", - "DUP8", - "DUP4", - "AND", - "DUP4", - "AND", - "SWAP1", - "DUP4", - "AND", - "SWAP1", - "DUP6", - "AND", - "SWAP1", - "DUP8", - "AND", - "POP", - "DUP8", - "AND", - "SWAP1", - "DUP9", - "AND", - "SWAP1", - "POP", - "SWAP3" - ] - }, - "0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "DUP6", - "AND", - "SWAP1", - "DUP6", - "JUMPI", - "JUMPDEST", - "JUMPI", - "JUMPDEST", - "DUP8", - "DUP3", - "AND", - "DUP5", - "AND", - "DUP5", - "AND", - "DUP2", - "SWAP2", - "POP", - "JUMP", - "JUMPDEST", - "SSTORE", - "POP", - "POP" - ] - }, - "0xf0d160dec1749afaf5a831668093b1431f7c8527": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "SWAP1", - "SWAP1" - ] - }, - "0xe592427a0aece92de3edee1f18e0157c05861564": { - "confidence": 1, - "opcodes": [ - "CALLER", - "DUP2", - "JUMPI", - "JUMPDEST", - "CALLER", - "CALLER", - "CALLER", - "POP" - ] - } - } - } - ], - "addresses": { - "0x807a96288a1a408dbc13de2b1d087d10356395d2": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "POP", - "JUMP", - "JUMPDEST", - "AND" - ] - }, - "0xe592427a0aece92de3edee1f18e0157c05861564": { - "confidence": 1, - "opcodes": [ - "CALLER", - "AND" - ] - }, - "0xa2327a938febf5fec13bacfb16ae10ecbc4cbdcf": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "POP", - "JUMP", - "JUMPDEST", - "JUMP", - "JUMPDEST", - "CALLDATACOPY", - "DUP5" - ] - } - } - } - ], - "addresses": { - "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "DUP4", - "JUMP", - "JUMPDEST", - "DUP2", - "AND", - "DUP2", - "JUMPI", - "JUMPDEST", - "SWAP3", - "MLOAD", - "DUP4", - "AND", - "DUP5", - "DUP6", - "AND", - "POP", - "POP" - ] - }, - "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": { - "confidence": 1, - "opcodes": [ - "DIV", - "JUMP", - "JUMPDEST", - "SWAP2", - "POP", - "DUP5", - "DUP7", - "DUP5", - "AND", - "SWAP5", - "AND", - "MLOAD", - "AND", - "MLOAD", - "SWAP5", - "AND", - "POP", - "DUP6", - "AND", - "DUP6", - "DUP5", - "AND", - "DUP5", - "DUP11", - "AND", - "DUP7", - "SWAP2", - "POP", - "POP", - "POP" - ] - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "confidence": 1, - "opcodes": [ - "DIV", - "JUMP", - "JUMPDEST", - "SWAP1", - "POP", - "DUP5", - "DUP7", - "DUP3", - "AND", - "SWAP3", - "AND", - "MLOAD", - "AND", - "MLOAD", - "SWAP2", - "AND", - "POP", - "DUP4", - "AND", - "PUSH32", - "AND", - "POP" - ] - }, - "0x1f98431c8ad98523631ae4a59f267346ea31f984": { - "confidence": 1, - "opcodes": [ - "PUSH32", - "DUP6", - "DUP4", - "SWAP5", - "SWAP2", - "SWAP5" - ] - }, - "0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8": { - "confidence": 1, - "opcodes": [ - "CALLER", - "AND", - "CALLER", - "DUP5", - "DUP5", - "AND", - "POP", - "POP" - ] - }, - "0xe592427a0aece92de3edee1f18e0157c05861564": { - "confidence": 1, - "opcodes": [ - "ADDRESS" - ] - } - } - }, - { - "type": "STATICCALL", - "from": "0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8", - "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", - "gas": "0x78683", - "gasUsed": "0x523", - "input": "0x70a082310000000000000000000000008ad599c3a0ff1de082011efddc58f1908eb6e6d8", - "output": "0x", - "calls": [ - { - "type": "DELEGATECALL", - "from": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", - "to": "0xa2327a938febf5fec13bacfb16ae10ecbc4cbdcf", - "gas": "0x7658f", - "gasUsed": "0x211", - "input": "0x70a082310000000000000000000000008ad599c3a0ff1de082011efddc58f1908eb6e6d8", - "output": "0x", - "addresses": { - "0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "JUMP", - "JUMPDEST", - "AND", - "SWAP1" - ] - } - } - } - ], - "addresses": { - "0x807a96288a1a408dbc13de2b1d087d10356395d2": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "POP", - "JUMP", - "JUMPDEST", - "AND" - ] - }, - "0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8": { - "confidence": 1, - "opcodes": [ - "CALLER", - "AND" - ] - }, - "0xa2327a938febf5fec13bacfb16ae10ecbc4cbdcf": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "POP", - "JUMP", - "JUMPDEST", - "JUMP", - "JUMPDEST", - "CALLDATACOPY", - "DUP5" - ] - } - } - } - ], - "addresses": { - "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "DUP14", - "DUP5", - "AND", - "POP", - "DUP15", - "AND", - "SWAP8" - ] - }, - "0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8": { - "confidence": 1, - "opcodes": [ - "ADDRESS", - "PUSH32", - "AND", - "ADDRESS", - "SWAP2", - "ADDRESS", - "SWAP2" - ] - }, - "0x00004d59594796297b1b33f9dbc3fb1829ebaaf9": { - "confidence": 0.6, - "opcodes": [ - "JUMPDEST", - "JUMPI" - ] - }, - "0x0081a5107db14797df968e243e8918fec5c189ec": { - "confidence": 0.6, - "opcodes": [ - "POP", - "JUMPI", - "JUMPDEST" - ] - }, - "0x41120695a494e1653b6c5fd69d8de0d301be2810": { - "confidence": 0.75, - "opcodes": [ - "MULMOD" - ] - }, - "0x0001ef68096b0199f8afcdd6eedbb16a461c1272": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "JUMPI", - "JUMPDEST" - ] - }, - "0xfffd8963efd1fc6a506488495d951d5263988d26": { - "confidence": 0.75, - "opcodes": [ - "PUSH20" - ] - }, - "0x00004d6d099aa3197c9a709447db6b6a00000000": { - "confidence": 0.6, - "opcodes": [ - "AND" - ] - }, - "0x0003050b85adc04db540d95779a4000000000000": { - "confidence": 0.6, - "opcodes": [ - "MUL" - ] - }, - "0x0003050b831e5bcc09c1d4fd1eb3ed5e62ffc556": { - "confidence": 0.6, - "opcodes": [ - "ADD" - ] - }, - "0x00004d6d28b4e64200d8556776f0fc20a12bc1ad": { - "confidence": 0.6, - "opcodes": [ - "JUMPDEST", - "JUMPI" - ] - }, - "0xffffffff00000000000000000000000000000000": { - "confidence": 0.75, - "opcodes": [ - "PUSH20" - ] - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "confidence": 1, - "opcodes": [ - "PUSH32", - "DUP10", - "AND", - "DUP7", - "SWAP2", - "POP" - ] - }, - "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": { - "confidence": 1, - "opcodes": [ - "PUSH32", - "AND", - "DUP6", - "SWAP2", - "PUSH32", - "AND", - "DUP6", - "SWAP2" - ] - }, - "0xe592427a0aece92de3edee1f18e0157c05861564": { - "confidence": 1, - "opcodes": [ - "CALLER", - "AND", - "DUP8", - "DUP1", - "POP", - "POP", - "CALLER" - ] - } - } - } - ], - "addresses": { - "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "DUP2", - "JUMP", - "JUMPDEST", - "DUP2", - "AND", - "DUP2", - "JUMPI", - "JUMPDEST", - "JUMP", - "JUMPDEST", - "JUMP", - "JUMPDEST", - "CALLER", - "AND", - "DUP5", - "AND", - "DUP12", - "MLOAD", - "AND", - "SWAP6", - "DUP9", - "AND", - "MLOAD", - "SWAP7", - "POP" - ] - }, - "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "DUP2", - "JUMP", - "JUMPDEST", - "DUP2", - "AND", - "DUP2", - "JUMPI", - "JUMPDEST", - "JUMP", - "JUMPDEST", - "JUMP", - "JUMPDEST", - "SWAP4", - "SWAP4", - "DIV", - "JUMP", - "JUMPDEST", - "SWAP2", - "SWAP2", - "DUP5", - "AND", - "DUP7", - "DUP7", - "DUP5", - "AND", - "SWAP5", - "AND", - "MLOAD", - "AND", - "MLOAD", - "SWAP5", - "AND", - "SWAP4", - "POP" - ] - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "DUP2", - "JUMP", - "JUMPDEST", - "DUP2", - "AND", - "DUP2", - "JUMPI", - "JUMPDEST", - "JUMP", - "JUMPDEST", - "JUMP", - "JUMPDEST", - "SWAP2", - "DIV", - "JUMP", - "JUMPDEST", - "SWAP1", - "POP", - "DUP4", - "AND", - "DUP7", - "DUP7", - "DUP3", - "AND", - "SWAP3", - "AND", - "MLOAD", - "AND", - "MLOAD", - "SWAP2", - "AND", - "POP", - "POP" - ] - }, - "0x1f98431c8ad98523631ae4a59f267346ea31f984": { - "confidence": 1, - "opcodes": [ - "PUSH32", - "SWAP5" - ] - }, - "0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8": { - "confidence": 1, - "opcodes": [ - "AND", - "DUP8", - "DUP1", - "POP", - "POP" - ] - } - } - }, - { - "type": "CALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0xe592427a0aece92de3edee1f18e0157c05861564", - "value": "0x0", - "gas": "0x7b0d9", - "gasUsed": "0x129fb", - "input": "0x414bf389000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000001f40000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d30000000000000000000000000000000000000000000000000000000060c1bd3700000000000000000000000000000000000000000000000095d5e0843bea295000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "output": "0x000000000000000000000000000000000000000000000000000000066b234162", - "calls": [ - { - "type": "CALL", - "from": "0xe592427a0aece92de3edee1f18e0157c05861564", - "to": "0x11b815efb8f581194ae79006d24e0d814b7697f6", - "value": "0x0", - "gas": "0x780a4", - "gasUsed": "0x116b7", - "input": "0x128acb080000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d3000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000095d5e0843bea295000000000000000000000000000000000000000000000000000000001000276a400000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d3000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc20001f4dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000000000000000000000", - "output": "0x00000000000000000000000000000000000000000000000095d5e0843bea2950fffffffffffffffffffffffffffffffffffffffffffffffffffffff994dcbe9e", - "calls": [ - { - "type": "CALL", - "from": "0x11b815efb8f581194ae79006d24e0d814b7697f6", - "to": "0xdac17f958d2ee523a2206206994597c13d831ec7", - "value": "0x0", - "gas": "0x70048", - "gasUsed": "0x5fb5", - "input": "0xa9059cbb0000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d3000000000000000000000000000000000000000000000000000000066b234162", - "output": "0x", - "addresses": { - "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "SWAP1", - "DUP3", - "DUP9", - "AND", - "AND", - "DUP8", - "AND", - "AND", - "DUP5", - "AND", - "POP", - "POP" - ] - }, - "0xc6cde7c39eb2f0f0095f41570af89efc2c1ea828": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "SWAP1" - ] - }, - "0x11b815efb8f581194ae79006d24e0d814b7697f6": { - "confidence": 1, - "opcodes": [ - "CALLER", - "AND", - "AND", - "CALLER", - "AND", - "AND", - "CALLER", - "AND", - "AND", - "CALLER", - "AND" - ] - } - } - }, - { - "type": "STATICCALL", - "from": "0x11b815efb8f581194ae79006d24e0d814b7697f6", - "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", - "gas": "0x69f28", - "gasUsed": "0x9e6", - "input": "0x70a0823100000000000000000000000011b815efb8f581194ae79006d24e0d814b7697f6", - "output": "0x", - "addresses": { - "0x11b815efb8f581194ae79006d24e0d814b7697f6": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "SWAP1", - "POP", - "JUMP", - "JUMPDEST", - "MSTORE", - "DUP1", - "MSTORE", - "SWAP2" - ] - } - } - }, - { - "type": "CALL", - "from": "0x11b815efb8f581194ae79006d24e0d814b7697f6", - "to": "0xe592427a0aece92de3edee1f18e0157c05861564", - "value": "0x0", - "gas": "0x69254", - "gasUsed": "0x3009", - "input": "0xfa461e3300000000000000000000000000000000000000000000000095d5e0843bea2950fffffffffffffffffffffffffffffffffffffffffffffffffffffff994dcbe9e000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d3000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc20001f4dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000000000000000000000", - "output": "0x", - "calls": [ - { - "type": "CALL", - "from": "0xe592427a0aece92de3edee1f18e0157c05861564", - "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", - "value": "0x0", - "gas": "0x6699f", - "gasUsed": "0x2021", - "input": "0x23b872dd0000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d300000000000000000000000011b815efb8f581194ae79006d24e0d814b7697f600000000000000000000000000000000000000000000000095d5e0843bea2950", - "output": "0x", - "addresses": { - "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "SWAP1", - "DUP7", - "AND", - "AND", - "DUP5", - "AND", - "DUP7", - "AND", - "AND", - "DUP7", - "AND", - "AND", - "DUP5", - "AND", - "SWAP3" - ] - }, - "0x11b815efb8f581194ae79006d24e0d814b7697f6": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "SWAP1", - "DUP6", - "AND", - "AND", - "DUP3", - "AND", - "POP" - ] - }, - "0xe592427a0aece92de3edee1f18e0157c05861564": { - "confidence": 1, - "opcodes": [ - "CALLER", - "AND", - "CALLER", - "AND", - "AND" - ] - } - } - } - ], - "addresses": { - "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "DUP4", - "JUMP", - "JUMPDEST", - "DUP2", - "AND", - "DUP2", - "JUMPI", - "JUMPDEST", - "SWAP3", - "MLOAD", - "DUP4", - "AND", - "DUP5", - "DUP6", - "AND", - "POP", - "POP" - ] - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "confidence": 1, - "opcodes": [ - "DIV", - "JUMP", - "JUMPDEST", - "SWAP2", - "POP", - "DUP5", - "DUP7", - "DUP5", - "AND", - "SWAP5", - "AND", - "MLOAD", - "AND", - "MLOAD", - "SWAP5", - "AND", - "POP", - "DUP6", - "AND", - "DUP6", - "PUSH32", - "AND", - "DUP5", - "AND", - "DUP5", - "DUP11", - "AND", - "DUP7", - "SWAP2", - "POP", - "POP", - "POP" - ] - }, - "0xdac17f958d2ee523a2206206994597c13d831ec7": { - "confidence": 1, - "opcodes": [ - "DIV", - "JUMP", - "JUMPDEST", - "SWAP1", - "POP", - "DUP5", - "DUP7", - "DUP3", - "AND", - "SWAP3", - "AND", - "MLOAD", - "AND", - "MLOAD", - "SWAP2", - "AND", - "POP", - "DUP4", - "AND", - "POP" - ] - }, - "0x1f98431c8ad98523631ae4a59f267346ea31f984": { - "confidence": 1, - "opcodes": [ - "PUSH32", - "DUP6", - "DUP4", - "SWAP5", - "SWAP2", - "SWAP5" - ] - }, - "0x11b815efb8f581194ae79006d24e0d814b7697f6": { - "confidence": 1, - "opcodes": [ - "CALLER", - "AND", - "CALLER", - "DUP5", - "DUP5", - "AND", - "POP", - "POP" - ] - }, - "0xe592427a0aece92de3edee1f18e0157c05861564": { - "confidence": 1, - "opcodes": [ - "ADDRESS" - ] - } - } - }, - { - "type": "STATICCALL", - "from": "0x11b815efb8f581194ae79006d24e0d814b7697f6", - "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", - "gas": "0x66093", - "gasUsed": "0x216", - "input": "0x70a0823100000000000000000000000011b815efb8f581194ae79006d24e0d814b7697f6", - "output": "0x", - "addresses": { - "0x11b815efb8f581194ae79006d24e0d814b7697f6": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "SWAP1", - "POP", - "JUMP", - "JUMPDEST", - "MSTORE", - "DUP1", - "MSTORE", - "SWAP2" - ] - } - } - } - ], - "addresses": { - "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "DUP14", - "DUP5", - "AND", - "POP", - "DUP15", - "AND", - "SWAP8" - ] - }, - "0x11b815efb8f581194ae79006d24e0d814b7697f6": { - "confidence": 1, - "opcodes": [ - "ADDRESS", - "PUSH32", - "AND", - "ADDRESS", - "SWAP2", - "ADDRESS", - "SWAP2" - ] - }, - "0x058ca87960e3da12000000000000000000000000": { - "confidence": 0.6, - "opcodes": [ - "AND", - "JUMPI", - "AND" - ] - }, - "0x0005aa065bcf8dcf069c57ed3fad1980b2a4a873": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "JUMPI", - "JUMPDEST" - ] - }, - "0x058e98dfce0fd2a2b9373e6974cea7ffbe91decc": { - "confidence": 0.6, - "opcodes": [ - "JUMPI", - "DUP4", - "JUMPDEST", - "DUP5", - "JUMPDEST", - "DUP1" - ] - }, - "0x0001efb93682b84a1014b9fb7941273c0ba0e9f5": { - "confidence": 0.6, - "opcodes": [ - "POP", - "POP", - "JUMPI", - "JUMPDEST" - ] - }, - "0xfffd8963efd1fc6a506488495d951d5263988d26": { - "confidence": 0.75, - "opcodes": [ - "PUSH20" - ] - }, - "0xdac17f958d2ee523a2206206994597c13d831ec7": { - "confidence": 1, - "opcodes": [ - "PUSH32", - "DUP10", - "AND", - "DUP7", - "SWAP2", - "POP" - ] - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "confidence": 1, - "opcodes": [ - "PUSH32", - "AND", - "DUP6", - "SWAP2", - "PUSH32", - "AND", - "DUP6", - "SWAP2" - ] - }, - "0xe592427a0aece92de3edee1f18e0157c05861564": { - "confidence": 1, - "opcodes": [ - "CALLER", - "AND", - "DUP8", - "DUP1", - "POP", - "POP", - "CALLER" - ] - } - } - } - ], - "addresses": { - "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "DUP2", - "JUMP", - "JUMPDEST", - "DUP2", - "AND", - "DUP2", - "JUMPI", - "JUMPDEST", - "JUMP", - "JUMPDEST", - "JUMP", - "JUMPDEST", - "CALLER", - "AND", - "DUP5", - "AND", - "DUP12", - "MLOAD", - "AND", - "SWAP6", - "DUP9", - "AND", - "MLOAD", - "SWAP7", - "POP" - ] - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "DUP2", - "JUMP", - "JUMPDEST", - "DUP2", - "AND", - "DUP2", - "JUMPI", - "JUMPDEST", - "JUMP", - "JUMPDEST", - "JUMP", - "JUMPDEST", - "SWAP4", - "SWAP4", - "DIV", - "JUMP", - "JUMPDEST", - "SWAP2", - "SWAP2", - "DUP5", - "AND", - "DUP7", - "DUP7", - "DUP5", - "AND", - "SWAP5", - "AND", - "MLOAD", - "AND", - "MLOAD", - "SWAP5", - "AND", - "SWAP4", - "POP" - ] - }, - "0xdac17f958d2ee523a2206206994597c13d831ec7": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "DUP2", - "JUMP", - "JUMPDEST", - "DUP2", - "AND", - "DUP2", - "JUMPI", - "JUMPDEST", - "JUMP", - "JUMPDEST", - "JUMP", - "JUMPDEST", - "SWAP2", - "DIV", - "JUMP", - "JUMPDEST", - "SWAP1", - "POP", - "DUP4", - "AND", - "DUP7", - "DUP7", - "DUP3", - "AND", - "SWAP3", - "AND", - "MLOAD", - "AND", - "MLOAD", - "SWAP2", - "AND", - "POP", - "POP" - ] - }, - "0x1f98431c8ad98523631ae4a59f267346ea31f984": { - "confidence": 1, - "opcodes": [ - "PUSH32", - "SWAP5" - ] - }, - "0x11b815efb8f581194ae79006d24e0d814b7697f6": { - "confidence": 1, - "opcodes": [ - "AND", - "DUP8", - "DUP1", - "POP", - "POP" - ] - } - } - }, - { - "type": "CALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0x3333333acdedbbc9ad7bda0876e60714195681c5", - "value": "0x0", - "gas": "0x686a9", - "gasUsed": "0x172d8", - "input": "0x3df0212400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000066b2340fe0000000000000000000000000000000000000000000000000000000000000001", - "output": "0x", - "calls": [ - { - "type": "DELEGATECALL", - "from": "0x3333333acdedbbc9ad7bda0876e60714195681c5", - "to": "0xbebc44782c7db0a1a60cb6fe97d0b483032ff1c7", - "gas": "0x66a85", - "gasUsed": "0x170a0", - "input": "0x3df0212400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000066b2340fe0000000000000000000000000000000000000000000000000000000000000001", - "output": "0x", - "calls": [ - { - "type": "STATICCALL", - "from": "0x3333333acdedbbc9ad7bda0876e60714195681c5", - "to": "0xdac17f958d2ee523a2206206994597c13d831ec7", - "gas": "0x5dfac", - "gasUsed": "0xbd7", - "input": "0x70a082310000000000000000000000003333333acdedbbc9ad7bda0876e60714195681c5", - "output": "0x000000000000000000000000000000000000000000000000000003dd578bd638", - "addresses": { - "0x3333333acdedbbc9ad7bda0876e60714195681c5": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "SWAP1", - "POP", - "JUMP", - "JUMPDEST", - "DUP3", - "JUMP", - "JUMPDEST", - "DUP4", - "AND", - "AND", - "SWAP1", - "SWAP1" - ] - } - } - }, - { - "type": "CALL", - "from": "0x3333333acdedbbc9ad7bda0876e60714195681c5", - "to": "0xdac17f958d2ee523a2206206994597c13d831ec7", - "value": "0x0", - "gas": "0x5d120", - "gasUsed": "0x2dd2", - "input": "0x23b872dd0000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d30000000000000000000000003333333acdedbbc9ad7bda0876e60714195681c5000000000000000000000000000000000000000000000000000000066b2340fe", - "output": "0x0000000000000000000000000000000000000000000000000000000000000000", - "addresses": { - "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "SWAP1", - "DUP5", - "AND", - "AND", - "DUP4", - "DUP9", - "AND", - "AND", - "DUP11", - "AND", - "AND", - "DUP10", - "AND", - "AND", - "DUP8", - "AND", - "POP", - "POP" - ] - }, - "0x3333333acdedbbc9ad7bda0876e60714195681c5": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "SWAP1", - "DUP4", - "CALLER", - "AND", - "AND", - "DUP10", - "AND", - "AND", - "DUP9", - "AND", - "AND", - "DUP6", - "AND", - "POP", - "POP" - ] - }, - "0xc6cde7c39eb2f0f0095f41570af89efc2c1ea828": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "SWAP1" - ] - } - } - }, - { - "type": "STATICCALL", - "from": "0x3333333acdedbbc9ad7bda0876e60714195681c5", - "to": "0xdac17f958d2ee523a2206206994597c13d831ec7", - "gas": "0x5a241", - "gasUsed": "0x407", - "input": "0x70a082310000000000000000000000003333333acdedbbc9ad7bda0876e60714195681c5", - "output": "0x000000000000000000000000000000000000000000000000000003e3c2af1736", - "addresses": { - "0x3333333acdedbbc9ad7bda0876e60714195681c5": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "SWAP1", - "POP", - "JUMP", - "JUMPDEST", - "DUP3", - "JUMP", - "JUMPDEST", - "DUP4", - "AND", - "AND", - "SWAP1", - "SWAP1" - ] - } - } - }, - { - "type": "CALL", - "from": "0x3333333acdedbbc9ad7bda0876e60714195681c5", - "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", - "value": "0x0", - "gas": "0x51d38", - "gasUsed": "0x2d61", - "input": "0xa9059cbb0000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d3000000000000000000000000000000000000000000000000000000066b98c297", - "output": "0x0000000000000000000000000000000000000000000000000000000000000001", - "calls": [ - { - "type": "DELEGATECALL", - "from": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", - "to": "0xa2327a938febf5fec13bacfb16ae10ecbc4cbdcf", - "gas": "0x505e6", - "gasUsed": "0x2a4c", - "input": "0xa9059cbb0000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d3000000000000000000000000000000000000000000000000000000066b98c297", - "output": "0x", - "addresses": { - "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "DUP5", - "AND", - "SWAP1", - "DUP5", - "JUMPI", - "JUMPDEST", - "DUP7", - "DUP3", - "AND", - "DUP5", - "AND", - "DUP5", - "AND", - "DUP2", - "SWAP2", - "POP", - "JUMP", - "JUMPDEST", - "SWAP4" - ] - }, - "0xf0d160dec1749afaf5a831668093b1431f7c8527": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "SWAP1", - "SWAP1" - ] - }, - "0x3333333acdedbbc9ad7bda0876e60714195681c5": { - "confidence": 1, - "opcodes": [ - "CALLER", - "DUP2", - "JUMPI", - "JUMPDEST", - "CALLER", - "DUP4", - "AND", - "DUP4", - "AND", - "SWAP1", - "DUP4", - "AND", - "SWAP1", - "DUP6", - "AND", - "SWAP1", - "DUP8", - "AND", - "POP", - "POP", - "POP" - ] - } - } - } - ], - "addresses": { - "0x807a96288a1a408dbc13de2b1d087d10356395d2": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "POP", - "JUMP", - "JUMPDEST", - "AND" - ] - }, - "0x3333333acdedbbc9ad7bda0876e60714195681c5": { - "confidence": 1, - "opcodes": [ - "CALLER", - "AND" - ] - }, - "0xa2327a938febf5fec13bacfb16ae10ecbc4cbdcf": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "POP", - "JUMP", - "JUMPDEST", - "JUMP", - "JUMPDEST", - "CALLDATACOPY", - "DUP5" - ] - } - } - } - ], - "addresses": { - "0x00002af904b638ed930cddfe78cf741a9f440000": { - "confidence": 0.6, - "opcodes": [ - "POP" - ] - }, - "0x0000334c40df9502deb37a4ac7f2d72780000000": { - "confidence": 0.6, - "opcodes": [ - "POP" - ] - }, - "0x00002dc527a4a9017812d98e236bc2cb40000000": { - "confidence": 0.6, - "opcodes": [ - "POP" - ] - }, - "0xdac17f958d2ee523a2206206994597c13d831ec7": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "MLOAD", - "MLOAD", - "MLOAD", - "MLOAD", - "MSTORE", - "JUMPI", - "JUMP", - "JUMPDEST", - "MSTORE", - "MSTORE", - "JUMPI", - "JUMP", - "JUMPDEST" - ] - }, - "0x3333333acdedbbc9ad7bda0876e60714195681c5": { - "confidence": 1, - "opcodes": [ - "ADDRESS", - "ADDRESS", - "ADDRESS", - "MLOAD", - "MSTORE", - "JUMPI", - "JUMP", - "JUMPDEST", - "MLOAD", - "MSTORE", - "JUMPI", - "JUMP", - "JUMPDEST", - "MSTORE", - "MSTORE", - "JUMPI", - "JUMP", - "JUMPDEST", - "MSTORE", - "MSTORE", - "JUMPI", - "JUMP", - "JUMPDEST" - ] - }, - "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3": { - "confidence": 1, - "opcodes": [ - "CALLER", - "CALLER", - "CALLER" - ] - }, - "0x0feef93405c3ca6c31df80109628d3137dcbe3b0": { - "confidence": 0.6, - "opcodes": [ - "POP" - ] - }, - "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": { - "confidence": 1, - "opcodes": [ - "SLOAD" - ] - } - } - } - ], - "addresses": { - "0xbebc44782c7db0a1a60cb6fe97d0b483032ff1c7": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "SWAP1", - "AND", - "JUMP", - "JUMPDEST", - "CALLDATACOPY", - "DUP5" - ] - } - } - }, - { - "type": "STATICCALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", - "gas": "0x517ca", - "gasUsed": "0x523", - "input": "0x70a082310000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "output": "0x000000000000000000000000000000000000000000000000000002851dd1f409", - "calls": [ - { - "type": "DELEGATECALL", - "from": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", - "to": "0xa2327a938febf5fec13bacfb16ae10ecbc4cbdcf", - "gas": "0x50091", - "gasUsed": "0x211", - "input": "0x70a082310000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "output": "0x", - "addresses": { - "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "JUMP", - "JUMPDEST", - "AND", - "SWAP1" - ] - } - } - } - ], - "addresses": { - "0x807a96288a1a408dbc13de2b1d087d10356395d2": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "POP", - "JUMP", - "JUMPDEST", - "AND" - ] - }, - "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3": { - "confidence": 1, - "opcodes": [ - "CALLER", - "AND" - ] - }, - "0xa2327a938febf5fec13bacfb16ae10ecbc4cbdcf": { - "confidence": 1, - "opcodes": [ - "SLOAD", - "POP", - "JUMP", - "JUMPDEST", - "JUMP", - "JUMPDEST", - "CALLDATACOPY", - "DUP5" - ] - } - } - }, - { - "type": "STATICCALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", - "gas": "0x510a3", - "gasUsed": "0x216", - "input": "0x70a082310000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "output": "0x00000000000000000000000000000000000000000000000972ca2015bb626252", - "addresses": { - "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3": { - "confidence": 1, - "opcodes": [ - "CALLDATALOAD", - "AND", - "SWAP1", - "POP", - "JUMP", - "JUMPDEST", - "MSTORE", - "DUP1", - "MSTORE", - "SWAP2" - ] - } - } - } - ], - "addresses": { - "0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8": { - "confidence": 1, - "opcodes": [ - "SHR", - "MLOAD", - "SWAP3", - "MSTORE", - "AND", - "SHR" - ] - }, - "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": { - "confidence": 1, - "opcodes": [ - "SHR", - "MLOAD", - "AND", - "PUSH32", - "AND", - "DUP7", - "DUP1", - "POP", - "POP", - "SHR", - "MLOAD", - "AND", - "MLOAD", - "AND", - "PUSH32", - "AND", - "DUP7", - "DUP1", - "POP", - "POP" - ] - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "confidence": 1, - "opcodes": [ - "SHR", - "MLOAD", - "AND", - "SHR", - "MLOAD", - "AND", - "PUSH32", - "AND", - "DUP7", - "DUP1", - "POP", - "POP", - "SHR", - "MLOAD", - "AND", - "MLOAD", - "AND", - "SHR", - "MLOAD", - "AND", - "MLOAD", - "AND", - "PUSH32", - "AND", - "DUP7", - "DUP1", - "POP", - "POP" - ] - }, - "0x1f4de5cc412ff43db7663e39aaa04221ca9e995f": { - "confidence": 1, - "opcodes": [ - "PUSH20", - "DUP7", - "DUP1", - "POP", - "POP", - "PUSH20", - "DUP7", - "DUP1", - "POP", - "POP" - ] - }, - "0x11b815efb8f581194ae79006d24e0d814b7697f6": { - "confidence": 1, - "opcodes": [ - "SHR", - "MLOAD", - "SWAP3", - "MSTORE", - "AND", - "SHR" - ] - }, - "0xdac17f958d2ee523a2206206994597c13d831ec7": { - "confidence": 1, - "opcodes": [ - "SHR", - "MLOAD", - "AND", - "SHR", - "MLOAD", - "AND", - "MLOAD", - "AND" - ] - }, - "0x3333333acdedbbc9ad7bda0876e60714195681c5": { - "confidence": 1, - "opcodes": [ - "SHR", - "MLOAD", - "SWAP4", - "AND", - "DUP7", - "DUP1", - "POP", - "POP", - "SHR", - "MLOAD", - "SWAP4", - "AND", - "DUP8", - "DUP1", - "POP", - "POP" - ] - }, - "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3": { - "confidence": 1, - "opcodes": [ - "ADDRESS", - "SWAP2", - "AND", - "ADDRESS", - "SWAP2", - "SWAP2", - "AND", - "ADDRESS", - "AND", - "MLOAD", - "AND", - "ADDRESS", - "AND", - "MLOAD", - "AND", - "ADDRESS", - "SWAP2", - "AND", - "ADDRESS", - "SWAP2", - "AND" - ] - }, - "0xe592427a0aece92de3edee1f18e0157c05861564": { - "confidence": 1, - "opcodes": [ - "PUSH32", - "DUP4", - "AND", - "DUP8", - "DUP1", - "POP", - "POP", - "POP", - "PUSH32", - "DUP4", - "AND", - "DUP8", - "DUP1", - "POP", - "POP", - "POP" - ] - } - } - } - ] -} diff --git a/packages/tracing-client/test/traces/call-tracer/erc20-transfer.json b/packages/tracing-client/test/traces/call-tracer/erc20-transfer.json deleted file mode 100644 index 337b89b3..00000000 --- a/packages/tracing-client/test/traces/call-tracer/erc20-transfer.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "CALL", - "from": "0xdc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "to": "0x1ca7c995f8ef0a2989bbce08d5b7efe50a584aa1", - "value": "0x0", - "gas": "0xabbb", - "gasUsed": "0x3982", - "input": "0xa9059cbb000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61000000000000000000000000000000000000000000000000000000000000000a", - "output": "0x0000000000000000000000000000000000000000000000000000000000000001", - "time": "2.893709ms" -} diff --git a/packages/tracing-client/test/traces/call-tracer/mainnet-with-many-internal-tx.json b/packages/tracing-client/test/traces/call-tracer/mainnet-with-many-internal-tx.json deleted file mode 100644 index 4ab61120..00000000 --- a/packages/tracing-client/test/traces/call-tracer/mainnet-with-many-internal-tx.json +++ /dev/null @@ -1,449 +0,0 @@ -{ - "type": "CALL", - "from": "0xf94d7953d44bdcc7a5585a61ed91899ef2d39524", - "to": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "value": "0x0", - "gas": "0xb3237", - "gasUsed": "0x5e42a", - "input": "0x0000004d0000000000000000000000000000000000000000000000000000000000c057bd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000002c40000007300000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000066aeefc9200000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000003f8ad599c3a0ff1de082011efddc58f1908eb6e6d8a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000bb800000000000000000000000000000000000000000000000000000000000000003f11b815efb8f581194ae79006d24e0d814b7697f6c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2dac17f958d2ee523a2206206994597c13d831ec70001f40000000000000000000000000000000000000000000000000000000000000000173333333acdedbbc9ad7bda0876e60714195681c502010000000000000000000000000000000000000000000000000000000000000000000000000000", - "output": "0x", - "time": "1.064843378s", - "calls": [ - { - "type": "DELEGATECALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0x240c7488df044d2f69d66201ee59a296c64d714c", - "gas": "0xae6af", - "gasUsed": "0x5c47b", - "input": "0x0000007300000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000066aeefc9200000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000003f8ad599c3a0ff1de082011efddc58f1908eb6e6d8a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000bb800000000000000000000000000000000000000000000000000000000000000003f11b815efb8f581194ae79006d24e0d814b7697f6c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2dac17f958d2ee523a2206206994597c13d831ec70001f40000000000000000000000000000000000000000000000000000000000000000173333333acdedbbc9ad7bda0876e60714195681c5020100000000000000000000", - "output": "0x", - "calls": [ - { - "type": "DELEGATECALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0x1f4de5cc412ff43db7663e39aaa04221ca9e995f", - "gas": "0xa9f93", - "gasUsed": "0x572e", - "input": "0xdab617590000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000066aeefc920000000000000000000000008ad599c3a0ff1de082011efddc58f1908eb6e6d80000000000000000000000000000000000000000000000000000000000000bb8", - "output": "0x00000000000000000000000000000000000000000000000095d5e0843bea29b4", - "calls": [ - { - "type": "STATICCALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8", - "gas": "0xa6846", - "gasUsed": "0x97c", - "input": "0x1a686502", - "output": "0x000000000000000000000000000000000000000000000001f6397f4bda22e9d2" - }, - { - "type": "STATICCALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8", - "gas": "0xa5cc0", - "gasUsed": "0xa88", - "input": "0x3850c7bd", - "output": "0x0000000000000000000000000000000000004d6d55fae0dc58b57a67bdd9ed70000000000000000000000000000000000000000000000000000000000003050c00000000000000000000000000000000000000000000000000000000000001580000000000000000000000000000000000000000000000000000000000000168000000000000000000000000000000000000000000000000000000000000016800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" - }, - { - "type": "STATICCALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8", - "gas": "0xa4e13", - "gasUsed": "0x117", - "input": "0xd0c93a7c", - "output": "0x000000000000000000000000000000000000000000000000000000000000003c" - }, - { - "type": "STATICCALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8", - "gas": "0xa47b4", - "gasUsed": "0x9dd", - "input": "0x5339c296000000000000000000000000000000000000000000000000000000000000000c", - "output": "0xfffffffffffffffffffffffffffffffff7ffedbfdedfcf5dff2541aeb225cebc" - } - ] - }, - { - "type": "DELEGATECALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0x1f4de5cc412ff43db7663e39aaa04221ca9e995f", - "gas": "0xa42c2", - "gasUsed": "0x54dc", - "input": "0xdab61759000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000095d5e0843bea295000000000000000000000000011b815efb8f581194ae79006d24e0d814b7697f600000000000000000000000000000000000000000000000000000000000001f4", - "output": "0x000000000000000000000000000000000000000000000000000000066b234162", - "calls": [ - { - "type": "STATICCALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0x11b815efb8f581194ae79006d24e0d814b7697f6", - "gas": "0xa0ce9", - "gasUsed": "0x97c", - "input": "0x1a686502", - "output": "0x000000000000000000000000000000000000000000000000058ca87960e3da12" - }, - { - "type": "STATICCALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0x11b815efb8f581194ae79006d24e0d814b7697f6", - "gas": "0xa0162", - "gasUsed": "0xa88", - "input": "0x3850c7bd", - "output": "0x00000000000000000000000000000000000000000003508b4c0b22de548e9dfefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcfb2500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" - }, - { - "type": "STATICCALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0x11b815efb8f581194ae79006d24e0d814b7697f6", - "gas": "0x9f2b5", - "gasUsed": "0x117", - "input": "0xd0c93a7c", - "output": "0x000000000000000000000000000000000000000000000000000000000000000a" - }, - { - "type": "STATICCALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0x11b815efb8f581194ae79006d24e0d814b7697f6", - "gas": "0x9ec15", - "gasUsed": "0x9dd", - "input": "0x5339c296ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb2", - "output": "0x8b042000000401a10080b0790000011000808804000020012088600500000000" - } - ] - }, - { - "type": "STATICCALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0x3333333acdedbbc9ad7bda0876e60714195681c5", - "gas": "0x9e07f", - "gasUsed": "0x8c30", - "input": "0x5e0d443f00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000066b2340fe", - "output": "0x000000000000000000000000000000000000000000000000000000066b98c297", - "calls": [ - { - "type": "DELEGATECALL", - "from": "0x3333333acdedbbc9ad7bda0876e60714195681c5", - "to": "0xbebc44782c7db0a1a60cb6fe97d0b483032ff1c7", - "gas": "0x9a597", - "gasUsed": "0x7852", - "input": "0x5e0d443f00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000066b2340fe", - "output": "0x" - } - ] - }, - { - "type": "STATICCALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", - "gas": "0x94a33", - "gasUsed": "0x2657", - "input": "0x70a082310000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "output": "0x000000000000000000000000000000000000000000000000000002851d282e04", - "calls": [ - { - "type": "DELEGATECALL", - "from": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", - "to": "0xa2327a938febf5fec13bacfb16ae10ecbc4cbdcf", - "gas": "0x90932", - "gasUsed": "0x9e1", - "input": "0x70a082310000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "output": "0x" - } - ] - }, - { - "type": "STATICCALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", - "gas": "0x918ce", - "gasUsed": "0x9e6", - "input": "0x70a082310000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "output": "0x00000000000000000000000000000000000000000000000972ca2015bb6261ee" - }, - { - "type": "CALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0xe592427a0aece92de3edee1f18e0157c05861564", - "value": "0x0", - "gas": "0x8fd90", - "gasUsed": "0x149f1", - "input": "0x414bf389000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000bb80000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d30000000000000000000000000000000000000000000000000000000060c1bd37000000000000000000000000000000000000000000000000000000066aeefc9200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "output": "0x00000000000000000000000000000000000000000000000095d5e0843bea29b4", - "calls": [ - { - "type": "CALL", - "from": "0xe592427a0aece92de3edee1f18e0157c05861564", - "to": "0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8", - "value": "0x0", - "gas": "0x8c828", - "gasUsed": "0x136ad", - "input": "0x128acb080000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d30000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000066aeefc9200000000000000000000000000000000000000000000000000000001000276a400000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d3000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000bb8c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000", - "output": "0x000000000000000000000000000000000000000000000000000000066aeefc92ffffffffffffffffffffffffffffffffffffffffffffffff6a2a1f7bc415d64c", - "calls": [ - { - "type": "CALL", - "from": "0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8", - "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", - "value": "0x0", - "gas": "0x83361", - "gasUsed": "0x2a6e", - "input": "0xa9059cbb0000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d300000000000000000000000000000000000000000000000095d5e0843bea29b4", - "output": "0x" - }, - { - "type": "STATICCALL", - "from": "0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8", - "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", - "gas": "0x80635", - "gasUsed": "0xcf3", - "input": "0x70a082310000000000000000000000008ad599c3a0ff1de082011efddc58f1908eb6e6d8", - "output": "0x", - "calls": [ - { - "type": "DELEGATECALL", - "from": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", - "to": "0xa2327a938febf5fec13bacfb16ae10ecbc4cbdcf", - "gas": "0x7e342", - "gasUsed": "0x9e1", - "input": "0x70a082310000000000000000000000008ad599c3a0ff1de082011efddc58f1908eb6e6d8", - "output": "0x" - } - ] - }, - { - "type": "CALL", - "from": "0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8", - "to": "0xe592427a0aece92de3edee1f18e0157c05861564", - "value": "0x0", - "gas": "0x7f660", - "gasUsed": "0x6f20", - "input": "0xfa461e33000000000000000000000000000000000000000000000000000000066aeefc92ffffffffffffffffffffffffffffffffffffffffffffffff6a2a1f7bc415d64c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d3000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000bb8c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000", - "output": "0x", - "calls": [ - { - "type": "CALL", - "from": "0xe592427a0aece92de3edee1f18e0157c05861564", - "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", - "value": "0x0", - "gas": "0x7c82a", - "gasUsed": "0x5f48", - "input": "0x23b872dd0000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d30000000000000000000000008ad599c3a0ff1de082011efddc58f1908eb6e6d8000000000000000000000000000000000000000000000000000000066aeefc92", - "output": "0x", - "calls": [ - { - "type": "DELEGATECALL", - "from": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", - "to": "0xa2327a938febf5fec13bacfb16ae10ecbc4cbdcf", - "gas": "0x7a627", - "gasUsed": "0x5c2d", - "input": "0x23b872dd0000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d30000000000000000000000008ad599c3a0ff1de082011efddc58f1908eb6e6d8000000000000000000000000000000000000000000000000000000066aeefc92", - "output": "0x" - } - ] - } - ] - }, - { - "type": "STATICCALL", - "from": "0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8", - "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", - "gas": "0x78683", - "gasUsed": "0x523", - "input": "0x70a082310000000000000000000000008ad599c3a0ff1de082011efddc58f1908eb6e6d8", - "output": "0x", - "calls": [ - { - "type": "DELEGATECALL", - "from": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", - "to": "0xa2327a938febf5fec13bacfb16ae10ecbc4cbdcf", - "gas": "0x7658f", - "gasUsed": "0x211", - "input": "0x70a082310000000000000000000000008ad599c3a0ff1de082011efddc58f1908eb6e6d8", - "output": "0x" - } - ] - } - ] - } - ] - }, - { - "type": "CALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0xe592427a0aece92de3edee1f18e0157c05861564", - "value": "0x0", - "gas": "0x7b0d9", - "gasUsed": "0x129fb", - "input": "0x414bf389000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000001f40000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d30000000000000000000000000000000000000000000000000000000060c1bd3700000000000000000000000000000000000000000000000095d5e0843bea295000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "output": "0x000000000000000000000000000000000000000000000000000000066b234162", - "calls": [ - { - "type": "CALL", - "from": "0xe592427a0aece92de3edee1f18e0157c05861564", - "to": "0x11b815efb8f581194ae79006d24e0d814b7697f6", - "value": "0x0", - "gas": "0x780a4", - "gasUsed": "0x116b7", - "input": "0x128acb080000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d3000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000095d5e0843bea295000000000000000000000000000000000000000000000000000000001000276a400000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d3000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc20001f4dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000000000000000000000", - "output": "0x00000000000000000000000000000000000000000000000095d5e0843bea2950fffffffffffffffffffffffffffffffffffffffffffffffffffffff994dcbe9e", - "calls": [ - { - "type": "CALL", - "from": "0x11b815efb8f581194ae79006d24e0d814b7697f6", - "to": "0xdac17f958d2ee523a2206206994597c13d831ec7", - "value": "0x0", - "gas": "0x70048", - "gasUsed": "0x5fb5", - "input": "0xa9059cbb0000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d3000000000000000000000000000000000000000000000000000000066b234162", - "output": "0x" - }, - { - "type": "STATICCALL", - "from": "0x11b815efb8f581194ae79006d24e0d814b7697f6", - "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", - "gas": "0x69f28", - "gasUsed": "0x9e6", - "input": "0x70a0823100000000000000000000000011b815efb8f581194ae79006d24e0d814b7697f6", - "output": "0x" - }, - { - "type": "CALL", - "from": "0x11b815efb8f581194ae79006d24e0d814b7697f6", - "to": "0xe592427a0aece92de3edee1f18e0157c05861564", - "value": "0x0", - "gas": "0x69254", - "gasUsed": "0x3009", - "input": "0xfa461e3300000000000000000000000000000000000000000000000095d5e0843bea2950fffffffffffffffffffffffffffffffffffffffffffffffffffffff994dcbe9e000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d3000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc20001f4dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000000000000000000000", - "output": "0x", - "calls": [ - { - "type": "CALL", - "from": "0xe592427a0aece92de3edee1f18e0157c05861564", - "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", - "value": "0x0", - "gas": "0x6699f", - "gasUsed": "0x2021", - "input": "0x23b872dd0000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d300000000000000000000000011b815efb8f581194ae79006d24e0d814b7697f600000000000000000000000000000000000000000000000095d5e0843bea2950", - "output": "0x" - } - ] - }, - { - "type": "STATICCALL", - "from": "0x11b815efb8f581194ae79006d24e0d814b7697f6", - "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", - "gas": "0x66093", - "gasUsed": "0x216", - "input": "0x70a0823100000000000000000000000011b815efb8f581194ae79006d24e0d814b7697f6", - "output": "0x" - } - ] - } - ] - }, - { - "type": "CALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0x3333333acdedbbc9ad7bda0876e60714195681c5", - "value": "0x0", - "gas": "0x686a9", - "gasUsed": "0x172d8", - "input": "0x3df0212400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000066b2340fe0000000000000000000000000000000000000000000000000000000000000001", - "output": "0x", - "calls": [ - { - "type": "DELEGATECALL", - "from": "0x3333333acdedbbc9ad7bda0876e60714195681c5", - "to": "0xbebc44782c7db0a1a60cb6fe97d0b483032ff1c7", - "gas": "0x66a85", - "gasUsed": "0x170a0", - "input": "0x3df0212400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000066b2340fe0000000000000000000000000000000000000000000000000000000000000001", - "output": "0x", - "calls": [ - { - "type": "STATICCALL", - "from": "0x3333333acdedbbc9ad7bda0876e60714195681c5", - "to": "0xdac17f958d2ee523a2206206994597c13d831ec7", - "gas": "0x5dfac", - "gasUsed": "0xbd7", - "input": "0x70a082310000000000000000000000003333333acdedbbc9ad7bda0876e60714195681c5", - "output": "0x000000000000000000000000000000000000000000000000000003dd578bd638" - }, - { - "type": "CALL", - "from": "0x3333333acdedbbc9ad7bda0876e60714195681c5", - "to": "0xdac17f958d2ee523a2206206994597c13d831ec7", - "value": "0x0", - "gas": "0x5d120", - "gasUsed": "0x2dd2", - "input": "0x23b872dd0000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d30000000000000000000000003333333acdedbbc9ad7bda0876e60714195681c5000000000000000000000000000000000000000000000000000000066b2340fe", - "output": "0x0000000000000000000000000000000000000000000000000000000000000000" - }, - { - "type": "STATICCALL", - "from": "0x3333333acdedbbc9ad7bda0876e60714195681c5", - "to": "0xdac17f958d2ee523a2206206994597c13d831ec7", - "gas": "0x5a241", - "gasUsed": "0x407", - "input": "0x70a082310000000000000000000000003333333acdedbbc9ad7bda0876e60714195681c5", - "output": "0x000000000000000000000000000000000000000000000000000003e3c2af1736" - }, - { - "type": "CALL", - "from": "0x3333333acdedbbc9ad7bda0876e60714195681c5", - "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", - "value": "0x0", - "gas": "0x51d38", - "gasUsed": "0x2d61", - "input": "0xa9059cbb0000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d3000000000000000000000000000000000000000000000000000000066b98c297", - "output": "0x0000000000000000000000000000000000000000000000000000000000000001", - "calls": [ - { - "type": "DELEGATECALL", - "from": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", - "to": "0xa2327a938febf5fec13bacfb16ae10ecbc4cbdcf", - "gas": "0x505e6", - "gasUsed": "0x2a4c", - "input": "0xa9059cbb0000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d3000000000000000000000000000000000000000000000000000000066b98c297", - "output": "0x" - } - ] - } - ] - } - ] - }, - { - "type": "STATICCALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", - "gas": "0x517ca", - "gasUsed": "0x523", - "input": "0x70a082310000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "output": "0x000000000000000000000000000000000000000000000000000002851dd1f409", - "calls": [ - { - "type": "DELEGATECALL", - "from": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", - "to": "0xa2327a938febf5fec13bacfb16ae10ecbc4cbdcf", - "gas": "0x50091", - "gasUsed": "0x211", - "input": "0x70a082310000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "output": "0x" - } - ] - }, - { - "type": "STATICCALL", - "from": "0x5af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", - "gas": "0x510a3", - "gasUsed": "0x216", - "input": "0x70a082310000000000000000000000005af7f71c7747fb0eceb2eef115c3fa34dd4998d3", - "output": "0x00000000000000000000000000000000000000000000000972ca2015bb626252" - } - ] - } - ] -} diff --git a/packages/tracing-client/test/traces/default/erc20-transfer.json b/packages/tracing-client/test/traces/default/erc20-transfer.json deleted file mode 100644 index cd3f2405..00000000 --- a/packages/tracing-client/test/traces/default/erc20-transfer.json +++ /dev/null @@ -1,10540 +0,0 @@ -{ - "gas": 36294, - "failed": false, - "returnValue": "0000000000000000000000000000000000000000000000000000000000000001", - "structLogs": [ - { - "pc": 0, - "op": "PUSH1", - "gas": 43963, - "gasCost": 3, - "depth": 1, - "stack": [], - "memory": [], - "storage": {} - }, - { - "pc": 2, - "op": "PUSH1", - "gas": 43960, - "gasCost": 3, - "depth": 1, - "stack": [ - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "memory": [], - "storage": {} - }, - { - "pc": 4, - "op": "MSTORE", - "gas": 43957, - "gasCost": 12, - "depth": 1, - "stack": [ - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000040" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "storage": {} - }, - { - "pc": 5, - "op": "CALLVALUE", - "gas": 43945, - "gasCost": 2, - "depth": 1, - "stack": [], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 6, - "op": "DUP1", - "gas": 43943, - "gasCost": 3, - "depth": 1, - "stack": [ - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 7, - "op": "ISZERO", - "gas": 43940, - "gasCost": 3, - "depth": 1, - "stack": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 8, - "op": "PUSH2", - "gas": 43937, - "gasCost": 3, - "depth": 1, - "stack": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000001" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 11, - "op": "JUMPI", - "gas": 43934, - "gasCost": 10, - "depth": 1, - "stack": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000001", - "0000000000000000000000000000000000000000000000000000000000000010" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 16, - "op": "JUMPDEST", - "gas": 43924, - "gasCost": 1, - "depth": 1, - "stack": [ - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 17, - "op": "POP", - "gas": 43923, - "gasCost": 2, - "depth": 1, - "stack": [ - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 18, - "op": "PUSH1", - "gas": 43921, - "gasCost": 3, - "depth": 1, - "stack": [], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 20, - "op": "CALLDATASIZE", - "gas": 43918, - "gasCost": 2, - "depth": 1, - "stack": [ - "0000000000000000000000000000000000000000000000000000000000000004" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 21, - "op": "LT", - "gas": 43916, - "gasCost": 3, - "depth": 1, - "stack": [ - "0000000000000000000000000000000000000000000000000000000000000004", - "0000000000000000000000000000000000000000000000000000000000000044" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 22, - "op": "PUSH2", - "gas": 43913, - "gasCost": 3, - "depth": 1, - "stack": [ - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 25, - "op": "JUMPI", - "gas": 43910, - "gasCost": 10, - "depth": 1, - "stack": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000a9" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 26, - "op": "PUSH1", - "gas": 43900, - "gasCost": 3, - "depth": 1, - "stack": [], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 28, - "op": "CALLDATALOAD", - "gas": 43897, - "gasCost": 3, - "depth": 1, - "stack": [ - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 29, - "op": "PUSH1", - "gas": 43894, - "gasCost": 3, - "depth": 1, - "stack": [ - "a9059cbb000000000000000000000000ca6d29232d1435d8198e3e5302495417" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 31, - "op": "SHR", - "gas": 43891, - "gasCost": 3, - "depth": 1, - "stack": [ - "a9059cbb000000000000000000000000ca6d29232d1435d8198e3e5302495417", - "00000000000000000000000000000000000000000000000000000000000000e0" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 32, - "op": "DUP1", - "gas": 43888, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 33, - "op": "PUSH4", - "gas": 43885, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "00000000000000000000000000000000000000000000000000000000a9059cbb" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 38, - "op": "GT", - "gas": 43882, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000039509351" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 39, - "op": "PUSH2", - "gas": 43879, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 42, - "op": "JUMPI", - "gas": 43876, - "gasCost": 10, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000071" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 43, - "op": "DUP1", - "gas": 43866, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 44, - "op": "PUSH4", - "gas": 43863, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "00000000000000000000000000000000000000000000000000000000a9059cbb" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 49, - "op": "EQ", - "gas": 43860, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000039509351" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 50, - "op": "PUSH2", - "gas": 43857, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 53, - "op": "JUMPI", - "gas": 43854, - "gasCost": 10, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000025f" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 54, - "op": "DUP1", - "gas": 43844, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 55, - "op": "PUSH4", - "gas": 43841, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "00000000000000000000000000000000000000000000000000000000a9059cbb" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 60, - "op": "EQ", - "gas": 43838, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000070a08231" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 61, - "op": "PUSH2", - "gas": 43835, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 64, - "op": "JUMPI", - "gas": 43832, - "gasCost": 10, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000002c5" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 65, - "op": "DUP1", - "gas": 43822, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 66, - "op": "PUSH4", - "gas": 43819, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "00000000000000000000000000000000000000000000000000000000a9059cbb" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 71, - "op": "EQ", - "gas": 43816, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000095d89b41" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 72, - "op": "PUSH2", - "gas": 43813, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 75, - "op": "JUMPI", - "gas": 43810, - "gasCost": 10, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000031d" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 76, - "op": "DUP1", - "gas": 43800, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 77, - "op": "PUSH4", - "gas": 43797, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "00000000000000000000000000000000000000000000000000000000a9059cbb" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 82, - "op": "EQ", - "gas": 43794, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "00000000000000000000000000000000000000000000000000000000a457c2d7" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 83, - "op": "PUSH2", - "gas": 43791, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 86, - "op": "JUMPI", - "gas": 43788, - "gasCost": 10, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000003a0" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 87, - "op": "DUP1", - "gas": 43778, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 88, - "op": "PUSH4", - "gas": 43775, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "00000000000000000000000000000000000000000000000000000000a9059cbb" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 93, - "op": "EQ", - "gas": 43772, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "00000000000000000000000000000000000000000000000000000000a9059cbb" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 94, - "op": "PUSH2", - "gas": 43769, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000001" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 97, - "op": "JUMPI", - "gas": 43766, - "gasCost": 10, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000001", - "0000000000000000000000000000000000000000000000000000000000000406" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1030, - "op": "JUMPDEST", - "gas": 43756, - "gasCost": 1, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1031, - "op": "PUSH2", - "gas": 43755, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1034, - "op": "PUSH1", - "gas": 43752, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1036, - "op": "DUP1", - "gas": 43749, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "0000000000000000000000000000000000000000000000000000000000000004" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1037, - "op": "CALLDATASIZE", - "gas": 43746, - "gasCost": 2, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "0000000000000000000000000000000000000000000000000000000000000004", - "0000000000000000000000000000000000000000000000000000000000000004" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1038, - "op": "SUB", - "gas": 43744, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "0000000000000000000000000000000000000000000000000000000000000004", - "0000000000000000000000000000000000000000000000000000000000000004", - "0000000000000000000000000000000000000000000000000000000000000044" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1039, - "op": "PUSH1", - "gas": 43741, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "0000000000000000000000000000000000000000000000000000000000000004", - "0000000000000000000000000000000000000000000000000000000000000040" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1041, - "op": "DUP2", - "gas": 43738, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "0000000000000000000000000000000000000000000000000000000000000004", - "0000000000000000000000000000000000000000000000000000000000000040", - "0000000000000000000000000000000000000000000000000000000000000040" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1042, - "op": "LT", - "gas": 43735, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "0000000000000000000000000000000000000000000000000000000000000004", - "0000000000000000000000000000000000000000000000000000000000000040", - "0000000000000000000000000000000000000000000000000000000000000040", - "0000000000000000000000000000000000000000000000000000000000000040" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1043, - "op": "ISZERO", - "gas": 43732, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "0000000000000000000000000000000000000000000000000000000000000004", - "0000000000000000000000000000000000000000000000000000000000000040", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1044, - "op": "PUSH2", - "gas": 43729, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "0000000000000000000000000000000000000000000000000000000000000004", - "0000000000000000000000000000000000000000000000000000000000000040", - "0000000000000000000000000000000000000000000000000000000000000001" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1047, - "op": "JUMPI", - "gas": 43726, - "gasCost": 10, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "0000000000000000000000000000000000000000000000000000000000000004", - "0000000000000000000000000000000000000000000000000000000000000040", - "0000000000000000000000000000000000000000000000000000000000000001", - "000000000000000000000000000000000000000000000000000000000000041c" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1052, - "op": "JUMPDEST", - "gas": 43716, - "gasCost": 1, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "0000000000000000000000000000000000000000000000000000000000000004", - "0000000000000000000000000000000000000000000000000000000000000040" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1053, - "op": "DUP2", - "gas": 43715, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "0000000000000000000000000000000000000000000000000000000000000004", - "0000000000000000000000000000000000000000000000000000000000000040" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1054, - "op": "ADD", - "gas": 43712, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "0000000000000000000000000000000000000000000000000000000000000004", - "0000000000000000000000000000000000000000000000000000000000000040", - "0000000000000000000000000000000000000000000000000000000000000004" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1055, - "op": "SWAP1", - "gas": 43709, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "0000000000000000000000000000000000000000000000000000000000000004", - "0000000000000000000000000000000000000000000000000000000000000044" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1056, - "op": "DUP1", - "gas": 43706, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "0000000000000000000000000000000000000000000000000000000000000044", - "0000000000000000000000000000000000000000000000000000000000000004" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1057, - "op": "DUP1", - "gas": 43703, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "0000000000000000000000000000000000000000000000000000000000000044", - "0000000000000000000000000000000000000000000000000000000000000004", - "0000000000000000000000000000000000000000000000000000000000000004" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1058, - "op": "CALLDATALOAD", - "gas": 43700, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "0000000000000000000000000000000000000000000000000000000000000044", - "0000000000000000000000000000000000000000000000000000000000000004", - "0000000000000000000000000000000000000000000000000000000000000004", - "0000000000000000000000000000000000000000000000000000000000000004" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1059, - "op": "PUSH20", - "gas": 43697, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "0000000000000000000000000000000000000000000000000000000000000044", - "0000000000000000000000000000000000000000000000000000000000000004", - "0000000000000000000000000000000000000000000000000000000000000004", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1080, - "op": "AND", - "gas": 43694, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "0000000000000000000000000000000000000000000000000000000000000044", - "0000000000000000000000000000000000000000000000000000000000000004", - "0000000000000000000000000000000000000000000000000000000000000004", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000ffffffffffffffffffffffffffffffffffffffff" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1081, - "op": "SWAP1", - "gas": 43691, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "0000000000000000000000000000000000000000000000000000000000000044", - "0000000000000000000000000000000000000000000000000000000000000004", - "0000000000000000000000000000000000000000000000000000000000000004", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1082, - "op": "PUSH1", - "gas": 43688, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "0000000000000000000000000000000000000000000000000000000000000044", - "0000000000000000000000000000000000000000000000000000000000000004", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000004" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1084, - "op": "ADD", - "gas": 43685, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "0000000000000000000000000000000000000000000000000000000000000044", - "0000000000000000000000000000000000000000000000000000000000000004", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000004", - "0000000000000000000000000000000000000000000000000000000000000020" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1085, - "op": "SWAP1", - "gas": 43682, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "0000000000000000000000000000000000000000000000000000000000000044", - "0000000000000000000000000000000000000000000000000000000000000004", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000024" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1086, - "op": "SWAP3", - "gas": 43679, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "0000000000000000000000000000000000000000000000000000000000000044", - "0000000000000000000000000000000000000000000000000000000000000004", - "0000000000000000000000000000000000000000000000000000000000000024", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1087, - "op": "SWAP2", - "gas": 43676, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000004", - "0000000000000000000000000000000000000000000000000000000000000024", - "0000000000000000000000000000000000000000000000000000000000000044" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1088, - "op": "SWAP1", - "gas": 43673, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000044", - "0000000000000000000000000000000000000000000000000000000000000024", - "0000000000000000000000000000000000000000000000000000000000000004" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1089, - "op": "DUP1", - "gas": 43670, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000044", - "0000000000000000000000000000000000000000000000000000000000000004", - "0000000000000000000000000000000000000000000000000000000000000024" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1090, - "op": "CALLDATALOAD", - "gas": 43667, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000044", - "0000000000000000000000000000000000000000000000000000000000000004", - "0000000000000000000000000000000000000000000000000000000000000024", - "0000000000000000000000000000000000000000000000000000000000000024" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1091, - "op": "SWAP1", - "gas": 43664, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000044", - "0000000000000000000000000000000000000000000000000000000000000004", - "0000000000000000000000000000000000000000000000000000000000000024", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1092, - "op": "PUSH1", - "gas": 43661, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000044", - "0000000000000000000000000000000000000000000000000000000000000004", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000024" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1094, - "op": "ADD", - "gas": 43658, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000044", - "0000000000000000000000000000000000000000000000000000000000000004", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000024", - "0000000000000000000000000000000000000000000000000000000000000020" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1095, - "op": "SWAP1", - "gas": 43655, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000044", - "0000000000000000000000000000000000000000000000000000000000000004", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000044" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1096, - "op": "SWAP3", - "gas": 43652, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000044", - "0000000000000000000000000000000000000000000000000000000000000004", - "0000000000000000000000000000000000000000000000000000000000000044", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1097, - "op": "SWAP2", - "gas": 43649, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000004", - "0000000000000000000000000000000000000000000000000000000000000044", - "0000000000000000000000000000000000000000000000000000000000000044" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1098, - "op": "SWAP1", - "gas": 43646, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000044", - "0000000000000000000000000000000000000000000000000000000000000044", - "0000000000000000000000000000000000000000000000000000000000000004" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1099, - "op": "POP", - "gas": 43643, - "gasCost": 2, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000044", - "0000000000000000000000000000000000000000000000000000000000000004", - "0000000000000000000000000000000000000000000000000000000000000044" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1100, - "op": "POP", - "gas": 43641, - "gasCost": 2, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000044", - "0000000000000000000000000000000000000000000000000000000000000004" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1101, - "op": "POP", - "gas": 43639, - "gasCost": 2, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000044" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1102, - "op": "PUSH2", - "gas": 43637, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 1105, - "op": "JUMP", - "gas": 43634, - "gasCost": 8, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000908" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 2312, - "op": "JUMPDEST", - "gas": 43626, - "gasCost": 1, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 2313, - "op": "PUSH1", - "gas": 43625, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 2315, - "op": "PUSH2", - "gas": 43622, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 2318, - "op": "PUSH2", - "gas": 43619, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 2321, - "op": "PUSH2", - "gas": 43616, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "0000000000000000000000000000000000000000000000000000000000000915" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 2324, - "op": "JUMP", - "gas": 43613, - "gasCost": 8, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "0000000000000000000000000000000000000000000000000000000000000915", - "00000000000000000000000000000000000000000000000000000000000009ad" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 2477, - "op": "JUMPDEST", - "gas": 43605, - "gasCost": 1, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "0000000000000000000000000000000000000000000000000000000000000915" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 2478, - "op": "PUSH1", - "gas": 43604, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "0000000000000000000000000000000000000000000000000000000000000915" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 2480, - "op": "CALLER", - "gas": 43601, - "gasCost": 2, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "0000000000000000000000000000000000000000000000000000000000000915", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 2481, - "op": "SWAP1", - "gas": 43599, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "0000000000000000000000000000000000000000000000000000000000000915", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 2482, - "op": "POP", - "gas": 43596, - "gasCost": 2, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "0000000000000000000000000000000000000000000000000000000000000915", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 2483, - "op": "SWAP1", - "gas": 43594, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "0000000000000000000000000000000000000000000000000000000000000915", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 2484, - "op": "JUMP", - "gas": 43591, - "gasCost": 8, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000915" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 2325, - "op": "JUMPDEST", - "gas": 43583, - "gasCost": 1, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 2326, - "op": "DUP5", - "gas": 43582, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 2327, - "op": "DUP5", - "gas": 43579, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 2328, - "op": "PUSH2", - "gas": 43576, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 2331, - "op": "JUMP", - "gas": 43573, - "gasCost": 8, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000bac" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 2988, - "op": "JUMPDEST", - "gas": 43565, - "gasCost": 1, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 2989, - "op": "PUSH1", - "gas": 43564, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 2991, - "op": "PUSH20", - "gas": 43561, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 3012, - "op": "AND", - "gas": 43558, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000ffffffffffffffffffffffffffffffffffffffff" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 3013, - "op": "DUP4", - "gas": 43555, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 3014, - "op": "PUSH20", - "gas": 43552, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 3035, - "op": "AND", - "gas": 43549, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ffffffffffffffffffffffffffffffffffffffff" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 3036, - "op": "EQ", - "gas": 43546, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 3037, - "op": "ISZERO", - "gas": 43543, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 3038, - "op": "PUSH2", - "gas": 43540, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000001" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 3041, - "op": "JUMPI", - "gas": 43537, - "gasCost": 10, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000001", - "0000000000000000000000000000000000000000000000000000000000000c32" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 3122, - "op": "JUMPDEST", - "gas": 43527, - "gasCost": 1, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 3123, - "op": "PUSH1", - "gas": 43526, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 3125, - "op": "PUSH20", - "gas": 43523, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 3146, - "op": "AND", - "gas": 43520, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000ffffffffffffffffffffffffffffffffffffffff" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 3147, - "op": "DUP3", - "gas": 43517, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 3148, - "op": "PUSH20", - "gas": 43514, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 3169, - "op": "AND", - "gas": 43511, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000ffffffffffffffffffffffffffffffffffffffff" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 3170, - "op": "EQ", - "gas": 43508, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 3171, - "op": "ISZERO", - "gas": 43505, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 3172, - "op": "PUSH2", - "gas": 43502, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000001" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 3175, - "op": "JUMPI", - "gas": 43499, - "gasCost": 10, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000001", - "0000000000000000000000000000000000000000000000000000000000000cb8" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 3256, - "op": "JUMPDEST", - "gas": 43489, - "gasCost": 1, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 3257, - "op": "PUSH2", - "gas": 43488, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 3260, - "op": "DUP4", - "gas": 43485, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000cc3" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 3261, - "op": "DUP4", - "gas": 43482, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000cc3", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 3262, - "op": "DUP4", - "gas": 43479, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000cc3", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 3263, - "op": "PUSH2", - "gas": 43476, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000cc3", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 3266, - "op": "JUMP", - "gas": 43473, - "gasCost": 8, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000cc3", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000faf" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 4015, - "op": "JUMPDEST", - "gas": 43465, - "gasCost": 1, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000cc3", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 4016, - "op": "POP", - "gas": 43464, - "gasCost": 2, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000cc3", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 4017, - "op": "POP", - "gas": 43462, - "gasCost": 2, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000cc3", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 4018, - "op": "POP", - "gas": 43460, - "gasCost": 2, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000cc3", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 4019, - "op": "JUMP", - "gas": 43458, - "gasCost": 8, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000cc3" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 3267, - "op": "JUMPDEST", - "gas": 43450, - "gasCost": 1, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 3268, - "op": "PUSH2", - "gas": 43449, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 3271, - "op": "DUP2", - "gas": 43446, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 3272, - "op": "PUSH1", - "gas": 43443, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 3274, - "op": "MLOAD", - "gas": 43440, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000040" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 3275, - "op": "DUP1", - "gas": 43437, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 3276, - "op": "PUSH1", - "gas": 43434, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 3278, - "op": "ADD", - "gas": 43431, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000060" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 3279, - "op": "PUSH1", - "gas": 43428, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "00000000000000000000000000000000000000000000000000000000000000e0" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 3281, - "op": "MSTORE", - "gas": 43425, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000040" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "storage": {} - }, - { - "pc": 3282, - "op": "DUP1", - "gas": 43422, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0" - ], - "storage": {} - }, - { - "pc": 3283, - "op": "PUSH1", - "gas": 43419, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0" - ], - "storage": {} - }, - { - "pc": 3285, - "op": "DUP2", - "gas": 43416, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000026" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0" - ], - "storage": {} - }, - { - "pc": 3286, - "op": "MSTORE", - "gas": 43413, - "gasCost": 9, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000026", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "storage": {} - }, - { - "pc": 3287, - "op": "PUSH1", - "gas": 43404, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026" - ], - "storage": {} - }, - { - "pc": 3289, - "op": "ADD", - "gas": 43401, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000020" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026" - ], - "storage": {} - }, - { - "pc": 3290, - "op": "PUSH2", - "gas": 43398, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "00000000000000000000000000000000000000000000000000000000000000a0" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026" - ], - "storage": {} - }, - { - "pc": 3293, - "op": "PUSH1", - "gas": 43395, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "00000000000000000000000000000000000000000000000000000000000000a0", - "0000000000000000000000000000000000000000000000000000000000000ffa" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026" - ], - "storage": {} - }, - { - "pc": 3295, - "op": "SWAP2", - "gas": 43392, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "00000000000000000000000000000000000000000000000000000000000000a0", - "0000000000000000000000000000000000000000000000000000000000000ffa", - "0000000000000000000000000000000000000000000000000000000000000026" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026" - ], - "storage": {} - }, - { - "pc": 3296, - "op": "CODECOPY", - "gas": 43389, - "gasCost": 15, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000026", - "0000000000000000000000000000000000000000000000000000000000000ffa", - "00000000000000000000000000000000000000000000000000000000000000a0" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "storage": {} - }, - { - "pc": 3297, - "op": "PUSH1", - "gas": 43374, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": {} - }, - { - "pc": 3299, - "op": "DUP1", - "gas": 43371, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": {} - }, - { - "pc": 3300, - "op": "DUP8", - "gas": 43368, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": {} - }, - { - "pc": 3301, - "op": "PUSH20", - "gas": 43365, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": {} - }, - { - "pc": 3322, - "op": "AND", - "gas": 43362, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ffffffffffffffffffffffffffffffffffffffff" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": {} - }, - { - "pc": 3323, - "op": "PUSH20", - "gas": 43359, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": {} - }, - { - "pc": 3344, - "op": "AND", - "gas": 43356, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ffffffffffffffffffffffffffffffffffffffff" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": {} - }, - { - "pc": 3345, - "op": "DUP2", - "gas": 43353, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": {} - }, - { - "pc": 3346, - "op": "MSTORE", - "gas": 43350, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": {} - }, - { - "pc": 3347, - "op": "PUSH1", - "gas": 43347, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": {} - }, - { - "pc": 3349, - "op": "ADD", - "gas": 43344, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000020" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": {} - }, - { - "pc": 3350, - "op": "SWAP1", - "gas": 43341, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000020" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": {} - }, - { - "pc": 3351, - "op": "DUP2", - "gas": 43338, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000020", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": {} - }, - { - "pc": 3352, - "op": "MSTORE", - "gas": 43335, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000020", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000020" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": {} - }, - { - "pc": 3353, - "op": "PUSH1", - "gas": 43332, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000020" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": {} - }, - { - "pc": 3355, - "op": "ADD", - "gas": 43329, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000020", - "0000000000000000000000000000000000000000000000000000000000000020" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": {} - }, - { - "pc": 3356, - "op": "PUSH1", - "gas": 43326, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000040" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": {} - }, - { - "pc": 3358, - "op": "SHA3", - "gas": 43323, - "gasCost": 42, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000040", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": {} - }, - { - "pc": 3359, - "op": "SLOAD", - "gas": 43281, - "gasCost": 800, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3360, - "op": "PUSH2", - "gas": 42481, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3363, - "op": "SWAP1", - "gas": 42478, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "00000000000000000000000000000000000000000000003635c9adc5de9fff7e", - "0000000000000000000000000000000000000000000000000000000000000e6d" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3364, - "op": "SWAP3", - "gas": 42475, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000e6d", - "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3365, - "op": "SWAP2", - "gas": 42472, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "00000000000000000000000000000000000000000000003635c9adc5de9fff7e", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000e6d", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3366, - "op": "SWAP1", - "gas": 42469, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "00000000000000000000000000000000000000000000003635c9adc5de9fff7e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000e6d", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3367, - "op": "PUSH4", - "gas": 42466, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "00000000000000000000000000000000000000000000003635c9adc5de9fff7e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000e6d" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3372, - "op": "AND", - "gas": 42463, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "00000000000000000000000000000000000000000000003635c9adc5de9fff7e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000e6d", - "00000000000000000000000000000000000000000000000000000000ffffffff" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3373, - "op": "JUMP", - "gas": 42460, - "gasCost": 8, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "00000000000000000000000000000000000000000000003635c9adc5de9fff7e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000e6d" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3693, - "op": "JUMPDEST", - "gas": 42452, - "gasCost": 1, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "00000000000000000000000000000000000000000000003635c9adc5de9fff7e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3694, - "op": "PUSH1", - "gas": 42451, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "00000000000000000000000000000000000000000000003635c9adc5de9fff7e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3696, - "op": "DUP4", - "gas": 42448, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "00000000000000000000000000000000000000000000003635c9adc5de9fff7e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3697, - "op": "DUP4", - "gas": 42445, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "00000000000000000000000000000000000000000000003635c9adc5de9fff7e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3698, - "op": "GT", - "gas": 42442, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "00000000000000000000000000000000000000000000003635c9adc5de9fff7e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000003635c9adc5de9fff7e", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3699, - "op": "ISZERO", - "gas": 42439, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "00000000000000000000000000000000000000000000003635c9adc5de9fff7e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3700, - "op": "DUP3", - "gas": 42436, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "00000000000000000000000000000000000000000000003635c9adc5de9fff7e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000001" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3701, - "op": "SWAP1", - "gas": 42433, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "00000000000000000000000000000000000000000000003635c9adc5de9fff7e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000001", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3702, - "op": "PUSH2", - "gas": 42430, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "00000000000000000000000000000000000000000000003635c9adc5de9fff7e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000001" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3705, - "op": "JUMPI", - "gas": 42427, - "gasCost": 10, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "00000000000000000000000000000000000000000000003635c9adc5de9fff7e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000001", - "0000000000000000000000000000000000000000000000000000000000000f1a" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3866, - "op": "JUMPDEST", - "gas": 42417, - "gasCost": 1, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "00000000000000000000000000000000000000000000003635c9adc5de9fff7e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3867, - "op": "POP", - "gas": 42416, - "gasCost": 2, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "00000000000000000000000000000000000000000000003635c9adc5de9fff7e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3868, - "op": "DUP3", - "gas": 42414, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "00000000000000000000000000000000000000000000003635c9adc5de9fff7e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3869, - "op": "DUP5", - "gas": 42411, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "00000000000000000000000000000000000000000000003635c9adc5de9fff7e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3870, - "op": "SUB", - "gas": 42408, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "00000000000000000000000000000000000000000000003635c9adc5de9fff7e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a", - "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3871, - "op": "SWAP1", - "gas": 42405, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "00000000000000000000000000000000000000000000003635c9adc5de9fff7e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3872, - "op": "POP", - "gas": 42402, - "gasCost": 2, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "00000000000000000000000000000000000000000000003635c9adc5de9fff7e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "00000000000000000000000000000000000000000000003635c9adc5de9fff74", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3873, - "op": "SWAP4", - "gas": 42400, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "00000000000000000000000000000000000000000000003635c9adc5de9fff7e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3874, - "op": "SWAP3", - "gas": 42397, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "00000000000000000000000000000000000000000000003635c9adc5de9fff74", - "00000000000000000000000000000000000000000000003635c9adc5de9fff7e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "0000000000000000000000000000000000000000000000000000000000000d2e" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3875, - "op": "POP", - "gas": 42394, - "gasCost": 2, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "00000000000000000000000000000000000000000000003635c9adc5de9fff74", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080", - "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3876, - "op": "POP", - "gas": 42392, - "gasCost": 2, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "00000000000000000000000000000000000000000000003635c9adc5de9fff74", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000080" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3877, - "op": "POP", - "gas": 42390, - "gasCost": 2, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "00000000000000000000000000000000000000000000003635c9adc5de9fff74", - "0000000000000000000000000000000000000000000000000000000000000d2e", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3878, - "op": "JUMP", - "gas": 42388, - "gasCost": 8, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "00000000000000000000000000000000000000000000003635c9adc5de9fff74", - "0000000000000000000000000000000000000000000000000000000000000d2e" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3374, - "op": "JUMPDEST", - "gas": 42380, - "gasCost": 1, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3375, - "op": "PUSH1", - "gas": 42379, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3377, - "op": "DUP1", - "gas": 42376, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "00000000000000000000000000000000000000000000003635c9adc5de9fff74", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3378, - "op": "DUP6", - "gas": 42373, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "00000000000000000000000000000000000000000000003635c9adc5de9fff74", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3379, - "op": "PUSH20", - "gas": 42370, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "00000000000000000000000000000000000000000000003635c9adc5de9fff74", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3400, - "op": "AND", - "gas": 42367, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "00000000000000000000000000000000000000000000003635c9adc5de9fff74", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ffffffffffffffffffffffffffffffffffffffff" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3401, - "op": "PUSH20", - "gas": 42364, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "00000000000000000000000000000000000000000000003635c9adc5de9fff74", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3422, - "op": "AND", - "gas": 42361, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "00000000000000000000000000000000000000000000003635c9adc5de9fff74", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ffffffffffffffffffffffffffffffffffffffff" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3423, - "op": "DUP2", - "gas": 42358, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "00000000000000000000000000000000000000000000003635c9adc5de9fff74", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3424, - "op": "MSTORE", - "gas": 42355, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "00000000000000000000000000000000000000000000003635c9adc5de9fff74", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3425, - "op": "PUSH1", - "gas": 42352, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "00000000000000000000000000000000000000000000003635c9adc5de9fff74", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3427, - "op": "ADD", - "gas": 42349, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "00000000000000000000000000000000000000000000003635c9adc5de9fff74", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000020" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3428, - "op": "SWAP1", - "gas": 42346, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "00000000000000000000000000000000000000000000003635c9adc5de9fff74", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000020" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3429, - "op": "DUP2", - "gas": 42343, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "00000000000000000000000000000000000000000000003635c9adc5de9fff74", - "0000000000000000000000000000000000000000000000000000000000000020", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3430, - "op": "MSTORE", - "gas": 42340, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "00000000000000000000000000000000000000000000003635c9adc5de9fff74", - "0000000000000000000000000000000000000000000000000000000000000020", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000020" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3431, - "op": "PUSH1", - "gas": 42337, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "00000000000000000000000000000000000000000000003635c9adc5de9fff74", - "0000000000000000000000000000000000000000000000000000000000000020" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3433, - "op": "ADD", - "gas": 42334, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "00000000000000000000000000000000000000000000003635c9adc5de9fff74", - "0000000000000000000000000000000000000000000000000000000000000020", - "0000000000000000000000000000000000000000000000000000000000000020" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3434, - "op": "PUSH1", - "gas": 42331, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "00000000000000000000000000000000000000000000003635c9adc5de9fff74", - "0000000000000000000000000000000000000000000000000000000000000040" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3436, - "op": "SHA3", - "gas": 42328, - "gasCost": 42, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "00000000000000000000000000000000000000000000003635c9adc5de9fff74", - "0000000000000000000000000000000000000000000000000000000000000040", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3437, - "op": "DUP2", - "gas": 42286, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "00000000000000000000000000000000000000000000003635c9adc5de9fff74", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3438, - "op": "SWAP1", - "gas": 42283, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "00000000000000000000000000000000000000000000003635c9adc5de9fff74", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551", - "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff7e" - } - }, - { - "pc": 3439, - "op": "SSTORE", - "gas": 42280, - "gasCost": 5000, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "00000000000000000000000000000000000000000000003635c9adc5de9fff74", - "00000000000000000000000000000000000000000000003635c9adc5de9fff74", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3440, - "op": "POP", - "gas": 37280, - "gasCost": 2, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3441, - "op": "PUSH2", - "gas": 37278, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3444, - "op": "DUP2", - "gas": 37275, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3445, - "op": "PUSH1", - "gas": 37272, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3447, - "op": "DUP1", - "gas": 37269, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3448, - "op": "DUP6", - "gas": 37266, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3449, - "op": "PUSH20", - "gas": 37263, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3470, - "op": "AND", - "gas": 37260, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000ffffffffffffffffffffffffffffffffffffffff" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3471, - "op": "PUSH20", - "gas": 37257, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3492, - "op": "AND", - "gas": 37254, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000ffffffffffffffffffffffffffffffffffffffff" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3493, - "op": "DUP2", - "gas": 37251, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3494, - "op": "MSTORE", - "gas": 37248, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3495, - "op": "PUSH1", - "gas": 37245, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3497, - "op": "ADD", - "gas": 37242, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000020" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3498, - "op": "SWAP1", - "gas": 37239, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000020" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3499, - "op": "DUP2", - "gas": 37236, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000020", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3500, - "op": "MSTORE", - "gas": 37233, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000020", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000020" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3501, - "op": "PUSH1", - "gas": 37230, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000020" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3503, - "op": "ADD", - "gas": 37227, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000020", - "0000000000000000000000000000000000000000000000000000000000000020" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3504, - "op": "PUSH1", - "gas": 37224, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000040" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3506, - "op": "SHA3", - "gas": 37221, - "gasCost": 42, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000040", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3507, - "op": "SLOAD", - "gas": 37179, - "gasCost": 800, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "000000000000000000000000000000000000000000000000000000000000000a", - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3508, - "op": "PUSH2", - "gas": 36379, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000082" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3511, - "op": "SWAP1", - "gas": 36376, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000082", - "0000000000000000000000000000000000000000000000000000000000000f27" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3512, - "op": "SWAP2", - "gas": 36373, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000f27", - "0000000000000000000000000000000000000000000000000000000000000082" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3513, - "op": "SWAP1", - "gas": 36370, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "0000000000000000000000000000000000000000000000000000000000000082", - "0000000000000000000000000000000000000000000000000000000000000f27", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3514, - "op": "PUSH4", - "gas": 36367, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "0000000000000000000000000000000000000000000000000000000000000082", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000f27" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3519, - "op": "AND", - "gas": 36364, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "0000000000000000000000000000000000000000000000000000000000000082", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000f27", - "00000000000000000000000000000000000000000000000000000000ffffffff" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3520, - "op": "JUMP", - "gas": 36361, - "gasCost": 8, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "0000000000000000000000000000000000000000000000000000000000000082", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000f27" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3879, - "op": "JUMPDEST", - "gas": 36353, - "gasCost": 1, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "0000000000000000000000000000000000000000000000000000000000000082", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3880, - "op": "PUSH1", - "gas": 36352, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "0000000000000000000000000000000000000000000000000000000000000082", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3882, - "op": "DUP1", - "gas": 36349, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "0000000000000000000000000000000000000000000000000000000000000082", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3883, - "op": "DUP3", - "gas": 36346, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "0000000000000000000000000000000000000000000000000000000000000082", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3884, - "op": "DUP5", - "gas": 36343, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "0000000000000000000000000000000000000000000000000000000000000082", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3885, - "op": "ADD", - "gas": 36340, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "0000000000000000000000000000000000000000000000000000000000000082", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000082" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3886, - "op": "SWAP1", - "gas": 36337, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "0000000000000000000000000000000000000000000000000000000000000082", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000008c" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3887, - "op": "POP", - "gas": 36334, - "gasCost": 2, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "0000000000000000000000000000000000000000000000000000000000000082", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000008c", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3888, - "op": "DUP4", - "gas": 36332, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "0000000000000000000000000000000000000000000000000000000000000082", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000008c" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3889, - "op": "DUP2", - "gas": 36329, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "0000000000000000000000000000000000000000000000000000000000000082", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000008c", - "0000000000000000000000000000000000000000000000000000000000000082" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3890, - "op": "LT", - "gas": 36326, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "0000000000000000000000000000000000000000000000000000000000000082", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000008c", - "0000000000000000000000000000000000000000000000000000000000000082", - "000000000000000000000000000000000000000000000000000000000000008c" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3891, - "op": "ISZERO", - "gas": 36323, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "0000000000000000000000000000000000000000000000000000000000000082", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000008c", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3892, - "op": "PUSH2", - "gas": 36320, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "0000000000000000000000000000000000000000000000000000000000000082", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000008c", - "0000000000000000000000000000000000000000000000000000000000000001" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3895, - "op": "JUMPI", - "gas": 36317, - "gasCost": 10, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "0000000000000000000000000000000000000000000000000000000000000082", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000008c", - "0000000000000000000000000000000000000000000000000000000000000001", - "0000000000000000000000000000000000000000000000000000000000000fa5" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 4005, - "op": "JUMPDEST", - "gas": 36307, - "gasCost": 1, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "0000000000000000000000000000000000000000000000000000000000000082", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000008c" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 4006, - "op": "DUP1", - "gas": 36306, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "0000000000000000000000000000000000000000000000000000000000000082", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000008c" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 4007, - "op": "SWAP2", - "gas": 36303, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "0000000000000000000000000000000000000000000000000000000000000082", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000008c", - "000000000000000000000000000000000000000000000000000000000000008c" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 4008, - "op": "POP", - "gas": 36300, - "gasCost": 2, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "0000000000000000000000000000000000000000000000000000000000000082", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000000000000000000000000000000000000000008c", - "000000000000000000000000000000000000000000000000000000000000008c", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 4009, - "op": "POP", - "gas": 36298, - "gasCost": 2, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "0000000000000000000000000000000000000000000000000000000000000082", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000000000000000000000000000000000000000008c", - "000000000000000000000000000000000000000000000000000000000000008c" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 4010, - "op": "SWAP3", - "gas": 36296, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "0000000000000000000000000000000000000000000000000000000000000082", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000000000000000000000000000000000000000008c" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 4011, - "op": "SWAP2", - "gas": 36293, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000000000000000000000000000000000000000008c", - "0000000000000000000000000000000000000000000000000000000000000082", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000dc1" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 4012, - "op": "POP", - "gas": 36290, - "gasCost": 2, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000000000000000000000000000000000000000008c", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000082" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 4013, - "op": "POP", - "gas": 36288, - "gasCost": 2, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000000000000000000000000000000000000000008c", - "0000000000000000000000000000000000000000000000000000000000000dc1", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 4014, - "op": "JUMP", - "gas": 36286, - "gasCost": 8, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000000000000000000000000000000000000000008c", - "0000000000000000000000000000000000000000000000000000000000000dc1" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3521, - "op": "JUMPDEST", - "gas": 36278, - "gasCost": 1, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000000000000000000000000000000000000000008c" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3522, - "op": "PUSH1", - "gas": 36277, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000000000000000000000000000000000000000008c" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3524, - "op": "DUP1", - "gas": 36274, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000000000000000000000000000000000000000008c", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3525, - "op": "DUP5", - "gas": 36271, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000000000000000000000000000000000000000008c", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3526, - "op": "PUSH20", - "gas": 36268, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000000000000000000000000000000000000000008c", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3547, - "op": "AND", - "gas": 36265, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000000000000000000000000000000000000000008c", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000ffffffffffffffffffffffffffffffffffffffff" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3548, - "op": "PUSH20", - "gas": 36262, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000000000000000000000000000000000000000008c", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3569, - "op": "AND", - "gas": 36259, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000000000000000000000000000000000000000008c", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000ffffffffffffffffffffffffffffffffffffffff" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3570, - "op": "DUP2", - "gas": 36256, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000000000000000000000000000000000000000008c", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3571, - "op": "MSTORE", - "gas": 36253, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000000000000000000000000000000000000000008c", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3572, - "op": "PUSH1", - "gas": 36250, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000000000000000000000000000000000000000008c", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3574, - "op": "ADD", - "gas": 36247, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000000000000000000000000000000000000000008c", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000020" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3575, - "op": "SWAP1", - "gas": 36244, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000000000000000000000000000000000000000008c", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000020" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3576, - "op": "DUP2", - "gas": 36241, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000000000000000000000000000000000000000008c", - "0000000000000000000000000000000000000000000000000000000000000020", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3577, - "op": "MSTORE", - "gas": 36238, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000000000000000000000000000000000000000008c", - "0000000000000000000000000000000000000000000000000000000000000020", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000020" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3578, - "op": "PUSH1", - "gas": 36235, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000000000000000000000000000000000000000008c", - "0000000000000000000000000000000000000000000000000000000000000020" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3580, - "op": "ADD", - "gas": 36232, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000000000000000000000000000000000000000008c", - "0000000000000000000000000000000000000000000000000000000000000020", - "0000000000000000000000000000000000000000000000000000000000000020" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3581, - "op": "PUSH1", - "gas": 36229, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000000000000000000000000000000000000000008c", - "0000000000000000000000000000000000000000000000000000000000000040" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3583, - "op": "SHA3", - "gas": 36226, - "gasCost": 42, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000000000000000000000000000000000000000008c", - "0000000000000000000000000000000000000000000000000000000000000040", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3584, - "op": "DUP2", - "gas": 36184, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000000000000000000000000000000000000000008c", - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3585, - "op": "SWAP1", - "gas": 36181, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000000000000000000000000000000000000000008c", - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308", - "000000000000000000000000000000000000000000000000000000000000008c" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "0000000000000000000000000000000000000000000000000000000000000082", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3586, - "op": "SSTORE", - "gas": 36178, - "gasCost": 5000, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000000000000000000000000000000000000000008c", - "000000000000000000000000000000000000000000000000000000000000008c", - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3587, - "op": "POP", - "gas": 31178, - "gasCost": 2, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000000000000000000000000000000000000000008c" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3588, - "op": "DUP2", - "gas": 31176, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3589, - "op": "PUSH20", - "gas": 31173, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3610, - "op": "AND", - "gas": 31170, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000ffffffffffffffffffffffffffffffffffffffff" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3611, - "op": "DUP4", - "gas": 31167, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3612, - "op": "PUSH20", - "gas": 31164, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3633, - "op": "AND", - "gas": 31161, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ffffffffffffffffffffffffffffffffffffffff" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3634, - "op": "PUSH32", - "gas": 31158, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3667, - "op": "DUP4", - "gas": 31155, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3668, - "op": "PUSH1", - "gas": 31152, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3670, - "op": "MLOAD", - "gas": 31149, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000040" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3671, - "op": "DUP1", - "gas": 31146, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "000000000000000000000000000000000000000000000000000000000000000a", - "00000000000000000000000000000000000000000000000000000000000000e0" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3672, - "op": "DUP3", - "gas": 31143, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "000000000000000000000000000000000000000000000000000000000000000a", - "00000000000000000000000000000000000000000000000000000000000000e0", - "00000000000000000000000000000000000000000000000000000000000000e0" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3673, - "op": "DUP2", - "gas": 31140, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "000000000000000000000000000000000000000000000000000000000000000a", - "00000000000000000000000000000000000000000000000000000000000000e0", - "00000000000000000000000000000000000000000000000000000000000000e0", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3674, - "op": "MSTORE", - "gas": 31137, - "gasCost": 6, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "000000000000000000000000000000000000000000000000000000000000000a", - "00000000000000000000000000000000000000000000000000000000000000e0", - "00000000000000000000000000000000000000000000000000000000000000e0", - "000000000000000000000000000000000000000000000000000000000000000a", - "00000000000000000000000000000000000000000000000000000000000000e0" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3675, - "op": "PUSH1", - "gas": 31131, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "000000000000000000000000000000000000000000000000000000000000000a", - "00000000000000000000000000000000000000000000000000000000000000e0", - "00000000000000000000000000000000000000000000000000000000000000e0" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3677, - "op": "ADD", - "gas": 31128, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "000000000000000000000000000000000000000000000000000000000000000a", - "00000000000000000000000000000000000000000000000000000000000000e0", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000020" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3678, - "op": "SWAP2", - "gas": 31125, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "000000000000000000000000000000000000000000000000000000000000000a", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000100" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3679, - "op": "POP", - "gas": 31122, - "gasCost": 2, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0000000000000000000000000000000000000000000000000000000000000100", - "00000000000000000000000000000000000000000000000000000000000000e0", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3680, - "op": "POP", - "gas": 31120, - "gasCost": 2, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0000000000000000000000000000000000000000000000000000000000000100", - "00000000000000000000000000000000000000000000000000000000000000e0" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3681, - "op": "PUSH1", - "gas": 31118, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0000000000000000000000000000000000000000000000000000000000000100" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3683, - "op": "MLOAD", - "gas": 31115, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0000000000000000000000000000000000000000000000000000000000000100", - "0000000000000000000000000000000000000000000000000000000000000040" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3684, - "op": "DUP1", - "gas": 31112, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0000000000000000000000000000000000000000000000000000000000000100", - "00000000000000000000000000000000000000000000000000000000000000e0" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3685, - "op": "SWAP2", - "gas": 31109, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0000000000000000000000000000000000000000000000000000000000000100", - "00000000000000000000000000000000000000000000000000000000000000e0", - "00000000000000000000000000000000000000000000000000000000000000e0" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3686, - "op": "SUB", - "gas": 31106, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "00000000000000000000000000000000000000000000000000000000000000e0", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000100" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3687, - "op": "SWAP1", - "gas": 31103, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000020" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3688, - "op": "LOG3", - "gas": 31100, - "gasCost": 1756, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0000000000000000000000000000000000000000000000000000000000000020", - "00000000000000000000000000000000000000000000000000000000000000e0" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3689, - "op": "POP", - "gas": 29344, - "gasCost": 2, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3690, - "op": "POP", - "gas": 29342, - "gasCost": 2, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3691, - "op": "POP", - "gas": 29340, - "gasCost": 2, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c", - "000000000000000000000000dc7d7a8920c8eecc098da5b7522a5f31509b5bfc" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 3692, - "op": "JUMP", - "gas": 29338, - "gasCost": 8, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000091c" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 2332, - "op": "JUMPDEST", - "gas": 29330, - "gasCost": 1, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 2333, - "op": "PUSH1", - "gas": 29329, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 2335, - "op": "SWAP1", - "gas": 29326, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000001" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 2336, - "op": "POP", - "gas": 29323, - "gasCost": 2, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000001", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 2337, - "op": "SWAP3", - "gas": 29321, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000001" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 2338, - "op": "SWAP2", - "gas": 29318, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000001", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "000000000000000000000000000000000000000000000000000000000000000a", - "0000000000000000000000000000000000000000000000000000000000000452" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 2339, - "op": "POP", - "gas": 29315, - "gasCost": 2, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000001", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000000000000000000000000000000000000000000a", - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 2340, - "op": "POP", - "gas": 29313, - "gasCost": 2, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000001", - "0000000000000000000000000000000000000000000000000000000000000452", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 2341, - "op": "JUMP", - "gas": 29311, - "gasCost": 8, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000001", - "0000000000000000000000000000000000000000000000000000000000000452" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 1106, - "op": "JUMPDEST", - "gas": 29303, - "gasCost": 1, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000001" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 1107, - "op": "PUSH1", - "gas": 29302, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000001" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 1109, - "op": "MLOAD", - "gas": 29299, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000001", - "0000000000000000000000000000000000000000000000000000000000000040" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 1110, - "op": "DUP1", - "gas": 29296, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000001", - "00000000000000000000000000000000000000000000000000000000000000e0" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 1111, - "op": "DUP3", - "gas": 29293, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000001", - "00000000000000000000000000000000000000000000000000000000000000e0", - "00000000000000000000000000000000000000000000000000000000000000e0" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 1112, - "op": "ISZERO", - "gas": 29290, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000001", - "00000000000000000000000000000000000000000000000000000000000000e0", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000001" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 1113, - "op": "ISZERO", - "gas": 29287, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000001", - "00000000000000000000000000000000000000000000000000000000000000e0", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 1114, - "op": "ISZERO", - "gas": 29284, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000001", - "00000000000000000000000000000000000000000000000000000000000000e0", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000001" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 1115, - "op": "ISZERO", - "gas": 29281, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000001", - "00000000000000000000000000000000000000000000000000000000000000e0", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 1116, - "op": "DUP2", - "gas": 29278, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000001", - "00000000000000000000000000000000000000000000000000000000000000e0", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000001" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 1117, - "op": "MSTORE", - "gas": 29275, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000001", - "00000000000000000000000000000000000000000000000000000000000000e0", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000001", - "00000000000000000000000000000000000000000000000000000000000000e0" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 1118, - "op": "PUSH1", - "gas": 29272, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000001", - "00000000000000000000000000000000000000000000000000000000000000e0", - "00000000000000000000000000000000000000000000000000000000000000e0" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000001" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 1120, - "op": "ADD", - "gas": 29269, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000001", - "00000000000000000000000000000000000000000000000000000000000000e0", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000020" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000001" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 1121, - "op": "SWAP2", - "gas": 29266, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000001", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000100" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000001" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 1122, - "op": "POP", - "gas": 29263, - "gasCost": 2, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000100", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000001" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000001" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 1123, - "op": "POP", - "gas": 29261, - "gasCost": 2, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000100", - "00000000000000000000000000000000000000000000000000000000000000e0" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000001" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 1124, - "op": "PUSH1", - "gas": 29259, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000100" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000001" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 1126, - "op": "MLOAD", - "gas": 29256, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000100", - "0000000000000000000000000000000000000000000000000000000000000040" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000001" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 1127, - "op": "DUP1", - "gas": 29253, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000100", - "00000000000000000000000000000000000000000000000000000000000000e0" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000001" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 1128, - "op": "SWAP2", - "gas": 29250, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000100", - "00000000000000000000000000000000000000000000000000000000000000e0", - "00000000000000000000000000000000000000000000000000000000000000e0" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000001" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 1129, - "op": "SUB", - "gas": 29247, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "00000000000000000000000000000000000000000000000000000000000000e0", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000100" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000001" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 1130, - "op": "SWAP1", - "gas": 29244, - "gasCost": 3, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000020" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000001" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - }, - { - "pc": 1131, - "op": "RETURN", - "gas": 29241, - "gasCost": 0, - "depth": 1, - "stack": [ - "00000000000000000000000000000000000000000000000000000000a9059cbb", - "0000000000000000000000000000000000000000000000000000000000000020", - "00000000000000000000000000000000000000000000000000000000000000e0" - ], - "memory": [ - "000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d61", - "0000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000e0", - "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000026", - "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "616c616e63650000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000001" - ], - "storage": { - "3f4d79ac2ed65acb44ed36bc1fab8c5712901098d07ab70aed80c57b661ff308": "000000000000000000000000000000000000000000000000000000000000008c", - "dd5bd0648a3a7d6676a76987da53587350881ce8952dcecc79c29c5b4fa8b551": "00000000000000000000000000000000000000000000003635c9adc5de9fff74" - } - } - ] -} diff --git a/packages/tracing-client/test/tx/erc20-transfer.json b/packages/tracing-client/test/tx/erc20-transfer.json deleted file mode 100644 index bd0a5547..00000000 --- a/packages/tracing-client/test/tx/erc20-transfer.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "from": "0xDC7d7A8920C8Eecc098da5B7522a5F31509b5Bfc", - "to": "0x1ca7c995f8eF0A2989BbcE08D5B7Efe50A584aa1", - "data": "0xa9059cbb000000000000000000000000ca6d29232d1435d8198e3e5302495417dd073d610000000000000000000000000000000000000000000000000de0b6b3a7640000" -} \ No newline at end of file diff --git a/packages/tracing-client/test/tx/mainnet-test.json b/packages/tracing-client/test/tx/mainnet-test.json deleted file mode 100644 index a955dda1..00000000 --- a/packages/tracing-client/test/tx/mainnet-test.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "from": "0x66b6d6e78fbc4575f5197ae15af62f5dc7d48349", - "to": "0xBA11D00c5f74255f56a5E366F4F77f5A186d7f55", - "data": "0xa9059cbb0000000000000000000000009acbb72cf67103a30333a32cd203459c6a9c33110000000000000000000000000000000000000000000001b17762dcdde1bc1000" -} \ No newline at end of file diff --git a/packages/tracing-client/test/tx/rinkeby-test.json b/packages/tracing-client/test/tx/rinkeby-test.json deleted file mode 100644 index 98e2fe93..00000000 --- a/packages/tracing-client/test/tx/rinkeby-test.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "from": "0x633f5500a87c3dbb9c15f4d41ed5a33dacaf4184", - "to": "0x586c82144eb8c0a64c654ef30463524c759a8f30", - "data": "0xade823420000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000008430783339363062396537626136316337666236623662396263616637356538613138616636306138333564326162383064623665326162346430646336393863666633323062356561353235303466323831656338313337393733353835396334313336343561633136616163613232386439343939643066623631663866326537316200000000000000000000000000000000000000000000000000000000" -} \ No newline at end of file diff --git a/packages/tracing-client/tracers/address_tracer.js b/packages/tracing-client/tracers/address_tracer.js deleted file mode 100644 index 01e80dd8..00000000 --- a/packages/tracing-client/tracers/address_tracer.js +++ /dev/null @@ -1,79 +0,0 @@ -// -// Copyright 2021 Vulcanize, Inc. -// - -{ - minVanityAddressLength: 35, - - excludedAddresses: [ - "0x0000000000000000000000000000000000000000", - "0xffffffffffffffffffffffffffffffffffffffff" - ], - - // Known vanity addresses. Empty by default, but can replace this object when making dynamic requests. - // Burner addresses go here too. - knownVanityAddresses: { - // "0x000026b86Ac8B3c08ADDEeacd7ee19e807D94742": true - }, - - data: {}, - - isAddress: function(log, db, value) { - // More than 40 chars or too small in length, so not an address. - if (value.length > 40 || value.length < this.minVanityAddressLength) { - return { isAddress: false }; - } - - var address = toAddress(value); - var addressAsHex = toHex(address); - - // Check list of known exclusions. - if (this.excludedAddresses.indexOf(addressAsHex) != -1) { - return { isAddress: false }; - } - - // Address exists in db, so definitely an address. - if (db.exists(address)) { - return { isAddress: true, address: addressAsHex, confidence: 1 }; - } - - // May still be a valid address (e.g. for ERC20 transfer). - // It won't exist in DB e.g. if no ETH was sent to it directly. - // Apply heuristics. - - // Length heuristic - addresses are usually 40 bytes. - if (value.length == 40 && log.op.isPush()) { - return { isAddress: true, address: addressAsHex, confidence: 0.75 }; - } - - // Vanity addresses might start with leading zeros, so length will be < 40. - // But we use a min length of addresses, otherwise there are too many false positives. - // Also use a known vanity address list to override the normal logic. - if (this.knownVanityAddresses[addressAsHex] || (log.op.isPush() && value.length > this.minVanityAddressLength)) { - return { isAddress: true, address: addressAsHex, confidence: 0.60 }; - } - - return { isAddress: false }; - }, - - // step is invoked for every opcode that the VM executes. - step: function(log, db) { - if (log.stack.length()) { - var topOfStack = log.stack.peek(0).toString(16); - var result = this.isAddress(log, db, topOfStack); - - if (result.isAddress) { - this.data[result.address] = result.confidence; - } - } - }, - - // fault is invoked when the actual execution of an opcode fails. - fault: function(log, db) { }, - - // result is invoked when all the opcodes have been iterated over and returns - // the final result of the tracing. - result: function(ctx, db) { - return this.data; - } -} \ No newline at end of file diff --git a/packages/tracing-client/tracers/call_address_tracer.js b/packages/tracing-client/tracers/call_address_tracer.js deleted file mode 100644 index 81200b5e..00000000 --- a/packages/tracing-client/tracers/call_address_tracer.js +++ /dev/null @@ -1,356 +0,0 @@ -// Based on call_tracer.js in go-ethereum -// -// Original Notice: -// -// Copyright 2017 The go-ethereum Authors -// This file is part of the go-ethereum library. -// -// The go-ethereum library is free software: you can redistribute it and/or modify -// it under the terms of the GNU Lesser General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// The go-ethereum library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with the go-ethereum library. If not, see . - -// callTracer is a full blown transaction tracer that extracts and reports all -// the internal calls made by a transaction, along with any useful information. - -// addressTracer is a tracer that watches for address like strings for each call. -{ - minVanityAddressLength: 35, - - excludedAddresses: [ - "0x0000000000000000000000000000000000000000", - "0xffffffffffffffffffffffffffffffffffffffff" - ], - - // Known vanity addresses. Empty by default, but can replace this object when making dynamic requests. - // Burner addresses go here too. - knownVanityAddresses: { - // "0x000026b86Ac8B3c08ADDEeacd7ee19e807D94742": true - }, - - prevStepOp: '', - - // Cache of values known to be an address in the global state/db. - cacheExistingAccounts: {}, - - isAddress: function(log, db, value) { - // More than 40 chars or too small in length, so not an address. - if (value.length > 40 || value.length < this.minVanityAddressLength) { - return { isAddress: false }; - } - - var address = toAddress(value); - var addressAsHex = toHex(address); - - // Check list of known exclusions. - if (this.excludedAddresses.indexOf(addressAsHex) != -1) { - return { isAddress: false }; - } - - // Address exists in db, so definitely an address. - if (this.cacheExistingAccounts[addressAsHex] || db.exists(address)) { - this.cacheExistingAccounts[addressAsHex] = true; - return { isAddress: true, address: addressAsHex, confidence: 1 }; - } - - // May still be a valid address (e.g. for ERC20 transfer). - // It won't exist in DB e.g. if no ETH was sent to it directly. - // Apply heuristics. - - // Length heuristic - addresses are usually 40 bytes. - if (value.length == 40 && log.op.isPush()) { - return { isAddress: true, address: addressAsHex, confidence: 0.75 }; - } - - // Vanity addresses might start with leading zeros, so length will be < 40. - // But we use a min length of addresses, otherwise there are too many false positives. - // Also use a known vanity address list to override the normal logic. - if (this.knownVanityAddresses[addressAsHex] || (log.op.isPush() && value.length > this.minVanityAddressLength)) { - return { isAddress: true, address: addressAsHex, confidence: 0.60 }; - } - - return { isAddress: false }; - }, - - // callstack is the current recursive call stack of the EVM execution. - callstack: [{}], - - // descended tracks whether we've just descended from an outer transaction into - // an inner call. - descended: false, - - // step is invoked for every opcode that the VM executes. - step: function(log, db) { - // Capture any errors immediately - var error = log.getError(); - if (error !== undefined) { - this.fault(log, db); - - this.prevStepOp = log.op.toString(); - - return; - } - // We only care about system opcodes, faster if we pre-check once - var syscall = (log.op.toNumber() & 0xf0) == 0xf0; - if (syscall) { - var op = log.op.toString(); - } - // If a new contract is being created, add to the call stack - if (syscall && (op == 'CREATE' || op == "CREATE2")) { - var inOff = log.stack.peek(1).valueOf(); - var inEnd = inOff + log.stack.peek(2).valueOf(); - - // Assemble the internal call report and store for completion - var call = { - type: op, - from: toHex(log.contract.getAddress()), - input: toHex(log.memory.slice(inOff, inEnd)), - gasIn: log.getGas(), - gasCost: log.getCost(), - value: '0x' + log.stack.peek(0).toString(16) - }; - this.callstack.push(call); - this.descended = true; - - this.prevStepOp = log.op.toString(); - - return; - } - // If a contract is being self destructed, gather that as a subcall too - if (syscall && op == 'SELFDESTRUCT') { - var left = this.callstack.length; - if (this.callstack[left-1].calls === undefined) { - this.callstack[left-1].calls = []; - } - this.callstack[left-1].calls.push({ - type: op, - from: toHex(log.contract.getAddress()), - to: toHex(toAddress(log.stack.peek(0).toString(16))), - gasIn: log.getGas(), - gasCost: log.getCost(), - value: '0x' + db.getBalance(log.contract.getAddress()).toString(16) - }); - - this.prevStepOp = log.op.toString(); - - return - } - // If a new method invocation is being done, add to the call stack - if (syscall && (op == 'CALL' || op == 'CALLCODE' || op == 'DELEGATECALL' || op == 'STATICCALL')) { - // Skip any pre-compile invocations, those are just fancy opcodes - var to = toAddress(log.stack.peek(1).toString(16)); - if (isPrecompiled(to)) { - this.prevStepOp = log.op.toString(); - - return - } - var off = (op == 'DELEGATECALL' || op == 'STATICCALL' ? 0 : 1); - - var inOff = log.stack.peek(2 + off).valueOf(); - var inEnd = inOff + log.stack.peek(3 + off).valueOf(); - - // Assemble the internal call report and store for completion - var call = { - type: op, - from: toHex(log.contract.getAddress()), - to: toHex(to), - input: toHex(log.memory.slice(inOff, inEnd)), - gasIn: log.getGas(), - gasCost: log.getCost(), - outOff: log.stack.peek(4 + off).valueOf(), - outLen: log.stack.peek(5 + off).valueOf() - }; - if (op != 'DELEGATECALL' && op != 'STATICCALL') { - call.value = '0x' + log.stack.peek(2).toString(16); - } - this.callstack.push(call); - this.descended = true; - - this.prevStepOp = log.op.toString(); - - return; - } - // If we've just descended into an inner call, retrieve it's true allowance. We - // need to extract if from within the call as there may be funky gas dynamics - // with regard to requested and actually given gas (2300 stipend, 63/64 rule). - if (this.descended) { - if (log.getDepth() >= this.callstack.length) { - this.callstack[this.callstack.length - 1].gas = log.getGas(); - } else { - // TODO(karalabe): The call was made to a plain account. We currently don't - // have access to the true gas amount inside the call and so any amount will - // mostly be wrong since it depends on a lot of input args. Skip gas for now. - } - this.descended = false; - } - // If an existing call is returning, pop off the call stack - if (syscall && op == 'REVERT') { - this.callstack[this.callstack.length - 1].error = "execution reverted"; - - this.prevStepOp = log.op.toString(); - - return; - } - if (log.getDepth() == this.callstack.length - 1) { - // Pop off the last call and get the execution results - var call = this.callstack.pop(); - - if (call.type == 'CREATE' || call.type == "CREATE2") { - // If the call was a CREATE, retrieve the contract address and output code - call.gasUsed = '0x' + bigInt(call.gasIn - call.gasCost - log.getGas()).toString(16); - delete call.gasIn; delete call.gasCost; - - var ret = log.stack.peek(0); - if (!ret.equals(0)) { - call.to = toHex(toAddress(ret.toString(16))); - call.output = toHex(db.getCode(toAddress(ret.toString(16)))); - } else if (call.error === undefined) { - call.error = "internal failure"; // TODO(karalabe): surface these faults somehow - } - } else { - // If the call was a contract call, retrieve the gas usage and output - if (call.gas !== undefined) { - call.gasUsed = '0x' + bigInt(call.gasIn - call.gasCost + call.gas - log.getGas()).toString(16); - } - var ret = log.stack.peek(0); - if (!ret.equals(0)) { - call.output = toHex(log.memory.slice(call.outOff, call.outOff + call.outLen)); - } else if (call.error === undefined) { - call.error = "internal failure"; // TODO(karalabe): surface these faults somehow - } - delete call.gasIn; delete call.gasCost; - delete call.outOff; delete call.outLen; - } - if (call.gas !== undefined) { - call.gas = '0x' + bigInt(call.gas).toString(16); - } - // Inject the call into the previous one - var left = this.callstack.length; - if (this.callstack[left-1].calls === undefined) { - this.callstack[left-1].calls = []; - } - this.callstack[left-1].calls.push(call); - } - - if (log.stack.length()) { - var topOfStack = log.stack.peek(0).toString(16); - var result = this.isAddress(log, db, topOfStack); - if (result.isAddress) { - var call = this.callstack[this.callstack.length - 1]; - if (!call.addresses) { - call.addresses = {}; - } - - if (!call.addresses[result.address]) { - call.addresses[result.address] = { confidence: result.confidence, opcodes: [] }; - } - - call.addresses[result.address].opcodes.push(this.prevStepOp); - } - } - - this.prevStepOp = log.op.toString(); - }, - - // fault is invoked when the actual execution of an opcode fails. - fault: function(log, db) { - // If the topmost call already reverted, don't handle the additional fault again - if (this.callstack[this.callstack.length - 1].error !== undefined) { - return; - } - // Pop off the just failed call - var call = this.callstack.pop(); - call.error = log.getError(); - - // Consume all available gas and clean any leftovers - if (call.gas !== undefined) { - call.gas = '0x' + bigInt(call.gas).toString(16); - call.gasUsed = call.gas - } - delete call.gasIn; delete call.gasCost; - delete call.outOff; delete call.outLen; - - // Flatten the failed call into its parent - var left = this.callstack.length; - if (left > 0) { - if (this.callstack[left-1].calls === undefined) { - this.callstack[left-1].calls = []; - } - this.callstack[left-1].calls.push(call); - return; - } - // Last call failed too, leave it in the stack - this.callstack.push(call); - }, - - // result is invoked when all the opcodes have been iterated over and returns - // the final result of the tracing. - result: function(ctx, db) { - var result = { - type: ctx.type, - from: toHex(ctx.from), - to: toHex(ctx.to), - value: '0x' + ctx.value.toString(16), - gas: '0x' + bigInt(ctx.gas).toString(16), - gasUsed: '0x' + bigInt(ctx.gasUsed).toString(16), - input: toHex(ctx.input), - output: toHex(ctx.output), - time: ctx.time, - }; - if (this.callstack[0].calls !== undefined) { - result.calls = this.callstack[0].calls; - } - if (this.callstack[0].error !== undefined) { - result.error = this.callstack[0].error; - } else if (ctx.error !== undefined) { - result.error = ctx.error; - } - if (result.error !== undefined && (result.error !== "execution reverted" || result.output ==="0x")) { - delete result.output; - } - if (this.callstack[0].addresses !== undefined) { - result.addresses = this.callstack[0].addresses; - } - - return this.finalize(result); - }, - - // finalize recreates a call object using the final desired field oder for json - // serialization. This is a nicety feature to pass meaningfully ordered results - // to users who don't interpret it, just display it. - finalize: function(call) { - var sorted = { - type: call.type, - from: call.from, - to: call.to, - value: call.value, - gas: call.gas, - gasUsed: call.gasUsed, - input: call.input, - output: call.output, - error: call.error, - time: call.time, - calls: call.calls, - addresses: call.addresses, - } - for (var key in sorted) { - if (sorted[key] === undefined) { - delete sorted[key]; - } - } - if (sorted.calls !== undefined) { - for (var i=0; i. - -// callTracer is a full blown transaction tracer that extracts and reports all -// the internal calls made by a transaction, along with any useful information. -{ - // callstack is the current recursive call stack of the EVM execution. - callstack: [{}], - - // descended tracks whether we've just descended from an outer transaction into - // an inner call. - descended: false, - - // step is invoked for every opcode that the VM executes. - step: function(log, db) { - // Capture any errors immediately - var error = log.getError(); - if (error !== undefined) { - this.fault(log, db); - return; - } - // We only care about system opcodes, faster if we pre-check once - var syscall = (log.op.toNumber() & 0xf0) == 0xf0; - if (syscall) { - var op = log.op.toString(); - } - // If a new contract is being created, add to the call stack - if (syscall && (op == 'CREATE' || op == "CREATE2")) { - var inOff = log.stack.peek(1).valueOf(); - var inEnd = inOff + log.stack.peek(2).valueOf(); - - // Assemble the internal call report and store for completion - var call = { - type: op, - from: toHex(log.contract.getAddress()), - input: toHex(log.memory.slice(inOff, inEnd)), - gasIn: log.getGas(), - gasCost: log.getCost(), - value: '0x' + log.stack.peek(0).toString(16) - }; - this.callstack.push(call); - this.descended = true - return; - } - // If a contract is being self destructed, gather that as a subcall too - if (syscall && op == 'SELFDESTRUCT') { - var left = this.callstack.length; - if (this.callstack[left-1].calls === undefined) { - this.callstack[left-1].calls = []; - } - this.callstack[left-1].calls.push({ - type: op, - from: toHex(log.contract.getAddress()), - to: toHex(toAddress(log.stack.peek(0).toString(16))), - gasIn: log.getGas(), - gasCost: log.getCost(), - value: '0x' + db.getBalance(log.contract.getAddress()).toString(16) - }); - return - } - // If a new method invocation is being done, add to the call stack - if (syscall && (op == 'CALL' || op == 'CALLCODE' || op == 'DELEGATECALL' || op == 'STATICCALL')) { - // Skip any pre-compile invocations, those are just fancy opcodes - var to = toAddress(log.stack.peek(1).toString(16)); - if (isPrecompiled(to)) { - return - } - var off = (op == 'DELEGATECALL' || op == 'STATICCALL' ? 0 : 1); - - var inOff = log.stack.peek(2 + off).valueOf(); - var inEnd = inOff + log.stack.peek(3 + off).valueOf(); - - // Assemble the internal call report and store for completion - var call = { - type: op, - from: toHex(log.contract.getAddress()), - to: toHex(to), - input: toHex(log.memory.slice(inOff, inEnd)), - gasIn: log.getGas(), - gasCost: log.getCost(), - outOff: log.stack.peek(4 + off).valueOf(), - outLen: log.stack.peek(5 + off).valueOf() - }; - if (op != 'DELEGATECALL' && op != 'STATICCALL') { - call.value = '0x' + log.stack.peek(2).toString(16); - } - this.callstack.push(call); - this.descended = true - return; - } - // If we've just descended into an inner call, retrieve it's true allowance. We - // need to extract if from within the call as there may be funky gas dynamics - // with regard to requested and actually given gas (2300 stipend, 63/64 rule). - if (this.descended) { - if (log.getDepth() >= this.callstack.length) { - this.callstack[this.callstack.length - 1].gas = log.getGas(); - } else { - // TODO(karalabe): The call was made to a plain account. We currently don't - // have access to the true gas amount inside the call and so any amount will - // mostly be wrong since it depends on a lot of input args. Skip gas for now. - } - this.descended = false; - } - // If an existing call is returning, pop off the call stack - if (syscall && op == 'REVERT') { - this.callstack[this.callstack.length - 1].error = "execution reverted"; - return; - } - if (log.getDepth() == this.callstack.length - 1) { - // Pop off the last call and get the execution results - var call = this.callstack.pop(); - - if (call.type == 'CREATE' || call.type == "CREATE2") { - // If the call was a CREATE, retrieve the contract address and output code - call.gasUsed = '0x' + bigInt(call.gasIn - call.gasCost - log.getGas()).toString(16); - delete call.gasIn; delete call.gasCost; - - var ret = log.stack.peek(0); - if (!ret.equals(0)) { - call.to = toHex(toAddress(ret.toString(16))); - call.output = toHex(db.getCode(toAddress(ret.toString(16)))); - } else if (call.error === undefined) { - call.error = "internal failure"; // TODO(karalabe): surface these faults somehow - } - } else { - // If the call was a contract call, retrieve the gas usage and output - if (call.gas !== undefined) { - call.gasUsed = '0x' + bigInt(call.gasIn - call.gasCost + call.gas - log.getGas()).toString(16); - } - var ret = log.stack.peek(0); - if (!ret.equals(0)) { - call.output = toHex(log.memory.slice(call.outOff, call.outOff + call.outLen)); - } else if (call.error === undefined) { - call.error = "internal failure"; // TODO(karalabe): surface these faults somehow - } - delete call.gasIn; delete call.gasCost; - delete call.outOff; delete call.outLen; - } - if (call.gas !== undefined) { - call.gas = '0x' + bigInt(call.gas).toString(16); - } - // Inject the call into the previous one - var left = this.callstack.length; - if (this.callstack[left-1].calls === undefined) { - this.callstack[left-1].calls = []; - } - this.callstack[left-1].calls.push(call); - } - }, - - // fault is invoked when the actual execution of an opcode fails. - fault: function(log, db) { - // If the topmost call already reverted, don't handle the additional fault again - if (this.callstack[this.callstack.length - 1].error !== undefined) { - return; - } - // Pop off the just failed call - var call = this.callstack.pop(); - call.error = log.getError(); - - // Consume all available gas and clean any leftovers - if (call.gas !== undefined) { - call.gas = '0x' + bigInt(call.gas).toString(16); - call.gasUsed = call.gas - } - delete call.gasIn; delete call.gasCost; - delete call.outOff; delete call.outLen; - - // Flatten the failed call into its parent - var left = this.callstack.length; - if (left > 0) { - if (this.callstack[left-1].calls === undefined) { - this.callstack[left-1].calls = []; - } - this.callstack[left-1].calls.push(call); - return; - } - // Last call failed too, leave it in the stack - this.callstack.push(call); - }, - - // result is invoked when all the opcodes have been iterated over and returns - // the final result of the tracing. - result: function(ctx, db) { - var result = { - type: ctx.type, - from: toHex(ctx.from), - to: toHex(ctx.to), - value: '0x' + ctx.value.toString(16), - gas: '0x' + bigInt(ctx.gas).toString(16), - gasUsed: '0x' + bigInt(ctx.gasUsed).toString(16), - input: toHex(ctx.input), - output: toHex(ctx.output), - time: ctx.time, - }; - if (this.callstack[0].calls !== undefined) { - result.calls = this.callstack[0].calls; - } - if (this.callstack[0].error !== undefined) { - result.error = this.callstack[0].error; - } else if (ctx.error !== undefined) { - result.error = ctx.error; - } - if (result.error !== undefined && (result.error !== "execution reverted" || result.output ==="0x")) { - delete result.output; - } - return this.finalize(result); - }, - - // finalize recreates a call object using the final desired field oder for json - // serialization. This is a nicety feature to pass meaningfully ordered results - // to users who don't interpret it, just display it. - finalize: function(call) { - var sorted = { - type: call.type, - from: call.from, - to: call.to, - value: call.value, - gas: call.gas, - gasUsed: call.gasUsed, - input: call.input, - output: call.output, - error: call.error, - time: call.time, - calls: call.calls, - } - for (var key in sorted) { - if (sorted[key] === undefined) { - delete sorted[key]; - } - } - if (sorted.calls !== undefined) { - for (var i=0; i => { const jobRunner = new JobRunner(jobQueueConfig, indexer, jobQueue); await jobRunner.start(); - await startMetricsServer(metrics.host, metrics.port); + await startMetricsServer(metrics); }; main().then(() => { diff --git a/packages/uni-watcher/package.json b/packages/uni-watcher/package.json index d7426e4c..1e0ce476 100644 --- a/packages/uni-watcher/package.json +++ b/packages/uni-watcher/package.json @@ -41,14 +41,12 @@ "@types/lodash": "^4.14.168", "@vulcanize/cache": "^0.1.0", "@vulcanize/ipld-eth-client": "^0.1.0", - "@vulcanize/solidity-mapper": "^0.1.0", "@vulcanize/util": "^0.1.0", "apollo-server-express": "^2.25.0", "apollo-type-bigint": "^0.1.3", "debug": "^4.3.1", "ethers": "^5.2.0", "express": "^4.17.1", - "graphql": "^15.5.0", "graphql-import-node": "^0.0.4", "graphql-request": "^3.4.0", "json-bigint": "^1.0.0", diff --git a/packages/uni-watcher/src/job-runner.ts b/packages/uni-watcher/src/job-runner.ts index 1bacdad0..28ff38bb 100644 --- a/packages/uni-watcher/src/job-runner.ts +++ b/packages/uni-watcher/src/job-runner.ts @@ -106,7 +106,7 @@ export const main = async (): Promise => { const jobRunner = new JobRunner(jobQueueConfig, indexer, jobQueue); await jobRunner.start(); - startMetricsServer(metrics.host, metrics.port); + startMetricsServer(metrics); }; main().then(() => { diff --git a/packages/util/package.json b/packages/util/package.json index 0588ed62..8fcf9f27 100644 --- a/packages/util/package.json +++ b/packages/util/package.json @@ -5,6 +5,7 @@ "license": "AGPL-3.0", "dependencies": { "@vulcanize/solidity-mapper": "^0.1.0", + "@ethersproject/providers": "5.3.0", "csv-writer": "^1.6.0", "debug": "^4.3.1", "decimal.js": "^10.3.1", @@ -15,7 +16,8 @@ "pg-boss": "^6.1.0", "prom-client": "^14.0.1", "toml": "^3.0.0", - "yargs": "^17.0.1" + "yargs": "^17.0.1", + "express": "^4.17.1" }, "devDependencies": { "@types/fs-extra": "^9.0.11", @@ -24,6 +26,7 @@ "@uniswap/v3-periphery": "1.0.0", "@vulcanize/cache": "^0.1.0", "@vulcanize/ipld-eth-client": "^0.1.0", + "@nomiclabs/hardhat-waffle": "^2.0.1", "apollo-server-express": "^2.25.0", "eslint": "^7.27.0", "eslint-config-semistandard": "^15.0.1", diff --git a/packages/util/src/config.ts b/packages/util/src/config.ts index dc436c31..056e259e 100644 --- a/packages/util/src/config.ts +++ b/packages/util/src/config.ts @@ -33,7 +33,7 @@ interface ServerConfig { kind: string; } -interface MetricsConfig { +export interface MetricsConfig { host: string; port: number; } diff --git a/packages/util/src/metrics.ts b/packages/util/src/metrics.ts index 189de07b..cc554798 100644 --- a/packages/util/src/metrics.ts +++ b/packages/util/src/metrics.ts @@ -1,5 +1,11 @@ import promClient, { register } from 'prom-client'; import express, { Application } from 'express'; +import debug from 'debug'; +import assert from 'assert'; + +import { MetricsConfig } from './config'; + +const log = debug('vulcanize:metrics'); // Create custom metrics export const lastProcessedBlock = new promClient.Gauge({ @@ -20,7 +26,15 @@ export const lastBlockNumEvents = new promClient.Gauge({ // Export metrics on a server const app: Application = express(); -export async function startMetricsServer (host: string, port: number): Promise { +export async function startMetricsServer (metrics: MetricsConfig): Promise { + if (!metrics) { + log('Metrics is disabled. To enable add metrics host and port.'); + return; + } + + assert(metrics.host, 'Missing config for metrics host'); + assert(metrics.port, 'Missing config for metrics port'); + // Add default metrics promClient.collectDefaultMetrics(); @@ -31,7 +45,7 @@ export async function startMetricsServer (host: string, port: number): Promise { - console.log(`Metrics exposed at http://${host}:${port}/metrics`); + app.listen(metrics.port, metrics.host, () => { + log(`Metrics exposed at http://${metrics.host}:${metrics.port}/metrics`); }); } diff --git a/scripts/reset-dbs.sh b/scripts/reset-dbs.sh index 57c5d4ef..85454c10 100755 --- a/scripts/reset-dbs.sh +++ b/scripts/reset-dbs.sh @@ -8,17 +8,14 @@ then export PGPASSWORD=postgres dropdb erc20-watcher - dropdb address-watcher dropdb uni-watcher dropdb uni-info-watcher createdb erc20-watcher - createdb address-watcher createdb uni-watcher createdb uni-info-watcher psql -d erc20-watcher-job-queue -c "delete from pgboss.job;" - psql -d address-watcher-job-queue -c "delete from pgboss.job;" psql -d uni-watcher-job-queue -c "delete from pgboss.job;" psql -d uni-info-watcher-job-queue -c "delete from pgboss.job;" EOF diff --git a/yarn.lock b/yarn.lock index be34c282..6c661606 100644 --- a/yarn.lock +++ b/yarn.lock @@ -190,18 +190,6 @@ "@babel/helper-validator-identifier" "^7.14.9" to-fast-properties "^2.0.0" -"@cspotcode/source-map-consumer@0.8.0": - version "0.8.0" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz#33bf4b7b39c178821606f669bbc447a6a629786b" - integrity sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg== - -"@cspotcode/source-map-support@0.6.1": - version "0.6.1" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.6.1.tgz#118511f316e2e87ee4294761868e254d3da47960" - integrity sha512-DX3Z+T5dt1ockmPdobJS/FAsQPW4V4SrWEhD2iYQT2Cb2tQsiMnYxrcUH9By/Z3B+v0S5LMBkQtV/XOBbpLEOg== - dependencies: - "@cspotcode/source-map-consumer" "0.8.0" - "@ensdomains/ens@^0.4.4": version "0.4.5" resolved "https://registry.yarnpkg.com/@ensdomains/ens/-/ens-0.4.5.tgz#e0aebc005afdc066447c6e22feb4eda89a5edbfc" @@ -401,21 +389,6 @@ "@ethersproject/properties" "^5.3.0" "@ethersproject/strings" "^5.3.0" -"@ethersproject/abi@5.3.1": - version "5.3.1" - resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.3.1.tgz#69a1a496729d3a83521675a57cbe21f3cc27241c" - integrity sha512-F98FWTJG7nWWAQ4DcV6R0cSlrj67MWK3ylahuFbzkumem5cLWg1p7fZ3vIdRoS1c7TEf55Lvyx0w7ICR47IImw== - dependencies: - "@ethersproject/address" "^5.3.0" - "@ethersproject/bignumber" "^5.3.0" - "@ethersproject/bytes" "^5.3.0" - "@ethersproject/constants" "^5.3.0" - "@ethersproject/hash" "^5.3.0" - "@ethersproject/keccak256" "^5.3.0" - "@ethersproject/logger" "^5.3.0" - "@ethersproject/properties" "^5.3.0" - "@ethersproject/strings" "^5.3.0" - "@ethersproject/abstract-provider@5.2.0": version "5.2.0" resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.2.0.tgz#b5c24b162f119b5d241738ded9555186013aa77d" @@ -736,13 +709,6 @@ dependencies: "@ethersproject/logger" "^5.3.0" -"@ethersproject/networks@5.3.1": - version "5.3.1" - resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.3.1.tgz#78fe08324cee289ce239acf8c746121934b2ef61" - integrity sha512-6uQKHkYChlsfeiZhQ8IHIqGE/sQsf25o9ZxAYpMxi15dLPzz3IxOEF5KiSD32aHwsjXVBKBSlo+teAXLlYJybw== - dependencies: - "@ethersproject/logger" "^5.3.0" - "@ethersproject/pbkdf2@5.2.0": version "5.2.0" resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.2.0.tgz#8166a7a7238a5fd1d9bb6eb2000fea0f19fdde06" @@ -823,31 +789,6 @@ bech32 "1.1.4" ws "7.4.6" -"@ethersproject/providers@5.3.1": - version "5.3.1" - resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.3.1.tgz#a12c6370e8cbc0968c9744641b8ef90b0dd5ec2b" - integrity sha512-HC63vENTrur6/JKEhcQbA8PRDj1FAesdpX98IW+xAAo3EAkf70ou5fMIA3KCGzJDLNTeYA4C2Bonz849tVLekg== - dependencies: - "@ethersproject/abstract-provider" "^5.3.0" - "@ethersproject/abstract-signer" "^5.3.0" - "@ethersproject/address" "^5.3.0" - "@ethersproject/basex" "^5.3.0" - "@ethersproject/bignumber" "^5.3.0" - "@ethersproject/bytes" "^5.3.0" - "@ethersproject/constants" "^5.3.0" - "@ethersproject/hash" "^5.3.0" - "@ethersproject/logger" "^5.3.0" - "@ethersproject/networks" "^5.3.0" - "@ethersproject/properties" "^5.3.0" - "@ethersproject/random" "^5.3.0" - "@ethersproject/rlp" "^5.3.0" - "@ethersproject/sha2" "^5.3.0" - "@ethersproject/strings" "^5.3.0" - "@ethersproject/transactions" "^5.3.0" - "@ethersproject/web" "^5.3.0" - bech32 "1.1.4" - ws "7.4.6" - "@ethersproject/random@5.2.0": version "5.2.0" resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.2.0.tgz#1d7e19f17d88eda56228a263063826829e49eebe" @@ -1994,20 +1935,6 @@ resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-3.4.1-solc-0.7-2.tgz#371c67ebffe50f551c3146a9eec5fe6ffe862e92" integrity sha512-tAG9LWg8+M2CMu7hIsqHPaTyG4uDzjr6mhvH96LvOpLZZj6tgzTluBt+LsCf1/QaYrlis6pITvpIaIhE+iZB+Q== -"@openzeppelin/contracts@^4.3.2": - version "4.3.2" - resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-4.3.2.tgz#ff80affd6d352dbe1bbc5b4e1833c41afd6283b6" - integrity sha512-AybF1cesONZStg5kWf6ao9OlqTZuPqddvprc0ky7lrUVOjXeKpmQ2Y9FK+6ygxasb+4aic4O5pneFBfwVsRRRg== - -"@poanet/solidity-flattener@https://github.com/vulcanize/solidity-flattener.git": - version "3.0.6" - resolved "https://github.com/vulcanize/solidity-flattener.git#9c8a22b9c43515be306646a177a43636fd95aaae" - dependencies: - bunyan "^1.8.12" - decomment "^0.9.1" - glob-promise "^3.4.0" - path "^0.12.7" - "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" @@ -2190,13 +2117,6 @@ resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.11.1.tgz#fa840af64840c930f24a9c82c08d4a092a068add" integrity sha512-H8BSBoKE8EubJa0ONqecA2TviT3TnHeC4NpgnAHSUiuhZoQBfPB4L2P9bs8R6AoTW10Endvh3vc+fomVMIDIYQ== -"@solidity-parser/parser@^0.13.2": - version "0.13.2" - resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.13.2.tgz#b6c71d8ca0b382d90a7bbed241f9bc110af65cbe" - integrity sha512-RwHnpRnfrnD2MSPveYoPh8nhofEvX7fgjHk1Oq+NNvCcLx4r1js91CO9o+F/F3fBzOCyvm8kKRTriFICX/odWw== - dependencies: - antlr4ts "^0.5.0-alpha.4" - "@sqltools/formatter@^1.2.2": version "1.2.3" resolved "https://registry.yarnpkg.com/@sqltools/formatter/-/formatter-1.2.3.tgz#1185726610acc37317ddab11c3c7f9066966bd20" @@ -2234,11 +2154,6 @@ resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.1.tgz#a6ca6a9a0ff366af433f42f5f0e124794ff6b8f1" integrity sha512-FTgBI767POY/lKNDNbIzgAX6miIDBs6NTCbdlDb8TrWovHsSvaVIZDlTqym29C6UqhzwcJx4CYr+AlrMywA0cA== -"@tsconfig/node16@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.2.tgz#423c77877d0569db20e1fc80885ac4118314010e" - integrity sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA== - "@typechain/ethers-v5@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@typechain/ethers-v5/-/ethers-v5-2.0.0.tgz#cd3ca1590240d587ca301f4c029b67bfccd08810" @@ -2285,11 +2200,6 @@ resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.2.18.tgz#0c8e298dbff8205e2266606c1ea5fbdba29b46e4" integrity sha512-rS27+EkB/RE1Iz3u0XtVL5q36MGDWbgYe7zWiodyKNUnthxY0rukK5V36eiUCtCisB7NN8zKYH6DO2M37qxFEQ== -"@types/chai@^4.2.19": - version "4.2.19" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.2.19.tgz#80f286b515897413c7a35bdda069cc80f2344233" - integrity sha512-jRJgpRBuY+7izT7/WNXP/LsMO9YonsstuL+xuvycDyESpoDoIAsMd7suwpB4h9oEWB+ZlPTqJJ8EHomzNhwTPQ== - "@types/chance@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@types/chance/-/chance-1.1.2.tgz#0f397c17e9d5a9e83914e767ca6f419b2ded09dd" @@ -2392,14 +2302,6 @@ dependencies: "@types/node" "*" -"@types/glob@*": - version "7.1.4" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.4.tgz#ea59e21d2ee5c517914cb4bc8e4153b99e566672" - integrity sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA== - dependencies: - "@types/minimatch" "*" - "@types/node" "*" - "@types/http-assert@*": version "1.5.1" resolved "https://registry.yarnpkg.com/@types/http-assert/-/http-assert-1.5.1.tgz#d775e93630c2469c2f980fc27e3143240335db3b" @@ -2410,11 +2312,6 @@ resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-1.8.0.tgz#682477dbbbd07cd032731cb3b0e7eaee3d026b69" integrity sha512-2aoSC4UUbHDj2uCsCxcG/vRMXey/m17bC7UwitVm5hn22nI8O8Y9iDpA76Orc+DWkQ4zZrOKEshCqR/jSuXAHA== -"@types/js-yaml@^4.0.3": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-4.0.3.tgz#9f33cd6fbf0d5ec575dc8c8fc69c7fec1b4eb200" - integrity sha512-5t9BhoORasuF5uCPr+d5/hdB++zRFUTMIZOzbNkr+jZh3yQht4HYbRDyj9fY8n2TZT30iW9huzav73x4NikqWg== - "@types/json-bigint@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@types/json-bigint/-/json-bigint-1.0.0.tgz#7a4726540cc6fe47cfa54b9b3022b89cf7fe1517" @@ -2498,11 +2395,6 @@ resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== -"@types/minimatch@*": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" - integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== - "@types/minimatch@^3.0.3": version "3.0.4" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.4.tgz#f0ec25dbf2f0e4b18647313ac031134ca5b24b21" @@ -2553,21 +2445,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.13.tgz#e743bae112bd779ac9650f907197dd2caa7f0364" integrity sha512-1x8W5OpxPq+T85OUsHRP6BqXeosKmeXRtjoF39STcdf/UWLqUsoehstZKOi0CunhVqHG17AyZgpj20eRVooK6A== -"@types/node@^16.9.0": - version "16.9.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.9.1.tgz#0611b37db4246c937feef529ddcc018cf8e35708" - integrity sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g== - "@types/normalize-package-data@^2.4.0": version "2.4.0" resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== -"@types/object-path@0.11.1": - version "0.11.1" - resolved "https://registry.yarnpkg.com/@types/object-path/-/object-path-0.11.1.tgz#eea5b357518597fc9c0a067ea3147f599fc1514f" - integrity sha512-219LSCO9HPcoXcRTC6DbCs0FRhZgBnEMzf16RRqkT40WbkKx3mOeQuz3e2XqbfhOz/AHfbru0kzB1n1RCAsIIg== - "@types/parse-json@^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" @@ -2969,21 +2851,11 @@ acorn-jsx@^5.3.1: resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== -acorn-walk@^8.1.1: - version "8.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" - integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== - acorn@^7.4.0: version "7.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.4.1: - version "8.5.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2" - integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q== - add-stream@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" @@ -3116,11 +2988,6 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: dependencies: color-convert "^2.0.1" -antlr4ts@^0.5.0-alpha.4: - version "0.5.0-alpha.4" - resolved "https://registry.yarnpkg.com/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz#71702865a87478ed0b40c0709f422cf14d51652a" - integrity sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ== - any-promise@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" @@ -3397,23 +3264,11 @@ array-includes@^3.1.3: get-intrinsic "^1.1.1" is-string "^1.0.5" -array-union@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= - dependencies: - array-uniq "^1.0.1" - array-union@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= - array-unique@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" @@ -4393,16 +4248,6 @@ builtins@^1.0.3: resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" integrity sha1-y5T662HIaWRR2zZTThQi+U8K7og= -bunyan@^1.8.12: - version "1.8.15" - resolved "https://registry.yarnpkg.com/bunyan/-/bunyan-1.8.15.tgz#8ce34ca908a17d0776576ca1b2f6cbd916e93b46" - integrity sha512-0tECWShh6wUysgucJcBAoYegf3JJoZWibxdqhTm7OHPeT42qdjkZ29QCMcKwbgU1kiH+auSIasNRXMLWXafXig== - optionalDependencies: - dtrace-provider "~0.8" - moment "^2.19.3" - mv "~2" - safe-json-stringify "~1" - busboy@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/busboy/-/busboy-0.3.1.tgz#170899274c5bf38aae27d5c62b71268cd585fd1b" @@ -4927,7 +4772,7 @@ commander@3.0.2, commander@^3.0.0: resolved "https://registry.yarnpkg.com/commander/-/commander-3.0.2.tgz#6837c3fb677ad9933d1cfba42dd14d5117d6b39e" integrity sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow== -commander@^2.15.1, commander@^2.20.3: +commander@^2.20.3: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== @@ -5410,13 +5255,6 @@ decode-uri-component@^0.2.0: resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= -decomment@^0.9.1: - version "0.9.4" - resolved "https://registry.yarnpkg.com/decomment/-/decomment-0.9.4.tgz#fa40335bd90e3826d5c1984276e390525ff856d5" - integrity sha512-8eNlhyI5cSU4UbBlrtagWpR03dqXcE5IR9zpe7PnO6UzReXDskucsD8usgrzUmQ6qJ3N82aws/p/mu/jqbURWw== - dependencies: - esprima "4.0.1" - decompress-response@^3.2.0, decompress-response@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" @@ -5535,18 +5373,6 @@ defined@~1.0.0: resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= -del@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5" - integrity sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU= - dependencies: - globby "^6.1.0" - is-path-cwd "^1.0.0" - is-path-in-cwd "^1.0.0" - p-map "^1.1.1" - pify "^3.0.0" - rimraf "^2.2.8" - delay@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d" @@ -5742,13 +5568,6 @@ dotignore@~0.1.2: dependencies: minimatch "^3.0.4" -dtrace-provider@~0.8: - version "0.8.8" - resolved "https://registry.yarnpkg.com/dtrace-provider/-/dtrace-provider-0.8.8.tgz#2996d5490c37e1347be263b423ed7b297fb0d97e" - integrity sha512-b7Z7cNtHPhH9EJhNNbbeqTcXB8LGFFZhq1PGgEvpeHlzd36bhbdTWoE/Ba/YguqpBSlAPKnARWhVlhunCMwfxg== - dependencies: - nan "^2.14.0" - duplexer3@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" @@ -6136,7 +5955,7 @@ espree@^7.3.0, espree@^7.3.1: acorn-jsx "^5.3.1" eslint-visitor-keys "^1.3.0" -esprima@4.0.1, esprima@^4.0.0: +esprima@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== @@ -6643,42 +6462,6 @@ ethers@^5.2.0: "@ethersproject/web" "5.3.0" "@ethersproject/wordlists" "5.3.0" -ethers@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.3.1.tgz#1f018f0aeb651576cd84fd987a45f0b99646d761" - integrity sha512-xCKmC0gsZ9gks89ZfK3B1y6LlPdvX5fxDtu9SytnpdDJR1M7pmJI+4H0AxQPMgUYr7GtQdmECLR0gWdJQ+lZYw== - dependencies: - "@ethersproject/abi" "5.3.1" - "@ethersproject/abstract-provider" "5.3.0" - "@ethersproject/abstract-signer" "5.3.0" - "@ethersproject/address" "5.3.0" - "@ethersproject/base64" "5.3.0" - "@ethersproject/basex" "5.3.0" - "@ethersproject/bignumber" "5.3.0" - "@ethersproject/bytes" "5.3.0" - "@ethersproject/constants" "5.3.0" - "@ethersproject/contracts" "5.3.0" - "@ethersproject/hash" "5.3.0" - "@ethersproject/hdnode" "5.3.0" - "@ethersproject/json-wallets" "5.3.0" - "@ethersproject/keccak256" "5.3.0" - "@ethersproject/logger" "5.3.0" - "@ethersproject/networks" "5.3.1" - "@ethersproject/pbkdf2" "5.3.0" - "@ethersproject/properties" "5.3.0" - "@ethersproject/providers" "5.3.1" - "@ethersproject/random" "5.3.0" - "@ethersproject/rlp" "5.3.0" - "@ethersproject/sha2" "5.3.0" - "@ethersproject/signing-key" "5.3.0" - "@ethersproject/solidity" "5.3.0" - "@ethersproject/strings" "5.3.0" - "@ethersproject/transactions" "5.3.0" - "@ethersproject/units" "5.3.0" - "@ethersproject/wallet" "5.3.0" - "@ethersproject/web" "5.3.0" - "@ethersproject/wordlists" "5.3.0" - ethjs-unit@0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" @@ -7444,13 +7227,6 @@ glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@^5.1.1, glob-parent@~5.1.0, dependencies: is-glob "^4.0.1" -glob-promise@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/glob-promise/-/glob-promise-3.4.0.tgz#b6b8f084504216f702dc2ce8c9bc9ac8866fdb20" - integrity sha512-q08RJ6O+eJn+dVanerAndJwIcumgbDdYiUT7zFQl3Wm1xD6fBKtah7H8ZJChj4wP+8C+QfeVy8xautR7rdmKEw== - dependencies: - "@types/glob" "*" - glob@7.1.3: version "7.1.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" @@ -7475,17 +7251,6 @@ glob@7.1.6: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^6.0.1: - version "6.0.4" - resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" - integrity sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI= - dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "2 || 3" - once "^1.3.0" - path-is-absolute "^1.0.0" - glob@^7.0.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.1.6: version "7.1.7" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" @@ -7498,18 +7263,6 @@ glob@^7.0.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, gl once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.3: - version "7.2.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - global-dirs@^2.0.1: version "2.1.0" resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-2.1.0.tgz#e9046a49c806ff04d6c1825e196c8f0091e8df4d" @@ -7561,17 +7314,6 @@ globby@^11.0.1, globby@^11.0.2: merge2 "^1.3.0" slash "^3.0.0" -globby@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" - integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= - dependencies: - array-union "^1.0.1" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - got@9.6.0, got@^9.6.0: version "9.6.0" resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" @@ -7609,28 +7351,11 @@ got@^7.1.0: url-parse-lax "^1.0.0" url-to-options "^1.0.1" -"gql-generator@https://github.com/vulcanize/gql-generator.git": - version "1.0.13" - resolved "https://github.com/vulcanize/gql-generator.git#0b818b1d41bd383c860d1c88082b7b1f5831c272" - dependencies: - commander "^2.15.1" - del "^3.0.0" - graphql "^0.13.2" - graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.3: version "4.2.6" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== -graphql-compose@^9.0.3: - version "9.0.3" - resolved "https://registry.yarnpkg.com/graphql-compose/-/graphql-compose-9.0.3.tgz#57aeafb8f663f3769cb3509048dee5c573ba6369" - integrity sha512-kul0p/roHLycru4iHxfWCi4nWUi3Ea4HNwlwDHEpfMbAVsJEQS1tq02Ne1JoDCg/9ADFOJLo3Sf/07C5uupUYw== - dependencies: - "@types/object-path" "0.11.1" - graphql-type-json "0.3.2" - object-path "0.11.7" - graphql-extensions@^0.15.0: version "0.15.0" resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.15.0.tgz#3f291f9274876b0c289fa4061909a12678bd9817" @@ -7691,18 +7416,6 @@ graphql-tools@^4.0.8: iterall "^1.1.3" uuid "^3.1.0" -graphql-type-json@0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/graphql-type-json/-/graphql-type-json-0.3.2.tgz#f53a851dbfe07bd1c8157d24150064baab41e115" - integrity sha512-J+vjof74oMlCWXSvt0DOf2APEdZOCdubEvGDUAlqH//VBYcOYsGgRW7Xzorr44LvkjiuvecWc8fChxuZZbChtg== - -graphql@^0.13.2: - version "0.13.2" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-0.13.2.tgz#4c740ae3c222823e7004096f832e7b93b2108270" - integrity sha512-QZ5BL8ZO/B20VA8APauGBg3GyEgZ19eduvpLWoq5x7gMmWnHoy8rlQWPLmWgFvo1yNgjSEFMesmS4R6pPr7xog== - dependencies: - iterall "^1.2.1" - graphql@^14.0.2: version "14.7.0" resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.7.0.tgz#7fa79a80a69be4a31c27dda824dc04dac2035a72" @@ -7725,7 +7438,7 @@ growl@1.10.5: resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== -handlebars@^4.7.6, handlebars@^4.7.7: +handlebars@^4.7.6: version "4.7.7" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== @@ -8519,25 +8232,6 @@ is-object@^1.0.1: resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.2.tgz#a56552e1c665c9e950b4a025461da87e72f86fcf" integrity sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA== -is-path-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" - integrity sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0= - -is-path-in-cwd@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52" - integrity sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ== - dependencies: - is-path-inside "^1.0.0" - -is-path-inside@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" - integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= - dependencies: - path-is-inside "^1.0.1" - is-path-inside@^3.0.1: version "3.0.3" resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" @@ -9891,7 +9585,7 @@ minimalistic-crypto-utils@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= -"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.4: +minimatch@3.0.4, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== @@ -10018,7 +9712,7 @@ mkdirp@*, mkdirp@^1.0.3, mkdirp@^1.0.4: resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== -mkdirp@0.5.5, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1: +mkdirp@0.5.5, mkdirp@^0.5.0, mkdirp@^0.5.1: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== @@ -10103,11 +9797,6 @@ modify-values@^1.0.0: resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== -moment@^2.19.3: - version "2.29.1" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3" - integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ== - ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" @@ -10184,15 +9873,6 @@ mute-stream@0.0.8, mute-stream@~0.0.4: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== -mv@~2: - version "2.1.1" - resolved "https://registry.yarnpkg.com/mv/-/mv-2.1.1.tgz#ae6ce0d6f6d5e0a4f7d893798d03c1ea9559b6a2" - integrity sha1-rmzg1vbV4KT32JN5jQPB6pVZtqI= - dependencies: - mkdirp "~0.5.1" - ncp "~2.0.0" - rimraf "~2.4.0" - mz@^2.4.0: version "2.7.0" resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" @@ -10249,11 +9929,6 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= -ncp@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3" - integrity sha1-GVoh1sRuNh0vsSgbo4uR6d9727M= - negotiator@0.6.2, negotiator@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" @@ -10304,11 +9979,6 @@ node-fetch@2.6.1, node-fetch@^2.2.0, node-fetch@^2.6.0, node-fetch@^2.6.1: resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== -node-fetch@^2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.2.tgz#986996818b73785e47b1965cc34eb093a1d464d0" - integrity sha512-aLoxToI6RfZ+0NOjmWAgn9+LEd30YCkJKFSyWacNZdEKTit/ZMcKjGkTRo8uWEsnIb/hfKecNPEbln02PdWbcA== - node-fetch@^2.6.5: version "2.6.6" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.6.tgz#1751a7c01834e8e1697758732e9efb6eeadfaf89" @@ -10610,11 +10280,6 @@ object-keys@~0.4.0: resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336" integrity sha1-KKaq50KN0sOpLz2V8hM13SBOAzY= -object-path@0.11.7: - version "0.11.7" - resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.11.7.tgz#5f211161f34bb395e4b13a5f565b79d933b6f65d" - integrity sha512-T4evaK9VfGGQskXBDILcn6F90ZD+WO3OwRFFQ2rmZdUH4vQeDBpiolTpVlPY2yj5xSepyILTjDyM6UvbbdHMZw== - object-path@^0.11.4: version "0.11.5" resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.11.5.tgz#d4e3cf19601a5140a55a16ad712019a9c50b577a" @@ -10827,11 +10492,6 @@ p-map-series@^2.1.0: resolved "https://registry.yarnpkg.com/p-map-series/-/p-map-series-2.1.0.tgz#7560d4c452d9da0c07e692fdbfe6e2c81a2a91f2" integrity sha512-RpYIIK1zXSNEOdwxcfe7FdvGcs7+y5n8rifMhMNWvaxRNMPINJHF5GDeuVxWqnfrcHPSCnp7Oo5yNXHId9Av2Q== -p-map@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" - integrity sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA== - p-map@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" @@ -11097,11 +10757,6 @@ path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= -path-is-inside@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= - path-key@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" @@ -11143,14 +10798,6 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -path@^0.12.7: - version "0.12.7" - resolved "https://registry.yarnpkg.com/path/-/path-0.12.7.tgz#d4dc2a506c4ce2197eb481ebfcd5b36c0140b10f" - integrity sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8= - dependencies: - process "^0.11.1" - util "^0.10.3" - pathval@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" @@ -11452,7 +11099,7 @@ process-nextick-args@~2.0.0: resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== -process@^0.11.1, process@^0.11.10: +process@^0.11.10: version "0.11.10" resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= @@ -12215,13 +11862,6 @@ rimraf@^3.0.2: dependencies: glob "^7.1.3" -rimraf@~2.4.0: - version "2.4.5" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.4.5.tgz#ee710ce5d93a8fdb856fb5ea8ff0e2d75934b2da" - integrity sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto= - dependencies: - glob "^6.0.1" - ripemd160@^2.0.0, ripemd160@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" @@ -12278,11 +11918,6 @@ safe-event-emitter@^1.0.1: dependencies: events "^3.0.0" -safe-json-stringify@~1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz#356e44bc98f1f93ce45df14bcd7c01cda86e0afd" - integrity sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg== - safe-regex@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" @@ -12663,21 +12298,6 @@ solc@^0.6.3: semver "^5.5.0" tmp "0.0.33" -solc@^0.8.7-fixed: - version "0.8.7-fixed" - resolved "https://registry.yarnpkg.com/solc/-/solc-0.8.7-fixed.tgz#76eb37d33637ad278ad858e2633e9da597d877ac" - integrity sha512-nWZRkdPwfBpimAelO30Bz7/hxoj+mylb30gEpBL8hhEWR4xqu2ezQAxWK1Hz5xx1NqesbgGjSgnGul49tRHWgQ== - dependencies: - command-exists "^1.2.8" - commander "3.0.2" - follow-redirects "^1.12.1" - fs-extra "^0.30.0" - js-sha3 "0.8.0" - memorystream "^0.3.1" - require-from-string "^2.0.0" - semver "^5.5.0" - tmp "0.0.33" - sort-keys@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" @@ -13477,24 +13097,6 @@ ts-node@^10.0.0: source-map-support "^0.5.17" yn "3.1.1" -ts-node@^10.2.1: - version "10.2.1" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.2.1.tgz#4cc93bea0a7aba2179497e65bb08ddfc198b3ab5" - integrity sha512-hCnyOyuGmD5wHleOQX6NIjJtYVIO8bPP8F2acWkB4W06wdlkgyvJtubO/I9NkI88hCFECbsEgoLc0VNkYmcSfw== - dependencies: - "@cspotcode/source-map-support" "0.6.1" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - yn "3.1.1" - tsconfig-paths@^3.9.0: version "3.9.0" resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b" @@ -13913,13 +13515,6 @@ util.promisify@^1.0.0, util.promisify@^1.0.1: has-symbols "^1.0.1" object.getownpropertydescriptors "^2.1.1" -util@^0.10.3: - version "0.10.4" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz#3aa0125bfe668a4672de58857d3ace27ecb76901" - integrity sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A== - dependencies: - inherits "2.0.3" - utils-merge@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" @@ -14717,19 +14312,6 @@ yargs@^17.0.1: y18n "^5.0.5" yargs-parser "^20.2.2" -yargs@^17.1.1: - version "17.1.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.1.1.tgz#c2a8091564bdb196f7c0a67c1d12e5b85b8067ba" - integrity sha512-c2k48R0PwKIqKhPMWjeiF6y2xY/gPMUlro0sgxqXpbOIohWiLNXWslsootttv7E1e73QPAMQSg5FeySbVcpsPQ== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" - yargs@^4.7.1: version "4.8.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-4.8.1.tgz#c0c42924ca4aaa6b0e6da1739dfb216439f9ddc0"