Home Reference Source

Function

Static Public Summary
public

abbreviateValues(value: *, options: {}, depth: number): *

public

addContext(contractName: *, binary: *): {"type": *, "contractName": *, "binary": *}

public

* addContext(contractName: *, binary: *): string

Adds EVM bytecode context

public

addInstance(address: *, context: *, binary: *): {"type": *, "address": *, "context": *, "binary": *}

public

* addInstance(address: *, binary: *): string

Adds known deployed instance of binary at address

public

* addSource(source: *, sourcePath: *, ast: *)

public

addSource(source: *, sourcePath: *, ast: *): {"type": *, "source": *, "sourcePath": *, "ast": *}

public

addSourceMap(binary: *, sourceMap: *): {"type": *, "binary": *, "sourceMap": *}

public

* addSourceMap(binary: *, sourceMap: *)

public

* advance()

public

advance(): {"type": *}

public

allocateDeclarations(declarations: *, refs: *, slot: number, index: *, path: *[]): {"from": *, "to": *, "next": *, "children": *}

Allocate storage for given variable declarations

public

assign(context: *, assignments: *): {"type": *, "context": *, "assignments": *}

public

ast(state: *): Object

ast

public

ast.current(state: *): Object

ast.current

public

ast.current.index

public

ast.current.node

public

ast.current.pointer

public

ast.current.tree

public

ast.views(state: *): Object

ast.views

public

ast.views.sources

public

baseDefinition(definition: *): {"typeDescriptions": *}

public

* begin(objectPattern: {"address": *, "binary": *})

public

beginStep(type: *): {"type": *, "stepType": *}

public

call(address: *): {"type": *, "address": *}

public

callAddress(state: *): Object

.callAddress

public

callstack(state: *[], action: *): *

public
public

chunk(memory: *, size: *): *

Split memory into chunks

public

cleanBigNumbers(value: *): *

recursively converts big numbers into something nicer to look at

public

configureStore(reducer: *, saga: *, initialState: *, composeEnhancers: *): *

public

configureStore(reducer: *, saga: *, initialState: *): *

public

continueUntil(breakpoints: ...*): {"type": *, "breakpoints": *}

public

controller(state: *): Object

controller

public

controller.current

public

controller.current.executionContext

public

controller.current.functionDepth

public

controller.current.location

public

controller.current.location.isMultiline

public

controller.current.location.node

public

controller.current.location.sourceRange

public

controller.current.willJump

public

create(binary: *): {"type": *, "binary": *}

public

createBinary(state: *): Object

.createBinary

public

current(state: *): Object

solidity.current

public

current(state: *): Object

evm.current

public

current(state: *): Object

data.current

public

current.call(state: *): Object

evm.current.call

public

evm.current.callstack

public

current.context(state: *): Object

evm.current.context

public

solidity.current.functionDepth

public

data.current.identifiers (namespace)

public

data.current.identifiers (selector)

public

data.current.identifiers.definitions

public

data.current.identifiers.refs

public

solidity.current.instruction

public

solidity.current.instructionAtProgramCounter

public

solidity.current.instructions

public

solidity.current.isMultiline

public

solidity.current.isSourceRangeFinal

public

solidity.current.jumpDirection

public

current.scope(state: *): Object

data.current.scope

public

data.current.scope.id

public

current.source(state: *): Object

solidity.current.source

public

solidity.current.sourceMap

public

solidity.current.sourceRange

public

solidity.current.willJump

public

* declare(node: *)

public

declare(node: *): {"type": *, "node": *}

public

decode(definition: *, args: ...*): *

public

decodeMemoryReference(definition: *, pointer: *, state: *, args: ...*): *

public

decodeStorageReference(definition: *, pointer: *, state: *, args: ...*): *

public

decodeValue(definition: *, pointer: *, state: *, args: ...*): *

public

doneVisiting(): {"type": *}

public

