R4Nd0m k0lLEC7I0N 0F U5EFul PHindiN92 0N mY j0URney PhR0m n00b 2 1337. rAmBL1N92 aBoUt 5Ol1d17y, rE4C7, nf7, dEfi, WE83

How to get Uniswap V3 liquidity pool address for whitelisting?
Similar to what we did for Uniswap V2 on how to find address of smart contract pool that will be generated we can do the same for V3 https://mirror.xyz/n00b21337.eth/0QkNt3NnLnnUSy4jFmWnaeRr_38Z3wlYKKf1O6URG3c Depending on what chain we are at, you can find all the addresses of Factories here https://github.com/Uniswap/sdk-core/blob/5365ae4cd021ab53b94b0879ec6ceb6ad3ebdce9/src/addresses.ts#L135 Aim for the v3CoreFactoryAddress values.**So there are a few methods to do that, one could be to us...
Clear browser storage when developing
Different wallet scripts usually use window.localStorage for saving data for reuse and determination of what is the status of wallet connect, sometimes this could be awire and you need to clear it, you could delete all in browser like cookies, stored data and all the rest but you can also call first this in consolewindow.localStorage to check what is saved and then you can delete it all withlocalStorage.clear(); orlocalStorage.removeItem("name of localStorage variable you want to remov...
Example of implementation of EIP 4906 metadata updates
EIP 4096 has an interesting method of updating your metadata with events, more details here. https://eips.ethereum.org/EIPS/eip-4906 So lets see how to implement it with an example. First you need to create a file with interface that has this code in itpragma solidity ^0.8.0; import "@openzeppelin/contracts/utils/introspection/IERC165.sol"; /// @title EIP-721 Metadata Update Extension interface IERC4906 is IERC165 { /// @dev This event emits when the metadata of a token is changed. /// Third-...

How to get Uniswap V3 liquidity pool address for whitelisting?
Similar to what we did for Uniswap V2 on how to find address of smart contract pool that will be generated we can do the same for V3 https://mirror.xyz/n00b21337.eth/0QkNt3NnLnnUSy4jFmWnaeRr_38Z3wlYKKf1O6URG3c Depending on what chain we are at, you can find all the addresses of Factories here https://github.com/Uniswap/sdk-core/blob/5365ae4cd021ab53b94b0879ec6ceb6ad3ebdce9/src/addresses.ts#L135 Aim for the v3CoreFactoryAddress values.**So there are a few methods to do that, one could be to us...
Clear browser storage when developing
Different wallet scripts usually use window.localStorage for saving data for reuse and determination of what is the status of wallet connect, sometimes this could be awire and you need to clear it, you could delete all in browser like cookies, stored data and all the rest but you can also call first this in consolewindow.localStorage to check what is saved and then you can delete it all withlocalStorage.clear(); orlocalStorage.removeItem("name of localStorage variable you want to remov...
Example of implementation of EIP 4906 metadata updates
EIP 4096 has an interesting method of updating your metadata with events, more details here. https://eips.ethereum.org/EIPS/eip-4906 So lets see how to implement it with an example. First you need to create a file with interface that has this code in itpragma solidity ^0.8.0; import "@openzeppelin/contracts/utils/introspection/IERC165.sol"; /// @title EIP-721 Metadata Update Extension interface IERC4906 is IERC165 { /// @dev This event emits when the metadata of a token is changed. /// Third-...
R4Nd0m k0lLEC7I0N 0F U5EFul PHindiN92 0N mY j0URney PhR0m n00b 2 1337. rAmBL1N92 aBoUt 5Ol1d17y, rE4C7, nf7, dEfi, WE83

Subscribe to N00b21337

Subscribe to N00b21337
Share Dialog
Share Dialog


<100 subscribers
<100 subscribers
So you decided to use gnosis safe and its multisig for your smart contracts. Great decision if you moved from EOA and one private key to more secure setup.
With that there are some caveats and experiences you need to prepare for.
Strongly recommend that you first do some actions and signings of transactions on testnet, better yet, try to do exact same actions on testnet you plan to do on mainnet.
Reason is that you might come into unexpected problems that are better experienced on testnet first.
So what are they, they will probably be associated with transaction builder and Safe UX. Its a tool that tries to build transactions for you and should be ok but the actual transactions might be wrongly configured and make you stuck.
So here is what could go wrong:
You can try to make transaction that will fail, Safe will make some simulations, maybe even recommend that it will fail but you would still try to make it, what then usually happens is that trx is made with low or 0 gas settings and you will make trx in interface but it will never go through, making your UI stuck and you will need to replace that trx.
Replacing can also have its problems, for example, builder might give you wrong or too low gas and wrong NONCE, which is picked from the wallet for creator, so it could be that particular installation of wallet has not made any trx and you did make them on other device, safe would pick up nonce from it which is wrong and you will get nonce 2 but actual nonce should be 14 (you need to see what is actual number of transactions that multisig smart contract wallet had). In that case you need to write it yourself and add proper value, otherwise it will also be stuck and your UI will be processing this forever and you will again need to try to make proper trx that will “kill” this one.
Processing and indexing problems, the Safe UI and the whole FE sometimes is lagging behind (said by their support) so even if you are using some chain that is not congested, you will need to wait for trx to appear. I had situation where trx was ok but indexing of their FE was lagging and they said that it can lag like that up to an hour. So all I can do was wait. It was bit faster, but not much something like 45 mins, on other occasion I waited some 10 minutes, all on chain that is more empty then full.
So take this into account when using Safe and prepare for all of this and try things out.
So you decided to use gnosis safe and its multisig for your smart contracts. Great decision if you moved from EOA and one private key to more secure setup.
With that there are some caveats and experiences you need to prepare for.
Strongly recommend that you first do some actions and signings of transactions on testnet, better yet, try to do exact same actions on testnet you plan to do on mainnet.
Reason is that you might come into unexpected problems that are better experienced on testnet first.
So what are they, they will probably be associated with transaction builder and Safe UX. Its a tool that tries to build transactions for you and should be ok but the actual transactions might be wrongly configured and make you stuck.
So here is what could go wrong:
You can try to make transaction that will fail, Safe will make some simulations, maybe even recommend that it will fail but you would still try to make it, what then usually happens is that trx is made with low or 0 gas settings and you will make trx in interface but it will never go through, making your UI stuck and you will need to replace that trx.
Replacing can also have its problems, for example, builder might give you wrong or too low gas and wrong NONCE, which is picked from the wallet for creator, so it could be that particular installation of wallet has not made any trx and you did make them on other device, safe would pick up nonce from it which is wrong and you will get nonce 2 but actual nonce should be 14 (you need to see what is actual number of transactions that multisig smart contract wallet had). In that case you need to write it yourself and add proper value, otherwise it will also be stuck and your UI will be processing this forever and you will again need to try to make proper trx that will “kill” this one.
Processing and indexing problems, the Safe UI and the whole FE sometimes is lagging behind (said by their support) so even if you are using some chain that is not congested, you will need to wait for trx to appear. I had situation where trx was ok but indexing of their FE was lagging and they said that it can lag like that up to an hour. So all I can do was wait. It was bit faster, but not much something like 45 mins, on other occasion I waited some 10 minutes, all on chain that is more empty then full.
So take this into account when using Safe and prepare for all of this and try things out.
No activity yet