@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
27 lines (25 loc) • 897 B
JavaScript
import { Types } from '../../constants';
import { Helper } from '../Helper';
export class IsTransactionHelperBase extends Helper {
emit(sb, node, optionsIn) {
const options = sb.pushValueOptions(optionsIn);
sb.emitHelper(node, options, sb.helpers.createStructuredStorage({
prefix: this.prefix,
type: Types.SetStorage,
}));
sb.emitOp(node, 'SWAP');
sb.emitHelper(node, options, sb.helpers.wrapBuffer);
sb.emitHelper(node, options, sb.helpers.hasStructuredStorage({
type: Types.SetStorage,
keyType: undefined,
knownKeyType: Types.Buffer,
}));
if (optionsIn.pushValue) {
sb.emitHelper(node, options, sb.helpers.unwrapBoolean);
}
else {
sb.emitOp(node, 'DROP');
}
}
}
//# sourceMappingURL=IsTransactionHelperBase.js.map