endTrace(): {"type": *}

public

error(error: *): {"type": *, "error": *}

public

error(error: *): {"type": *, "error": *}

public

fetchBinary(address: *): {"type": *, "address": *}

public

finish(): {"type": *}

public

functionDepth(state: number, action: *): *

public

index(state: *): Object

trace.index

public

index(state: number, action: *): *

public

info(state: *): Object

solidity.info

public

info(state: *): Object

session.info

public

info(state: *): Object

data.info

public

info(state: *): Object

evm.info

public

session.info.affectedInstances

public

info.binaries(state: *): Object

evm.info.binaries

public

evm.info.binaries.search

public
public

info.contexts(state: *): Object

evm.info.contexts

public

info.instances(state: *): Object

evm.info.instances

public

info.scopes(state: *): Object

data.info.scopes

public

info.sourceMaps(state: *): Object

solidity.info.sourceMaps

public

info.sources(state: *): Object

solidity.info.sources

public

init(provider: *): {"type": *, "provider": *}

public

inspect(txHash: *): {"type": *, "txHash": *}

public

* inspectTransaction(txHash: *, provider: *): {"trace": *, "address": *, "binary": *}

public

interrupt(): {"type": *}

public

isCall(state: *): Object

.isCall

public

isCreate(state: *): Object

.isCreate

public

isHalting(state: *): Object

.isHalting

public

isJump(state: *): Object

.isJump

public

isReference(definition: *): *

public

jump(jumpDirection: *): {"type": *, "jumpDirection": *}

public

keccak256(args: ...*): *

public

keccak256(args: ...*): *

public

memory(state: *): Object

.memory

public

next(state: *): Object

data.next

public

next(state: *): Object

evm.next

public

next(state: *): Object

trace.next

public

next(): {"type": *}

public

* obtainBinaries(addresses: *): *

public

prefixName(prefix: *, fn: *): *

public

proc(state: *): Object

data.proc

public

data.proc.assignments

public

* processTrace(trace: *): *

public

programCounter(state: *): Object

.programCounter

public

read(pointer: *, state: *): *

public

read(memory: *): BigNumber

read word from memory

public

read(slot: *, offset: *): *

read slot from storage

public

readBytes(memory: *): *

read <bytes> amount of bytes from memory, starting at byte <start>

public

readRange(from: *, to: *, length: *): *

read all bytes in some range.

public

ready(): {"type": *}

public

receiveAddresses(addresses: *): {"type": *, "addresses": *}

public

receiveBinary(address: *, binary: *): {"type": *, "address": *, "binary": *}

public

receiveCall(objectPattern: {"address": *, "binary": *}): {"type": *, "address": *, "binary": *}

public

receiveTrace(trace: *): {"type": *, "trace": *}

public

recordContracts(contexts: *, sources: *): {"type": *, "contexts": *, "sources": *}

public

referenceType(definition: *): *

public

returnCall(): {"type": *}

public

* saga()

public

* saga()

public

* saga()

public

* saga()

public

* saga()

public

* saga()

public

* saga()

public

* saga()

public

saveSteps(steps: *): {"type": *, "steps": *}

public

scope(id: *, pointer: *, parentId: *, sourceId: *): {"type": *, "id": *, "pointer": *, "parentId": *, "sourceId": *}

public

* scope(nodeId: *, pointer: *, parentId: *, sourceId: *)

public

session(state: *, action: *): *

public

specifiedSize(definition: *): *

e.g.

public

stack(state: *): Object

.stack

public

start(txHash: *, provider: *): {"type": *, "txHash": *, "provider": *}

public

state(state: *): Object

evm.state

public

state(state: *): Object

solidity.state

public

step(state: *): Object

trace.step

public

stepInto(): {"type": *}

public

stepNext(): {"type": *}

public

stepOut(): {"type": *}

public

stepOver(): {"type": *}

public

steps(state: *): Object

