@unruggable/gateways
Version:
Trustless Ethereum Multichain CCIP-Read Gateway
18 lines (17 loc) • 795 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.EMPTY_STORAGE_HASH = void 0;
exports.isContract = isContract;
exports.encodeProof = encodeProof;
const constants_1 = require("ethers/constants");
const utils_js_1 = require("../utils.cjs");
exports.EMPTY_STORAGE_HASH = '0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421'; // see: merkle.ts
function isContract(proof, requireStorage = false) {
const codeHash = proof.keccakCodeHash ?? proof.codeHash;
return (codeHash !== utils_js_1.NULL_CODE_HASH && // eoa
codeHash !== constants_1.ZeroHash && // dne
(!requireStorage || proof.storageHash !== exports.EMPTY_STORAGE_HASH));
}
function encodeProof(proof) {
return utils_js_1.ABI_CODER.encode(['bytes[]'], [proof]);
}