argotorg / argotorg/fe

Fe does not support bytes, which leads to inconsistencies with Solidity.

Open
#1,129 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
1.7k
Forks
218
Avg merge
1d 4h
Merged PRs (30d)
8

Description

```fe
contract C {
// TODO add storage variables

pub fn f(self, data: Bytes<100>) -> (u256, Bytes<100>) {
// TODO implement
}
}
```
```
fe build test.fe
```
```
error: undefined type
┌─ /mnt/sdd1/sbw/sol2rust/output/feTranslatorTest/failedfe/abi_decode_simple_1.fe:4:24

4 │ pub fn f(self, data: Bytes<100>) -> (u256, Bytes<100>) {
│ ^^^^^ `Bytes` has not been defined

error: undefined type
┌─ /mnt/sdd1/sbw/sol2rust/output/feTranslatorTest/failedfe/abi_decode_simple_1.fe:4:46

4 │ pub fn f(self, data: Bytes<100>) -> (u256, Bytes<100>) {
│ ^^^^^ `Bytes` has not been defined

```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by running `fe build test.fe` with the shown contract to reproduce the undefined `Bytes` errors. Trace how the compiler resolves the parameter and return types, then verify that `Bytes<100>` is accepted in both positions without the reported errors and remains consistent with Solidity expectations.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust, solidity
Domain
blockchain, compilers
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.