trace.steps

public

steps(state: undefined, action: *): *

public

stepsRemaining(state: *): Object

trace.stepsRemaining

public

storage(state: *): Object

.storage

public

storageSize(definition: *): *

public

tick(): {"type": *}

public

toBigNumber(bytes: *): *

public

toBytes(number: *, length: number): *

public

toHexString(bytes: *, length: *, trim: *): string

public

toSignedBigNumber(bytes: *): *

public

tock(): {"type": *}

public

trace(state: *): Object

.trace

public

typeClass(definition: *): *

returns basic type class for a variable definition node e.g.: t_uint256 becomes uint t_struct$_Thing_$20_memory_ptr becomes struct

public

typeIdentifier(definition: *): *

public

views(state: *): Object

data.views

public

views.decoder(state: *): Object

data.views.decoder

public

views.scopes(state: *): Object

data.views.scopes

public

data.views.scopes.inlined

public

visit(sourceId: *, ast: *): {"type": *, "sourceId": *, "ast": *}

public

* visitAll(idx: *)

public

* wait()

Static Public

public abbreviateValues(value: *, options: {}, depth: number): * source

import {abbreviateValues} from 'truffle-debugger/lib/store/common.js'

Params:

NameTypeAttributeDescription
value *
options {}
  • optional
  • default: {}
depth number
  • optional
  • default: 0

Return:

*

public addContext(contractName: *, binary: *): {"type": *, "contractName": *, "binary": *} source

Params:

NameTypeAttributeDescription
contractName *
binary *

Return:

{"type": *, "contractName": *, "binary": *}

public * addContext(contractName: *, binary: *): string source

import {addContext} from 'truffle-debugger/lib/evm/sagas/index.js'

Adds EVM bytecode context

Params:

NameTypeAttributeDescription
contractName *
binary *

Return:

string

ID (0x-prefixed keccak of binary)

public addInstance(address: *, context: *, binary: *): {"type": *, "address": *, "context": *, "binary": *} source

import {addInstance} from 'truffle-debugger/lib/evm/actions/index.js'

Params:

NameTypeAttributeDescription
address *
context *
binary *

Return:

{"type": *, "address": *, "context": *, "binary": *}

public * addInstance(address: *, binary: *): string source

import {addInstance} from 'truffle-debugger/lib/evm/sagas/index.js'

Adds known deployed instance of binary at address

Params:

NameTypeAttributeDescription
address *
binary *

Return:

string

ID (0x-prefixed keccak of binary)

public * addSource(source: *, sourcePath: *, ast: *) source

Params:

NameTypeAttributeDescription
source *
sourcePath *
ast *

public addSource(source: *, sourcePath: *, ast: *): {"type": *, "source": *, "sourcePath": *, "ast": *} source

Params:

NameTypeAttributeDescription
source *
sourcePath *
ast *

Return:

{"type": *, "source": *, "sourcePath": *, "ast": *}

public addSourceMap(binary: *, sourceMap: *): {"type": *, "binary": *, "sourceMap": *} source

Params:

NameTypeAttributeDescription
binary *
sourceMap *

Return:

{"type": *, "binary": *, "sourceMap": *}

public * addSourceMap(binary: *, sourceMap: *) source

Params:

NameTypeAttributeDescription
binary *
sourceMap *

public * advance() source

public advance(): {"type": *} source

Return:

{"type": *}

public allocateDeclarations(declarations: *, refs: *, slot: number, index: *, path: *[]): {"from": *, "to": *, "next": *, "children": *} source

import {allocateDeclarations} from 'truffle-debugger/lib/data/decode/utils.js'

Allocate storage for given variable declarations

Postcondition: starts a new slot and occupies whole slots

Params:

NameTypeAttributeDescription
declarations *
refs *
slot number
  • optional
  • default: 0
index *
  • optional
path *[]
  • optional
  • default: []

Return:

