Daniel Luca ๐Ÿฆ„ Profile picture
Sep 17, 2021 โ€ข 12 tweets โ€ข 5 min read โ€ข Read on X
Just got an airdrop of 298,131 XCH tokens.

When I looked into the project a bit, I found out they are a scam.

Let me walk you through.

๐Ÿงต๐Ÿ‘‡๐Ÿผ
First I had to check the tx that actually did the airdrop.

Looks like a pretty standard "push to all people" airdrop.

etherscan.io/tx/0x7d678e4c1โ€ฆ
When I went to check the last transactions that interacted with the contract, something interesting was there.

Lots and lots of failed transactions. ๐ŸŽ

All of them are trying to call "approve".
Digging deeper into one failed approve transaction, I saw the error message is

'To Exchange, use this website - abchange.io'

This LOOKS FISHY! ๐Ÿก

You SHOULD be able to interact with the contract directly, not only through the website.

etherscan.io/tx/0x30d1becacโ€ฆ
The next step is to just check the website.

The values are prepopulated, and it seems the airdrop would translate into 6.1 ETH.

Who wouldn't sell them for that much ether?
But changing any of the values doesn't do anything.

I was expecting the ether value to be calculated based on the updated XCH value and vice-versa.
I was thinking, maybe I need to first connect my ๐ŸฆŠ wallet.

But still, the initial values should be calculated not just filled in.
However, when I connect my ๐ŸฆŠ wallet, it grabs a list of all tokens I own.

The values still aren't updated if I change them.

It just needed my personal address to get a list of my assets.

Wondering why?
After I click "Exchange" I get this message in ๐ŸฆŠMetamask.

"Allow abchange.io to spend your $DEGEN?"

Say what?
Now it all ties together.

They need to find out what assets you have on your account to get the most valuable asset you own.

In my case, it's $DEGEN, an index token created by @ndxfi

The good thing is Metamask understands the transaction and it's able to tell you what it does
So it's actually trying to scam you out of the most valuable token you own.

The airdrop is just a way to bring people to the website.
I just created a pull request into @MetaMask to add abchange.io to the blacklist.

Help me get this through quickly! We need to protect the users.

github.com/MetaMask/eth-pโ€ฆ

@danfinlay @kumavis_

โ€ข โ€ข โ€ข

Missing some Tweet in this thread? You can try to force a refresh
ใ€€

Keep Current with Daniel Luca ๐Ÿฆ„

Daniel Luca ๐Ÿฆ„ Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @cleanunicorn

Jan 5, 2023
How to anonymize Ethereum requests and protect your identity.

We all have the right to privacy.

Here's a tool that will help you stay anonymous:

๐Ÿงต
Check it out yourself. It's open source, and it costs nothing to use.

github.com/EdenBlockVC/spโ€ฆ
I posted a quick preview a few days ago, right after I received my first successful reply back.

Read 17 tweets
Sep 27, 2022
๐Ÿฆผ Solidity's `try/catch` has a catch.
And you probably don't know about it.

Short and sweet thread about this Solidity feature.
๐Ÿงต๐Ÿ‘‡
๐Ÿ˜Ž As always, we're also going to learn something from going through this journey.

This try/catch feature was added in Solidity 0.6. It was added as a response to low-level calls, something many devs were already using.
๐Ÿช“ The low-level calls look like this, and they return a success boolean and a bytes string representing what the execution returned. Image
Read 29 tweets
Sep 2, 2022
Solidity advanced tip time.

When extending or inheriting a few contracts, the order of inheritance matters.

I will explain below, with a proof of concept.

๐Ÿงต๐Ÿ‘‡
There are numerous cases where you create a contract and you inherit implementation from another contract. Most of the time, you'll inherit a bunch of OpenZeppelin @openzeppelin implementations.

๐Ÿ„ For example, you want to create an ERC20 and will write something like this:
๐Ÿ”ฎ That is pretty obvious, you inherit the contract, take the implementation for all methods and keep moving forward. All's clear.

๐Ÿงš Things are interesting (or weird) when you inherit from multiple contracts.
Read 21 tweets
Apr 19, 2022
My jab at explaining



๐Ÿงต 1/โˆž
I was honestly intrigued by the promise of $1M that made me read the whole article @muellerberndt shared.
It's honestly genius the fact that he made this promise. This is because by making this big promise, he forces his idea into existence.

He captured the attention, created the avenue for a person to walk on, sprinkled the road with ideas, and lets you walk.
Read 50 tweets
Jan 11, 2022
We will release our latest white paper soonโ„ข๏ธ.

Until then, here are some essential things about @fiatdao

๐Ÿ›Ž๏ธ๐Ÿงต๐Ÿ‘‡
๐ŸบFIAT DAO is the #๏ธโƒฃ1๏ธโƒฃ first protocol to allow borrowing against fixed-income assets.

๐Ÿ†˜Is the market going down? Don't feel like investing in volatile assets?

๐Ÿ†™Fixed-income assets should be your go-to asset class.
$FIAT is an ERC20 token that can be minted against zero-coupon-bond (ZCB) collateral.
Read 17 tweets
Oct 6, 2021
There's an algorithm that can be used to randomly shuffle an array on-chain.

This algorithm is known as Fisher-Yates Shuffle or the Knuth Shuffle.

๐Ÿงต๐Ÿ‘‡
Let's assume this is the original array to be shuffled.

1โƒฃ2โƒฃ3โƒฃ4โƒฃ5โƒฃ
๐ŸŒ  We need a random source of entropy that will determine how the array will be shuffled.

๐Ÿซ Assume, for now, that source is safe and provably random.

๐Ÿช– Let's start shuffling the array one item at a time.
Read 13 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(