;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Logo Pagbenk Seu dinheiro rende mais
Topo

MPF aprova venda de R$ 150 milhões em criptomoedas apreendidas em operação

Durante a operação Kryptus a Polícia Federal reteve 591 bitcoins, o equivalente a R$ 150 milhões - WorldSpectrum/ Pixabay
Durante a operação Kryptus a Polícia Federal reteve 591 bitcoins, o equivalente a R$ 150 milhões Imagem: WorldSpectrum/ Pixabay

Colaboração para o UOL

15/09/2021 19h54

O Ministério Público Federal aprovou a venda de R$ 150 milhões em bitcoin, uma criptomoeda, apreendidos durante uma operação que investigava fraudes bilionárias envolvendo a moeda digital. Durante a operação Kryptus, que desarticulou uma organização criminosa responsável pelo crime, a Polícia Federal reteve 591 bitcoins.

Na cotação do dia, em que cada moeda valia cerca de R$ 255 mil, o valor final totalizou aproximadamente R$ 150 milhões. O valor, agora, deve ser depositado em uma conta judicial para destinação futura, a ser definida pela Justiça.

A decisão favorável à liquidação imediata dos ativos é da Câmara Criminal do MPF, órgão superior vinculado à Procuradoria-Geral da República. O MPF decidiu, também, criar um grupo de trabalho para "elaborar roteiros e manuais de atuação que auxiliem os procuradores em casos envolvendo moedas digitais".

Desde a apreensão das moedas, elas foram temporariamente transferidos para uma conta aberta pelo MPF em uma corretora brasileira de bitcoins e criptomoedas. Isso foi necessário porque, caso as moedas digitais ficassem armazenadas em corretoras de valores ou carteiras frias ("cold wallets"), elas poderiam ser movimentadas pela organização criminosa.

No entanto, os procuradores entenderam que o mais recomendável seria "converter os criptoativos em moeda soberana e depositar o valor numa conta judicial". Em decisão unânime e seguindo voto do coordenador da Câmara Criminal, o subprocurador-geral da República Carlos Frederico Santos, o colegiado acolheu proposta apresentada pelos membros do Gaeco/RJ e aprovou a venda das moedas digitais.

Hoje, o STJ (Superior Tribunal de Justiça) negou um novo pedido de liberdade feito pela defesa do ex-garçom Glaidson Acácio dos Santos, de 38 anos. Conhecido como 'Faraó dos bitcoins', o suposto investidor e dono da GAS Consultoria foi preso no dia 25 de agosto por suspeita de operar um milionário esquema de pirâmide financeira. Ele é investigado por cometer crimes contra o Sistema Financeiro Nacional, lavagem de capitais e participação em grupo criminoso.

De acordo com a investigação do MPF no Rio de Janeiro, Polícia Federal e Receita Federal, a empresa GAS Consultoria e Tecnologia, com sede em Cabo Frio (RJ), operava um sistema de pirâmides financeiras, prometendo lucros de até 10% ao mês nos investimentos em criptomoedas. A empresa, no entanto, não investia em bitcoins - os lucros eram pagos a clientes através da entrada de capital de outras pessoas atraídas pela proposta.