{"from": *, "to": *, "next": *, "children": *}

public assign(context: *, assignments: *): {"type": *, "context": *, "assignments": *} source

Params:

NameTypeAttributeDescription
context *
assignments *

Return:

{"type": *, "context": *, "assignments": *}

public ast(state: *): Object source

ast

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public ast.current(state: *): Object source

ast.current

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public ast.current.index(state: *): Object source

ast.current.index

source ID

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public ast.current.node(state: *): Object source

ast.current.node

current ast node to execute

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public ast.current.pointer(state: *): Object source

ast.current.pointer

jsonpointer for current ast node

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public ast.current.tree(state: *): Object source

ast.current.tree

ast for current source

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public ast.views(state: *): Object source

ast.views

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public ast.views.sources(state: *): Object source

ast.views.sources

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public baseDefinition(definition: *): {"typeDescriptions": *} source

import {baseDefinition} from 'truffle-debugger/lib/data/decode/utils.js'

Params:

NameTypeAttributeDescription
definition *

Return:

{"typeDescriptions": *}

public * begin(objectPattern: {"address": *, "binary": *}) source

Params:

NameTypeAttributeDescription
objectPattern {"address": *, "binary": *}
  • default: {"address":null,"binary":null}

public beginStep(type: *): {"type": *, "stepType": *} source

Params:

NameTypeAttributeDescription
type *

Return:

{"type": *, "stepType": *}

public call(address: *): {"type": *, "address": *} source

Params:

NameTypeAttributeDescription
address *

Return:

{"type": *, "address": *}

public callAddress(state: *): Object source

.callAddress

address transferred to by call operation

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public callstack(state: *[], action: *): * source

import {callstack} from 'truffle-debugger/lib/evm/reducers.js'

Params:

NameTypeAttributeDescription
state *[]
  • optional
  • default: []
action *

Return:

*

public * callstackSaga() source

import {callstackSaga} from 'truffle-debugger/lib/evm/sagas/index.js'

public chunk(memory: *, size: *): * source

Split memory into chunks

Params:

NameTypeAttributeDescription
memory *
size *
  • optional
  • default: WORD_SIZE

Return:

*

public cleanBigNumbers(value: *): * source

import {cleanBigNumbers} from 'truffle-debugger/lib/data/decode/utils.js'

recursively converts big numbers into something nicer to look at

Params:

NameTypeAttributeDescription
value *

Return:

*

public configureStore(reducer: *, saga: *, initialState: *, composeEnhancers: *): * source

import configureStore from 'truffle-debugger/lib/store/common.js'

Params:

NameTypeAttributeDescription
reducer *
saga *
initialState *
composeEnhancers *

Return:

*

public configureStore(reducer: *, saga: *, initialState: *): * source

import configureStore from 'truffle-debugger/lib/store/development.js'

Params:

NameTypeAttributeDescription
reducer *
saga *
initialState *

Return:

*

public continueUntil(breakpoints: ...*): {"type": *, "breakpoints": *} source

Params:

NameTypeAttributeDescription
breakpoints ...*

Return:

{"type": *, "breakpoints": *}

public controller(state: *): Object source

controller

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public controller.current(state: *): Object source

controller.current

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public controller.current.executionContext(state: *): Object source

controller.current.executionContext

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public controller.current.functionDepth(state: *): Object source

controller.current.functionDepth

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public controller.current.location(state: *): Object source

controller.current.location

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public controller.current.location.isMultiline(state: *): Object source

controller.current.location.isMultiline

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public controller.current.location.node(state: *): Object source

controller.current.location.node

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public controller.current.location.sourceRange(state: *): Object source

controller.current.location.sourceRange

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public controller.current.willJump(state: *): Object source

controller.current.willJump

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public create(binary: *): {"type": *, "binary": *} source

Params:

NameTypeAttributeDescription
binary *

Return:

{"type": *, "binary": *}

