Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
3851dd9
feat: mayan initial draft
rac-sri Jan 9, 2026
10e63f7
feat: compilation fix
rac-sri Jan 9, 2026
eeedcb9
feat: fix
rac-sri Jan 9, 2026
aadece9
feat: test working against base fork
rac-sri Jan 19, 2026
3c88127
feat: add tests and working deployments for mayan
rac-sri Jan 19, 2026
33743b4
feat: integrate openzeppelin foundry upgrades for vault deployment
rac-sri Jan 19, 2026
c4f22f8
chore: add mock tx script and deployment info
rac-sri Jan 19, 2026
f5127f9
feat: update mayan
rac-sri Jan 21, 2026
5b92d21
feat: mayan v1
rac-sri Jan 28, 2026
cd9f049
Feat: rm
rac-sri Jan 28, 2026
cb40225
v1
rac-sri Jan 29, 2026
203a10f
chore: address default to admin
rac-sri Apr 16, 2026
3d2e76b
chore: merge temp
rac-sri Apr 16, 2026
e1995aa
chore: fix compilation warnings
rac-sri Apr 16, 2026
7447e2c
refactor: use request struct for mayan
rac-sri Apr 16, 2026
8669247
chore: take deadline from routedate
rac-sri Apr 21, 2026
605ae1f
feat: fix mayan consistency with main
rac-sri Apr 22, 2026
94a6e11
chore: salt update and align with main
rac-sri Apr 27, 2026
5262c4f
fix(mayan): correct V2 ETH path via swapAndForwardEth
rac-sri Apr 27, 2026
ab1e8b3
refactor(mayan): take swapAndForwardEth params from route data
rac-sri Apr 27, 2026
8c44f14
chore: mayan swap eth
rac-sri Apr 28, 2026
6b3c8a2
chore: fix uint64 <>uint256 rff convertion
rac-sri Apr 28, 2026
5c6dd70
chore: take decimals from route data
rac-sri Apr 28, 2026
4b25784
chore: remove additional variables from the flow, and reuse chain id.…
rac-sri Apr 29, 2026
6a54abe
fix: origin clone submodule issue
rac-sri May 15, 2026
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
Binary file added .DS_Store
Binary file not shown.
9 changes: 7 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,13 @@ npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Hardhat files
# Hardhat files (legacy)
/cache
/artifacts
deployments/hardhat/
deployments/localhost/

# TypeChain files
# TypeChain files (legacy)
/typechain
/typechain-types

Expand All @@ -43,6 +43,11 @@ gasReporterOutput.json
ignition/deployments/
!ignition/deployments/.gitkeep

# Foundry files
/out
/cache_forge
broadcast/

