Skip to content
Merged
Show file tree
Hide file tree
Changes from 8 commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
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
15 changes: 15 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
[submodule "bsc/hub_reader/lib/forge-std"]
path = bsc/hub_reader/lib/forge-std
url = https://github.com/foundry-rs/forge-std
[submodule "stargate/lib/forge-std"]
path = stargate/lib/forge-std
url = https://github.com/foundry-rs/forge-std
[submodule "stargate/lib/openzeppelin-contracts"]
path = stargate/lib/openzeppelin-contracts
url = https://github.com/OpenZeppelin/openzeppelin-contracts
[submodule "stargate/lib/layerzero-v2"]
path = stargate/lib/layerzero-v2
url = https://github.com/LayerZero-Labs/layerzero-v2
[submodule "stargate/lib/stargate-v2"]
path = stargate/lib/stargate-v2
url = https://github.com/stargate-protocol/stargate-v2
[submodule "stargate/lib/solidity-bytes-utils"]
path = stargate/lib/solidity-bytes-utils
url = https://github.com/GNSPS/solidity-bytes-utils
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
{
"transactions": [
{
"hash": "0xe3c431effb1c83beb25baaea7916cae60e66b6f3385b05f793645858c02a43ae",
"transactionType": "CREATE",
"contractName": "GemStargateMulticallHandler",
"contractAddress": "0xac36e68f410433f9a19fcc1ac34d59c132caea34",
"function": null,
"arguments": [
"0x1a44076050125825900e736c501f859c50fE728c"
],
"transaction": {
"from": "0x0655c6abda5e2a5241aa08486bd50cf7d475cf24",
"gas": "0xf6f67",
"value": "0x0",
"input": "0x60a060405234801561000f575f80fd5b50604051610d9b380380610d9b83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b608051610d1161008a5f395f8181604e01526101db0152610d115ff3fe608060405260043610610034575f3560e01c80635e280f111461003d578063a58d50d31461008c578063d0a10260146100ab57005b3661003b57005b005b348015610048575f80fd5b506100707f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b348015610097575f80fd5b5061003b6100a63660046107cb565b6100be565b61003b6100b9366004610946565b6101d0565b6100c66103dc565b80515f5b818110156101cb575f8382815181106100e5576100e56109e0565b602002602001015190505f81602001515111801561010c575080516001600160a01b03163b155b1561013757818460405163388ddcc360e21b815260040161012e929190610ab4565b60405180910390fd5b5f815f01516001600160a01b03168260400151836020015160405161015c9190610ad4565b5f6040518083038185875af1925050503d805f8114610196576040519150601f19603f3d011682016040523d82523d5f602084013e61019b565b606091505b50509050806101c15782856040516303918b1160e61b815260040161012e929190610ab4565b50506001016100ca565b505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102345760405162461bcd60e51b815260206004820152600960248201526808595b991c1bda5b9d60ba1b604482015260640161012e565b5f61023f86866103fe565b90505f818060200190518101906102569190610aff565b60408101519091506001600160a01b03166102c657602081015160405163a58d50d360e01b8152309163a58d50d3916102929190600401610c84565b5f604051808303815f87803b1580156102a9575f80fd5b505af11580156102bb573d5f803e3d5ffd5b5050505050506103d3565b5f306001600160a01b0316306001600160a01b031663a58d50d384602001516040516024016102f59190610c84565b60408051601f198184030181529181526020820180516001600160e01b031660e09490941b93909317909252905161032d9250610ad4565b5f604051808303815f865af19150503d805f8114610366576040519150601f19603f3d011682016040523d82523d5f602084013e61036b565b606091505b50509050806103be5781604001516001600160a01b03167f5296f22c5d0413b66d0bf45c479c4e2ca5b278634bdbd028b48e49502105f96683602001516040516103b59190610c84565b60405180910390a25b6103cf825f01518360400151610448565b5050505b50505050505050565b3330146103fc576040516314e1dbf760e11b815260040160405180910390fd5b565b606061040d82604c8186610c9d565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929695505050505050565b6001600160a01b03821615610521576040516370a0823160e01b81523060048201525f906001600160a01b038416906370a0823190602401602060405180830381865afa15801561049b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104bf9190610cc4565b905080156101cb576104db6001600160a01b0384168383610583565b80836001600160a01b0316836001600160a01b03167f74d3741ef03417659087d2ec6af11dade8713f9b7f592569d60cf1ea0c9a445560405160405180910390a4505050565b4780156101cb5761053b6001600160a01b038316826105d5565b816001600160a01b03167fa1b27d352a1d0e65310b9edee78b576445be53cdd4b95c265f769285fdb835de8260405161057691815260200190565b60405180910390a2505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526101cb908490610667565b804710156105ff5760405163cf47918160e01b81524760048201526024810182905260440161012e565b5f80836001600160a01b0316836040515f6040518083038185875af1925050503d805f8114610649576040519150601f19603f3d011682016040523d82523d5f602084013e61064e565b606091505b50915091508161066157610661816106d3565b50505050565b5f8060205f8451602086015f885af180610686576040513d5f823e3d81fd5b50505f513d9150811561069d5780600114156106aa565b6001600160a01b0384163b155b1561066157604051635274afe760e01b81526001600160a01b038516600482015260240161012e565b8051156106e35780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b50565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715610736576107366106ff565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610765576107656106ff565b604052919050565b5f67ffffffffffffffff821115610786576107866106ff565b5060051b60200190565b6001600160a01b03811681146106fc575f80fd5b5f67ffffffffffffffff8211156107bd576107bd6106ff565b50601f01601f191660200190565b5f60208083850312156107dc575f80fd5b823567ffffffffffffffff808211156107f3575f80fd5b818501915085601f830112610806575f80fd5b81356108196108148261076d565b61073c565b81815260059190911b83018401908481019088831115610837575f80fd5b8585015b838110156108f457803585811115610851575f80fd5b86016060818c03601f19011215610866575f80fd5b61086e610713565b8882013561087b81610790565b81526040828101358881111561088f575f80fd5b8301603f81018e1361089f575f80fd5b8a8101356108af610814826107a4565b8181528f848385010111156108c2575f80fd5b818484018e8301375f9181018d0191909152838c0152506060929092013591810191909152835291860191860161083b565b5098975050505050505050565b5f8083601f840112610911575f80fd5b50813567ffffffffffffffff811115610928575f80fd5b60208301915083602082850101111561093f575f80fd5b9250929050565b5f805f805f805f60a0888a03121561095c575f80fd5b873561096781610790565b965060208801359550604088013567ffffffffffffffff8082111561098a575f80fd5b6109968b838c01610901565b909750955060608a013591506109ab82610790565b909350608089013590808211156109c0575f80fd5b506109cd8a828b01610901565b989b979a50959850939692959293505050565b634e487b7160e01b5f52603260045260245ffd5b5f5b83811015610a0e5781810151838201526020016109f6565b50505f910152565b5f82825180855260208086019550808260051b8401018186015f5b84811015610aa757601f1986840381018a52825180516001600160a01b03168552858101516060878701819052815190870181905260809190610a7981848a01848c016109f4565b60409384015193880193909352509a86019a601f919091019091169093019092019190830190600101610a31565b5090979650505050505050565b828152604060208201525f610acc6040830184610a16565b949350505050565b5f8251610ae58184602087016109f4565b9190910192915050565b8051610afa81610790565b919050565b5f60208284031215610b0f575f80fd5b815167ffffffffffffffff80821115610b26575f80fd5b9083019060608286031215610b39575f80fd5b610b41610713565b8251610b4c81610790565b8152602083015182811115610b5f575f80fd5b8301601f81018713610b6f575f80fd5b8051610b7d6108148261076d565b8082825260208201915060208360051b850101925089831115610b9e575f80fd5b602084015b83811015610c6057805187811115610bb9575f80fd5b85016060818d03601f19011215610bce575f80fd5b610bd6610713565b6020820151610be481610790565b8152604082015189811115610bf7575f80fd5b8201603f81018e13610c07575f80fd5b6020810151610c18610814826107a4565b8181528f6040838501011115610c2c575f80fd5b610c3d8260208301604086016109f4565b602084810191909152606094909401516040840152505084529283019201610ba3565b50602085015250610c7691505060408401610aef565b604082015295945050505050565b602081525f610c966020830184610a16565b9392505050565b5f8085851115610cab575f80fd5b83861115610cb7575f80fd5b5050820193919092039150565b5f60208284031215610cd4575f80fd5b505191905056fea2646970667358221220b23cb4203700388f38e4a926d6d9a7caafffafea4bc487743094d26de2c25ccd64736f6c634300081600330000000000000000000000001a44076050125825900e736c501f859c50fe728c",
"nonce": "0x2a",
"chainId": "0xa"
},
"additionalContracts": [],
"isFixedGasLimit": false
}
],
"receipts": [
{
"status": "0x1",
"cumulativeGasUsed": "0x69bb00",
"logs": [],
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"type": "0x2",
"transactionHash": "0xe3c431effb1c83beb25baaea7916cae60e66b6f3385b05f793645858c02a43ae",
"transactionIndex": "0xf",
"blockHash": "0x8012a7eea2a2dcfc3159b666dd71ac357d861fbc415a8ecae109a9e815c93cf2",
"blockNumber": "0x7cff81e",
"gasUsed": "0xbdf8b",
"effectiveGasPrice": "0x1c9",
"from": "0x0655c6abda5e2a5241aa08486bd50cf7d475cf24",
"to": null,
"contractAddress": "0xac36e68f410433f9a19fcc1ac34d59c132caea34",
"l1BaseFeeScalar": "0x146b",
"l1BlobBaseFee": "0x2c7c04a10",
"l1BlobBaseFeeScalar": "0xf79c5",
"l1Fee": "0x1bbc7a50e01b",
"l1GasPrice": "0x38e41661f",
"l1GasUsed": "0x8e5d"
}
],
"libraries": [],
"pending": [],
"returns": {},
"timestamp": 1737738763,
"chain": 10,
"commit": "e0328bc"
}
54 changes: 54 additions & 0 deletions stargate/broadcast/GemStargateDeployer.s.sol/10/run-latest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
{
"transactions": [
{
"hash": "0xe3c431effb1c83beb25baaea7916cae60e66b6f3385b05f793645858c02a43ae",
"transactionType": "CREATE",
"contractName": "GemStargateMulticallHandler",
"contractAddress": "0xac36e68f410433f9a19fcc1ac34d59c132caea34",
"function": null,
"arguments": [
"0x1a44076050125825900e736c501f859c50fE728c"
],
"transaction": {
"from": "0x0655c6abda5e2a5241aa08486bd50cf7d475cf24",
"gas": "0xf6f67",
"value": "0x0",
"input": "0x60a060405234801561000f575f80fd5b50604051610d9b380380610d9b83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b608051610d1161008a5f395f8181604e01526101db0152610d115ff3fe608060405260043610610034575f3560e01c80635e280f111461003d578063a58d50d31461008c578063d0a10260146100ab57005b3661003b57005b005b348015610048575f80fd5b506100707f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b348015610097575f80fd5b5061003b6100a63660046107cb565b6100be565b61003b6100b9366004610946565b6101d0565b6100c66103dc565b80515f5b818110156101cb575f8382815181106100e5576100e56109e0565b602002602001015190505f81602001515111801561010c575080516001600160a01b03163b155b1561013757818460405163388ddcc360e21b815260040161012e929190610ab4565b60405180910390fd5b5f815f01516001600160a01b03168260400151836020015160405161015c9190610ad4565b5f6040518083038185875af1925050503d805f8114610196576040519150601f19603f3d011682016040523d82523d5f602084013e61019b565b606091505b50509050806101c15782856040516303918b1160e61b815260040161012e929190610ab4565b50506001016100ca565b505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102345760405162461bcd60e51b815260206004820152600960248201526808595b991c1bda5b9d60ba1b604482015260640161012e565b5f61023f86866103fe565b90505f818060200190518101906102569190610aff565b60408101519091506001600160a01b03166102c657602081015160405163a58d50d360e01b8152309163a58d50d3916102929190600401610c84565b5f604051808303815f87803b1580156102a9575f80fd5b505af11580156102bb573d5f803e3d5ffd5b5050505050506103d3565b5f306001600160a01b0316306001600160a01b031663a58d50d384602001516040516024016102f59190610c84565b60408051601f198184030181529181526020820180516001600160e01b031660e09490941b93909317909252905161032d9250610ad4565b5f604051808303815f865af19150503d805f8114610366576040519150601f19603f3d011682016040523d82523d5f602084013e61036b565b606091505b50509050806103be5781604001516001600160a01b03167f5296f22c5d0413b66d0bf45c479c4e2ca5b278634bdbd028b48e49502105f96683602001516040516103b59190610c84565b60405180910390a25b6103cf825f01518360400151610448565b5050505b50505050505050565b3330146103fc576040516314e1dbf760e11b815260040160405180910390fd5b565b606061040d82604c8186610c9d565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929695505050505050565b6001600160a01b03821615610521576040516370a0823160e01b81523060048201525f906001600160a01b038416906370a0823190602401602060405180830381865afa15801561049b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104bf9190610cc4565b905080156101cb576104db6001600160a01b0384168383610583565b80836001600160a01b0316836001600160a01b03167f74d3741ef03417659087d2ec6af11dade8713f9b7f592569d60cf1ea0c9a445560405160405180910390a4505050565b4780156101cb5761053b6001600160a01b038316826105d5565b816001600160a01b03167fa1b27d352a1d0e65310b9edee78b576445be53cdd4b95c265f769285fdb835de8260405161057691815260200190565b60405180910390a2505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526101cb908490610667565b804710156105ff5760405163cf47918160e01b81524760048201526024810182905260440161012e565b5f80836001600160a01b0316836040515f6040518083038185875af1925050503d805f8114610649576040519150601f19603f3d011682016040523d82523d5f602084013e61064e565b606091505b50915091508161066157610661816106d3565b50505050565b5f8060205f8451602086015f885af180610686576040513d5f823e3d81fd5b50505f513d9150811561069d5780600114156106aa565b6001600160a01b0384163b155b1561066157604051635274afe760e01b81526001600160a01b038516600482015260240161012e565b8051156106e35780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b50565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715610736576107366106ff565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610765576107656106ff565b604052919050565b5f67ffffffffffffffff821115610786576107866106ff565b5060051b60200190565b6001600160a01b03811681146106fc575f80fd5b5f67ffffffffffffffff8211156107bd576107bd6106ff565b50601f01601f191660200190565b5f60208083850312156107dc575f80fd5b823567ffffffffffffffff808211156107f3575f80fd5b818501915085601f830112610806575f80fd5b81356108196108148261076d565b61073c565b81815260059190911b83018401908481019088831115610837575f80fd5b8585015b838110156108f457803585811115610851575f80fd5b86016060818c03601f19011215610866575f80fd5b61086e610713565b8882013561087b81610790565b81526040828101358881111561088f575f80fd5b8301603f81018e1361089f575f80fd5b8a8101356108af610814826107a4565b8181528f848385010111156108c2575f80fd5b818484018e8301375f9181018d0191909152838c0152506060929092013591810191909152835291860191860161083b565b5098975050505050505050565b5f8083601f840112610911575f80fd5b50813567ffffffffffffffff811115610928575f80fd5b60208301915083602082850101111561093f575f80fd5b9250929050565b5f805f805f805f60a0888a03121561095c575f80fd5b873561096781610790565b965060208801359550604088013567ffffffffffffffff8082111561098a575f80fd5b6109968b838c01610901565b909750955060608a013591506109ab82610790565b909350608089013590808211156109c0575f80fd5b506109cd8a828b01610901565b989b979a50959850939692959293505050565b634e487b7160e01b5f52603260045260245ffd5b5f5b83811015610a0e5781810151838201526020016109f6565b50505f910152565b5f82825180855260208086019550808260051b8401018186015f5b84811015610aa757601f1986840381018a52825180516001600160a01b03168552858101516060878701819052815190870181905260809190610a7981848a01848c016109f4565b60409384015193880193909352509a86019a601f919091019091169093019092019190830190600101610a31565b5090979650505050505050565b828152604060208201525f610acc6040830184610a16565b949350505050565b5f8251610ae58184602087016109f4565b9190910192915050565b8051610afa81610790565b919050565b5f60208284031215610b0f575f80fd5b815167ffffffffffffffff80821115610b26575f80fd5b9083019060608286031215610b39575f80fd5b610b41610713565b8251610b4c81610790565b8152602083015182811115610b5f575f80fd5b8301601f81018713610b6f575f80fd5b8051610b7d6108148261076d565b8082825260208201915060208360051b850101925089831115610b9e575f80fd5b602084015b83811015610c6057805187811115610bb9575f80fd5b85016060818d03601f19011215610bce575f80fd5b610bd6610713565b6020820151610be481610790565b8152604082015189811115610bf7575f80fd5b8201603f81018e13610c07575f80fd5b6020810151610c18610814826107a4565b8181528f6040838501011115610c2c575f80fd5b610c3d8260208301604086016109f4565b602084810191909152606094909401516040840152505084529283019201610ba3565b50602085015250610c7691505060408401610aef565b604082015295945050505050565b602081525f610c966020830184610a16565b9392505050565b5f8085851115610cab575f80fd5b83861115610cb7575f80fd5b5050820193919092039150565b5f60208284031215610cd4575f80fd5b505191905056fea2646970667358221220b23cb4203700388f38e4a926d6d9a7caafffafea4bc487743094d26de2c25ccd64736f6c634300081600330000000000000000000000001a44076050125825900e736c501f859c50fe728c",
"nonce": "0x2a",
"chainId": "0xa"
},
"additionalContracts": [],
"isFixedGasLimit": false
}
],
"receipts": [
{
"status": "0x1",
"cumulativeGasUsed": "0x69bb00",
"logs": [],
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"type": "0x2",
"transactionHash": "0xe3c431effb1c83beb25baaea7916cae60e66b6f3385b05f793645858c02a43ae",
"transactionIndex": "0xf",
"blockHash": "0x8012a7eea2a2dcfc3159b666dd71ac357d861fbc415a8ecae109a9e815c93cf2",
"blockNumber": "0x7cff81e",
"gasUsed": "0xbdf8b",
"effectiveGasPrice": "0x1c9",
"from": "0x0655c6abda5e2a5241aa08486bd50cf7d475cf24",
"to": null,
"contractAddress": "0xac36e68f410433f9a19fcc1ac34d59c132caea34",
"l1BaseFeeScalar": "0x146b",
"l1BlobBaseFee": "0x2c7c04a10",
"l1BlobBaseFeeScalar": "0xf79c5",
"l1Fee": "0x1bbc7a50e01b",
"l1GasPrice": "0x38e41661f",
"l1GasUsed": "0x8e5d"
}
],
"libraries": [],
"pending": [],
"returns": {},
"timestamp": 1737738763,
"chain": 10,
"commit": "e0328bc"
}
22 changes: 22 additions & 0 deletions stargate/foundry.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
[profile.default]
src = "src"
out = "out"
libs = ["lib"]

