vyperlang / titanoboa

a vyper interpreter
https://titanoboa.readthedocs.io
Other
251 stars 49 forks source link

gnosis safe implementation #120

Open charles-cooper opened 8 months ago

charles-cooper commented 8 months ago

cf. https://pypi.org/project/ape-safe/ https://github.com/banteg/brownie-safe#readme

bout3fiddy commented 8 months ago

brownie-safe has call traces in their preview methods, which i think is out of scope in this particular case.

Also, there are implementations to sign with trezor or frame or ledger etc. whereas i think we should simply stick to browsersigner in this case. let users use notebooks to sign transactions, post them, fetch status on pending transactions, execute transactions etc.

bout3fiddy commented 8 months ago

The other issue I see with this is: if we integrate safe into boa, we would need to import web3py and that's going to bloat boa.

charles-cooper commented 8 months ago

The other issue I see with this is: if we integrate safe into boa, we would need to import web3py and that's going to bloat boa.

i don't see why that would be the case. besides, it should probably be a separate package anyways.

DanielSchiavini commented 5 months ago

https://safe-transaction-mainnet.safe.global/

bout3fiddy commented 5 months ago

The api I recommend is:

with boa.safe.build_transaction():
    coin.approve(safe, 2**256-1)
    safe.spend(coin, 10**18)
    coin.approve(safe, 0)
DanielSchiavini commented 4 months ago

is this issue ready?