# In-Dev fuelVM
fuelVM/vault/tests
fuelVM/vault/out
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@
[submodule "lib/openzeppelin-contracts"]
path = lib/openzeppelin-contracts
url = https://github.com/OpenZeppelin/openzeppelin-contracts
[submodule "lib/openzeppelin-contracts-upgradeable"]
path = lib/openzeppelin-contracts-upgradeable
url = https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable
[submodule "lib/openzeppelin-foundry-upgrades"]
path = lib/openzeppelin-foundry-upgrades
url = https://github.com/OpenZeppelin/openzeppelin-foundry-upgrades
217 changes: 217 additions & 0 deletions .openzeppelin/base-sepolia.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,217 @@
{
"manifestVersion": "3.2",
"proxies": [
{
"address": "0x82A45a6Cbe14B2707a3b375Cf0aA5Eb74c95A5bB",
"txHash": "0xc848a5efaf0eba01ef973a5f755ccb496f40ab23ae8e1b442d51e02978f8cef9",
"kind": "uups"
},
{
"address": "0x2ba677A74505d30fB88c48a4Ea27889e6C5e1C0f",
"txHash": "0xc9a2228dab7ad832291d4550b6ecb15d990d6fd336fa3fd44a8ec6d09d7c5722",
"kind": "uups"
},
{
"address": "0x8A822d8c6CaB0AD28bacC205DacBaeB926CD9AFA",
"txHash": "0xb3e482e7eba611d71edee41d6c7a9f231974ecf1faf4d429452e73d58d43d9a4",
"kind": "uups"
},
{
"address": "0xA7458040272226378397C3036eda862D60C3b307",
"txHash": "0x8e0e423f8d63023cbe1afde242cb31e31284d1050cbeda2d25670ccce389e80f",
"kind": "uups"
}
],
"impls": {
"c2b19447dcaeab360db983727b6a9aabdcd834afb5e62c7ce412c18de69a3e4d": {
"address": "0x8fC21F3E8e73F8d626a7B809Ae58d492258d64D0",
"txHash": "0x85a3d3f42dba20e26083b5d7ba42474093a2ab51040e1a6388f2c69c5f8f7820",
"layout": {
"solcVersion": "0.8.30",
"storage": [
{
"label": "requestState",
"offset": 0,
"slot": "0",
"type": "t_mapping(t_bytes32,t_enum(RFFState)3527)",
"contract": "Vault",
"src": "contracts/Vault.sol:48"
},
{
"label": "winningSolver",
"offset": 0,
"slot": "1",
"type": "t_mapping(t_bytes32,t_address)",
"contract": "Vault",
"src": "contracts/Vault.sol:49"
},
{
"label": "depositNonce",
"offset": 0,
"slot": "2",
"type": "t_mapping(t_uint256,t_bool)",
"contract": "Vault",
"src": "contracts/Vault.sol:50"
},
{
"label": "fillNonce",
"offset": 0,
"slot": "3",
"type": "t_mapping(t_uint256,t_bool)",
"contract": "Vault",
"src": "contracts/Vault.sol:51"
},
{
"label": "settleNonce",
"offset": 0,
"slot": "4",
"type": "t_mapping(t_uint256,t_bool)",
"contract": "Vault",
"src": "contracts/Vault.sol:52"
},
{
"label": "__gap",
"offset": 0,
"slot": "5",
"type": "t_array(t_uint256)50_storage",
"contract": "Vault",
"src": "contracts/Vault.sol:57"
}
],
"types": {
"t_address": {
"label": "address",
"numberOfBytes": "20"
},
"t_bool": {
"label": "bool",
"numberOfBytes": "1"
},
"t_bytes32": {
"label": "bytes32",
"numberOfBytes": "32"
},
"t_mapping(t_address,t_bool)": {
"label": "mapping(address => bool)",
"numberOfBytes": "32"
},
"t_mapping(t_bytes32,t_struct(RoleData)27_storage)": {
"label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)",
"numberOfBytes": "32"
},
"t_struct(AccessControlStorage)37_storage": {
"label": "struct AccessControlUpgradeable.AccessControlStorage",
"members": [
{
"label": "_roles",
"type": "t_mapping(t_bytes32,t_struct(RoleData)27_storage)",
"offset": 0,
"slot": "0"
}
],
"numberOfBytes": "32"
},
"t_struct(InitializableStorage)518_storage": {
"label": "struct Initializable.InitializableStorage",
"members": [
{
"label": "_initialized",
"type": "t_uint64",
"offset": 0,
"slot": "0"
},
{
"label": "_initializing",
"type": "t_bool",
"offset": 8,
"slot": "0"
}
],
"numberOfBytes": "32"
},
"t_struct(RoleData)27_storage": {
"label": "struct AccessControlUpgradeable.RoleData",
"members": [
{
"label": "hasRole",
"type": "t_mapping(t_address,t_bool)",
"offset": 0,
"slot": "0"
},
{
"label": "adminRole",
"type": "t_bytes32",
"offset": 0,
"slot": "1"
}
],
"numberOfBytes": "64"
},
"t_uint64": {
"label": "uint64",
"numberOfBytes": "8"
},
"t_array(t_uint256)50_storage": {
"label": "uint256[50]",
"numberOfBytes": "1600"
},
"t_enum(RFFState)3527": {
"label": "enum Vault.RFFState",
"members": [
"UNPROCESSED",
"DEPOSITED",
"FULFILLED"
],
"numberOfBytes": "1"
},
"t_mapping(t_bytes32,t_address)": {
"label": "mapping(bytes32 => address)",
"numberOfBytes": "32"
},
"t_mapping(t_bytes32,t_enum(RFFState)3527)": {
"label": "mapping(bytes32 => enum Vault.RFFState)",
"numberOfBytes": "32"
},
"t_mapping(t_uint256,t_bool)": {
"label": "mapping(uint256 => bool)",
"numberOfBytes": "32"
},
"t_uint256": {
"label": "uint256",
"numberOfBytes": "32"
}
},
"namespaces": {
"erc7201:openzeppelin.storage.AccessControl": [
{
"contract": "AccessControlUpgradeable",
"label": "_roles",
"type": "t_mapping(t_bytes32,t_struct(RoleData)27_storage)",
"src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:62",
"offset": 0,
"slot": "0"
}
],
"erc7201:openzeppelin.storage.Initializable": [
{
"contract": "Initializable",
"label": "_initialized",
"type": "t_uint64",
"src": "@openzeppelin/contracts/proxy/utils/Initializable.sol:69",
"offset": 0,
"slot": "0"
},
{
"contract": "Initializable",
"label": "_initializing",
"type": "t_bool",
"src": "@openzeppelin/contracts/proxy/utils/Initializable.sol:73",
"offset": 8,
"slot": "0"
}
]
}
}
}
}
}
Loading