public createBinary(state: *): Object source

.createBinary

binary code to execute via create operation

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public current(state: *): Object source

solidity.current

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public current(state: *): Object source

evm.current

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public current(state: *): Object source

data.current

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public current.call(state: *): Object source

evm.current.call

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public current.callstack(state: *): Object source

evm.current.callstack

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public current.context(state: *): Object source

evm.current.context

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public current.functionDepth(state: *): Object source

solidity.current.functionDepth

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public current.identifiers(state: *): Object source

data.current.identifiers (namespace)

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public current.identifiers._(state: *): Object source

data.current.identifiers (selector)

returns identifers and corresponding definition node ID

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public current.identifiers.definitions(state: *): Object source

data.current.identifiers.definitions

current variable definitions

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public current.identifiers.refs(state: *): Object source

data.current.identifiers.refs

current variables' value refs

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public current.instruction(state: *): Object source

solidity.current.instruction

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public current.instructionAtProgramCounter(state: *): Object source

solidity.current.instructionAtProgramCounter

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public current.instructions(state: *): Object source

solidity.current.instructions

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public current.isMultiline(state: *): Object source

solidity.current.isMultiline

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public current.isSourceRangeFinal(state: *): Object source

solidity.current.isSourceRangeFinal

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public current.jumpDirection(state: *): Object source

solidity.current.jumpDirection

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public current.scope(state: *): Object source

data.current.scope

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public current.scope.id(state: *): Object source

data.current.scope.id

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public current.source(state: *): Object source

solidity.current.source

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public current.sourceMap(state: *): Object source

solidity.current.sourceMap

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public current.sourceRange(state: *): Object source

solidity.current.sourceRange

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public current.willJump(state: *): Object source

solidity.current.willJump

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public * declare(node: *) source

Params:

NameTypeAttributeDescription
node *

public declare(node: *): {"type": *, "node": *} source

Params:

NameTypeAttributeDescription
node *

Return:

{"type": *, "node": *}

public decode(definition: *, args: ...*): * source

Params:

NameTypeAttributeDescription
definition *
args ...*

Return:

*

public decodeMemoryReference(definition: *, pointer: *, state: *, args: ...*): * source

import {decodeMemoryReference} from 'truffle-debugger/lib/data/decode/index.js'

Params:

NameTypeAttributeDescription
definition *
pointer *
state *
args ...*

Return:

*

public decodeStorageReference(definition: *, pointer: *, state: *, args: ...*): * source

import {decodeStorageReference} from 'truffle-debugger/lib/data/decode/index.js'

Params:

NameTypeAttributeDescription
definition *
pointer *
state *
args ...*

Return:

*

public decodeValue(definition: *, pointer: *, state: *, args: ...*): * source

import {decodeValue} from 'truffle-debugger/lib/data/decode/index.js'

Params:

NameTypeAttributeDescription
definition *
pointer *
state *
args ...*

Return:

*

public doneVisiting(): {"type": *} source

import {doneVisiting} from 'truffle-debugger/lib/ast/actions/index.js'

Return:

{"type": *}

public endTrace(): {"type": *} source

Return:

{"type": *}

public error(error: *): {"type": *, "error": *} source

Params:

NameTypeAttributeDescription
error *

Return:

{"type": *, "error": *}

public error(error: *): {"type": *, "error": *} source

Params:

NameTypeAttributeDescription
error *

Return:

{"type": *, "error": *}

public fetchBinary(address: *): {"type": *, "address": *} source

import {fetchBinary} from 'truffle-debugger/lib/web3/actions/index.js'

Params:

NameTypeAttributeDescription
address *

Return:

{"type": *, "address": *}

public finish(): {"type": *} source

Return:

{"type": *}

public functionDepth(state: number, action: *): * source

import {functionDepth} from 'truffle-debugger/lib/solidity/reducers.js'

Params:

