<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>0fuz</title><author><name>0fuz</name></author><id>https://teletype.in/atom/zerofuz</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/zerofuz?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@zerofuz?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=zerofuz"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/zerofuz?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-06-29T11:37:32.237Z</updated><entry><id>zerofuz:jayhiy</id><link rel="alternate" type="text/html" href="https://teletype.in/@zerofuz/jayhiy?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=zerofuz"></link><title>TOTP на bsc</title><published>2023-01-30T15:35:18.876Z</published><updated>2023-01-30T15:37:11.421Z</updated><summary type="html">320 дней назад команда токена FEG представила свое видение 2fa на блокчейне. Идея схожа на multisig кошельки. Они настолько уверены в качестве реализации, что опубликовали сид кошелька, в котором есть 21000$feg.</summary><content type="html">
  &lt;p id=&quot;Q4BQ&quot;&gt;320 дней назад команда токена &lt;a href=&quot;https://www.bscscan.com/address/0xacfc95585d80ab62f67a14c566c1b7a49fe91167&quot; target=&quot;_blank&quot;&gt;FEG&lt;/a&gt; представила свое видение 2fa на блокчейне. Идея схожа на multisig кошельки. Они настолько уверены в качестве реализации, что опубликовали сид кошелька, в котором есть 21000$feg.&lt;/p&gt;
  &lt;p id=&quot;aH3h&quot;&gt;Сайт &lt;a href=&quot;https://grafene.com/&quot; target=&quot;_blank&quot;&gt;https://grafene.com/&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;cf9T&quot;&gt;GrafeneWallet. 20k$ &lt;a href=&quot;https://www.bscscan.com/address/0x754bbc2e546686d3e4288602d6122a03f44865c8&quot; target=&quot;_blank&quot;&gt;0x754bbc2e546686d3e4288602d6122a03f44865c8&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;ui37&quot;&gt;TFA контракт &lt;a href=&quot;https://www.bscscan.com/address/0x21c8b69260F959cACef48D25ee27CF58253FFB8E&quot; target=&quot;_blank&quot;&gt;0x21c8b69260F959cACef48D25ee27CF58253FFB8E&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;hqew&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;Jubf&quot;&gt;TFA.set():&lt;/p&gt;
  &lt;ol id=&quot;i2ft&quot;&gt;
    &lt;li id=&quot;DCvJ&quot;&gt;Может вызвать только админ контракта TFA, доступа к кошельку нет.&lt;/li&gt;
    &lt;li id=&quot;hVQd&quot;&gt;Установить окно валидности salt (большое псевдослучайное число) в 60 секунд от block.timestamp&lt;/li&gt;
    &lt;li id=&quot;6MKy&quot;&gt;Создать salt из нескольких переменных fegBalanceWei, index, block.timestamp, 1647354260(время создания TFA))&lt;/li&gt;
    &lt;li id=&quot;C8y2&quot;&gt;index++&lt;/li&gt;
    &lt;li id=&quot;Zm7N&quot;&gt;salt = index + (103 * (4 * block.timestamp) + (index * block.timestamp) + (4 * fegBalanceWei / 98) + (index * fegBalanceWei / 98) + (fegBalanceWei / 99) - 10500000 / 99) + ((fegBalanceWei / 98) + (fegBalanceWei / 99) / 2) + stor5 + -block.timestamp + 1647354260 + 4&lt;/li&gt;
  &lt;/ol&gt;
  &lt;p id=&quot;lav0&quot;&gt;TFA.see()&lt;/p&gt;
  &lt;ol id=&quot;432C&quot;&gt;
    &lt;li id=&quot;sPR7&quot;&gt;Если прошло 60 секунд от TFA.set(), revert&lt;/li&gt;
    &lt;li id=&quot;0l8B&quot;&gt;Возвращает salt&lt;/li&gt;
  &lt;/ol&gt;
  &lt;p id=&quot;xmEc&quot;&gt;GrafeneWallet.WithdrawTokens(2faCodeInt, ...)&lt;/p&gt;
  &lt;ol id=&quot;hORn&quot;&gt;
    &lt;li id=&quot;OfCd&quot;&gt;Проверка, что 2faCodeInt == TFA(code).see()&lt;/li&gt;
    &lt;li id=&quot;zXzu&quot;&gt;Проверка что вызывает админ&lt;/li&gt;
  &lt;/ol&gt;
  &lt;p id=&quot;uBEm&quot;&gt;Для вывода токенов с такой защитой необходимо знать два кошелька: кто создал Grafene wallet контракт с токенами и кто имеет право на TFA.set().&lt;/p&gt;

</content></entry></feed>