Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
6fa2436
chore(deps): weekly `cargo update`
Dargon789 Oct 12, 2024
2cfe43f
Merge pull request #1 from Dargon789/cargo-update
Dargon789 Oct 12, 2024
c46fd92
Create codeql.yml
Dargon789 Oct 12, 2024
f4c9806
Update issue templates
Dargon789 Oct 12, 2024
4e543f7
Create apisec-scan.yml
Dargon789 Oct 12, 2024
5b5cc1a
Merge branch 'foundry-rs:master' into master
Dargon789 Oct 14, 2024
cf348e9
Merge branch 'foundry-rs:master' into master
Dargon789 Oct 14, 2024
626a45d
Merge branch 'foundry-rs:master' into master
Dargon789 Oct 23, 2024
ed250ac
Merge branch 'foundry-rs:master' into master
Dargon789 Oct 25, 2024
7843e74
add remix_tests project
Dargon789 Oct 27, 2024
06055ef
Merge branch 'foundry-rs:master' into master
Dargon789 Oct 28, 2024
b548d68
Merge branch 'foundry-rs:master' into master
Dargon789 Nov 1, 2024
a2fb39d
Merge branch 'foundry-rs:master' into master
Dargon789 Nov 3, 2024
f644cbc
Merge branch 'foundry-rs:master' into master
Dargon789 Nov 4, 2024
ecfb5f1
Merge branch 'foundry-rs:master' into master
Dargon789 Nov 5, 2024
582278d
Merge branch 'foundry-rs:master' into master
Dargon789 Nov 10, 2024
9fc25b8
Merge branch 'foundry-rs:master' into master
Dargon789 Nov 14, 2024
ae3d0ae
Merge branch 'foundry-rs:master' into 5-bug-release-workflow-failed
Dargon789 Nov 14, 2024
77f1db6
Merge branch 'foundry-rs:master' into 5-bug-release-workflow-failed
Dargon789 Nov 18, 2024
fb47f35
Update crates/config/src/compilation.rs
Dargon789 Nov 18, 2024
15758c0
Merge branch 'foundry-rs:master' into 5-bug-release-workflow-failed
Dargon789 Nov 23, 2024
443d4b4
Merge pull request #6 from foundry-rs/master
Dargon789 Nov 29, 2024
a9b9a6d
Merge branch 'foundry-rs:master' into master
Dargon789 Dec 2, 2024
b68c7fc
Merge branch 'foundry-rs:master' into 5-bug-release-workflow-failed
Dargon789 Dec 2, 2024
87c4e18
Merge branch 'foundry-rs:master' into master
Dargon789 Dec 2, 2024
1b0acf6
Merge branch 'foundry-rs:master' into master
Dargon789 Dec 26, 2024
917a347
Merge branch 'foundry-rs:master' into master
Dargon789 Jan 24, 2025
45da7fd
Merge branch 'foundry-rs:master' into master
Dargon789 Jan 29, 2025
7e834fa
Merge branch 'foundry-rs:master' into master
Dargon789 Feb 1, 2025
d0b26d5
Merge branch 'foundry-rs:master' into master
Dargon789 Feb 6, 2025
682c4f0
Delete .github/workflows/apisec-scan.yml (#13)
Dargon789 Mar 3, 2025
9886368
Merge branch 'foundry-rs:master' into master
Dargon789 Mar 3, 2025
0f0bba2
Merge branch 'foundry-rs:master' into master
Dargon789 Mar 4, 2025
c37a355
Merge branch 'foundry-rs:master' into 5-bug-release-workflow-failed
Dargon789 Mar 4, 2025
2a2b63d
Update .github/ISSUE_TEMPLATE/bug_report.md
Dargon789 Mar 4, 2025
cfc4503
Add .circleci/config.yml (#15)
Dargon789 Mar 4, 2025
bce83f3
Merge branch 'foundry-rs:master' into master
Dargon789 Mar 4, 2025
0b98e33
Update apisec-scan.yml (#16)
Dargon789 Mar 4, 2025
1e98af9
fix(forge): use float total cmp instead partial (#10005) (#17)
Dargon789 Mar 4, 2025
923914e
Merge branch 'foundry-rs:master' into master
Dargon789 Mar 4, 2025
e45fdec
Update apisec-scan.yml
Dargon789 Mar 4, 2025
02e28ab
Revert "fix(forge): use float total cmp instead partial (#10005) (#17…
Dargon789 Mar 4, 2025
5931c87
forge test openz
Dargon789 Mar 5, 2025
fdfd0e7
diff sig
Dargon789 Mar 5, 2025
ff0adbe
Merge branch 'master' of https://github.com/Dargon789/foundry
Dargon789 Mar 5, 2025
a0a8bde
feat(forge): add params natspec for enums
samooyo Mar 6, 2025
c0b5725
chore: cargo fmt
samooyo Mar 6, 2025
d603348
fix: clippy errors
samooyo Mar 6, 2025
45acba6
Merge branch 'master' into feature/forge-doc-enums
samooyo Mar 7, 2025
4cae0e3
add @gregorsternat as co-author given their earlier work on https://g…
zerosnacks Mar 7, 2025
c352ac2
Merge branch 'pr/10022'
Dargon789 Mar 8, 2025
dc1884c
Merge remote-tracking branch 'origin/5-bug-release-workflow-failed'
Dargon789 Mar 8, 2025
ffefcd2
Update openzeppelin-contracts
Dargon789 Mar 8, 2025
1290871
Merge branch 'foundry-rs:master' into master
Dargon789 Mar 9, 2025
30ccc2c
chore(deps): weekly `cargo update` (#10039) (#22)
Dargon789 Mar 9, 2025
4fb15de
Merge branch 'foundry-rs:master' into master
Dargon789 Mar 9, 2025
6a29b3a
Merge branch 'foundry-rs:master' into master
Dargon789 Mar 11, 2025
c235592
python3-compile-vyper-contract (#27)
Dargon789 Mar 11, 2025
cc6b031
Merge branch 'foundry-rs:master' into master
Dargon789 Mar 14, 2025
2802d43
const LATEST_SOLC: Version = Version::new(0, 8, 29); (#28)
Dargon789 Mar 15, 2025
53d701c
Merge branch 'foundry-rs:master' into master
Dargon789 Mar 15, 2025
eca7fc8
chore(deps): bump zip in the cargo group across 1 directory (#31)
dependabot[bot] Mar 30, 2025
e24df49
Add .circleci/config.yml (#33)
Dargon789 Mar 30, 2025
f62dc84
Revert "python3-compile-vyper-contract (#27)" (#34)
Dargon789 Mar 30, 2025
3cd66da
Merge branch 'master' of https://github.com/Dargon789/foundry
Dargon789 May 9, 2025
f0b1a99
Potential fix for code scanning alert no. 2: Workflow does not contai…
Dargon789 Oct 13, 2025
ab7fffd
Update crates/common/src/contracts.rs
Dargon789 Oct 13, 2025
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
31 changes: 31 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Use the latest 2.1 version of CircleCI pipeline process engine.
# See: https://circleci.com/docs/configuration-reference
version: 2.1

# Define a job to be invoked later in a workflow.
# See: https://circleci.com/docs/jobs-steps/#jobs-overview & https://circleci.com/docs/configuration-reference/#jobs
jobs:
say-hello:
# Specify the execution environment. You can specify an image from Docker Hub or use one of our convenience images from CircleCI's Developer Hub.
# See: https://circleci.com/docs/executor-intro/ & https://circleci.com/docs/configuration-reference/#executor-job
docker:
# Specify the version you desire here
# See: https://circleci.com/developer/images/image/cimg/base
- image: cimg/base:current

# Add steps to the job
# See: https://circleci.com/docs/jobs-steps/#steps-overview & https://circleci.com/docs/configuration-reference/#steps
steps:
# Checkout the code as the first step.
- checkout
- run:
name: "Say hello"
command: "echo Hello, World!"

# Orchestrate jobs using workflows
# See: https://circleci.com/docs/workflows/ & https://circleci.com/docs/configuration-reference/#workflows
workflows:
say-hello-workflow: # This is the name of the workflow, feel free to change it to better match your workflow.
# Inside the workflow, you define the jobs you want to run.
jobs:
- say-hello
7 changes: 7 additions & 0 deletions .codesandbox/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
// These tasks will run in order when initializing your CodeSandbox project.
"setupTasks": [],

// These tasks can be run from CodeSandbox. Running one will open a log in the app.
"tasks": {}
}
39 changes: 39 additions & 0 deletions .deps/remix-tests/remix_accounts.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
// SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.4.22 <0.9.0;

library TestsAccounts {
function getAccount(uint index) pure public returns (address) {
address[15] memory accounts;
accounts[0] = 0x5B38Da6a701c568545dCfcB03FcB875f56beddC4;

accounts[1] = 0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2;

accounts[2] = 0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db;

accounts[3] = 0x78731D3Ca6b7E34aC0F824c42a7cC18A495cabaB;

accounts[4] = 0x617F2E2fD72FD9D5503197092aC168c91465E7f2;

accounts[5] = 0x17F6AD8Ef982297579C203069C1DbfFE4348c372;

accounts[6] = 0x5c6B0f7Bf3E7ce046039Bd8FABdfD3f9F5021678;

accounts[7] = 0x03C6FcED478cBbC9a4FAB34eF9f40767739D1Ff7;

accounts[8] = 0x1aE0EA34a72D944a8C7603FfB3eC30a6669E454C;

accounts[9] = 0x0A098Eda01Ce92ff4A4CCb7A4fFFb5A43EBC70DC;

accounts[10] = 0xCA35b7d915458EF540aDe6068dFe2F44E8fa733c;

accounts[11] = 0x14723A09ACff6D2A60DcdF7aA4AFf308FDDC160C;

accounts[12] = 0x4B0897b0513fdC7C541B6d9D7E929C4e5364D2dB;

accounts[13] = 0x583031D1113aD414F02576BD6afaBfb302140225;

accounts[14] = 0xdD870fA1b7C4700F2BD7f44238821C26f7392148;
return accounts[index];
Comment thread
Dargon789 marked this conversation as resolved.
}
}
225 changes: 225 additions & 0 deletions .deps/remix-tests/remix_tests.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,225 @@
// SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.4.22 <0.9.0;

library Assert {

event AssertionEvent(
bool passed,
string message,
string methodName
);

event AssertionEventUint(
bool passed,
string message,
string methodName,
uint256 returned,
uint256 expected
);

event AssertionEventInt(
bool passed,
string message,
string methodName,
int256 returned,
int256 expected
);

event AssertionEventBool(
bool passed,
string message,
string methodName,
bool returned,
bool expected
);

event AssertionEventAddress(
bool passed,
string message,
string methodName,
address returned,
address expected
);

event AssertionEventBytes32(
bool passed,
string message,
string methodName,
bytes32 returned,
bytes32 expected
);

event AssertionEventString(
bool passed,
string message,
string methodName,
string returned,
string expected
);

event AssertionEventUintInt(
bool passed,
string message,
string methodName,
uint256 returned,
int256 expected
);

event AssertionEventIntUint(
bool passed,
string message,
string methodName,
int256 returned,
uint256 expected
);

function ok(bool a, string memory message) public returns (bool result) {
Comment thread
Dargon789 marked this conversation as resolved.
result = a;
emit AssertionEvent(result, message, "ok");
}

function equal(uint256 a, uint256 b, string memory message) public returns (bool result) {
result = (a == b);
emit AssertionEventUint(result, message, "equal", a, b);
}

function equal(int256 a, int256 b, string memory message) public returns (bool result) {
result = (a == b);
emit AssertionEventInt(result, message, "equal", a, b);
}

function equal(bool a, bool b, string memory message) public returns (bool result) {
result = (a == b);
emit AssertionEventBool(result, message, "equal", a, b);
}

// TODO: only for certain versions of solc
//function equal(fixed a, fixed b, string message) public returns (bool result) {
// result = (a == b);
// emit AssertionEvent(result, message);
//}

// TODO: only for certain versions of solc
//function equal(ufixed a, ufixed b, string message) public returns (bool result) {
// result = (a == b);
// emit AssertionEvent(result, message);
//}

function equal(address a, address b, string memory message) public returns (bool result) {
result = (a == b);
emit AssertionEventAddress(result, message, "equal", a, b);
}

function equal(bytes32 a, bytes32 b, string memory message) public returns (bool result) {
result = (a == b);
emit AssertionEventBytes32(result, message, "equal", a, b);
}

function equal(string memory a, string memory b, string memory message) public returns (bool result) {
result = (keccak256(abi.encodePacked(a)) == keccak256(abi.encodePacked(b)));
emit AssertionEventString(result, message, "equal", a, b);
}

function notEqual(uint256 a, uint256 b, string memory message) public returns (bool result) {
result = (a != b);
emit AssertionEventUint(result, message, "notEqual", a, b);
}

function notEqual(int256 a, int256 b, string memory message) public returns (bool result) {
result = (a != b);
emit AssertionEventInt(result, message, "notEqual", a, b);
}

function notEqual(bool a, bool b, string memory message) public returns (bool result) {
result = (a != b);
emit AssertionEventBool(result, message, "notEqual", a, b);
}

// TODO: only for certain versions of solc
//function notEqual(fixed a, fixed b, string message) public returns (bool result) {
// result = (a != b);
// emit AssertionEvent(result, message);
//}

// TODO: only for certain versions of solc
//function notEqual(ufixed a, ufixed b, string message) public returns (bool result) {
// result = (a != b);
// emit AssertionEvent(result, message);
//}

function notEqual(address a, address b, string memory message) public returns (bool result) {
result = (a != b);
emit AssertionEventAddress(result, message, "notEqual", a, b);
}

function notEqual(bytes32 a, bytes32 b, string memory message) public returns (bool result) {
result = (a != b);
emit AssertionEventBytes32(result, message, "notEqual", a, b);
}

function notEqual(string memory a, string memory b, string memory message) public returns (bool result) {
result = (keccak256(abi.encodePacked(a)) != keccak256(abi.encodePacked(b)));
emit AssertionEventString(result, message, "notEqual", a, b);
}

/*----------------- Greater than --------------------*/
function greaterThan(uint256 a, uint256 b, string memory message) public returns (bool result) {
result = (a > b);
emit AssertionEventUint(result, message, "greaterThan", a, b);
}

function greaterThan(int256 a, int256 b, string memory message) public returns (bool result) {
result = (a > b);
emit AssertionEventInt(result, message, "greaterThan", a, b);
}
// TODO: safely compare between uint and int
function greaterThan(uint256 a, int256 b, string memory message) public returns (bool result) {
if(b < int(0)) {
// int is negative uint "a" always greater
result = true;
} else {
result = (a > uint(b));
}
emit AssertionEventUintInt(result, message, "greaterThan", a, b);
}
function greaterThan(int256 a, uint256 b, string memory message) public returns (bool result) {
if(a < int(0)) {
// int is negative uint "b" always greater
result = false;
} else {
result = (uint(a) > b);
}
emit AssertionEventIntUint(result, message, "greaterThan", a, b);
}
/*----------------- Lesser than --------------------*/
function lesserThan(uint256 a, uint256 b, string memory message) public returns (bool result) {
result = (a < b);
emit AssertionEventUint(result, message, "lesserThan", a, b);
}

function lesserThan(int256 a, int256 b, string memory message) public returns (bool result) {
result = (a < b);
emit AssertionEventInt(result, message, "lesserThan", a, b);
}
// TODO: safely compare between uint and int
function lesserThan(uint256 a, int256 b, string memory message) public returns (bool result) {
if(b < int(0)) {
// int is negative int "b" always lesser
result = false;
} else {
result = (a < uint(b));
}
emit AssertionEventUintInt(result, message, "lesserThan", a, b);
}

function lesserThan(int256 a, uint256 b, string memory message) public returns (bool result) {
if(a < int(0)) {
// int is negative int "a" always lesser
result = true;
} else {
result = (uint(a) < b);
}
emit AssertionEventIntUint(result, message, "lesserThan", a, b);
}
}
38 changes: 38 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. Chrome, safari]
- Version [e.g. 22]

**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]

**Additional context**
Add any other context about the problem here.
10 changes: 10 additions & 0 deletions .github/ISSUE_TEMPLATE/custom.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
name: Custom issue template
about: Describe this issue template's purpose here.
title: ''
labels: ''
assignees: ''

---


20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
Loading