remappings = [
'@layerzerolabs/lz-evm-messagelib-v2/=lib/layerzero-v2/packages/layerzero-v2/evm/messagelib',
'@layerzerolabs/lz-evm-protocol-v2/=lib/layerzero-v2/packages/layerzero-v2/evm/protocol',
'@layerzerolabs/lz-evm-oapp-v2/=lib/layerzero-v2/packages/layerzero-v2/evm/oapp',
'@stargatefinance/stg-evm-v2/=lib/stargate-v2/packages/stg-evm-v2/',
'solidity-bytes-utils/=lib/solidity-bytes-utils/',
]

[rpc_endpoints]
optimism = "${OPTIMISM_RPC}"

[etherscan]
optimism = { key = "${OPTIMISM_ETHERSCAN_API_KEY}" }
base = { key = "${BASE_ETHERSCAN_API_KEY}" }


# See more config options https://github.com/foundry-rs/foundry/blob/master/crates/config/README.md#all-options
1 change: 1 addition & 0 deletions stargate/lib/forge-std
Submodule forge-std added at b93cf4
1 change: 1 addition & 0 deletions stargate/lib/layerzero-v2
Submodule layerzero-v2 added at 7da768
1 change: 1 addition & 0 deletions stargate/lib/openzeppelin-contracts
Submodule openzeppelin-contracts added at acd4ff
1 change: 1 addition & 0 deletions stargate/lib/solidity-bytes-utils
Submodule solidity-bytes-utils added at e0115c
Loading