NameTypeAttributeDescription
state number
  • optional
  • default: 1
action *

Return:

*

public index(state: *): Object source

trace.index

current step index

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public index(state: number, action: *): * source

Params:

NameTypeAttributeDescription
state number
  • optional
  • default: 0
action *

Return:

*

public info(state: *): Object source

solidity.info

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public info(state: *): Object source

session.info

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public info(state: *): Object source

data.info

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public info(state: *): Object source

evm.info

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public info.affectedInstances(state: *): Object source

session.info.affectedInstances

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public info.binaries(state: *): Object source

evm.info.binaries

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public info.binaries.search(state: *): Object source

evm.info.binaries.search

returns function (binary) => context

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public info.binaries.search.toRegExp(binary: *): Object source

Params:

NameTypeAttributeDescription
binary *

Return:

Object

new state

public info.contexts(state: *): Object source

evm.info.contexts

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public info.instances(state: *): Object source

evm.info.instances

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public info.scopes(state: *): Object source

data.info.scopes

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public info.sourceMaps(state: *): Object source

solidity.info.sourceMaps

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public info.sources(state: *): Object source

solidity.info.sources

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public init(provider: *): {"type": *, "provider": *} source

Params:

NameTypeAttributeDescription
provider *

Return:

{"type": *, "provider": *}

public inspect(txHash: *): {"type": *, "txHash": *} source

Params:

NameTypeAttributeDescription
txHash *

Return:

{"type": *, "txHash": *}

public * inspectTransaction(txHash: *, provider: *): {"trace": *, "address": *, "binary": *} source

import {inspectTransaction} from 'truffle-debugger/lib/web3/sagas/index.js'

Params:

NameTypeAttributeDescription
txHash *
provider *

Return:

{"trace": *, "address": *, "binary": *}

public interrupt(): {"type": *} source

Return:

{"type": *}

public isCall(state: *): Object source

.isCall

whether the opcode will switch to another calling context

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public isCreate(state: *): Object source

.isCreate

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public isHalting(state: *): Object source

.isHalting

whether the instruction halts or returns from a calling context

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public isJump(state: *): Object source

.isJump

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public isReference(definition: *): * source

import {isReference} from 'truffle-debugger/lib/data/decode/utils.js'

Params:

NameTypeAttributeDescription
definition *

Return:

*

public jump(jumpDirection: *): {"type": *, "jumpDirection": *} source

Params:

NameTypeAttributeDescription
jumpDirection *

Return:

{"type": *, "jumpDirection": *}

public keccak256(args: ...*): * source

import {keccak256} from 'truffle-debugger/lib/helpers/index.js'

Params:

NameTypeAttributeDescription
args ...*

Return:

*

0x-prefix string of keccak256 hash

public keccak256(args: ...*): * source

Params:

NameTypeAttributeDescription
args ...*

Return:

*

public memory(state: *): Object source

.memory

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public next(state: *): Object source

data.next

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public next(state: *): Object source

evm.next

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public next(state: *): Object source

trace.next

next trace step or {}

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public next(): {"type": *} source

Return:

{"type": *}

public * obtainBinaries(addresses: *): * source

import {obtainBinaries} from 'truffle-debugger/lib/web3/sagas/index.js'

Params:

NameTypeAttributeDescription
addresses *

Return:

*

public prefixName(prefix: *, fn: *): * source

import {prefixName} from 'truffle-debugger/lib/helpers/index.js'

Params:

NameTypeAttributeDescription
prefix *
fn *

Return:

*

public proc(state: *): Object source

data.proc

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public proc.assignments(state: *): Object source

data.proc.assignments

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public * processTrace(trace: *): * source

import {processTrace} from 'truffle-debugger/lib/trace/sagas/index.js'

Params:

NameTypeAttributeDescription
trace *

Return:

*

public programCounter(state: *): Object source

.programCounter

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public read(pointer: *, state: *): * source

