Craft and publish engaging content in an app built for creators.
NEW
Publish anywhere
Post on LinkedIn & Mastodon too. More platforms coming soon.
Make it punchier 👊
Typefully
@typefully
We're launching a Command Bar today with great commands and features.
AI ideas and rewrites
Get suggestions, tweet ideas, and rewrites powered by AI.
Turn your tweets & threads into a social blog
Give your content new life with our beautiful, sharable pages. Make it go viral on other platforms too.
+14
Followers
Powerful analytics to grow faster
Easily track your engagement analytics to improve your content and grow faster.
Build in public
Share a recent learning with your followers.
Create engagement
Pose a thought-provoking question.
Never run out of ideas
Get prompts and ideas whenever you write - with examples of popular tweets.
@aaditsh
I think this thread hook could be improved.
@frankdilo
On it 🔥
Share drafts & leave comments
Write with your teammates and get feedback with comments.
NEW
Easlo
@heyeaslo
Reply with "Notion" to get early access to my new template.
Jaga
@kandros5591
Notion 🙏
DM Sent
Create giveaways with Auto-DMs
Send DMs automatically based on engagement with your tweets.
And much more:
Auto-Split Text in Posts
Thread Finisher
Tweet Numbering
Pin Drafts
Connect Multiple Accounts
Automatic Backups
Dark Mode
Keyboard Shortcuts
Creators love Typefully
150,000+ creators and teams chose Typefully to curate their Twitter presence.
Marc Köhlbrugge@marckohlbrugge
Tweeting more with @typefully these days.
🙈 Distraction-free
✍️ Write-only Twitter
🧵 Effortless threads
📈 Actionable metrics
I recommend giving it a shot.
Jurre Houtkamp@jurrehoutkamp
Typefully is fantastic and way too cheap for what you get.
We’ve tried many alternatives at @framer but nothing beats it. If you’re still tweeting from Twitter you’re wasting time.
DHH@dhh
This is my new go-to writing environment for Twitter threads.
They've built something wonderfully simple and distraction free with Typefully 😍
Santiago@svpino
For 24 months, I tried almost a dozen Twitter scheduling tools.
Then I found @typefully, and I've been using it for seven months straight.
When it comes down to the experience of scheduling and long-form content writing, Typefully is in a league of its own.
Luca Rossi ꩜@lucaronin
After trying literally all the major Twitter scheduling tools, I settled with @typefully.
Killer feature to me is the native image editor — unique and super useful 🙏
Visual Theory@visualtheory_
Really impressed by the way @typefully has simplified my Twitter writing + scheduling/publishing experience.
Beautiful user experience.
0 friction.
Simplicity is the ultimate sophistication.
Queue your content in seconds
Write, schedule and boost your tweets - with no need for extra apps.
Schedule with one click
Queue your post with a single click - or pick a time manually.
Pick the perfect time
Time each post to perfection with Typefully's performance analytics.
Boost your content
Retweet and plug your posts for automated engagement.
Start creating a content queue.
Write once, publish everywhere
We natively support multiple platforms, so that you can expand your reach easily.
Check the analytics that matter
Build your audience with insights that make sense.
Writing prompts & personalized post ideas
Break through writer's block with great ideas and suggestions.
Never run out of ideas
Enjoy daily prompts and ideas to inspire your writing.
Use AI for personalized suggestions
Get inspiration from ideas based on your own past tweets.
Flick through topics
Or skim through curated collections of trending tweets for each topic.
Write, edit, and track tweets together
Write and publish with your teammates and friends.
Share your drafts
Brainstorm and bounce ideas with your teammates.
NEW
@aaditsh
I think this thread hook could be improved.
@frankdilo
On it 🔥
Add comments
Get feedback from coworkers before you hit publish.
Read, Write, Publish
Read, WriteRead
Control user access
Decide who can view, edit, or publish your drafts.
Found a mainnet re-entrancy flaw and I exploited it.
Been sitting on this secret like a hen on her egg; it's time for the reveal!
Watch the exploit in action, bending the chain to its will.
Time for you to conquer this technique too! 🔧🧠
A quick shout-out to the Peanut team (@0xkkonrad and @uwwgo). Had a decent chat about the ramifications of the issue and future safeguards. They were cooperative and responsive. 👏👍
Many links in this thread will take you away from the thread itself.
🙏 Make sure to like this (and retweet) if you find it useful to help others like you learn these techniques.
First I have to explain what the system does.
It allows one person to deposit some tokens in the contract and another to withdraw them.
Pretty straightforward. There are other details about how the system works, but this is only what we are interested in right now.
The problem lies in the `withdrawDeposit` method.
I also fed the method to GPT4, and it missed the problem. 😂
When we look at the code, we see the deposit is NOT deleted before transferring the tokens.
It's literally the last thing done before returning `true`.
So how do we exploit this?
Let's have a look at the supported asset types.
1️⃣ Ether
Sending ether does not forward all of the gas because `.transfer` is used. Thus, only 2300 gas is forwarded to the call.
This isn't enough to re-enter the contract.
2️⃣ ERC20
The system supports ERC20 tokens, but they don't allow for re-entrancy.
A challenger appears!
You thought your system was safe?
Well, here to create more problems is ERC-777. It's like an ERC-20, but it allows you to re-enter on transfers.
This works by creating hooks on transfer methods. Literally allowing you to add code while a transfer is on.
For re-entrancy to work, you always need another contract.
In our case the contract is named `ExploiterERC777` and it's initialized with PeanutV3's address.
The very next thing this contract does is put itself on the line to kick into action when a transfer event occurs.
Let's see what happens when a transfer occurs, and our method is executed.
It counts up the re-entrancy times and calls back into `withdrawDeposit` to receive more tokens once again.
Make sure to check out the repository and run the exploit yourself.
It forks the chain, deploys the exploiter contract, deposits tokens and runs the exploit.
It will help you understand how to exploit a similar system yourself or even find some vulnerabilities in the future.