DappTools (@dapptools) 's Twitter Profile
DappTools

@dapptools

A suite of Ethereum focused CLI tools following the Unix design philosophy, favoring composability, configurability and extensibility.

ID: 1435106231761448962

linkhttps://dapp.tools calendar_today07-09-2021 05:02:49

43 Tweet

1,1K Followers

4 Following

Matt Solomon (@msolomon44) 's Twitter Profile Photo

Here are a few more details behind the Compound bug from looking at a specific transaction. Alternatively, this thread is a brief guide to debugging with DappTools x.com/Mudit__Gupta/s…

Matt Solomon (@msolomon44) 's Twitter Profile Photo

To figure out what went wrong let’s look at this transaction, which claimed 91,170 COMP ($27M): etherscan.io/tx/0xf4bfef165… Using dapptools: github.com/dapphub/dappto… And duppgrade to make sure we’re on the most recent dapptools version: github.com/Rari-Capital/d…

Matt Solomon (@msolomon44) 's Twitter Profile Photo

Using a simple bash script with seth, we find that the list of markets the user has entered (`getAssetsIn`) is the same as the list of market inputs on Etherscan. So nothing strange here—the user just tried to claim COMP for all Compound markets they’ve entered.

Using a simple bash script with seth, we find that the list of markets the user has entered (`getAssetsIn`) is the same as the list of market inputs on Etherscan.

So nothing strange here—the user just tried to claim COMP for all Compound markets they’ve entered.
Matt Solomon (@msolomon44) 's Twitter Profile Photo

The full tx trace can be seen with ` seth run-tx $txHash --source implementation.json --trace` This shows every call made, and because we bundled the source we get decoded method names and inputs. You can see the final call is the transfer of 91,170 COMP

The full tx trace can be seen with ` seth run-tx $txHash --source implementation.json --trace`

This shows every call made, and because we bundled the source we get decoded method names and inputs. You can see the final call is the transfer of 91,170 COMP
Matt Solomon (@msolomon44) 's Twitter Profile Photo

Within that method, we’ll eventually get here where we check if `borrowIndex > compInitialIndex`. In the top left you’ll see we're executing the GT (greater than) opcode. This pops the top two elements off the stack, compares them, and puts the result on the stack.

Within that method, we’ll eventually get here where we check if `borrowIndex > compInitialIndex`. In the top left you’ll see we're executing the GT (greater than) opcode. This pops the top two elements off the stack, compares them, and puts the result on the stack.
Georgios Konstantopoulos (@gakonst) 's Twitter Profile Photo

ICYMI, dapptools-template is the easiest way to get started with DappTools. Built in Solidity tests, mainnet forking, fuzz tests, formal verification, deployment & deployment tests and more! github.com/gakonst/dappto…

Risedle (@risedle) 's Twitter Profile Photo

Georgios Konstantopoulos DappTools Yesss, that's why we use the DappTools heavily for our ETHGlobal hackathon project serr. The fuzz tests, formal verification and hevm cheat codes. It so easy to use and make life easier. It's feel so gewwd wen it's green ❇

<a href="/gakonst/">Georgios Konstantopoulos</a> <a href="/dapptools/">DappTools</a> Yesss, that's why we use the <a href="/dapptools/">DappTools</a> heavily for our 
<a href="/ETHGlobal/">ETHGlobal</a> hackathon project serr.

The fuzz tests, formal verification and hevm cheat codes. It so easy to use and make life easier. 

It's feel so gewwd wen it's green ❇
Odysseus | phylax.systems (@odysseas_eth) 's Twitter Profile Photo

Played around with the decompiled contract. It was easy to read from the state using Seth from DappTools For example: seth call $store "balanceOf(address, uint)" 0x60...034 $tokenid Will call 'balanceOf' of contract address $store with args 0x60., $tokenId

pyk (@sepyke) 's Twitter Profile Photo

Smooth Risedle's contract deployment + verification using seth(1) by DappTools The dev experience is top notch. It helps me to iterate quickly on kovan

Will Papper ✺ (@willpapper) 's Twitter Profile Photo

And of course @SyndicateDAO is hiring Solidity engineers. You'll work closely with me on new protocols. We use DappTools 🔥 x.com/SyndicateDAO/s…

ronan.eth (@wighawag) 's Twitter Profile Photo

I guess I have been DappTools pilled :D my solidity template has now some tests using it: github.com/wighawag/templ… you get the best of both Hardhat (+ hardhat-deploy plugin) and dapptools Really like the speed of dapptools and testing facilities! zefram.eth t11s

Georgios Konstantopoulos (@gakonst) 's Twitter Profile Photo

Why DappTools: 1. no dependency hell (try seeing how big node_modules is) 2. tests in same language as the one im developing on 3. fuzzing, formal verifcation, code coverage, gas profiling all out of the box 4. interactive debugger 5. speed

Ed Zynda (@what_the_func) 's Twitter Profile Photo

More... dapptools dapptools dapptools dapptools dapptools dapptools dapptools dapptools dapptools dapptools dapptools dapptools dapptools dapptools dapptools DappTools youtube.com/watch?v=K3Umd1…

pyk (@sepyke) 's Twitter Profile Photo

Just published setup-dapptools github action. It's very useful if u want to add CI in your existing pipelines (e.g. Running dapp test on every pull request) github.com/marketplace/ac…

Just published setup-dapptools github action.

It's very useful if u want to add CI in your existing pipelines (e.g. Running dapp test on every pull request)

github.com/marketplace/ac…