Params:

NameTypeAttributeDescription
pointer *
state *

Return:

*

public read(memory: *): BigNumber source

read word from memory

requires byte to be a multiple of WORD_SIZE (32)

Params:

NameTypeAttributeDescription
memory *

Uint8Array

Return:

BigNumber

public read(slot: *, offset: *): * source

read slot from storage

Params:

NameTypeAttributeDescription
slot *

big number or array of regular numbers

offset *

for array, offset from the keccak determined location

Return:

*

public readBytes(memory: *): * source

read <bytes> amount of bytes from memory, starting at byte <start>

Params:

NameTypeAttributeDescription
memory *

Uint8Array

Return:

*

public readRange(from: *, to: *, length: *): * source

read all bytes in some range.

parameters from and to are objects with the following properties:

slot - (required) either a bignumber or a "path" array of integer offsets

path array values get converted into keccak256 hash as per solidity
storage allocation method

ref: https://solidity.readthedocs.io/en/v0.4.23/miscellaneous.html#layout-of-state-variables-in-storage
(search "concatenation")

offset - (default: 0) slot offset

index - (default: 0) byte index in word

Params:

NameTypeAttributeDescription
from *

location (see ^)

to *

location (see ^). inclusive.

length *

instead of to, number of bytes after from

Return:

*

public ready(): {"type": *} source

Return:

{"type": *}

public receiveAddresses(addresses: *): {"type": *, "addresses": *} source

import {receiveAddresses} from 'truffle-debugger/lib/trace/actions/index.js'

Params:

NameTypeAttributeDescription
addresses *

Return:

{"type": *, "addresses": *}

public receiveBinary(address: *, binary: *): {"type": *, "address": *, "binary": *} source

import {receiveBinary} from 'truffle-debugger/lib/web3/actions/index.js'

Params:

NameTypeAttributeDescription
address *
binary *

Return:

{"type": *, "address": *, "binary": *}

public receiveCall(objectPattern: {"address": *, "binary": *}): {"type": *, "address": *, "binary": *} source

import {receiveCall} from 'truffle-debugger/lib/web3/actions/index.js'

Params:

NameTypeAttributeDescription
objectPattern {"address": *, "binary": *}
  • default: {"address":null,"binary":null}

Return:

{"type": *, "address": *, "binary": *}

public receiveTrace(trace: *): {"type": *, "trace": *} source

import {receiveTrace} from 'truffle-debugger/lib/web3/actions/index.js'

Params:

NameTypeAttributeDescription
trace *

Return:

{"type": *, "trace": *}

public recordContracts(contexts: *, sources: *): {"type": *, "contexts": *, "sources": *} source

import {recordContracts} from 'truffle-debugger/lib/session/actions/index.js'

Params:

NameTypeAttributeDescription
contexts *
sources *

Return:

{"type": *, "contexts": *, "sources": *}

public referenceType(definition: *): * source

import {referenceType} from 'truffle-debugger/lib/data/decode/utils.js'

Params:

NameTypeAttributeDescription
definition *

Return:

*

public returnCall(): {"type": *} source

Return:

{"type": *}

public * saga() source

public * saga() source

public * saga() source

public * saga() source

public * saga() source

public * saga() source

public * saga() source

public * saga() source

public saveSteps(steps: *): {"type": *, "steps": *} source

Params:

NameTypeAttributeDescription
steps *

Return:

{"type": *, "steps": *}

public scope(id: *, pointer: *, parentId: *, sourceId: *): {"type": *, "id": *, "pointer": *, "parentId": *, "sourceId": *} source

Params:

NameTypeAttributeDescription
id *
pointer *
parentId *
sourceId *

Return:

{"type": *, "id": *, "pointer": *, "parentId": *, "sourceId": *}

public * scope(nodeId: *, pointer: *, parentId: *, sourceId: *) source

Params:

