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...
R4Nd0m k0lLEC7I0N 0F U5EFul PHindiN92 0N mY j0URney PhR0m n00b 2 1337. rAmBL1N92 aBoUt 5Ol1d17y, rE4C7, nf7, dEfi, WE83
Main difference between deployed bytecode or runtime bytecode and bytecode that is shown in deployed transaction is that later has initial code in it and its bigger in size. So what is initial(init) code?A smart contract's constructor is a one-time function not stored on the blockchain but present in the initial code. When creating a contract, users can also send native currency. It's vital to ensure the contract can accept this currency at deployment. If it can't, the creation should fail. This highlights the need for two distinct binary codes: the initial deployment code and the code that's stored on the blockchain.When looking at bytecode to know if it is runtime/deployed or transaction bytecode with init part look for
like in this code in the end
and after it there will be again 6080 the same as at the beginning of the code, this is the opcode usually used for initial free memory pointer
this would be full code that has init code and deployed bytecode in it, with both f3fe and 6080 appearing twice
This 6080 is actually the beginning of the 0x60806040 bytecode sequence often seen at the beginning of bytecode. Here's a breakdown:
0x60: PUSH1 instruction in the EVM bytecode, which pushes the next byte onto the stack.
0x80: This byte represents the size of the memory that the contract will use to store temporary variables during its execution.
0x60: Again, a PUSH1 instruction.
0x40: This byte usually refers to the slot in memory where the free memory pointer is stored. Solidity uses this slot as a starting point to store temporary objects, and it grows as required during the contract's execution.
This preamble essentially sets up the initial free memory pointer. You will see it in many Solidity-compiled contract bytecodes because it's part of the standard setup that the Solidity compiler outputs.
Main difference between deployed bytecode or runtime bytecode and bytecode that is shown in deployed transaction is that later has initial code in it and its bigger in size. So what is initial(init) code?A smart contract's constructor is a one-time function not stored on the blockchain but present in the initial code. When creating a contract, users can also send native currency. It's vital to ensure the contract can accept this currency at deployment. If it can't, the creation should fail. This highlights the need for two distinct binary codes: the initial deployment code and the code that's stored on the blockchain.When looking at bytecode to know if it is runtime/deployed or transaction bytecode with init part look for
like in this code in the end
and after it there will be again 6080 the same as at the beginning of the code, this is the opcode usually used for initial free memory pointer
this would be full code that has init code and deployed bytecode in it, with both f3fe and 6080 appearing twice
This 6080 is actually the beginning of the 0x60806040 bytecode sequence often seen at the beginning of bytecode. Here's a breakdown:
0x60: PUSH1 instruction in the EVM bytecode, which pushes the next byte onto the stack.
0x80: This byte represents the size of the memory that the contract will use to store temporary variables during its execution.
0x60: Again, a PUSH1 instruction.
0x40: This byte usually refers to the slot in memory where the free memory pointer is stored. Solidity uses this slot as a starting point to store temporary objects, and it grows as required during the contract's execution.
This preamble essentially sets up the initial free memory pointer. You will see it in many Solidity-compiled contract bytecodes because it's part of the standard setup that the Solidity compiler outputs.
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...
Share Dialog
Share Dialog
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
<100 subscribers
<100 subscribers
No activity yet