Skip to content

Commit 388ed61

Browse files
committed
feat: refactored forge project
1 parent ef99dbc commit 388ed61

File tree

2,570 files changed

+1067205
-418
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,570 files changed

+1067205
-418
lines changed

.env.example

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Stargate V2 Endpoints
2+
ENDPOINT_ETHEREUM=0x1a44076050125825900e736c501f859c50fE728c
3+
ENDPOINT_BASE=0x1a44076050125825900e736c501f859c50fE728c
4+
ENDPOINT_BNB=0x1a44076050125825900e736c501f859c50fE728c
5+
ENDPOINT_AVALANCHE=0x1a44076050125825900e736c501f859c50fE728c
6+
ENDPOINT_POLYGON=0x1a44076050125825900e736c501f859c50fE728c
7+
ENDPOINT_ARBITRUM=0x1a44076050125825900e736c501f859c50fE728c
8+
ENDPOINT_OPTIMISM=0x1a44076050125825900e736c501f859c50fE728c
9+
10+
# RPC Endpoints
11+
ETHEREUM_RPC_URL=https://rpc.ankr.com/eth
12+
OPTIMISM_RPC_URL=https://mainnet.optimism.io
13+
BASE_RPC_URL=https://mainnet.base.org
14+
BSC_RPC_URL=https://bsc-dataseed.binance.org
15+
AVALANCHE_RPC_URL=https://api.avax.network/ext/bc/C/rpc
16+
POLYGON_RPC_URL=https://polygon.llamarpc.com
17+
ARBITRUM_RPC_URL=https://arb1.arbitrum.io/rpc
18+
19+
# Etherscan API Keys
20+
ETHEREUM_SCAN_API_KEY=
21+
OPTIMISM_SCAN_API_KEY=
22+
BASE_SCAN_API_KEY=
23+
BSC_SCAN_API_KEY=
24+
# AVALANCHE_SCAN_API_KEY=
25+
POLYGON_SCAN_API_KEY=
26+
ARBITRUM_SCAN_API_KEY=
27+
28+
# Private Key for Deployment
29+
PRIVATE_KEY=
30+

README.md

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ A collection of smart contracts for Gem Wallet.
77
## Development
88