NameTypeAttributeDescription
nodeId *
pointer *
parentId *
sourceId *

public session(state: *, action: *): * source

Params:

NameTypeAttributeDescription
state *
  • optional
  • default: WAITING
action *

Return:

*

public specifiedSize(definition: *): * source

import {specifiedSize} from 'truffle-debugger/lib/data/decode/utils.js'

e.g. uint48 -> 6

Params:

NameTypeAttributeDescription
definition *

Return:

*

size in bytes for explicit type size, or null if not stated

public stack(state: *): Object source

.stack

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public start(txHash: *, provider: *): {"type": *, "txHash": *, "provider": *} source

Params:

NameTypeAttributeDescription
txHash *
provider *

Return:

{"type": *, "txHash": *, "provider": *}

public state(state: *): Object source

evm.state

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public state(state: *): Object source

solidity.state

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public step(state: *): Object source

trace.step

current trace step

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public stepInto(): {"type": *} source

Return:

{"type": *}

public stepNext(): {"type": *} source

Return:

{"type": *}

public stepOut(): {"type": *} source

Return:

{"type": *}

public stepOver(): {"type": *} source

Return:

{"type": *}

public steps(state: *): Object source

trace.steps

all trace steps

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public steps(state: undefined, action: *): * source

Params:

NameTypeAttributeDescription
state undefined
  • optional
  • default: undefined
action *

Return:

*

public stepsRemaining(state: *): Object source

trace.stepsRemaining

number of steps remaining in trace

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public storage(state: *): Object source

.storage

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public storageSize(definition: *): * source

import {storageSize} from 'truffle-debugger/lib/data/decode/utils.js'

Params:

NameTypeAttributeDescription
definition *

Return:

*

public tick(): {"type": *} source

Return:

{"type": *}

public toBigNumber(bytes: *): * source

import {toBigNumber} from 'truffle-debugger/lib/data/decode/utils.js'

Params:

NameTypeAttributeDescription
bytes *

Return:

*

public toBytes(number: *, length: number): * source

Params:

NameTypeAttributeDescription
number *
length number
  • optional
  • default: 0

Return:

*

public toHexString(bytes: *, length: *, trim: *): string source

import {toHexString} from 'truffle-debugger/lib/data/decode/utils.js'

Params:

NameTypeAttributeDescription
bytes *

Uint8Array

length *

desired byte length (pad with zeroes)

trim *

omit leading zeroes

Return:

string

public toSignedBigNumber(bytes: *): * source

import {toSignedBigNumber} from 'truffle-debugger/lib/data/decode/utils.js'

Params:

NameTypeAttributeDescription
bytes *

Return:

*

public tock(): {"type": *} source

Return:

{"type": *}

public trace(state: *): Object source

.trace

trace step info related to operation

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public typeClass(definition: *): * source

returns basic type class for a variable definition node e.g.: t_uint256 becomes uint t_struct$_Thing_$20_memory_ptr becomes struct

Params:

NameTypeAttributeDescription
definition *

Return:

*

public typeIdentifier(definition: *): * source

import {typeIdentifier} from 'truffle-debugger/lib/data/decode/utils.js'

Params:

NameTypeAttributeDescription
definition *

Return:

*

public views(state: *): Object source

data.views

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public views.decoder(state: *): Object source

data.views.decoder

selector returns (ast node definition, data reference) => value

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public views.scopes(state: *): Object source

data.views.scopes

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public views.scopes.inlined(state: *): Object source

data.views.scopes.inlined

Params:

NameTypeAttributeDescription
state *

Return:

Object

new state

public visit(sourceId: *, ast: *): {"type": *, "sourceId": *, "ast": *} source

Params:

NameTypeAttributeDescription
sourceId *
ast *

Return:

{"type": *, "sourceId": *, "ast": *}

public * visitAll(idx: *) source

Params:

NameTypeAttributeDescription
idx *

public * wait() source