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

Test erc20 #983

Merged
merged 30 commits into from
Mar 20, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
9aa1998
update assert writer
AlejandroLabourdette Mar 3, 2023
7470dd4
update assignment writer
AlejandroLabourdette Mar 3, 2023
522aaec
update variable declaration statement writer
AlejandroLabourdette Mar 3, 2023
cdcad1c
update return writer
AlejandroLabourdette Mar 3, 2023
3765d06
support member access for values and namespaces
AlejandroLabourdette Mar 3, 2023
89b466b
remove Uint256 warp structure from literal writer
AlejandroLabourdette Mar 3, 2023
cc30556
use expression as condition in if statement writer
AlejandroLabourdette Mar 3, 2023
a5aa343
update expression statement writer
AlejandroLabourdette Mar 3, 2023
c699de3
update event definition writer
AlejandroLabourdette Mar 3, 2023
190cd51
update cairo function definition writer
AlejandroLabourdette Mar 3, 2023
ef661a5
update tempvar writer to just use let
AlejandroLabourdette Mar 3, 2023
4c66575
move imports, util funcs, const and structs definition from SourceUni…
AlejandroLabourdette Mar 3, 2023
426bc87
convert felts to uint
AlejandroLabourdette Mar 7, 2023
20fece2
Merge branch 'cairo-1.0' into writter-cairo1-2
AlejandroLabourdette Mar 7, 2023
797287c
Merge branch 'cairo-1.0' into writter-cairo1-2
AlejandroLabourdette Mar 7, 2023
7cac76b
create u256 from 2 felts
AlejandroLabourdette Mar 7, 2023
0ffccaa
Merge branch 'u256-from-felts' into writter-cairo1-2
AlejandroLabourdette Mar 7, 2023
a4621b5
use u256_from_felts to create u256 values
AlejandroLabourdette Mar 7, 2023
2b2c889
Fix linting errors
piwonskp Mar 7, 2023
d113288
Merge branch 'cairo-1.0' into test_ERC20
cicr99 Mar 8, 2023
4ddaa55
add import to get u256 from felts
cicr99 Mar 8, 2023
3999f1b
add missing semicolon at the end of imports
cicr99 Mar 8, 2023
d73c7ba
remove unnecessary semicolon in cairoAssert
cicr99 Mar 8, 2023
2e8318d
fix typo in mapping generated info
cicr99 Mar 8, 2023
6b3ab5d
fix assertion error messsage
cicr99 Mar 8, 2023
6b87dc0
rename cairo1 binary for linux folder
cicr99 Mar 8, 2023
46bda7b
no need to replace identifiers with contract member access
cicr99 Mar 8, 2023
b9c46b9
remove unused import and spaces
cicr99 Mar 13, 2023
6e0651d
fix decorators style
cicr99 Mar 20, 2023
46c082c
Erc20 storage fixes (#979)
piwonskp Mar 20, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions cairo1/darwin_arm64/corelib/src/lib.cairo
Original file line number Diff line number Diff line change
Expand Up @@ -413,3 +413,13 @@ mod test;
// Modules for testing only.
mod testing;
mod starknet_testing;

mod warplib;
use warplib::get_u128_try_from_felt_result;
use warplib::u256_from_felts;

use warplib::maths::warp_add256;
use warplib::maths::warp_external_input_check_address;
use warplib::maths::warp_external_input_check_int256;
use warplib::maths::warp_ge256;
use warplib::maths::warp_sub_unsafe256;
10 changes: 10 additions & 0 deletions cairo1/darwin_arm64/corelib/src/warplib.cairo
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
mod integer;
use integer::get_u128_try_from_felt_result;
use integer::u256_from_felts;

mod maths;
use maths::warp_add256;
use maths::warp_external_input_check_address;
use maths::warp_external_input_check_int256;
use maths::warp_ge256;
use maths::warp_sub_unsafe256;
15 changes: 15 additions & 0 deletions cairo1/darwin_arm64/corelib/src/warplib/integer.cairo
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
use integer::u128_try_from_felt;
use option::OptionTrait;

fn u256_from_felts(low_felt: felt, high_felt: felt) -> u256 {
let low_u128: u128 = get_u128_try_from_felt_result(low_felt);
let high_u128: u128 = get_u128_try_from_felt_result(high_felt);
return u256{ low: low_u128, high: high_u128 };
}

fn get_u128_try_from_felt_result(value: felt) -> u128 {
let resp = u128_try_from_felt(value);
assert(resp.is_some(), 'Felts too large for u256');
return resp.unwrap();
}

10 changes: 10 additions & 0 deletions cairo1/darwin_arm64/corelib/src/warplib/maths.cairo
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
mod add;
use add::warp_add256;
mod external_input_check_address;
use external_input_check_address::warp_external_input_check_address;
mod external_input_check_ints;
use external_input_check_ints::warp_external_input_check_int256;
mod ge;
use ge::warp_ge256;
mod sub_unsafe;
use sub_unsafe::warp_sub_unsafe256;
192 changes: 192 additions & 0 deletions cairo1/darwin_arm64/corelib/src/warplib/maths/add.cairo
Original file line number Diff line number Diff line change
@@ -0,0 +1,192 @@
//AUTO-GENERATED


fn warp_add8(lhs: felt, rhs: felt) -> felt{
let res = lhs + rhs;
let max: felt = 0xff;
assert (res <= max, 'Value out of bounds');
return res;
}
fn warp_add16(lhs: felt, rhs: felt) -> felt{
let res = lhs + rhs;
let max: felt = 0xffff;
assert (res <= max, 'Value out of bounds');
return res;
}
fn warp_add24(lhs: felt, rhs: felt) -> felt{
let res = lhs + rhs;
let max: felt = 0xffffff;
assert (res <= max, 'Value out of bounds');
return res;
}
fn warp_add32(lhs: felt, rhs: felt) -> felt{
let res = lhs + rhs;
let max: felt = 0xffffffff;
assert (res <= max, 'Value out of bounds');
return res;
}
fn warp_add40(lhs: felt, rhs: felt) -> felt{
let res = lhs + rhs;
let max: felt = 0xffffffffff;
assert (res <= max, 'Value out of bounds');
return res;
}
fn warp_add48(lhs: felt, rhs: felt) -> felt{
let res = lhs + rhs;
let max: felt = 0xffffffffffff;
assert (res <= max, 'Value out of bounds');
return res;
}
fn warp_add56(lhs: felt, rhs: felt) -> felt{
let res = lhs + rhs;
let max: felt = 0xffffffffffffff;
assert (res <= max, 'Value out of bounds');
return res;
}
fn warp_add64(lhs: felt, rhs: felt) -> felt{
let res = lhs + rhs;
let max: felt = 0xffffffffffffffff;
assert (res <= max, 'Value out of bounds');
return res;
}
fn warp_add72(lhs: felt, rhs: felt) -> felt{
let res = lhs + rhs;
let max: felt = 0xffffffffffffffffff;
assert (res <= max, 'Value out of bounds');
return res;
}
fn warp_add80(lhs: felt, rhs: felt) -> felt{
let res = lhs + rhs;
let max: felt = 0xffffffffffffffffffff;
assert (res <= max, 'Value out of bounds');
return res;
}
fn warp_add88(lhs: felt, rhs: felt) -> felt{
let res = lhs + rhs;
let max: felt = 0xffffffffffffffffffffff;
assert (res <= max, 'Value out of bounds');
return res;
}
fn warp_add96(lhs: felt, rhs: felt) -> felt{
let res = lhs + rhs;
let max: felt = 0xffffffffffffffffffffffff;
assert (res <= max, 'Value out of bounds');
return res;
}
fn warp_add104(lhs: felt, rhs: felt) -> felt{
let res = lhs + rhs;
let max: felt = 0xffffffffffffffffffffffffff;
assert (res <= max, 'Value out of bounds');
return res;
}
fn warp_add112(lhs: felt, rhs: felt) -> felt{
let res = lhs + rhs;
let max: felt = 0xffffffffffffffffffffffffffff;
assert (res <= max, 'Value out of bounds');
return res;
}
fn warp_add120(lhs: felt, rhs: felt) -> felt{
let res = lhs + rhs;
let max: felt = 0xffffffffffffffffffffffffffffff;
assert (res <= max, 'Value out of bounds');
return res;
}
fn warp_add128(lhs: felt, rhs: felt) -> felt{
let res = lhs + rhs;
let max: felt = 0xffffffffffffffffffffffffffffffff;
assert (res <= max, 'Value out of bounds');
return res;
}
fn warp_add136(lhs: felt, rhs: felt) -> felt{
let res = lhs + rhs;
let max: felt = 0xffffffffffffffffffffffffffffffffff;
assert (res <= max, 'Value out of bounds');
return res;
}
fn warp_add144(lhs: felt, rhs: felt) -> felt{
let res = lhs + rhs;
let max: felt = 0xffffffffffffffffffffffffffffffffffff;
assert (res <= max, 'Value out of bounds');
return res;
}
fn warp_add152(lhs: felt, rhs: felt) -> felt{
let res = lhs + rhs;
let max: felt = 0xffffffffffffffffffffffffffffffffffffff;
assert (res <= max, 'Value out of bounds');
return res;
}
fn warp_add160(lhs: felt, rhs: felt) -> felt{
let res = lhs + rhs;
let max: felt = 0xffffffffffffffffffffffffffffffffffffffff;
assert (res <= max, 'Value out of bounds');
return res;
}
fn warp_add168(lhs: felt, rhs: felt) -> felt{
let res = lhs + rhs;
let max: felt = 0xffffffffffffffffffffffffffffffffffffffffff;
assert (res <= max, 'Value out of bounds');
return res;
}
fn warp_add176(lhs: felt, rhs: felt) -> felt{
let res = lhs + rhs;
let max: felt = 0xffffffffffffffffffffffffffffffffffffffffffff;
assert (res <= max, 'Value out of bounds');
return res;
}
fn warp_add184(lhs: felt, rhs: felt) -> felt{
let res = lhs + rhs;
let max: felt = 0xffffffffffffffffffffffffffffffffffffffffffffff;
assert (res <= max, 'Value out of bounds');
return res;
}
fn warp_add192(lhs: felt, rhs: felt) -> felt{
let res = lhs + rhs;
let max: felt = 0xffffffffffffffffffffffffffffffffffffffffffffffff;
assert (res <= max, 'Value out of bounds');
return res;
}
fn warp_add200(lhs: felt, rhs: felt) -> felt{
let res = lhs + rhs;
let max: felt = 0xffffffffffffffffffffffffffffffffffffffffffffffffff;
assert (res <= max, 'Value out of bounds');
return res;
}
fn warp_add208(lhs: felt, rhs: felt) -> felt{
let res = lhs + rhs;
let max: felt = 0xffffffffffffffffffffffffffffffffffffffffffffffffffff;
assert (res <= max, 'Value out of bounds');
return res;
}
fn warp_add216(lhs: felt, rhs: felt) -> felt{
let res = lhs + rhs;
let max: felt = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffff;
assert (res <= max, 'Value out of bounds');
return res;
}
fn warp_add224(lhs: felt, rhs: felt) -> felt{
let res = lhs + rhs;
let max: felt = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff;
assert (res <= max, 'Value out of bounds');
return res;
}
fn warp_add232(lhs: felt, rhs: felt) -> felt{
let res = lhs + rhs;
let max: felt = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffff;
assert (res <= max, 'Value out of bounds');
return res;
}
fn warp_add240(lhs: felt, rhs: felt) -> felt{
let res = lhs + rhs;
let max: felt = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff;
assert (res <= max, 'Value out of bounds');
return res;
}
fn warp_add248(lhs: felt, rhs: felt) -> felt{
let res = lhs + rhs;
let max: felt = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff;
assert (res <= max, 'Value out of bounds');
return res;
}
fn warp_add256(lhs: u256, rhs: u256) -> u256{
return lhs + rhs;
}
Loading