NEWTON
Asked
6 days ago
2
views
0
"Assembly" is a low-level language that is used to write smart contracts for the Ethereum Virtual Machine (EVM). It is similar to machine code, which is the code that is run directly on a computer's central processing unit (CPU). Assembly is often used in Solidity contracts to perform complex tasks or to optimize the performance of the contract.
If a Solidity contract contains assembly code, it is important to be careful when working with it, as it can be difficult to read and understand. Additionally, certain assembly instructions, known as "special EVM calls," can have unintended consequences if not used correctly. For example, some special EVM calls can cause a contract to consume an excessive amount of gas, which can make it more expensive for users to interact with the contract.
It is generally recommended to avoid using assembly in Solidity contracts if possible, as it can make the contract more difficult to understand and maintain. If you do need to use assembly, it is important to thoroughly test and debug the contract to ensure that it functions as intended.
0
Accepted answer
We are working on supporting arithmetic subset of assembly. Other assembly operations that operate on calldata and memory are not available because they cause a big performance degradation. The degradation is on the scale of 20-80x.
victorforissier.eth
answered
6 days ago
Did you change the factory/create2 part (to compute pool addresses)? What's easier, adapt the create2 trick in Solidity then transpile or transpile first then adapt in Cairo?
How to submit a StarkNet contract?
hardhat test
Is it possible to transpile contracts that use openzeppelin libraries?
How to use get_fp_and_pc in Cairo Lang?
Is there no way for me to have a struct as a `@storage_var` if it contains an array fo felts inside ?
How to check if a contract has been deployed at a certain address in cairo?
Is it possible to use ArgentX to sign in user to a off-chain api/db?
What resources (Github repos, projects) do you follow about Cairo Language? Why?
Which is this extension that shows you errors before compilation ser?
How do I use Create React App in StarknetJS?
Does anyone have an example of a positional request to `starknet_addInvokeTransaction` on devnet that is working?
Implicit Arguments in Cairo
Are there rewards for running a Pathfinder node?