lib/solidity/sagas/index.js
- import debugModule from "debug";
- const debug = debugModule("debugger:solidity:sagas");
-
- import { call, put, take, select } from "redux-saga/effects";
- import { prefixName } from "lib/helpers";
-
- import * as actions from "../actions";
- import { TICK } from "lib/trace/actions";
-
- import solidity from "../selectors";
-
- export function *addSource(source, sourcePath, ast) {
- yield put(actions.addSource(source, sourcePath, ast));
- }
-
- export function *addSourceMap(binary, sourceMap) {
- yield put(actions.addSourceMap(binary, sourceMap));
- }
-
- function* functionDepthSaga () {
- while (true) {
- yield take(TICK);
- debug("got TICK");
- let instruction = yield select(solidity.current.instruction);
- debug("instruction: %o", instruction);
-
- if (yield select(solidity.current.willJump)) {
- let jumpDirection = yield select(solidity.current.jumpDirection);
-
-
- yield put(actions.jump(jumpDirection));
- }
- }
- }
-
- export function* saga () {
- yield call(functionDepthSaga);
- }
-
- export default prefixName("solidity", saga);