Skip to content
This repository has been archived by the owner on Sep 5, 2023. It is now read-only.

Update calldata handling #1065

Open
rodrigo-pino opened this issue May 22, 2023 · 0 comments
Open

Update calldata handling #1065

rodrigo-pino opened this issue May 22, 2023 · 0 comments
Assignees

Comments

@rodrigo-pino
Copy link
Contributor

In Warp 2 to handle calldata we created abstractions.

  1. solidity dynamic arrays where converted into custom structs with a pointer and length
  2. solidity static arrays where converted into an n size tuple.
  3. solidity structs where adapted to calldata version.

(1) is actually incompatible with Warp 3. We no longer require a struct to mimic the same behaviour as a solidity array. We should erase any use of such a struct and replace with logic with Cairo 1 arrays: Array<T>

The handler of this issue should take a look into:

  1. src/cairoUtil/funcGen/calldata/*
  2. src/passes/externalArgMothifier/dynamicArrayModifier.ts
  3. src/passes/references/externalReturnReciever.ts

Probably others places as well, but this are a good start to grasp the issue.

@cicr99 cicr99 self-assigned this May 22, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants