deth
Version:
Ethereum node focused on Developer Experience
70 lines (69 loc) • 3.53 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const util_1 = require("util");
const Address_1 = require("../../primitives/Address");
const primitives_1 = require("../../primitives");
const adapter_utils_1 = require("./adapter-utils");
class StateManagerAdapter {
constructor(dethStateManager) {
this.dethStateManager = dethStateManager;
this.getAccount = util_1.callbackify(async (address) => {
return this.dethStateManager.getAccount(Address_1.bufferToAddress(address));
});
this.putAccount = util_1.callbackify(async (address, account) => {
return this.dethStateManager.putAccount(Address_1.bufferToAddress(address), account);
});
this.putContractCode = util_1.callbackify(async (address, code) => {
return this.dethStateManager.putContractCode(Address_1.bufferToAddress(address), code);
});
this.getContractCode = util_1.callbackify(async (address) => {
return this.dethStateManager.getContractCode(Address_1.bufferToAddress(address));
});
this.getContractStorage = util_1.callbackify(async (address, key) => {
return this.dethStateManager.getContractStorage(Address_1.bufferToAddress(address), primitives_1.bufferToQuantity(key));
});
this.putContractStorage = util_1.callbackify(async (address, key, value) => {
return this.dethStateManager.putContractStorage(Address_1.bufferToAddress(address), primitives_1.bufferToQuantity(key), value);
});
this.clearContractStorage = util_1.callbackify(async (address) => {
return this.dethStateManager.clearContractStorage(Address_1.bufferToAddress(address));
});
this.checkpoint = adapter_utils_1.callbackifySync(this.dethStateManager.checkpoint.bind(this.dethStateManager));
this.commit = adapter_utils_1.callbackifySync(this.dethStateManager.commit.bind(this.dethStateManager));
this.revert = adapter_utils_1.callbackifySync(this.dethStateManager.revert.bind(this.dethStateManager));
this.getStateRoot = util_1.callbackify(async () => {
return primitives_1.hashToBuffer(this.dethStateManager.getStateRoot());
});
this.accountIsEmpty = util_1.callbackify(async (address) => {
return this.dethStateManager.isAccountEmpty(Address_1.bufferToAddress(address));
});
this.setStateRoot = util_1.callbackify(async (root) => {
return this.dethStateManager.setStateRoot(primitives_1.bufferToHash(root));
});
this.getOriginalContractStorage = () => {
console.trace();
throw new Error('Not implemented yet!');
};
this.dumpStorage = () => {
console.trace();
throw new Error('Not implemented yet!');
};
this.hasGenesisState = () => {
console.trace();
throw new Error('Not implemented yet!');
};
this.generateCanonicalGenesis = () => {
console.trace();
throw new Error('Not implemented yet!');
};
this.generateGenesis = () => {
console.trace();
throw new Error('Not implemented yet!');
};
// eslint-disable-next-line
this.cleanupTouchedAccounts = util_1.callbackify(async () => { });
// eslint-disable-next-line
this._clearOriginalStorageCache = () => { };
}
}
exports.StateManagerAdapter = StateManagerAdapter;