99
1. Install [Foundry](https://book.getfoundry.sh/) and you're good to go.
10-
2. Configure `.env` file with your `BSC_RPC_URL` and `BSCSCAN_API_KEY`, if you need to deploy the contract, you need to set `PRIVATE_KEY` as well.
10+
2. Configure `.env` using `.env.example` rpcs (if needed) and etherscan values, if you need to deploy the contract, you need to set `PRIVATE_KEY` as well.
1111

1212
## Usage
1313

@@ -27,6 +27,20 @@ forge test --rpc-url <your_rpc_url>
2727

2828
```shell
2929
# deploy hub_reader
30-
cd bsc/hub_reader
31-
forge script script/HubReader.s.sol:HubReaderScript --rpc-url "$BSC_RPC_URL" --broadcast --verify -vvvv
30+
just deploy-hub-reader
3231
```
32+
33+
```shell
34+
# deploy stargate to all supported chains
35+
just deploy-stargate
36+
```
37+
38+
```shell
39+
# deploy stargate to specific chain
40+
just deploy-stargate optimism
41+
```
42+
43+
44+
45+
46+

stargate/broadcast/GemStargateDeployer.s.sol/10/run-1737738763.json renamed to broadcast/GemStargateDeployer.s.sol/10/run-1737979716.json

Lines changed: 19 additions & 19 deletions
Large diffs are not rendered by default.

stargate/broadcast/GemStargateDeployer.s.sol/10/run-latest.json renamed to broadcast/GemStargateDeployer.s.sol/10/run-1737980839.json

Lines changed: 18 additions & 18 deletions
Large diffs are not rendered by default.
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
{
2+
"transactions": [
3+
{
4+
"hash": "0xcc7c66175623427a0b32333fd159ade5150276cbde3115f4c241dcaa6bf15608",
5+
"transactionType": "CREATE",
6+
"contractName": "GemStargateMulticallHandler",
7+
"contractAddress": "0xcd28146a9dc961d22b13a6204437c354425b7739",
8+
"function": null,
9+
"arguments": [
10+
"0x1a44076050125825900e736c501f859c50fE728c"
11+
],
12+
"transaction": {
13+
"from": "0x0655c6abda5e2a5241aa08486bd50cf7d475cf24",
14+
"gas": "0xf6f77",
15+
"value": "0x0",
16+
"input": "0x60a060405234801561000f575f80fd5b50604051610d9b380380610d9b83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b608051610d1161008a5f395f8181604e01526101db0152610d115ff3fe608060405260043610610034575f3560e01c80635e280f111461003d578063a58d50d31461008c578063d0a10260146100ab57005b3661003b57005b005b348015610048575f80fd5b506100707f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b348015610097575f80fd5b5061003b6100a63660046107cb565b6100be565b61003b6100b9366004610946565b6101d0565b6100c66103dc565b80515f5b818110156101cb575f8382815181106100e5576100e56109e0565b602002602001015190505f81602001515111801561010c575080516001600160a01b03163b155b1561013757818460405163388ddcc360e21b815260040161012e929190610ab4565b60405180910390fd5b5f815f01516001600160a01b03168260400151836020015160405161015c9190610ad4565b5f6040518083038185875af1925050503d805f8114610196576040519150601f19603f3d011682016040523d82523d5f602084013e61019b565b606091505b50509050806101c15782856040516303918b1160e61b815260040161012e929190610ab4565b50506001016100ca565b505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102345760405162461bcd60e51b815260206004820152600960248201526808595b991c1bda5b9d60ba1b604482015260640161012e565b5f61023f86866103fe565b90505f818060200190518101906102569190610aff565b60408101519091506001600160a01b03166102c657602081015160405163a58d50d360e01b8152309163a58d50d3916102929190600401610c84565b5f604051808303815f87803b1580156102a9575f80fd5b505af11580156102bb573d5f803e3d5ffd5b5050505050506103d3565b5f306001600160a01b0316306001600160a01b031663a58d50d384602001516040516024016102f59190610c84565b60408051601f198184030181529181526020820180516001600160e01b031660e09490941b93909317909252905161032d9250610ad4565b5f604051808303815f865af19150503d805f8114610366576040519150601f19603f3d011682016040523d82523d5f602084013e61036b565b606091505b50509050806103be5781604001516001600160a01b03167f5296f22c5d0413b66d0bf45c479c4e2ca5b278634bdbd028b48e49502105f96683602001516040516103b59190610c84565b60405180910390a25b6103cf825f01518360400151610448565b5050505b50505050505050565b3330146103fc576040516314e1dbf760e11b815260040160405180910390fd5b565b606061040d82604c8186610c9d565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929695505050505050565b6001600160a01b03821615610521576040516370a0823160e01b81523060048201525f906001600160a01b038416906370a0823190602401602060405180830381865afa15801561049b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104bf9190610cc4565b905080156101cb576104db6001600160a01b0384168383610583565b80836001600160a01b0316836001600160a01b03167f74d3741ef03417659087d2ec6af11dade8713f9b7f592569d60cf1ea0c9a445560405160405180910390a4505050565b4780156101cb5761053b6001600160a01b038316826105d5565b816001600160a01b03167fa1b27d352a1d0e65310b9edee78b576445be53cdd4b95c265f769285fdb835de8260405161057691815260200190565b60405180910390a2505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526101cb908490610667565b804710156105ff5760405163cf47918160e01b81524760048201526024810182905260440161012e565b5f80836001600160a01b0316836040515f6040518083038185875af1925050503d805f8114610649576040519150601f19603f3d011682016040523d82523d5f602084013e61064e565b606091505b50915091508161066157610661816106d3565b50505050565b5f8060205f8451602086015f885af180610686576040513d5f823e3d81fd5b50505f513d9150811561069d5780600114156106aa565b6001600160a01b0384163b155b1561066157604051635274afe760e01b81526001600160a01b038516600482015260240161012e565b8051156106e35780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b50565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715610736576107366106ff565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610765576107656106ff565b604052919050565b5f67ffffffffffffffff821115610786576107866106ff565b5060051b60200190565b6001600160a01b03811681146106fc575f80fd5b5f67ffffffffffffffff8211156107bd576107bd6106ff565b50601f01601f191660200190565b5f60208083850312156107dc575f80fd5b823567ffffffffffffffff808211156107f3575f80fd5b818501915085601f830112610806575f80fd5b81356108196108148261076d565b61073c565b81815260059190911b83018401908481019088831115610837575f80fd5b8585015b838110156108f457803585811115610851575f80fd5b86016060818c03601f19011215610866575f80fd5b61086e610713565b8882013561087b81610790565b81526040828101358881111561088f575f80fd5b8301603f81018e1361089f575f80fd5b8a8101356108af610814826107a4565b8181528f848385010111156108c2575f80fd5b818484018e8301375f9181018d0191909152838c0152506060929092013591810191909152835291860191860161083b565b5098975050505050505050565b5f8083601f840112610911575f80fd5b50813567ffffffffffffffff811115610928575f80fd5b60208301915083602082850101111561093f575f80fd5b9250929050565b5f805f805f805f60a0888a03121561095c575f80fd5b873561096781610790565b965060208801359550604088013567ffffffffffffffff8082111561098a575f80fd5b6109968b838c01610901565b909750955060608a013591506109ab82610790565b909350608089013590808211156109c0575f80fd5b506109cd8a828b01610901565b989b979a50959850939692959293505050565b634e487b7160e01b5f52603260045260245ffd5b5f5b83811015610a0e5781810151838201526020016109f6565b50505f910152565b5f82825180855260208086019550808260051b8401018186015f5b84811015610aa757601f1986840381018a52825180516001600160a01b03168552858101516060878701819052815190870181905260809190610a7981848a01848c016109f4565b60409384015193880193909352509a86019a601f919091019091169093019092019190830190600101610a31565b5090979650505050505050565b828152604060208201525f610acc6040830184610a16565b949350505050565b5f8251610ae58184602087016109f4565b9190910192915050565b8051610afa81610790565b919050565b5f60208284031215610b0f575f80fd5b815167ffffffffffffffff80821115610b26575f80fd5b9083019060608286031215610b39575f80fd5b610b41610713565b8251610b4c81610790565b8152602083015182811115610b5f575f80fd5b8301601f81018713610b6f575f80fd5b8051610b7d6108148261076d565b8082825260208201915060208360051b850101925089831115610b9e575f80fd5b602084015b83811015610c6057805187811115610bb9575f80fd5b85016060818d03601f19011215610bce575f80fd5b610bd6610713565b6020820151610be481610790565b8152604082015189811115610bf7575f80fd5b8201603f81018e13610c07575f80fd5b6020810151610c18610814826107a4565b8181528f6040838501011115610c2c575f80fd5b610c3d8260208301604086016109f4565b602084810191909152606094909401516040840152505084529283019201610ba3565b50602085015250610c7691505060408401610aef565b604082015295945050505050565b602081525f610c966020830184610a16565b9392505050565b5f8085851115610cab575f80fd5b83861115610cb7575f80fd5b5050820193919092039150565b5f60208284031215610cd4575f80fd5b505191905056fea264697066735822122026b78657c12c6b5914f2f30259f1cb0c59506f8f91d07b62400426ff2b76cc9a64736f6c634300081600330000000000000000000000001a44076050125825900e736c501f859c50fe728c",
17+
"nonce": "0x35",
18+
"chainId": "0xa"
19+
},
20+
"additionalContracts": [],
21+
"isFixedGasLimit": false
22+
}
23+
],
24+
"receipts": [],
25+
"libraries": [],
26+
"pending": [
27+
"0xcc7c66175623427a0b32333fd159ade5150276cbde3115f4c241dcaa6bf15608"
28+
],
29+
"returns": {},
30+
"timestamp": 1737982718,
31+
"chain": 10,
32+
"commit": "ef99dbc"
33+
}
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
{
2+
"transactions": [
3+
{
4+
"hash": "0x2a966636fc34abce6dbe38b3159b659611421e31a4043fa491b2c50336bd1624",
5+
"transactionType": "CREATE",
6+
"contractName": "GemStargateMulticallHandler",
7+
"contractAddress": "0xebc5f0a18ab0a2471966beb8b04132810f9110ab",
8+
"function": null,
9+
"arguments": [
10+
"0x1a44076050125825900e736c501f859c50fE728c"
11+
],
12+
"transaction": {
13+
"from": "0x0655c6abda5e2a5241aa08486bd50cf7d475cf24",
14+
"gas": "0xf6f77",
15+
"value": "0x0",
16+
"input": "0x60a060405234801561000f575f80fd5b50604051610d9b380380610d9b83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b608051610d1161008a5f395f8181604e01526101db0152610d115ff3fe608060405260043610610034575f3560e01c80635e280f111461003d578063a58d50d31461008c578063d0a10260146100ab57005b3661003b57005b005b348015610048575f80fd5b506100707f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b348015610097575f80fd5b5061003b6100a63660046107cb565b6100be565b61003b6100b9366004610946565b6101d0565b6100c66103dc565b80515f5b818110156101cb575f8382815181106100e5576100e56109e0565b602002602001015190505f81602001515111801561010c575080516001600160a01b03163b155b1561013757818460405163388ddcc360e21b815260040161012e929190610ab4565b60405180910390fd5b5f815f01516001600160a01b03168260400151836020015160405161015c9190610ad4565b5f6040518083038185875af1925050503d805f8114610196576040519150601f19603f3d011682016040523d82523d5f602084013e61019b565b606091505b50509050806101c15782856040516303918b1160e61b815260040161012e929190610ab4565b50506001016100ca565b505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102345760405162461bcd60e51b815260206004820152600960248201526808595b991c1bda5b9d60ba1b604482015260640161012e565b5f61023f86866103fe565b90505f818060200190518101906102569190610aff565b60408101519091506001600160a01b03166102c657602081015160405163a58d50d360e01b8152309163a58d50d3916102929190600401610c84565b5f604051808303815f87803b1580156102a9575f80fd5b505af11580156102bb573d5f803e3d5ffd5b5050505050506103d3565b5f306001600160a01b0316306001600160a01b031663a58d50d384602001516040516024016102f59190610c84565b60408051601f198184030181529181526020820180516001600160e01b031660e09490941b93909317909252905161032d9250610ad4565b5f604051808303815f865af19150503d805f8114610366576040519150601f19603f3d011682016040523d82523d5f602084013e61036b565b606091505b50509050806103be5781604001516001600160a01b03167f5296f22c5d0413b66d0bf45c479c4e2ca5b278634bdbd028b48e49502105f96683602001516040516103b59190610c84565b60405180910390a25b6103cf825f01518360400151610448565b5050505b50505050505050565b3330146103fc576040516314e1dbf760e11b815260040160405180910390fd5b565b606061040d82604c8186610c9d565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929695505050505050565b6001600160a01b03821615610521576040516370a0823160e01b81523060048201525f906001600160a01b038416906370a0823190602401602060405180830381865afa15801561049b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104bf9190610cc4565b905080156101cb576104db6001600160a01b0384168383610583565b80836001600160a01b0316836001600160a01b03167f74d3741ef03417659087d2ec6af11dade8713f9b7f592569d60cf1ea0c9a445560405160405180910390a4505050565b4780156101cb5761053b6001600160a01b038316826105d5565b816001600160a01b03167fa1b27d352a1d0e65310b9edee78b576445be53cdd4b95c265f769285fdb835de8260405161057691815260200190565b60405180910390a2505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526101cb908490610667565b804710156105ff5760405163cf47918160e01b81524760048201526024810182905260440161012e565b5f80836001600160a01b0316836040515f6040518083038185875af1925050503d805f8114610649576040519150601f19603f3d011682016040523d82523d5f602084013e61064e565b606091505b50915091508161066157610661816106d3565b50505050565b5f8060205f8451602086015f885af180610686576040513d5f823e3d81fd5b50505f513d9150811561069d5780600114156106aa565b6001600160a01b0384163b155b1561066157604051635274afe760e01b81526001600160a01b038516600482015260240161012e565b8051156106e35780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b50565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715610736576107366106ff565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610765576107656106ff565b604052919050565b5f67ffffffffffffffff821115610786576107866106ff565b5060051b60200190565b6001600160a01b03811681146106fc575f80fd5b5f67ffffffffffffffff8211156107bd576107bd6106ff565b50601f01601f191660200190565b5f60208083850312156107dc575f80fd5b823567ffffffffffffffff808211156107f3575f80fd5b818501915085601f830112610806575f80fd5b81356108196108148261076d565b61073c565b81815260059190911b83018401908481019088831115610837575f80fd5b8585015b838110156108f457803585811115610851575f80fd5b86016060818c03601f19011215610866575f80fd5b61086e610713565b8882013561087b81610790565b81526040828101358881111561088f575f80fd5b8301603f81018e1361089f575f80fd5b8a8101356108af610814826107a4565b8181528f848385010111156108c2575f80fd5b818484018e8301375f9181018d0191909152838c0152506060929092013591810191909152835291860191860161083b565b5098975050505050505050565b5f8083601f840112610911575f80fd5b50813567ffffffffffffffff811115610928575f80fd5b60208301915083602082850101111561093f575f80fd5b9250929050565b5f805f805f805f60a0888a03121561095c575f80fd5b873561096781610790565b965060208801359550604088013567ffffffffffffffff8082111561098a575f80fd5b6109968b838c01610901565b909750955060608a013591506109ab82610790565b909350608089013590808211156109c0575f80fd5b506109cd8a828b01610901565b989b979a50959850939692959293505050565b634e487b7160e01b5f52603260045260245ffd5b5f5b83811015610a0e5781810151838201526020016109f6565b50505f910152565b5f82825180855260208086019550808260051b8401018186015f5b84811015610aa757601f1986840381018a52825180516001600160a01b03168552858101516060878701819052815190870181905260809190610a7981848a01848c016109f4565b60409384015193880193909352509a86019a601f919091019091169093019092019190830190600101610a31565b5090979650505050505050565b828152604060208201525f610acc6040830184610a16565b949350505050565b5f8251610ae58184602087016109f4565b9190910192915050565b8051610afa81610790565b919050565b5f60208284031215610b0f575f80fd5b815167ffffffffffffffff80821115610b26575f80fd5b9083019060608286031215610b39575f80fd5b610b41610713565b8251610b4c81610790565b8152602083015182811115610b5f575f80fd5b8301601f81018713610b6f575f80fd5b8051610b7d6108148261076d565b8082825260208201915060208360051b850101925089831115610b9e575f80fd5b602084015b83811015610c6057805187811115610bb9575f80fd5b85016060818d03601f19011215610bce575f80fd5b610bd6610713565b6020820151610be481610790565b8152604082015189811115610bf7575f80fd5b8201603f81018e13610c07575f80fd5b6020810151610c18610814826107a4565b8181528f6040838501011115610c2c575f80fd5b610c3d8260208301604086016109f4565b602084810191909152606094909401516040840152505084529283019201610ba3565b50602085015250610c7691505060408401610aef565b604082015295945050505050565b602081525f610c966020830184610a16565b9392505050565b5f8085851115610cab575f80fd5b83861115610cb7575f80fd5b5050820193919092039150565b5f60208284031215610cd4575f80fd5b505191905056fea264697066735822122026b78657c12c6b5914f2f30259f1cb0c59506f8f91d07b62400426ff2b76cc9a64736f6c634300081600330000000000000000000000001a44076050125825900e736c501f859c50fe728c",
17+
"nonce": "0x36",
18+
"chainId": "0xa"
19+
},
20+
"additionalContracts": [],
21+
"isFixedGasLimit": false
22+
}
23+
],
24+
"receipts": [
25+
{
26+
"status": "0x1",
27+
"cumulativeGasUsed": "0x6536f8",
28+
"logs": [],
29+
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
30+
"type": "0x2",
31+
"transactionHash": "0x2a966636fc34abce6dbe38b3159b659611421e31a4043fa491b2c50336bd1624",
32+
"transactionIndex": "0x13",
33+
"blockHash": "0x012fd66a96a49b9376f6a8651f01c2ddbef544a0f09e16d3b07e9505ec62f494",
34+
"blockNumber": "0x7d1d4ca",
35+
"gasUsed": "0xbdf97",
36+
"effectiveGasPrice": "0xca98",
37+
"from": "0x0655c6abda5e2a5241aa08486bd50cf7d475cf24",
38+
"to": null,
39+
"contractAddress": "0xebc5f0a18ab0a2471966beb8b04132810f9110ab",
40+
"l1BaseFeeScalar": "0x146b",
41+
"l1BlobBaseFee": "0x1bc57bb5f",
42+
"l1BlobBaseFeeScalar": "0xf79c5",
43+
"l1Fee": "0x12122aab1b8f",
44+
"l1GasPrice": "0x337904d6f",
45+
"l1GasUsed": "0x8e78"
46+
}
47+
],
48+
"libraries": [],
49+
"pending": [],
50+
"returns": {},
51+
"timestamp": 1737982814,
52+
"chain": 10,
53+
"commit": "ef99dbc"
54+
}

0 commit comments

Comments
 (0)