@holographxyz/cli
Version:
Holograph operator CLI
57 lines (56 loc) • 2.2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.configureEvents = exports.allEventsEnabled = exports.HolographERC721Event = exports.HolographERC20Event = void 0;
exports.HolographERC20Event = [
{ name: 'bridgeIn', value: 1 },
{ name: 'bridgeOut', value: 2 },
{ name: 'afterApprove', value: 3 },
{ name: 'beforeApprove', value: 4 },
{ name: 'afterOnERC20Received', value: 5 },
{ name: 'beforeOnERC20Received', value: 6 },
{ name: 'afterBurn', value: 7 },
{ name: 'beforeBurn', value: 8 },
{ name: 'afterMint', value: 9 },
{ name: 'beforeMint', value: 10 },
{ name: 'afterSafeTransfer', value: 11 },
{ name: 'beforeSafeTransfer', value: 12 },
{ name: 'afterTransfer', value: 13 },
{ name: 'beforeTransfer', value: 14 },
];
exports.HolographERC721Event = [
{ name: 'bridgeIn', value: 1 },
{ name: 'bridgeOut', value: 2 },
{ name: 'afterApprove', value: 3 },
{ name: 'beforeApprove', value: 4 },
{ name: 'afterApprovalAll', value: 5 },
{ name: 'beforeApprovalAll', value: 6 },
{ name: 'afterBurn', value: 7 },
{ name: 'beforeBurn', value: 8 },
{ name: 'afterMint', value: 9 },
{ name: 'beforeMint', value: 10 },
{ name: 'afterSafeTransfer', value: 11 },
{ name: 'beforeSafeTransfer', value: 12 },
{ name: 'afterTransfer', value: 13 },
{ name: 'beforeTransfer', value: 14 },
{ name: 'beforeOnERC721Received', value: 15 },
{ name: 'afterOnERC721Received', value: 16 },
];
function allEventsEnabled() {
return '0x' + 'ff'.repeat(32);
}
exports.allEventsEnabled = allEventsEnabled;
function configureEvents(config) {
let binary = '0'.repeat(256);
for (let i = 0, l = config.length; i < l; i++) {
const num = config[i];
binary = binary.replace(new RegExp('(.{' + num + '}).{1}(.*)', 'gi'), '$11$2');
}
binary = [...binary].reverse().join('');
const byteArray = binary.match(/.{8}/g) || [];
let hex = '0x';
for (let i = 0, l = byteArray.length; i < l; i++) {
hex += Number.parseInt(byteArray[i], 2).toString(16).padStart(2, '0');
}
return hex;
}
exports.configureEvents = configureEvents;