From 863d421beb27c3a723c80e7752c104d8863505f1 Mon Sep 17 00:00:00 2001 From: thal0x Date: Mon, 4 Nov 2024 05:14:12 -0600 Subject: [PATCH 01/10] implement GoFastHandler contract --- AxelarHandler/remappings.txt | 7 + .../src/AxelarExecutableUpgradeable.sol | 45 +--- AxelarHandler/src/GoFastHandler.sol | 73 +++++ .../src/interfaces/IFastTransferGateway.sol | 16 ++ AxelarHandler/test/GoFastHandler.t.sol | 249 ++++++++++++++++++ 5 files changed, 356 insertions(+), 34 deletions(-) create mode 100644 AxelarHandler/remappings.txt create mode 100644 AxelarHandler/src/GoFastHandler.sol create mode 100644 AxelarHandler/src/interfaces/IFastTransferGateway.sol create mode 100644 AxelarHandler/test/GoFastHandler.t.sol diff --git a/AxelarHandler/remappings.txt b/AxelarHandler/remappings.txt new file mode 100644 index 0000000..182f1dd --- /dev/null +++ b/AxelarHandler/remappings.txt @@ -0,0 +1,7 @@ +lib/axelar-gmp-sdk-solidity/=lib/axelar-gmp-sdk-solidity/ +lib/ds-test/=lib/forge-std/lib/ds-test/src/ +lib/erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/ +lib/forge-std/=lib/forge-std +lib/openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/ +lib/openzeppelin-contracts/=lib/openzeppelin-contracts/ +lib/openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/ diff --git a/AxelarHandler/src/AxelarExecutableUpgradeable.sol b/AxelarHandler/src/AxelarExecutableUpgradeable.sol index 03290f1..a36be7c 100644 --- a/AxelarHandler/src/AxelarExecutableUpgradeable.sol +++ b/AxelarHandler/src/AxelarExecutableUpgradeable.sol @@ -14,15 +14,11 @@ contract AxelarExecutableUpgradeable is IAxelarExecutable, Initializable { _disableInitializers(); } - function __AxelarExecutable_init( - address axelarGateway - ) internal onlyInitializing { + function __AxelarExecutable_init(address axelarGateway) internal onlyInitializing { __AxelarExecutable_init_unchained(axelarGateway); } - function __AxelarExecutable_init_unchained( - address axelarGateway - ) internal onlyInitializing { + function __AxelarExecutable_init_unchained(address axelarGateway) internal onlyInitializing { gateway = IAxelarGateway(axelarGateway); } @@ -40,14 +36,9 @@ contract AxelarExecutableUpgradeable is IAxelarExecutable, Initializable { ) external { bytes32 payloadHash = keccak256(payload); - if ( - !gateway.validateContractCall( - commandId, - sourceChain, - sourceAddress, - payloadHash - ) - ) revert NotApprovedByGateway(); + if (!gateway.validateContractCall(commandId, sourceChain, sourceAddress, payloadHash)) { + revert NotApprovedByGateway(); + } _execute(sourceChain, sourceAddress, payload); } @@ -63,30 +54,16 @@ contract AxelarExecutableUpgradeable is IAxelarExecutable, Initializable { bytes32 payloadHash = keccak256(payload); if ( - !gateway.validateContractCallAndMint( - commandId, - sourceChain, - sourceAddress, - payloadHash, - tokenSymbol, - amount - ) + !gateway.validateContractCallAndMint(commandId, sourceChain, sourceAddress, payloadHash, tokenSymbol, amount) ) revert NotApprovedByGateway(); - _executeWithToken( - sourceChain, - sourceAddress, - payload, - tokenSymbol, - amount - ); + _executeWithToken(sourceChain, sourceAddress, payload, tokenSymbol, amount); } - function _execute( - string calldata sourceChain, - string calldata sourceAddress, - bytes calldata payload - ) internal virtual {} + function _execute(string calldata sourceChain, string calldata sourceAddress, bytes calldata payload) + internal + virtual + {} function _executeWithToken( string calldata sourceChain, diff --git a/AxelarHandler/src/GoFastHandler.sol b/AxelarHandler/src/GoFastHandler.sol new file mode 100644 index 0000000..57d4a26 --- /dev/null +++ b/AxelarHandler/src/GoFastHandler.sol @@ -0,0 +1,73 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.18; + +import {IERC20} from "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol"; +import {SafeERC20} from "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol"; + +import {ISwapRouter02} from "./interfaces/ISwapRouter02.sol"; +import {IFastTransferGateway} from "./interfaces/IFastTransferGateway.sol"; + +contract GoFastHandler { + using SafeERC20 for IERC20; + + ISwapRouter02 public swapRouter; + IFastTransferGateway public fastTransferGateway; + + constructor(address _swapRouter, address _fastTransferGateway) { + swapRouter = ISwapRouter02(_swapRouter); + fastTransferGateway = IFastTransferGateway(_fastTransferGateway); + } + + function swapAndSubmitOrder( + address tokenIn, + uint256 swapAmountIn, + bytes memory swapCalldata, + uint256 feeAmount, + bytes32 sender, + bytes32 recipient, + uint32 destinationDomain, + uint64 timeoutTimestamp, + bytes calldata destinationCalldata + ) public payable returns (bytes32) { + require(feeAmount != 0, "fast transfer fee cannot be zero"); + + uint256 swapAmountOut = _swap(tokenIn, swapAmountIn, swapCalldata); + + require(swapAmountOut >= feeAmount, "amount received from swap is less than fast transfer fee"); + + // this is the amount that the recipient will receive on the destination chain + uint256 swapAmountOutAfterFee = swapAmountOut - feeAmount; + + return fastTransferGateway.submitOrder( + sender, + recipient, + swapAmountOut, + swapAmountOutAfterFee, + destinationDomain, + timeoutTimestamp, + destinationCalldata + ); + } + + function _swap(address tokenIn, uint256 amountIn, bytes memory swapCalldata) internal returns (uint256 amountOut) { + address tokenOut = fastTransferGateway.token(); + + uint256 tokenOutBalanceBefore = IERC20(tokenOut).balanceOf(address(this)); + + if (tokenIn != address(0)) { + IERC20(tokenIn).safeTransferFrom(msg.sender, address(this), amountIn); + + IERC20(tokenIn).safeApprove(address(swapRouter), amountIn); + } + + (bool success,) = address(swapRouter).call{value: msg.value}(swapCalldata); + if (!success) { + assembly { + returndatacopy(0, 0, returndatasize()) + revert(0, returndatasize()) + } + } + + amountOut = IERC20(tokenOut).balanceOf(address(this)) - tokenOutBalanceBefore; + } +} diff --git a/AxelarHandler/src/interfaces/IFastTransferGateway.sol b/AxelarHandler/src/interfaces/IFastTransferGateway.sol new file mode 100644 index 0000000..ff54f0e --- /dev/null +++ b/AxelarHandler/src/interfaces/IFastTransferGateway.sol @@ -0,0 +1,16 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.18; + +interface IFastTransferGateway { + function submitOrder( + bytes32 sender, + bytes32 recipient, + uint256 amountIn, + uint256 amountOut, + uint32 destinationDomain, + uint64 timeoutTimestamp, + bytes calldata data + ) external returns (bytes32); + + function token() external view returns (address); +} diff --git a/AxelarHandler/test/GoFastHandler.t.sol b/AxelarHandler/test/GoFastHandler.t.sol new file mode 100644 index 0000000..313ff4c --- /dev/null +++ b/AxelarHandler/test/GoFastHandler.t.sol @@ -0,0 +1,249 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.18; + +import "forge-std/Test.sol"; + +import {IERC20} from "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol"; + +import {GoFastHandler} from "../src/GoFastHandler.sol"; +import {IFastTransferGateway} from "../src/interfaces/IFastTransferGateway.sol"; + +contract GoFastHandlerTest is Test { + uint256 arbitrumFork; + + address fastTransferGateway; + address uniswapRouter; + address usdc = 0xaf88d065e77c8cC2239327C5EDb3A432268e5831; + + GoFastHandler handler; + + address alice; + + function setUp() public { + arbitrumFork = vm.createFork(vm.envString("RPC_URL")); + + vm.selectFork(arbitrumFork); + vm.rollFork(242534997); + + fastTransferGateway = address(0xC); + uniswapRouter = 0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45; + + handler = new GoFastHandler(uniswapRouter, fastTransferGateway); + + alice = makeAddr("alice"); + } + + function testSwapAndSubmitOrderERC20() public { + address tokenIn = 0x82aF49447D8a07e3bd95BD0d56f35241523fBab1; // WETH + uint256 amountIn = 1 ether; + uint256 fastTransferFee = 1_000_000; // 1 USDC + uint32 destinationDomain = 10; + uint64 timeoutTimestamp = uint64(block.timestamp + 100); + bytes32 sender = keccak256("sender"); + bytes32 recipient = keccak256("recipient"); + + bytes memory swapCalldata = _encodeSwapExactInputCalldata(tokenIn, usdc, 500, address(handler), amountIn, 0, 0); + + deal(tokenIn, alice, amountIn); + + vm.mockCall(fastTransferGateway, abi.encodeWithSelector(IFastTransferGateway.token.selector), abi.encode(usdc)); + + vm.mockCall( + fastTransferGateway, + abi.encodeWithSelector( + IFastTransferGateway.submitOrder.selector, + sender, + recipient, + 2702776834, + 2701776834, + destinationDomain, + timeoutTimestamp, + "" + ), + abi.encode(keccak256("orderId")) + ); + + vm.startPrank(alice); + IERC20(tokenIn).approve(address(handler), amountIn); + + bytes32 orderId = handler.swapAndSubmitOrder( + tokenIn, amountIn, swapCalldata, fastTransferFee, sender, recipient, destinationDomain, timeoutTimestamp, "" + ); + vm.stopPrank(); + + assertEq(orderId, keccak256("orderId")); + } + + function testSwapAndSubmitOrderUSDT() public { + address tokenIn = 0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9; // USDT + uint256 amountIn = 100_000_000; + uint256 fastTransferFee = 1_000_000; // 1 USDC + uint32 destinationDomain = 10; + uint64 timeoutTimestamp = uint64(block.timestamp + 100); + bytes32 sender = keccak256("sender"); + bytes32 recipient = keccak256("recipient"); + + bytes memory swapCalldata = _encodeSwapExactInputCalldata(tokenIn, usdc, 500, address(handler), amountIn, 0, 0); + + deal(tokenIn, alice, amountIn); + + vm.mockCall(fastTransferGateway, abi.encodeWithSelector(IFastTransferGateway.token.selector), abi.encode(usdc)); + + vm.mockCall( + fastTransferGateway, + abi.encodeWithSelector( + IFastTransferGateway.submitOrder.selector, + sender, + recipient, + 99963678, + 98963678, + destinationDomain, + timeoutTimestamp, + "" + ), + abi.encode(keccak256("orderId")) + ); + + vm.startPrank(alice); + IERC20(tokenIn).approve(address(handler), amountIn); + + bytes32 orderId = handler.swapAndSubmitOrder( + tokenIn, amountIn, swapCalldata, fastTransferFee, sender, recipient, destinationDomain, timeoutTimestamp, "" + ); + vm.stopPrank(); + + assertEq(orderId, keccak256("orderId")); + } + + function testSwapAndSubmitOrderNative() public { + address tokenIn = address(0); // ETH + uint256 amountIn = 1 ether; + uint256 fastTransferFee = 1_000_000; // 1 USDC + uint32 destinationDomain = 10; + uint64 timeoutTimestamp = uint64(block.timestamp + 100); + bytes32 sender = keccak256("sender"); + bytes32 recipient = keccak256("recipient"); + + bytes memory swapCalldata = _encodeSwapExactInputCalldata( + 0x82aF49447D8a07e3bd95BD0d56f35241523fBab1, usdc, 500, address(handler), amountIn, 0, 0 + ); + + deal(alice, amountIn); + + vm.mockCall(fastTransferGateway, abi.encodeWithSelector(IFastTransferGateway.token.selector), abi.encode(usdc)); + + vm.mockCall( + fastTransferGateway, + abi.encodeWithSelector( + IFastTransferGateway.submitOrder.selector, + sender, + recipient, + 2702776834, + 2701776834, + destinationDomain, + timeoutTimestamp, + "" + ), + abi.encode(keccak256("orderId")) + ); + + vm.startPrank(alice); + bytes32 orderId = handler.swapAndSubmitOrder{value: amountIn}( + tokenIn, amountIn, swapCalldata, fastTransferFee, sender, recipient, destinationDomain, timeoutTimestamp, "" + ); + vm.stopPrank(); + + assertEq(orderId, keccak256("orderId")); + } + + function testSwapAndSubmitOrderRevertsIfSwapFails() public { + address tokenIn = 0x82aF49447D8a07e3bd95BD0d56f35241523fBab1; // WETH + uint256 amountIn = 1 ether; + uint256 amountOutMinimum = 1_000_000_000_000; // 1,000,000 USDC + uint256 fastTransferFee = 1_000_000; // 1 USDC + uint32 destinationDomain = 10; + uint64 timeoutTimestamp = uint64(block.timestamp + 100); + bytes32 sender = keccak256("sender"); + bytes32 recipient = keccak256("recipient"); + + bytes memory swapCalldata = + _encodeSwapExactInputCalldata(tokenIn, usdc, 500, address(handler), amountIn, amountOutMinimum, 0); + + deal(tokenIn, alice, amountIn); + + vm.mockCall(fastTransferGateway, abi.encodeWithSelector(IFastTransferGateway.token.selector), abi.encode(usdc)); + + vm.startPrank(alice); + IERC20(tokenIn).approve(address(handler), amountIn); + + vm.expectRevert("Too little received"); + handler.swapAndSubmitOrder( + tokenIn, amountIn, swapCalldata, fastTransferFee, sender, recipient, destinationDomain, timeoutTimestamp, "" + ); + vm.stopPrank(); + } + + function testSwapAndSubmitOrderRevertsIfSwapAmountOutIsLessThanFastTransferFee() public { + address tokenIn = 0x82aF49447D8a07e3bd95BD0d56f35241523fBab1; // WETH + uint256 amountIn = 1 ether; + uint256 fastTransferFee = 3000_000_000; // 3000 USDC + uint32 destinationDomain = 10; + uint64 timeoutTimestamp = uint64(block.timestamp + 100); + bytes32 sender = keccak256("sender"); + bytes32 recipient = keccak256("recipient"); + + bytes memory swapCalldata = _encodeSwapExactInputCalldata(tokenIn, usdc, 500, address(handler), amountIn, 0, 0); + + deal(tokenIn, alice, amountIn); + + vm.mockCall(fastTransferGateway, abi.encodeWithSelector(IFastTransferGateway.token.selector), abi.encode(usdc)); + + vm.startPrank(alice); + IERC20(tokenIn).approve(address(handler), amountIn); + + vm.expectRevert("amount received from swap is less than fast transfer fee"); + handler.swapAndSubmitOrder( + tokenIn, amountIn, swapCalldata, fastTransferFee, sender, recipient, destinationDomain, timeoutTimestamp, "" + ); + vm.stopPrank(); + } + + function testSwapAndSubmitOrderRevertsIfFeeAmountIsZero() public { + address tokenIn = 0x82aF49447D8a07e3bd95BD0d56f35241523fBab1; // WETH + uint256 amountIn = 1 ether; + uint256 fastTransferFee = 0; + uint32 destinationDomain = 10; + uint64 timeoutTimestamp = uint64(block.timestamp + 100); + bytes32 sender = keccak256("sender"); + bytes32 recipient = keccak256("recipient"); + + bytes memory swapCalldata = _encodeSwapExactInputCalldata(tokenIn, usdc, 500, address(handler), amountIn, 0, 0); + + deal(tokenIn, alice, amountIn); + + vm.mockCall(fastTransferGateway, abi.encodeWithSelector(IFastTransferGateway.token.selector), abi.encode(usdc)); + + vm.startPrank(alice); + IERC20(tokenIn).approve(address(handler), amountIn); + + vm.expectRevert("fast transfer fee cannot be zero"); + handler.swapAndSubmitOrder( + tokenIn, amountIn, swapCalldata, fastTransferFee, sender, recipient, destinationDomain, timeoutTimestamp, "" + ); + vm.stopPrank(); + } + + function _encodeSwapExactInputCalldata( + address tokenIn, + address tokenOut, + uint24 fee, + address recipient, + uint256 amountIn, + uint256 amountOutMinimum, + uint160 sqrtPriceLimitX96 + ) internal pure returns (bytes memory) { + return abi.encodeWithSelector( + bytes4(0x04e45aaf), tokenIn, tokenOut, fee, recipient, amountIn, amountOutMinimum, sqrtPriceLimitX96 + ); + } +} From 087bd1f13a15af2c2bc3216407e2feda8689d487 Mon Sep 17 00:00:00 2001 From: thal0x Date: Mon, 4 Nov 2024 05:17:23 -0600 Subject: [PATCH 02/10] revert unnecessary formatting changes --- AxelarHandler/src/AxelarHandler.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AxelarHandler/src/AxelarHandler.sol b/AxelarHandler/src/AxelarHandler.sol index b36845a..eb7d676 100644 --- a/AxelarHandler/src/AxelarHandler.sol +++ b/AxelarHandler/src/AxelarHandler.sol @@ -427,4 +427,4 @@ contract AxelarHandler is AxelarExecutableUpgradeable, Ownable2StepUpgradeable, } function _authorizeUpgrade(address newImplementation) internal override onlyOwner {} -} +} \ No newline at end of file From 59d2bf595430951681738307d64c912fbd8f07e6 Mon Sep 17 00:00:00 2001 From: thal0x Date: Mon, 4 Nov 2024 05:18:06 -0600 Subject: [PATCH 03/10] revert unnecessary formatting changes --- .../src/AxelarExecutableUpgradeable.sol | 47 ++++++++++++++----- 1 file changed, 35 insertions(+), 12 deletions(-) diff --git a/AxelarHandler/src/AxelarExecutableUpgradeable.sol b/AxelarHandler/src/AxelarExecutableUpgradeable.sol index a36be7c..5ab3301 100644 --- a/AxelarHandler/src/AxelarExecutableUpgradeable.sol +++ b/AxelarHandler/src/AxelarExecutableUpgradeable.sol @@ -14,11 +14,15 @@ contract AxelarExecutableUpgradeable is IAxelarExecutable, Initializable { _disableInitializers(); } - function __AxelarExecutable_init(address axelarGateway) internal onlyInitializing { + function __AxelarExecutable_init( + address axelarGateway + ) internal onlyInitializing { __AxelarExecutable_init_unchained(axelarGateway); } - function __AxelarExecutable_init_unchained(address axelarGateway) internal onlyInitializing { + function __AxelarExecutable_init_unchained( + address axelarGateway + ) internal onlyInitializing { gateway = IAxelarGateway(axelarGateway); } @@ -36,9 +40,14 @@ contract AxelarExecutableUpgradeable is IAxelarExecutable, Initializable { ) external { bytes32 payloadHash = keccak256(payload); - if (!gateway.validateContractCall(commandId, sourceChain, sourceAddress, payloadHash)) { - revert NotApprovedByGateway(); - } + if ( + !gateway.validateContractCall( + commandId, + sourceChain, + sourceAddress, + payloadHash + ) + ) revert NotApprovedByGateway(); _execute(sourceChain, sourceAddress, payload); } @@ -54,16 +63,30 @@ contract AxelarExecutableUpgradeable is IAxelarExecutable, Initializable { bytes32 payloadHash = keccak256(payload); if ( - !gateway.validateContractCallAndMint(commandId, sourceChain, sourceAddress, payloadHash, tokenSymbol, amount) + !gateway.validateContractCallAndMint( + commandId, + sourceChain, + sourceAddress, + payloadHash, + tokenSymbol, + amount + ) ) revert NotApprovedByGateway(); - _executeWithToken(sourceChain, sourceAddress, payload, tokenSymbol, amount); + _executeWithToken( + sourceChain, + sourceAddress, + payload, + tokenSymbol, + amount + ); } - function _execute(string calldata sourceChain, string calldata sourceAddress, bytes calldata payload) - internal - virtual - {} + function _execute( + string calldata sourceChain, + string calldata sourceAddress, + bytes calldata payload + ) internal virtual {} function _executeWithToken( string calldata sourceChain, @@ -72,4 +95,4 @@ contract AxelarExecutableUpgradeable is IAxelarExecutable, Initializable { string calldata tokenSymbol, uint256 amount ) internal virtual {} -} +} \ No newline at end of file From 3ddda678ce41eaed6ca971634b2a61a34bfa665f Mon Sep 17 00:00:00 2001 From: thal0x Date: Fri, 8 Nov 2024 05:36:46 -0600 Subject: [PATCH 04/10] separate fee logic to solver fee bps and flat execution fee --- .vscode/settings.json | 5 +- AxelarHandler/src/GoFastHandler.sol | 14 +-- AxelarHandler/test/GoFastHandler.t.sol | 117 ++++++++++++++++++++++--- 3 files changed, 119 insertions(+), 17 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 9e26dfe..1bf4eb8 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1 +1,4 @@ -{} \ No newline at end of file +{ + "solidity.formatter": "forge", + "solidity.linter": "" +} \ No newline at end of file diff --git a/AxelarHandler/src/GoFastHandler.sol b/AxelarHandler/src/GoFastHandler.sol index 57d4a26..b975298 100644 --- a/AxelarHandler/src/GoFastHandler.sol +++ b/AxelarHandler/src/GoFastHandler.sol @@ -22,21 +22,25 @@ contract GoFastHandler { address tokenIn, uint256 swapAmountIn, bytes memory swapCalldata, - uint256 feeAmount, + uint256 executionFeeAmount, + uint256 solverFeeBPS, bytes32 sender, bytes32 recipient, uint32 destinationDomain, uint64 timeoutTimestamp, bytes calldata destinationCalldata ) public payable returns (bytes32) { - require(feeAmount != 0, "fast transfer fee cannot be zero"); - + require(executionFeeAmount != 0, "execution fee cannot be zero"); + require(solverFeeBPS != 0, "solver fee cannot be zero"); uint256 swapAmountOut = _swap(tokenIn, swapAmountIn, swapCalldata); - require(swapAmountOut >= feeAmount, "amount received from swap is less than fast transfer fee"); + uint256 solverFeeAmount = (swapAmountOut * solverFeeBPS) / 10000; + uint256 totalFee = executionFeeAmount + solverFeeAmount; + + require(swapAmountOut >= totalFee, "amount received from swap is less than fee"); // this is the amount that the recipient will receive on the destination chain - uint256 swapAmountOutAfterFee = swapAmountOut - feeAmount; + uint256 swapAmountOutAfterFee = swapAmountOut - totalFee; return fastTransferGateway.submitOrder( sender, diff --git a/AxelarHandler/test/GoFastHandler.t.sol b/AxelarHandler/test/GoFastHandler.t.sol index 313ff4c..9959d73 100644 --- a/AxelarHandler/test/GoFastHandler.t.sol +++ b/AxelarHandler/test/GoFastHandler.t.sol @@ -37,6 +37,7 @@ contract GoFastHandlerTest is Test { address tokenIn = 0x82aF49447D8a07e3bd95BD0d56f35241523fBab1; // WETH uint256 amountIn = 1 ether; uint256 fastTransferFee = 1_000_000; // 1 USDC + uint256 solverFeeBPS = 10; // 0.1% uint32 destinationDomain = 10; uint64 timeoutTimestamp = uint64(block.timestamp + 100); bytes32 sender = keccak256("sender"); @@ -55,7 +56,7 @@ contract GoFastHandlerTest is Test { sender, recipient, 2702776834, - 2701776834, + 2699074058, destinationDomain, timeoutTimestamp, "" @@ -67,7 +68,16 @@ contract GoFastHandlerTest is Test { IERC20(tokenIn).approve(address(handler), amountIn); bytes32 orderId = handler.swapAndSubmitOrder( - tokenIn, amountIn, swapCalldata, fastTransferFee, sender, recipient, destinationDomain, timeoutTimestamp, "" + tokenIn, + amountIn, + swapCalldata, + fastTransferFee, + solverFeeBPS, + sender, + recipient, + destinationDomain, + timeoutTimestamp, + "" ); vm.stopPrank(); @@ -78,6 +88,7 @@ contract GoFastHandlerTest is Test { address tokenIn = 0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9; // USDT uint256 amountIn = 100_000_000; uint256 fastTransferFee = 1_000_000; // 1 USDC + uint256 solverFeeBPS = 10; // 0.1% uint32 destinationDomain = 10; uint64 timeoutTimestamp = uint64(block.timestamp + 100); bytes32 sender = keccak256("sender"); @@ -96,7 +107,7 @@ contract GoFastHandlerTest is Test { sender, recipient, 99963678, - 98963678, + 98863715, destinationDomain, timeoutTimestamp, "" @@ -108,7 +119,16 @@ contract GoFastHandlerTest is Test { IERC20(tokenIn).approve(address(handler), amountIn); bytes32 orderId = handler.swapAndSubmitOrder( - tokenIn, amountIn, swapCalldata, fastTransferFee, sender, recipient, destinationDomain, timeoutTimestamp, "" + tokenIn, + amountIn, + swapCalldata, + fastTransferFee, + solverFeeBPS, + sender, + recipient, + destinationDomain, + timeoutTimestamp, + "" ); vm.stopPrank(); @@ -119,6 +139,7 @@ contract GoFastHandlerTest is Test { address tokenIn = address(0); // ETH uint256 amountIn = 1 ether; uint256 fastTransferFee = 1_000_000; // 1 USDC + uint256 solverFeeBPS = 10; // 0.1% uint32 destinationDomain = 10; uint64 timeoutTimestamp = uint64(block.timestamp + 100); bytes32 sender = keccak256("sender"); @@ -139,7 +160,7 @@ contract GoFastHandlerTest is Test { sender, recipient, 2702776834, - 2701776834, + 2699074058, destinationDomain, timeoutTimestamp, "" @@ -149,7 +170,16 @@ contract GoFastHandlerTest is Test { vm.startPrank(alice); bytes32 orderId = handler.swapAndSubmitOrder{value: amountIn}( - tokenIn, amountIn, swapCalldata, fastTransferFee, sender, recipient, destinationDomain, timeoutTimestamp, "" + tokenIn, + amountIn, + swapCalldata, + fastTransferFee, + solverFeeBPS, + sender, + recipient, + destinationDomain, + timeoutTimestamp, + "" ); vm.stopPrank(); @@ -161,6 +191,7 @@ contract GoFastHandlerTest is Test { uint256 amountIn = 1 ether; uint256 amountOutMinimum = 1_000_000_000_000; // 1,000,000 USDC uint256 fastTransferFee = 1_000_000; // 1 USDC + uint256 solverFeeBPS = 10; // 0.1% uint32 destinationDomain = 10; uint64 timeoutTimestamp = uint64(block.timestamp + 100); bytes32 sender = keccak256("sender"); @@ -178,7 +209,16 @@ contract GoFastHandlerTest is Test { vm.expectRevert("Too little received"); handler.swapAndSubmitOrder( - tokenIn, amountIn, swapCalldata, fastTransferFee, sender, recipient, destinationDomain, timeoutTimestamp, "" + tokenIn, + amountIn, + swapCalldata, + fastTransferFee, + solverFeeBPS, + sender, + recipient, + destinationDomain, + timeoutTimestamp, + "" ); vm.stopPrank(); } @@ -187,6 +227,7 @@ contract GoFastHandlerTest is Test { address tokenIn = 0x82aF49447D8a07e3bd95BD0d56f35241523fBab1; // WETH uint256 amountIn = 1 ether; uint256 fastTransferFee = 3000_000_000; // 3000 USDC + uint256 solverFeeBPS = 10; // 0.1% uint32 destinationDomain = 10; uint64 timeoutTimestamp = uint64(block.timestamp + 100); bytes32 sender = keccak256("sender"); @@ -201,9 +242,18 @@ contract GoFastHandlerTest is Test { vm.startPrank(alice); IERC20(tokenIn).approve(address(handler), amountIn); - vm.expectRevert("amount received from swap is less than fast transfer fee"); + vm.expectRevert("amount received from swap is less than fee"); handler.swapAndSubmitOrder( - tokenIn, amountIn, swapCalldata, fastTransferFee, sender, recipient, destinationDomain, timeoutTimestamp, "" + tokenIn, + amountIn, + swapCalldata, + fastTransferFee, + solverFeeBPS, + sender, + recipient, + destinationDomain, + timeoutTimestamp, + "" ); vm.stopPrank(); } @@ -212,6 +262,7 @@ contract GoFastHandlerTest is Test { address tokenIn = 0x82aF49447D8a07e3bd95BD0d56f35241523fBab1; // WETH uint256 amountIn = 1 ether; uint256 fastTransferFee = 0; + uint256 solverFeeBPS = 10; // 0.1% uint32 destinationDomain = 10; uint64 timeoutTimestamp = uint64(block.timestamp + 100); bytes32 sender = keccak256("sender"); @@ -226,9 +277,53 @@ contract GoFastHandlerTest is Test { vm.startPrank(alice); IERC20(tokenIn).approve(address(handler), amountIn); - vm.expectRevert("fast transfer fee cannot be zero"); + vm.expectRevert("execution fee cannot be zero"); handler.swapAndSubmitOrder( - tokenIn, amountIn, swapCalldata, fastTransferFee, sender, recipient, destinationDomain, timeoutTimestamp, "" + tokenIn, + amountIn, + swapCalldata, + fastTransferFee, + solverFeeBPS, + sender, + recipient, + destinationDomain, + timeoutTimestamp, + "" + ); + vm.stopPrank(); + } + + function testSwapAndSubmitOrderRevertsIfSolverFeeIsZero() public { + address tokenIn = 0x82aF49447D8a07e3bd95BD0d56f35241523fBab1; // WETH + uint256 amountIn = 1 ether; + uint256 fastTransferFee = 1_000_000; // 1 USDC + uint256 solverFeeBPS = 0; + uint32 destinationDomain = 10; + uint64 timeoutTimestamp = uint64(block.timestamp + 100); + bytes32 sender = keccak256("sender"); + bytes32 recipient = keccak256("recipient"); + + bytes memory swapCalldata = _encodeSwapExactInputCalldata(tokenIn, usdc, 500, address(handler), amountIn, 0, 0); + + deal(tokenIn, alice, amountIn); + + vm.mockCall(fastTransferGateway, abi.encodeWithSelector(IFastTransferGateway.token.selector), abi.encode(usdc)); + + vm.startPrank(alice); + IERC20(tokenIn).approve(address(handler), amountIn); + + vm.expectRevert("solver fee cannot be zero"); + handler.swapAndSubmitOrder( + tokenIn, + amountIn, + swapCalldata, + fastTransferFee, + solverFeeBPS, + sender, + recipient, + destinationDomain, + timeoutTimestamp, + "" ); vm.stopPrank(); } From 6c99236ad01a438cc703c1999f1046658e692351 Mon Sep 17 00:00:00 2001 From: thal0x Date: Fri, 8 Nov 2024 05:39:42 -0600 Subject: [PATCH 05/10] make contract ownable and add setters for gateway and swap router addresses --- AxelarHandler/src/GoFastHandler.sol | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/AxelarHandler/src/GoFastHandler.sol b/AxelarHandler/src/GoFastHandler.sol index b975298..2741344 100644 --- a/AxelarHandler/src/GoFastHandler.sol +++ b/AxelarHandler/src/GoFastHandler.sol @@ -3,11 +3,12 @@ pragma solidity ^0.8.18; import {IERC20} from "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol"; import {SafeERC20} from "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol"; +import {Ownable} from "lib/openzeppelin-contracts/contracts/access/Ownable.sol"; import {ISwapRouter02} from "./interfaces/ISwapRouter02.sol"; import {IFastTransferGateway} from "./interfaces/IFastTransferGateway.sol"; -contract GoFastHandler { +contract GoFastHandler is Ownable { using SafeERC20 for IERC20; ISwapRouter02 public swapRouter; @@ -18,6 +19,14 @@ contract GoFastHandler { fastTransferGateway = IFastTransferGateway(_fastTransferGateway); } + function setSwapRouter(address _swapRouter) public onlyOwner { + swapRouter = ISwapRouter02(_swapRouter); + } + + function setFastTransferGateway(address _fastTransferGateway) public onlyOwner { + fastTransferGateway = IFastTransferGateway(_fastTransferGateway); + } + function swapAndSubmitOrder( address tokenIn, uint256 swapAmountIn, From a6e5d220d1de85fb51ea32c15140fabfedd79cc3 Mon Sep 17 00:00:00 2001 From: thal0x Date: Fri, 8 Nov 2024 05:51:16 -0600 Subject: [PATCH 06/10] add refund logic --- AxelarHandler/src/GoFastHandler.sol | 41 ++++++++++++++++++++++++----- 1 file changed, 34 insertions(+), 7 deletions(-) diff --git a/AxelarHandler/src/GoFastHandler.sol b/AxelarHandler/src/GoFastHandler.sol index 2741344..27cafba 100644 --- a/AxelarHandler/src/GoFastHandler.sol +++ b/AxelarHandler/src/GoFastHandler.sol @@ -41,17 +41,23 @@ contract GoFastHandler is Ownable { ) public payable returns (bytes32) { require(executionFeeAmount != 0, "execution fee cannot be zero"); require(solverFeeBPS != 0, "solver fee cannot be zero"); - uint256 swapAmountOut = _swap(tokenIn, swapAmountIn, swapCalldata); - uint256 solverFeeAmount = (swapAmountOut * solverFeeBPS) / 10000; - uint256 totalFee = executionFeeAmount + solverFeeAmount; + uint256 swapAmountOut; + uint256 swapAmountOutAfterFee; - require(swapAmountOut >= totalFee, "amount received from swap is less than fee"); + { + swapAmountOut = _swap(tokenIn, swapAmountIn, swapCalldata); - // this is the amount that the recipient will receive on the destination chain - uint256 swapAmountOutAfterFee = swapAmountOut - totalFee; + uint256 solverFeeAmount = (swapAmountOut * solverFeeBPS) / 10000; + uint256 totalFee = executionFeeAmount + solverFeeAmount; - return fastTransferGateway.submitOrder( + require(swapAmountOut >= totalFee, "amount received from swap is less than fee"); + + // this is the amount that the recipient will receive on the destination chain + swapAmountOutAfterFee = swapAmountOut - totalFee; + } + + bytes32 orderId = fastTransferGateway.submitOrder( sender, recipient, swapAmountOut, @@ -60,6 +66,10 @@ contract GoFastHandler is Ownable { timeoutTimestamp, destinationCalldata ); + + _refundToken(tokenIn); + + return orderId; } function _swap(address tokenIn, uint256 amountIn, bytes memory swapCalldata) internal returns (uint256 amountOut) { @@ -83,4 +93,21 @@ contract GoFastHandler is Ownable { amountOut = IERC20(tokenOut).balanceOf(address(this)) - tokenOutBalanceBefore; } + + function _tokenBalance(address token) internal view returns (uint256) { + if (token != address(0)) { + return IERC20(token).balanceOf(address(this)); + } else { + return address(this).balance; + } + } + + function _refundToken(address token) internal { + uint256 amount = _tokenBalance(token); + if (token != address(0)) { + IERC20(token).safeTransfer(msg.sender, amount); + } else { + payable(msg.sender).transfer(amount); + } + } } From 8950cfa8a4763076b8a18d7bfa5f4ce9d43c7c8b Mon Sep 17 00:00:00 2001 From: thal0x Date: Fri, 8 Nov 2024 09:53:01 -0600 Subject: [PATCH 07/10] add submitOrder method to contract --- AxelarHandler/src/GoFastHandler.sol | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/AxelarHandler/src/GoFastHandler.sol b/AxelarHandler/src/GoFastHandler.sol index 27cafba..75054f0 100644 --- a/AxelarHandler/src/GoFastHandler.sol +++ b/AxelarHandler/src/GoFastHandler.sol @@ -72,6 +72,20 @@ contract GoFastHandler is Ownable { return orderId; } + function submitOrder( + bytes32 sender, + bytes32 recipient, + uint256 amountIn, + uint256 amountOut, + uint32 destinationDomain, + uint64 timeoutTimestamp, + bytes calldata data + ) external returns (bytes32) { + return fastTransferGateway.submitOrder( + sender, recipient, amountIn, amountOut, destinationDomain, timeoutTimestamp, data + ); + } + function _swap(address tokenIn, uint256 amountIn, bytes memory swapCalldata) internal returns (uint256 amountOut) { address tokenOut = fastTransferGateway.token(); From 3f937256c4188c2af7f4dff4f5829c2a15db4148 Mon Sep 17 00:00:00 2001 From: thal0x Date: Mon, 11 Nov 2024 18:49:13 -0600 Subject: [PATCH 08/10] add check for zero amount --- AxelarHandler/src/GoFastHandler.sol | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/AxelarHandler/src/GoFastHandler.sol b/AxelarHandler/src/GoFastHandler.sol index 75054f0..b93deee 100644 --- a/AxelarHandler/src/GoFastHandler.sol +++ b/AxelarHandler/src/GoFastHandler.sol @@ -47,6 +47,7 @@ contract GoFastHandler is Ownable { { swapAmountOut = _swap(tokenIn, swapAmountIn, swapCalldata); + require(swapAmountOut != 0, "amount received from swap is zero"); uint256 solverFeeAmount = (swapAmountOut * solverFeeBPS) / 10000; uint256 totalFee = executionFeeAmount + solverFeeAmount; @@ -57,13 +58,14 @@ contract GoFastHandler is Ownable { swapAmountOutAfterFee = swapAmountOut - totalFee; } - bytes32 orderId = fastTransferGateway.submitOrder( + bytes32 orderId = _submitOrder( sender, recipient, swapAmountOut, swapAmountOutAfterFee, destinationDomain, timeoutTimestamp, + false, destinationCalldata ); @@ -81,6 +83,27 @@ contract GoFastHandler is Ownable { uint64 timeoutTimestamp, bytes calldata data ) external returns (bytes32) { + return _submitOrder(sender, recipient, amountIn, amountOut, destinationDomain, timeoutTimestamp, true, data); + } + + function _submitOrder( + bytes32 sender, + bytes32 recipient, + uint256 amountIn, + uint256 amountOut, + uint32 destinationDomain, + uint64 timeoutTimestamp, + bool transferTokens, + bytes calldata data + ) internal returns (bytes32) { + address token = fastTransferGateway.token(); + + if (transferTokens) { + IERC20(token).safeTransferFrom(msg.sender, address(this), amountIn); + } + + IERC20(token).safeApprove(address(fastTransferGateway), amountIn); + return fastTransferGateway.submitOrder( sender, recipient, amountIn, amountOut, destinationDomain, timeoutTimestamp, data ); From d59347338311a6fc0f6ee6284f78343a74135760 Mon Sep 17 00:00:00 2001 From: thal0x Date: Mon, 11 Nov 2024 18:50:01 -0600 Subject: [PATCH 09/10] dont require execution fee to be greater than zero --- AxelarHandler/src/GoFastHandler.sol | 1 - AxelarHandler/test/GoFastHandler.t.sol | 35 -------------------------- 2 files changed, 36 deletions(-) diff --git a/AxelarHandler/src/GoFastHandler.sol b/AxelarHandler/src/GoFastHandler.sol index b93deee..f837845 100644 --- a/AxelarHandler/src/GoFastHandler.sol +++ b/AxelarHandler/src/GoFastHandler.sol @@ -39,7 +39,6 @@ contract GoFastHandler is Ownable { uint64 timeoutTimestamp, bytes calldata destinationCalldata ) public payable returns (bytes32) { - require(executionFeeAmount != 0, "execution fee cannot be zero"); require(solverFeeBPS != 0, "solver fee cannot be zero"); uint256 swapAmountOut; diff --git a/AxelarHandler/test/GoFastHandler.t.sol b/AxelarHandler/test/GoFastHandler.t.sol index 9959d73..d4cfa8e 100644 --- a/AxelarHandler/test/GoFastHandler.t.sol +++ b/AxelarHandler/test/GoFastHandler.t.sol @@ -258,41 +258,6 @@ contract GoFastHandlerTest is Test { vm.stopPrank(); } - function testSwapAndSubmitOrderRevertsIfFeeAmountIsZero() public { - address tokenIn = 0x82aF49447D8a07e3bd95BD0d56f35241523fBab1; // WETH - uint256 amountIn = 1 ether; - uint256 fastTransferFee = 0; - uint256 solverFeeBPS = 10; // 0.1% - uint32 destinationDomain = 10; - uint64 timeoutTimestamp = uint64(block.timestamp + 100); - bytes32 sender = keccak256("sender"); - bytes32 recipient = keccak256("recipient"); - - bytes memory swapCalldata = _encodeSwapExactInputCalldata(tokenIn, usdc, 500, address(handler), amountIn, 0, 0); - - deal(tokenIn, alice, amountIn); - - vm.mockCall(fastTransferGateway, abi.encodeWithSelector(IFastTransferGateway.token.selector), abi.encode(usdc)); - - vm.startPrank(alice); - IERC20(tokenIn).approve(address(handler), amountIn); - - vm.expectRevert("execution fee cannot be zero"); - handler.swapAndSubmitOrder( - tokenIn, - amountIn, - swapCalldata, - fastTransferFee, - solverFeeBPS, - sender, - recipient, - destinationDomain, - timeoutTimestamp, - "" - ); - vm.stopPrank(); - } - function testSwapAndSubmitOrderRevertsIfSolverFeeIsZero() public { address tokenIn = 0x82aF49447D8a07e3bd95BD0d56f35241523fBab1; // WETH uint256 amountIn = 1 ether; From ae453d0a7f129baf7b92145ea53312f9d22714c0 Mon Sep 17 00:00:00 2001 From: thal0x Date: Tue, 12 Nov 2024 05:04:57 -0600 Subject: [PATCH 10/10] make GoFastHandler upgradable --- .../Deploy.s.sol/1/run-1731147575.json | 65 +++++++++++++++ .../broadcast/Deploy.s.sol/1/run-latest.json | 65 +++++++++++++++ .../Deploy.s.sol/10/run-1731147260.json | 71 ++++++++++++++++ .../broadcast/Deploy.s.sol/10/run-latest.json | 71 ++++++++++++++++ .../Deploy.s.sol/137/run-1731147334.json | 81 +++++++++++++++++++ .../Deploy.s.sol/137/run-1731147440.json | 81 +++++++++++++++++++ .../Deploy.s.sol/137/run-latest.json | 81 +++++++++++++++++++ .../42161/dry-run/run-1731147174.json | 32 ++++++++ .../42161/dry-run/run-latest.json | 32 ++++++++ .../Deploy.s.sol/42161/run-1731147206.json | 67 +++++++++++++++ .../Deploy.s.sol/42161/run-latest.json | 67 +++++++++++++++ .../Deploy.s.sol/43114/run-1731147468.json | 65 +++++++++++++++ .../Deploy.s.sol/43114/run-1731147526.json | 65 +++++++++++++++ .../Deploy.s.sol/43114/run-latest.json | 65 +++++++++++++++ .../Deploy.s.sol/8453/run-1731147418.json | 73 +++++++++++++++++ .../Deploy.s.sol/8453/run-latest.json | 73 +++++++++++++++++ AxelarHandler/script/Deploy.s.sol | 73 +++++++++++++++++ AxelarHandler/src/GoFastHandler.sol | 16 +++- AxelarHandler/test/GoFastHandler.t.sol | 8 +- 19 files changed, 1147 insertions(+), 4 deletions(-) create mode 100644 AxelarHandler/broadcast/Deploy.s.sol/1/run-1731147575.json create mode 100644 AxelarHandler/broadcast/Deploy.s.sol/1/run-latest.json create mode 100644 AxelarHandler/broadcast/Deploy.s.sol/10/run-1731147260.json create mode 100644 AxelarHandler/broadcast/Deploy.s.sol/10/run-latest.json create mode 100644 AxelarHandler/broadcast/Deploy.s.sol/137/run-1731147334.json create mode 100644 AxelarHandler/broadcast/Deploy.s.sol/137/run-1731147440.json create mode 100644 AxelarHandler/broadcast/Deploy.s.sol/137/run-latest.json create mode 100644 AxelarHandler/broadcast/Deploy.s.sol/42161/dry-run/run-1731147174.json create mode 100644 AxelarHandler/broadcast/Deploy.s.sol/42161/dry-run/run-latest.json create mode 100644 AxelarHandler/broadcast/Deploy.s.sol/42161/run-1731147206.json create mode 100644 AxelarHandler/broadcast/Deploy.s.sol/42161/run-latest.json create mode 100644 AxelarHandler/broadcast/Deploy.s.sol/43114/run-1731147468.json create mode 100644 AxelarHandler/broadcast/Deploy.s.sol/43114/run-1731147526.json create mode 100644 AxelarHandler/broadcast/Deploy.s.sol/43114/run-latest.json create mode 100644 AxelarHandler/broadcast/Deploy.s.sol/8453/run-1731147418.json create mode 100644 AxelarHandler/broadcast/Deploy.s.sol/8453/run-latest.json create mode 100644 AxelarHandler/script/Deploy.s.sol diff --git a/AxelarHandler/broadcast/Deploy.s.sol/1/run-1731147575.json b/AxelarHandler/broadcast/Deploy.s.sol/1/run-1731147575.json new file mode 100644 index 0000000..4745478 --- /dev/null +++ b/AxelarHandler/broadcast/Deploy.s.sol/1/run-1731147575.json @@ -0,0 +1,65 @@ +{ + "transactions": [ + { + "hash": "0x987d0ac6bd1244efeaa334598f030ffd29905c1cc860d7486dc87a9d6c745911", + "transactionType": "CREATE", + "contractName": "GoFastHandler", + "contractAddress": "0x94c4d4afbb2ed954f81dc800e4e1ac931aa3da82", + "function": null, + "arguments": [ + "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45", + "0xE7935104c9670015b21c6300E5b95d2F75474CDA" + ], + "transaction": { + "from": "0x24a9267ce9e0a8f4467b584fdda12baf1df772b5", + "gas": "0x15ae0e", + "value": "0x0", + "input": "0x608060405234801561001057600080fd5b5060405161129638038061129683398101604081905261002f916100d5565b61003833610069565b600180546001600160a01b039384166001600160a01b03199182161790915560028054929093169116179055610108565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146100d057600080fd5b919050565b600080604083850312156100e857600080fd5b6100f1836100b9565b91506100ff602084016100b9565b90509250929050565b61117f806101176000396000f3fe6080604052600436106100865760003560e01c80638da5cb5b116100595780638da5cb5b1461012d578063b5f0d6951461014b578063c31c9c071461015e578063df544ba81461017e578063f2fde38b1461019e57600080fd5b8063412736571461008b57806352c21c7c146100ad5780636ad1b6ac146100ea578063715018a614610118575b600080fd5b34801561009757600080fd5b506100ab6100a6366004610d01565b6101be565b005b3480156100b957600080fd5b506002546100cd906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100f657600080fd5b5061010a610105366004610d9a565b6101e8565b6040519081526020016100e1565b34801561012457600080fd5b506100ab610277565b34801561013957600080fd5b506000546001600160a01b03166100cd565b61010a610159366004610ec8565b61028b565b34801561016a57600080fd5b506001546100cd906001600160a01b031681565b34801561018a57600080fd5b506100ab610199366004610d01565b61047c565b3480156101aa57600080fd5b506100ab6101b9366004610d01565b6104a6565b6101c661051f565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600254604051631ab46dab60e21b81526000916001600160a01b031690636ad1b6ac90610227908c908c908c908c908c908c908c908c90600401610f9d565b6020604051808303816000875af1158015610246573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061026a9190611009565b9998505050505050505050565b61027f61051f565b6102896000610579565b565b6000886000036102e25760405162461bcd60e51b815260206004820152601c60248201527f657865637574696f6e206665652063616e6e6f74206265207a65726f0000000060448201526064015b60405180910390fd5b876000036103325760405162461bcd60e51b815260206004820152601960248201527f736f6c766572206665652063616e6e6f74206265207a65726f0000000000000060448201526064016102d9565b6000806103408e8e8e6105c9565b915060006127106103518c85611038565b61035b919061104f565b90506000610369828e611071565b9050808410156103ce5760405162461bcd60e51b815260206004820152602a60248201527f616d6f756e742072656365697665642066726f6d2073776170206973206c657360448201526973207468616e2066656560b01b60648201526084016102d9565b6103d88185611084565b600254604051631ab46dab60e21b8152919450600093506001600160a01b03169150636ad1b6ac9061041c908d908d90889088908f908f908f908f90600401610f9d565b6020604051808303816000875af115801561043b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045f9190611009565b905061046a8f6107e5565b9e9d5050505050505050505050505050565b61048461051f565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6104ae61051f565b6001600160a01b0381166105135760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102d9565b61051c81610579565b50565b6000546001600160a01b031633146102895760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102d9565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080600260009054906101000a90046001600160a01b03166001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561061f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106439190611097565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561068d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b19190611009565b90506001600160a01b038616156106f1576106d76001600160a01b03871633308861084b565b6001546106f1906001600160a01b038881169116876108bc565b6001546040516000916001600160a01b03169034906107119088906110d8565b60006040518083038185875af1925050503d806000811461074e576040519150601f19603f3d011682016040523d82523d6000602084013e610753565b606091505b5050905080610766573d6000803e3d6000fd5b6040516370a0823160e01b815230600482015282906001600160a01b038516906370a0823190602401602060405180830381865afa1580156107ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d09190611009565b6107da9190611084565b979650505050505050565b60006107f0826109d1565b90506001600160a01b03821615610819576108156001600160a01b0383163383610a5c565b5050565b604051339082156108fc029083906000818181858888f19350505050158015610846573d6000803e3d6000fd5b505050565b6040516001600160a01b03808516602483015283166044820152606481018290526108b69085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610a8c565b50505050565b8015806109365750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015610910573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109349190611009565b155b6109a15760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b60648201526084016102d9565b6040516001600160a01b03831660248201526044810182905261084690849063095ea7b360e01b9060640161087f565b60006001600160a01b03821615610a50576040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015610a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4a9190611009565b92915050565b5047919050565b919050565b6040516001600160a01b03831660248201526044810182905261084690849063a9059cbb60e01b9060640161087f565b6000610ae1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610b619092919063ffffffff16565b9050805160001480610b02575080806020019051810190610b0291906110f4565b6108465760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016102d9565b6060610b708484600085610b78565b949350505050565b606082471015610bd95760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016102d9565b600080866001600160a01b03168587604051610bf591906110d8565b60006040518083038185875af1925050503d8060008114610c32576040519150601f19603f3d011682016040523d82523d6000602084013e610c37565b606091505b50915091506107da8783838760608315610cb2578251600003610cab576001600160a01b0385163b610cab5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102d9565b5081610b70565b610b708383815115610cc75781518083602001fd5b8060405162461bcd60e51b81526004016102d99190611116565b6001600160a01b038116811461051c57600080fd5b8035610a5781610ce1565b600060208284031215610d1357600080fd5b8135610d1e81610ce1565b9392505050565b803563ffffffff81168114610a5757600080fd5b803567ffffffffffffffff81168114610a5757600080fd5b60008083601f840112610d6357600080fd5b50813567ffffffffffffffff811115610d7b57600080fd5b602083019150836020828501011115610d9357600080fd5b9250929050565b60008060008060008060008060e0898b031215610db657600080fd5b88359750602089013596506040890135955060608901359450610ddb60808a01610d25565b9350610de960a08a01610d39565b925060c089013567ffffffffffffffff811115610e0557600080fd5b610e118b828c01610d51565b999c989b5096995094979396929594505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610e4c57600080fd5b813567ffffffffffffffff80821115610e6757610e67610e25565b604051601f8301601f19908116603f01168101908282118183101715610e8f57610e8f610e25565b81604052838152866020858801011115610ea857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060008060006101408c8e031215610eea57600080fd5b610ef38c610cf6565b9a5060208c0135995067ffffffffffffffff8060408e01351115610f1657600080fd5b610f268e60408f01358f01610e3b565b995060608d0135985060808d0135975060a08d0135965060c08d01359550610f5060e08e01610d25565b9450610f5f6101008e01610d39565b9350806101208e01351115610f7357600080fd5b50610f858d6101208e01358e01610d51565b81935080925050509295989b509295989b9093969950565b88815287602082015286604082015285606082015263ffffffff8516608082015267ffffffffffffffff841660a082015260e060c08201528160e082015260006101008385828501376000838501820152601f909301601f191690910190910198975050505050505050565b60006020828403121561101b57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610a4a57610a4a611022565b60008261106c57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610a4a57610a4a611022565b81810381811115610a4a57610a4a611022565b6000602082840312156110a957600080fd5b8151610d1e81610ce1565b60005b838110156110cf5781810151838201526020016110b7565b50506000910152565b600082516110ea8184602087016110b4565b9190910192915050565b60006020828403121561110657600080fd5b81518015158114610d1e57600080fd5b60208152600082518060208401526111358160408501602087016110b4565b601f01601f1916919091016040019291505056fea26469706673582212209b77b0bf84d9ed72e83ab52339a0df0ce9e456ff00cfc691b9eb4658825841f764736f6c6343000812003300000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc45000000000000000000000000e7935104c9670015b21c6300e5b95d2f75474cda", + "nonce": "0x60", + "chainId": "0x1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xd09acf", + "logs": [ + { + "address": "0x94c4d4afbb2ed954f81dc800e4e1ac931aa3da82", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000024a9267ce9e0a8f4467b584fdda12baf1df772b5" + ], + "data": "0x", + "blockHash": "0x9cabeea60123006c20912d9417677c6c46d1cb22a7e48a9151718d442bbf4c6f", + "blockNumber": "0x142b70e", + "transactionHash": "0x987d0ac6bd1244efeaa334598f030ffd29905c1cc860d7486dc87a9d6c745911", + "transactionIndex": "0x82", + "logIndex": "0x166", + "removed": false + } + ], + "logsBloom": "0x00000400000000000000000020000000000000000000000000800000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000040000000000080000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x987d0ac6bd1244efeaa334598f030ffd29905c1cc860d7486dc87a9d6c745911", + "transactionIndex": "0x82", + "blockHash": "0x9cabeea60123006c20912d9417677c6c46d1cb22a7e48a9151718d442bbf4c6f", + "blockNumber": "0x142b70e", + "gasUsed": "0x10ae74", + "effectiveGasPrice": "0x1ef93b5d1", + "from": "0x24a9267ce9e0a8f4467b584fdda12baf1df772b5", + "to": null, + "contractAddress": "0x94c4d4afbb2ed954f81dc800e4e1ac931aa3da82" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1731147575, + "chain": 1, + "commit": "8950cfa" +} \ No newline at end of file diff --git a/AxelarHandler/broadcast/Deploy.s.sol/1/run-latest.json b/AxelarHandler/broadcast/Deploy.s.sol/1/run-latest.json new file mode 100644 index 0000000..4745478 --- /dev/null +++ b/AxelarHandler/broadcast/Deploy.s.sol/1/run-latest.json @@ -0,0 +1,65 @@ +{ + "transactions": [ + { + "hash": "0x987d0ac6bd1244efeaa334598f030ffd29905c1cc860d7486dc87a9d6c745911", + "transactionType": "CREATE", + "contractName": "GoFastHandler", + "contractAddress": "0x94c4d4afbb2ed954f81dc800e4e1ac931aa3da82", + "function": null, + "arguments": [ + "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45", + "0xE7935104c9670015b21c6300E5b95d2F75474CDA" + ], + "transaction": { + "from": "0x24a9267ce9e0a8f4467b584fdda12baf1df772b5", + "gas": "0x15ae0e", + "value": "0x0", + "input": "0x608060405234801561001057600080fd5b5060405161129638038061129683398101604081905261002f916100d5565b61003833610069565b600180546001600160a01b039384166001600160a01b03199182161790915560028054929093169116179055610108565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146100d057600080fd5b919050565b600080604083850312156100e857600080fd5b6100f1836100b9565b91506100ff602084016100b9565b90509250929050565b61117f806101176000396000f3fe6080604052600436106100865760003560e01c80638da5cb5b116100595780638da5cb5b1461012d578063b5f0d6951461014b578063c31c9c071461015e578063df544ba81461017e578063f2fde38b1461019e57600080fd5b8063412736571461008b57806352c21c7c146100ad5780636ad1b6ac146100ea578063715018a614610118575b600080fd5b34801561009757600080fd5b506100ab6100a6366004610d01565b6101be565b005b3480156100b957600080fd5b506002546100cd906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100f657600080fd5b5061010a610105366004610d9a565b6101e8565b6040519081526020016100e1565b34801561012457600080fd5b506100ab610277565b34801561013957600080fd5b506000546001600160a01b03166100cd565b61010a610159366004610ec8565b61028b565b34801561016a57600080fd5b506001546100cd906001600160a01b031681565b34801561018a57600080fd5b506100ab610199366004610d01565b61047c565b3480156101aa57600080fd5b506100ab6101b9366004610d01565b6104a6565b6101c661051f565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600254604051631ab46dab60e21b81526000916001600160a01b031690636ad1b6ac90610227908c908c908c908c908c908c908c908c90600401610f9d565b6020604051808303816000875af1158015610246573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061026a9190611009565b9998505050505050505050565b61027f61051f565b6102896000610579565b565b6000886000036102e25760405162461bcd60e51b815260206004820152601c60248201527f657865637574696f6e206665652063616e6e6f74206265207a65726f0000000060448201526064015b60405180910390fd5b876000036103325760405162461bcd60e51b815260206004820152601960248201527f736f6c766572206665652063616e6e6f74206265207a65726f0000000000000060448201526064016102d9565b6000806103408e8e8e6105c9565b915060006127106103518c85611038565b61035b919061104f565b90506000610369828e611071565b9050808410156103ce5760405162461bcd60e51b815260206004820152602a60248201527f616d6f756e742072656365697665642066726f6d2073776170206973206c657360448201526973207468616e2066656560b01b60648201526084016102d9565b6103d88185611084565b600254604051631ab46dab60e21b8152919450600093506001600160a01b03169150636ad1b6ac9061041c908d908d90889088908f908f908f908f90600401610f9d565b6020604051808303816000875af115801561043b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045f9190611009565b905061046a8f6107e5565b9e9d5050505050505050505050505050565b61048461051f565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6104ae61051f565b6001600160a01b0381166105135760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102d9565b61051c81610579565b50565b6000546001600160a01b031633146102895760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102d9565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080600260009054906101000a90046001600160a01b03166001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561061f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106439190611097565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561068d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b19190611009565b90506001600160a01b038616156106f1576106d76001600160a01b03871633308861084b565b6001546106f1906001600160a01b038881169116876108bc565b6001546040516000916001600160a01b03169034906107119088906110d8565b60006040518083038185875af1925050503d806000811461074e576040519150601f19603f3d011682016040523d82523d6000602084013e610753565b606091505b5050905080610766573d6000803e3d6000fd5b6040516370a0823160e01b815230600482015282906001600160a01b038516906370a0823190602401602060405180830381865afa1580156107ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d09190611009565b6107da9190611084565b979650505050505050565b60006107f0826109d1565b90506001600160a01b03821615610819576108156001600160a01b0383163383610a5c565b5050565b604051339082156108fc029083906000818181858888f19350505050158015610846573d6000803e3d6000fd5b505050565b6040516001600160a01b03808516602483015283166044820152606481018290526108b69085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610a8c565b50505050565b8015806109365750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015610910573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109349190611009565b155b6109a15760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b60648201526084016102d9565b6040516001600160a01b03831660248201526044810182905261084690849063095ea7b360e01b9060640161087f565b60006001600160a01b03821615610a50576040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015610a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4a9190611009565b92915050565b5047919050565b919050565b6040516001600160a01b03831660248201526044810182905261084690849063a9059cbb60e01b9060640161087f565b6000610ae1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610b619092919063ffffffff16565b9050805160001480610b02575080806020019051810190610b0291906110f4565b6108465760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016102d9565b6060610b708484600085610b78565b949350505050565b606082471015610bd95760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016102d9565b600080866001600160a01b03168587604051610bf591906110d8565b60006040518083038185875af1925050503d8060008114610c32576040519150601f19603f3d011682016040523d82523d6000602084013e610c37565b606091505b50915091506107da8783838760608315610cb2578251600003610cab576001600160a01b0385163b610cab5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102d9565b5081610b70565b610b708383815115610cc75781518083602001fd5b8060405162461bcd60e51b81526004016102d99190611116565b6001600160a01b038116811461051c57600080fd5b8035610a5781610ce1565b600060208284031215610d1357600080fd5b8135610d1e81610ce1565b9392505050565b803563ffffffff81168114610a5757600080fd5b803567ffffffffffffffff81168114610a5757600080fd5b60008083601f840112610d6357600080fd5b50813567ffffffffffffffff811115610d7b57600080fd5b602083019150836020828501011115610d9357600080fd5b9250929050565b60008060008060008060008060e0898b031215610db657600080fd5b88359750602089013596506040890135955060608901359450610ddb60808a01610d25565b9350610de960a08a01610d39565b925060c089013567ffffffffffffffff811115610e0557600080fd5b610e118b828c01610d51565b999c989b5096995094979396929594505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610e4c57600080fd5b813567ffffffffffffffff80821115610e6757610e67610e25565b604051601f8301601f19908116603f01168101908282118183101715610e8f57610e8f610e25565b81604052838152866020858801011115610ea857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060008060006101408c8e031215610eea57600080fd5b610ef38c610cf6565b9a5060208c0135995067ffffffffffffffff8060408e01351115610f1657600080fd5b610f268e60408f01358f01610e3b565b995060608d0135985060808d0135975060a08d0135965060c08d01359550610f5060e08e01610d25565b9450610f5f6101008e01610d39565b9350806101208e01351115610f7357600080fd5b50610f858d6101208e01358e01610d51565b81935080925050509295989b509295989b9093969950565b88815287602082015286604082015285606082015263ffffffff8516608082015267ffffffffffffffff841660a082015260e060c08201528160e082015260006101008385828501376000838501820152601f909301601f191690910190910198975050505050505050565b60006020828403121561101b57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610a4a57610a4a611022565b60008261106c57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610a4a57610a4a611022565b81810381811115610a4a57610a4a611022565b6000602082840312156110a957600080fd5b8151610d1e81610ce1565b60005b838110156110cf5781810151838201526020016110b7565b50506000910152565b600082516110ea8184602087016110b4565b9190910192915050565b60006020828403121561110657600080fd5b81518015158114610d1e57600080fd5b60208152600082518060208401526111358160408501602087016110b4565b601f01601f1916919091016040019291505056fea26469706673582212209b77b0bf84d9ed72e83ab52339a0df0ce9e456ff00cfc691b9eb4658825841f764736f6c6343000812003300000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc45000000000000000000000000e7935104c9670015b21c6300e5b95d2f75474cda", + "nonce": "0x60", + "chainId": "0x1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xd09acf", + "logs": [ + { + "address": "0x94c4d4afbb2ed954f81dc800e4e1ac931aa3da82", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000024a9267ce9e0a8f4467b584fdda12baf1df772b5" + ], + "data": "0x", + "blockHash": "0x9cabeea60123006c20912d9417677c6c46d1cb22a7e48a9151718d442bbf4c6f", + "blockNumber": "0x142b70e", + "transactionHash": "0x987d0ac6bd1244efeaa334598f030ffd29905c1cc860d7486dc87a9d6c745911", + "transactionIndex": "0x82", + "logIndex": "0x166", + "removed": false + } + ], + "logsBloom": "0x00000400000000000000000020000000000000000000000000800000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000040000000000080000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x987d0ac6bd1244efeaa334598f030ffd29905c1cc860d7486dc87a9d6c745911", + "transactionIndex": "0x82", + "blockHash": "0x9cabeea60123006c20912d9417677c6c46d1cb22a7e48a9151718d442bbf4c6f", + "blockNumber": "0x142b70e", + "gasUsed": "0x10ae74", + "effectiveGasPrice": "0x1ef93b5d1", + "from": "0x24a9267ce9e0a8f4467b584fdda12baf1df772b5", + "to": null, + "contractAddress": "0x94c4d4afbb2ed954f81dc800e4e1ac931aa3da82" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1731147575, + "chain": 1, + "commit": "8950cfa" +} \ No newline at end of file diff --git a/AxelarHandler/broadcast/Deploy.s.sol/10/run-1731147260.json b/AxelarHandler/broadcast/Deploy.s.sol/10/run-1731147260.json new file mode 100644 index 0000000..241f9ae --- /dev/null +++ b/AxelarHandler/broadcast/Deploy.s.sol/10/run-1731147260.json @@ -0,0 +1,71 @@ +{ + "transactions": [ + { + "hash": "0x7159f9ecac02aad9ff30ba8aa95944660c91f40c9f089e0c4572c1af33ed7a54", + "transactionType": "CREATE", + "contractName": "GoFastHandler", + "contractAddress": "0x495a194b09fec772f665a659444593302005740f", + "function": null, + "arguments": [ + "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45", + "0x0F479de4fD3144642f1Af88e3797B1821724f703" + ], + "transaction": { + "from": "0x24a9267ce9e0a8f4467b584fdda12baf1df772b5", + "gas": "0x15ae2d", + "value": "0x0", + "input": "0x608060405234801561001057600080fd5b5060405161129638038061129683398101604081905261002f916100d5565b61003833610069565b600180546001600160a01b039384166001600160a01b03199182161790915560028054929093169116179055610108565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146100d057600080fd5b919050565b600080604083850312156100e857600080fd5b6100f1836100b9565b91506100ff602084016100b9565b90509250929050565b61117f806101176000396000f3fe6080604052600436106100865760003560e01c80638da5cb5b116100595780638da5cb5b1461012d578063b5f0d6951461014b578063c31c9c071461015e578063df544ba81461017e578063f2fde38b1461019e57600080fd5b8063412736571461008b57806352c21c7c146100ad5780636ad1b6ac146100ea578063715018a614610118575b600080fd5b34801561009757600080fd5b506100ab6100a6366004610d01565b6101be565b005b3480156100b957600080fd5b506002546100cd906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100f657600080fd5b5061010a610105366004610d9a565b6101e8565b6040519081526020016100e1565b34801561012457600080fd5b506100ab610277565b34801561013957600080fd5b506000546001600160a01b03166100cd565b61010a610159366004610ec8565b61028b565b34801561016a57600080fd5b506001546100cd906001600160a01b031681565b34801561018a57600080fd5b506100ab610199366004610d01565b61047c565b3480156101aa57600080fd5b506100ab6101b9366004610d01565b6104a6565b6101c661051f565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600254604051631ab46dab60e21b81526000916001600160a01b031690636ad1b6ac90610227908c908c908c908c908c908c908c908c90600401610f9d565b6020604051808303816000875af1158015610246573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061026a9190611009565b9998505050505050505050565b61027f61051f565b6102896000610579565b565b6000886000036102e25760405162461bcd60e51b815260206004820152601c60248201527f657865637574696f6e206665652063616e6e6f74206265207a65726f0000000060448201526064015b60405180910390fd5b876000036103325760405162461bcd60e51b815260206004820152601960248201527f736f6c766572206665652063616e6e6f74206265207a65726f0000000000000060448201526064016102d9565b6000806103408e8e8e6105c9565b915060006127106103518c85611038565b61035b919061104f565b90506000610369828e611071565b9050808410156103ce5760405162461bcd60e51b815260206004820152602a60248201527f616d6f756e742072656365697665642066726f6d2073776170206973206c657360448201526973207468616e2066656560b01b60648201526084016102d9565b6103d88185611084565b600254604051631ab46dab60e21b8152919450600093506001600160a01b03169150636ad1b6ac9061041c908d908d90889088908f908f908f908f90600401610f9d565b6020604051808303816000875af115801561043b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045f9190611009565b905061046a8f6107e5565b9e9d5050505050505050505050505050565b61048461051f565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6104ae61051f565b6001600160a01b0381166105135760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102d9565b61051c81610579565b50565b6000546001600160a01b031633146102895760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102d9565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080600260009054906101000a90046001600160a01b03166001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561061f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106439190611097565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561068d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b19190611009565b90506001600160a01b038616156106f1576106d76001600160a01b03871633308861084b565b6001546106f1906001600160a01b038881169116876108bc565b6001546040516000916001600160a01b03169034906107119088906110d8565b60006040518083038185875af1925050503d806000811461074e576040519150601f19603f3d011682016040523d82523d6000602084013e610753565b606091505b5050905080610766573d6000803e3d6000fd5b6040516370a0823160e01b815230600482015282906001600160a01b038516906370a0823190602401602060405180830381865afa1580156107ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d09190611009565b6107da9190611084565b979650505050505050565b60006107f0826109d1565b90506001600160a01b03821615610819576108156001600160a01b0383163383610a5c565b5050565b604051339082156108fc029083906000818181858888f19350505050158015610846573d6000803e3d6000fd5b505050565b6040516001600160a01b03808516602483015283166044820152606481018290526108b69085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610a8c565b50505050565b8015806109365750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015610910573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109349190611009565b155b6109a15760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b60648201526084016102d9565b6040516001600160a01b03831660248201526044810182905261084690849063095ea7b360e01b9060640161087f565b60006001600160a01b03821615610a50576040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015610a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4a9190611009565b92915050565b5047919050565b919050565b6040516001600160a01b03831660248201526044810182905261084690849063a9059cbb60e01b9060640161087f565b6000610ae1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610b619092919063ffffffff16565b9050805160001480610b02575080806020019051810190610b0291906110f4565b6108465760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016102d9565b6060610b708484600085610b78565b949350505050565b606082471015610bd95760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016102d9565b600080866001600160a01b03168587604051610bf591906110d8565b60006040518083038185875af1925050503d8060008114610c32576040519150601f19603f3d011682016040523d82523d6000602084013e610c37565b606091505b50915091506107da8783838760608315610cb2578251600003610cab576001600160a01b0385163b610cab5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102d9565b5081610b70565b610b708383815115610cc75781518083602001fd5b8060405162461bcd60e51b81526004016102d99190611116565b6001600160a01b038116811461051c57600080fd5b8035610a5781610ce1565b600060208284031215610d1357600080fd5b8135610d1e81610ce1565b9392505050565b803563ffffffff81168114610a5757600080fd5b803567ffffffffffffffff81168114610a5757600080fd5b60008083601f840112610d6357600080fd5b50813567ffffffffffffffff811115610d7b57600080fd5b602083019150836020828501011115610d9357600080fd5b9250929050565b60008060008060008060008060e0898b031215610db657600080fd5b88359750602089013596506040890135955060608901359450610ddb60808a01610d25565b9350610de960a08a01610d39565b925060c089013567ffffffffffffffff811115610e0557600080fd5b610e118b828c01610d51565b999c989b5096995094979396929594505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610e4c57600080fd5b813567ffffffffffffffff80821115610e6757610e67610e25565b604051601f8301601f19908116603f01168101908282118183101715610e8f57610e8f610e25565b81604052838152866020858801011115610ea857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060008060006101408c8e031215610eea57600080fd5b610ef38c610cf6565b9a5060208c0135995067ffffffffffffffff8060408e01351115610f1657600080fd5b610f268e60408f01358f01610e3b565b995060608d0135985060808d0135975060a08d0135965060c08d01359550610f5060e08e01610d25565b9450610f5f6101008e01610d39565b9350806101208e01351115610f7357600080fd5b50610f858d6101208e01358e01610d51565b81935080925050509295989b509295989b9093969950565b88815287602082015286604082015285606082015263ffffffff8516608082015267ffffffffffffffff841660a082015260e060c08201528160e082015260006101008385828501376000838501820152601f909301601f191690910190910198975050505050505050565b60006020828403121561101b57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610a4a57610a4a611022565b60008261106c57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610a4a57610a4a611022565b81810381811115610a4a57610a4a611022565b6000602082840312156110a957600080fd5b8151610d1e81610ce1565b60005b838110156110cf5781810151838201526020016110b7565b50506000910152565b600082516110ea8184602087016110b4565b9190910192915050565b60006020828403121561110657600080fd5b81518015158114610d1e57600080fd5b60208152600082518060208401526111358160408501602087016110b4565b601f01601f1916919091016040019291505056fea26469706673582212209b77b0bf84d9ed72e83ab52339a0df0ce9e456ff00cfc691b9eb4658825841f764736f6c6343000812003300000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc450000000000000000000000000f479de4fd3144642f1af88e3797b1821724f703", + "nonce": "0x38", + "chainId": "0xa" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xb998b9", + "logs": [ + { + "address": "0x495a194b09fec772f665a659444593302005740f", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000024a9267ce9e0a8f4467b584fdda12baf1df772b5" + ], + "data": "0x", + "blockHash": "0xa67af664b7e4c2fc50dc3532d8d537152b142f8623b20d9003f90aa5c25ffb55", + "blockNumber": "0x79dae17", + "transactionHash": "0x7159f9ecac02aad9ff30ba8aa95944660c91f40c9f089e0c4572c1af33ed7a54", + "transactionIndex": "0xc", + "logIndex": "0x179", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000020000000000000200000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000080000000000008000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x7159f9ecac02aad9ff30ba8aa95944660c91f40c9f089e0c4572c1af33ed7a54", + "transactionIndex": "0xc", + "blockHash": "0xa67af664b7e4c2fc50dc3532d8d537152b142f8623b20d9003f90aa5c25ffb55", + "blockNumber": "0x79dae17", + "gasUsed": "0x10ae8c", + "effectiveGasPrice": "0xf47", + "from": "0x24a9267ce9e0a8f4467b584fdda12baf1df772b5", + "to": null, + "contractAddress": "0x495a194b09fec772f665a659444593302005740f", + "l1BaseFeeScalar": "0x146b", + "l1BlobBaseFee": "0x2ac5937a3", + "l1BlobBaseFeeScalar": "0xf79c5", + "l1Fee": "0x1e0c8369522f", + "l1GasPrice": "0x2289d9d0a", + "l1GasUsed": "0xa642" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1731147260, + "chain": 10, + "commit": "8950cfa" +} \ No newline at end of file diff --git a/AxelarHandler/broadcast/Deploy.s.sol/10/run-latest.json b/AxelarHandler/broadcast/Deploy.s.sol/10/run-latest.json new file mode 100644 index 0000000..241f9ae --- /dev/null +++ b/AxelarHandler/broadcast/Deploy.s.sol/10/run-latest.json @@ -0,0 +1,71 @@ +{ + "transactions": [ + { + "hash": "0x7159f9ecac02aad9ff30ba8aa95944660c91f40c9f089e0c4572c1af33ed7a54", + "transactionType": "CREATE", + "contractName": "GoFastHandler", + "contractAddress": "0x495a194b09fec772f665a659444593302005740f", + "function": null, + "arguments": [ + "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45", + "0x0F479de4fD3144642f1Af88e3797B1821724f703" + ], + "transaction": { + "from": "0x24a9267ce9e0a8f4467b584fdda12baf1df772b5", + "gas": "0x15ae2d", + "value": "0x0", + "input": "0x608060405234801561001057600080fd5b5060405161129638038061129683398101604081905261002f916100d5565b61003833610069565b600180546001600160a01b039384166001600160a01b03199182161790915560028054929093169116179055610108565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146100d057600080fd5b919050565b600080604083850312156100e857600080fd5b6100f1836100b9565b91506100ff602084016100b9565b90509250929050565b61117f806101176000396000f3fe6080604052600436106100865760003560e01c80638da5cb5b116100595780638da5cb5b1461012d578063b5f0d6951461014b578063c31c9c071461015e578063df544ba81461017e578063f2fde38b1461019e57600080fd5b8063412736571461008b57806352c21c7c146100ad5780636ad1b6ac146100ea578063715018a614610118575b600080fd5b34801561009757600080fd5b506100ab6100a6366004610d01565b6101be565b005b3480156100b957600080fd5b506002546100cd906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100f657600080fd5b5061010a610105366004610d9a565b6101e8565b6040519081526020016100e1565b34801561012457600080fd5b506100ab610277565b34801561013957600080fd5b506000546001600160a01b03166100cd565b61010a610159366004610ec8565b61028b565b34801561016a57600080fd5b506001546100cd906001600160a01b031681565b34801561018a57600080fd5b506100ab610199366004610d01565b61047c565b3480156101aa57600080fd5b506100ab6101b9366004610d01565b6104a6565b6101c661051f565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600254604051631ab46dab60e21b81526000916001600160a01b031690636ad1b6ac90610227908c908c908c908c908c908c908c908c90600401610f9d565b6020604051808303816000875af1158015610246573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061026a9190611009565b9998505050505050505050565b61027f61051f565b6102896000610579565b565b6000886000036102e25760405162461bcd60e51b815260206004820152601c60248201527f657865637574696f6e206665652063616e6e6f74206265207a65726f0000000060448201526064015b60405180910390fd5b876000036103325760405162461bcd60e51b815260206004820152601960248201527f736f6c766572206665652063616e6e6f74206265207a65726f0000000000000060448201526064016102d9565b6000806103408e8e8e6105c9565b915060006127106103518c85611038565b61035b919061104f565b90506000610369828e611071565b9050808410156103ce5760405162461bcd60e51b815260206004820152602a60248201527f616d6f756e742072656365697665642066726f6d2073776170206973206c657360448201526973207468616e2066656560b01b60648201526084016102d9565b6103d88185611084565b600254604051631ab46dab60e21b8152919450600093506001600160a01b03169150636ad1b6ac9061041c908d908d90889088908f908f908f908f90600401610f9d565b6020604051808303816000875af115801561043b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045f9190611009565b905061046a8f6107e5565b9e9d5050505050505050505050505050565b61048461051f565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6104ae61051f565b6001600160a01b0381166105135760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102d9565b61051c81610579565b50565b6000546001600160a01b031633146102895760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102d9565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080600260009054906101000a90046001600160a01b03166001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561061f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106439190611097565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561068d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b19190611009565b90506001600160a01b038616156106f1576106d76001600160a01b03871633308861084b565b6001546106f1906001600160a01b038881169116876108bc565b6001546040516000916001600160a01b03169034906107119088906110d8565b60006040518083038185875af1925050503d806000811461074e576040519150601f19603f3d011682016040523d82523d6000602084013e610753565b606091505b5050905080610766573d6000803e3d6000fd5b6040516370a0823160e01b815230600482015282906001600160a01b038516906370a0823190602401602060405180830381865afa1580156107ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d09190611009565b6107da9190611084565b979650505050505050565b60006107f0826109d1565b90506001600160a01b03821615610819576108156001600160a01b0383163383610a5c565b5050565b604051339082156108fc029083906000818181858888f19350505050158015610846573d6000803e3d6000fd5b505050565b6040516001600160a01b03808516602483015283166044820152606481018290526108b69085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610a8c565b50505050565b8015806109365750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015610910573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109349190611009565b155b6109a15760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b60648201526084016102d9565b6040516001600160a01b03831660248201526044810182905261084690849063095ea7b360e01b9060640161087f565b60006001600160a01b03821615610a50576040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015610a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4a9190611009565b92915050565b5047919050565b919050565b6040516001600160a01b03831660248201526044810182905261084690849063a9059cbb60e01b9060640161087f565b6000610ae1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610b619092919063ffffffff16565b9050805160001480610b02575080806020019051810190610b0291906110f4565b6108465760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016102d9565b6060610b708484600085610b78565b949350505050565b606082471015610bd95760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016102d9565b600080866001600160a01b03168587604051610bf591906110d8565b60006040518083038185875af1925050503d8060008114610c32576040519150601f19603f3d011682016040523d82523d6000602084013e610c37565b606091505b50915091506107da8783838760608315610cb2578251600003610cab576001600160a01b0385163b610cab5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102d9565b5081610b70565b610b708383815115610cc75781518083602001fd5b8060405162461bcd60e51b81526004016102d99190611116565b6001600160a01b038116811461051c57600080fd5b8035610a5781610ce1565b600060208284031215610d1357600080fd5b8135610d1e81610ce1565b9392505050565b803563ffffffff81168114610a5757600080fd5b803567ffffffffffffffff81168114610a5757600080fd5b60008083601f840112610d6357600080fd5b50813567ffffffffffffffff811115610d7b57600080fd5b602083019150836020828501011115610d9357600080fd5b9250929050565b60008060008060008060008060e0898b031215610db657600080fd5b88359750602089013596506040890135955060608901359450610ddb60808a01610d25565b9350610de960a08a01610d39565b925060c089013567ffffffffffffffff811115610e0557600080fd5b610e118b828c01610d51565b999c989b5096995094979396929594505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610e4c57600080fd5b813567ffffffffffffffff80821115610e6757610e67610e25565b604051601f8301601f19908116603f01168101908282118183101715610e8f57610e8f610e25565b81604052838152866020858801011115610ea857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060008060006101408c8e031215610eea57600080fd5b610ef38c610cf6565b9a5060208c0135995067ffffffffffffffff8060408e01351115610f1657600080fd5b610f268e60408f01358f01610e3b565b995060608d0135985060808d0135975060a08d0135965060c08d01359550610f5060e08e01610d25565b9450610f5f6101008e01610d39565b9350806101208e01351115610f7357600080fd5b50610f858d6101208e01358e01610d51565b81935080925050509295989b509295989b9093969950565b88815287602082015286604082015285606082015263ffffffff8516608082015267ffffffffffffffff841660a082015260e060c08201528160e082015260006101008385828501376000838501820152601f909301601f191690910190910198975050505050505050565b60006020828403121561101b57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610a4a57610a4a611022565b60008261106c57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610a4a57610a4a611022565b81810381811115610a4a57610a4a611022565b6000602082840312156110a957600080fd5b8151610d1e81610ce1565b60005b838110156110cf5781810151838201526020016110b7565b50506000910152565b600082516110ea8184602087016110b4565b9190910192915050565b60006020828403121561110657600080fd5b81518015158114610d1e57600080fd5b60208152600082518060208401526111358160408501602087016110b4565b601f01601f1916919091016040019291505056fea26469706673582212209b77b0bf84d9ed72e83ab52339a0df0ce9e456ff00cfc691b9eb4658825841f764736f6c6343000812003300000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc450000000000000000000000000f479de4fd3144642f1af88e3797b1821724f703", + "nonce": "0x38", + "chainId": "0xa" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xb998b9", + "logs": [ + { + "address": "0x495a194b09fec772f665a659444593302005740f", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000024a9267ce9e0a8f4467b584fdda12baf1df772b5" + ], + "data": "0x", + "blockHash": "0xa67af664b7e4c2fc50dc3532d8d537152b142f8623b20d9003f90aa5c25ffb55", + "blockNumber": "0x79dae17", + "transactionHash": "0x7159f9ecac02aad9ff30ba8aa95944660c91f40c9f089e0c4572c1af33ed7a54", + "transactionIndex": "0xc", + "logIndex": "0x179", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000020000000000000200000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000080000000000008000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x7159f9ecac02aad9ff30ba8aa95944660c91f40c9f089e0c4572c1af33ed7a54", + "transactionIndex": "0xc", + "blockHash": "0xa67af664b7e4c2fc50dc3532d8d537152b142f8623b20d9003f90aa5c25ffb55", + "blockNumber": "0x79dae17", + "gasUsed": "0x10ae8c", + "effectiveGasPrice": "0xf47", + "from": "0x24a9267ce9e0a8f4467b584fdda12baf1df772b5", + "to": null, + "contractAddress": "0x495a194b09fec772f665a659444593302005740f", + "l1BaseFeeScalar": "0x146b", + "l1BlobBaseFee": "0x2ac5937a3", + "l1BlobBaseFeeScalar": "0xf79c5", + "l1Fee": "0x1e0c8369522f", + "l1GasPrice": "0x2289d9d0a", + "l1GasUsed": "0xa642" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1731147260, + "chain": 10, + "commit": "8950cfa" +} \ No newline at end of file diff --git a/AxelarHandler/broadcast/Deploy.s.sol/137/run-1731147334.json b/AxelarHandler/broadcast/Deploy.s.sol/137/run-1731147334.json new file mode 100644 index 0000000..d1fac2e --- /dev/null +++ b/AxelarHandler/broadcast/Deploy.s.sol/137/run-1731147334.json @@ -0,0 +1,81 @@ +{ + "transactions": [ + { + "hash": "0x8170d49016dd35391ac1d8632e95d8beaa091f4d4d08e2ec4ebe2ee044b9a66f", + "transactionType": "CREATE", + "contractName": "GoFastHandler", + "contractAddress": "0xce4b210532d41228313e2f9547b562b018f55b9f", + "function": null, + "arguments": [ + "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45", + "0x3Ffaf8D0D33226302E3a0AE48367cF1Dd2023B1f" + ], + "transaction": { + "from": "0x24a9267ce9e0a8f4467b584fdda12baf1df772b5", + "gas": "0x15ae2d", + "value": "0x0", + "input": "0x608060405234801561001057600080fd5b5060405161129638038061129683398101604081905261002f916100d5565b61003833610069565b600180546001600160a01b039384166001600160a01b03199182161790915560028054929093169116179055610108565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146100d057600080fd5b919050565b600080604083850312156100e857600080fd5b6100f1836100b9565b91506100ff602084016100b9565b90509250929050565b61117f806101176000396000f3fe6080604052600436106100865760003560e01c80638da5cb5b116100595780638da5cb5b1461012d578063b5f0d6951461014b578063c31c9c071461015e578063df544ba81461017e578063f2fde38b1461019e57600080fd5b8063412736571461008b57806352c21c7c146100ad5780636ad1b6ac146100ea578063715018a614610118575b600080fd5b34801561009757600080fd5b506100ab6100a6366004610d01565b6101be565b005b3480156100b957600080fd5b506002546100cd906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100f657600080fd5b5061010a610105366004610d9a565b6101e8565b6040519081526020016100e1565b34801561012457600080fd5b506100ab610277565b34801561013957600080fd5b506000546001600160a01b03166100cd565b61010a610159366004610ec8565b61028b565b34801561016a57600080fd5b506001546100cd906001600160a01b031681565b34801561018a57600080fd5b506100ab610199366004610d01565b61047c565b3480156101aa57600080fd5b506100ab6101b9366004610d01565b6104a6565b6101c661051f565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600254604051631ab46dab60e21b81526000916001600160a01b031690636ad1b6ac90610227908c908c908c908c908c908c908c908c90600401610f9d565b6020604051808303816000875af1158015610246573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061026a9190611009565b9998505050505050505050565b61027f61051f565b6102896000610579565b565b6000886000036102e25760405162461bcd60e51b815260206004820152601c60248201527f657865637574696f6e206665652063616e6e6f74206265207a65726f0000000060448201526064015b60405180910390fd5b876000036103325760405162461bcd60e51b815260206004820152601960248201527f736f6c766572206665652063616e6e6f74206265207a65726f0000000000000060448201526064016102d9565b6000806103408e8e8e6105c9565b915060006127106103518c85611038565b61035b919061104f565b90506000610369828e611071565b9050808410156103ce5760405162461bcd60e51b815260206004820152602a60248201527f616d6f756e742072656365697665642066726f6d2073776170206973206c657360448201526973207468616e2066656560b01b60648201526084016102d9565b6103d88185611084565b600254604051631ab46dab60e21b8152919450600093506001600160a01b03169150636ad1b6ac9061041c908d908d90889088908f908f908f908f90600401610f9d565b6020604051808303816000875af115801561043b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045f9190611009565b905061046a8f6107e5565b9e9d5050505050505050505050505050565b61048461051f565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6104ae61051f565b6001600160a01b0381166105135760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102d9565b61051c81610579565b50565b6000546001600160a01b031633146102895760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102d9565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080600260009054906101000a90046001600160a01b03166001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561061f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106439190611097565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561068d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b19190611009565b90506001600160a01b038616156106f1576106d76001600160a01b03871633308861084b565b6001546106f1906001600160a01b038881169116876108bc565b6001546040516000916001600160a01b03169034906107119088906110d8565b60006040518083038185875af1925050503d806000811461074e576040519150601f19603f3d011682016040523d82523d6000602084013e610753565b606091505b5050905080610766573d6000803e3d6000fd5b6040516370a0823160e01b815230600482015282906001600160a01b038516906370a0823190602401602060405180830381865afa1580156107ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d09190611009565b6107da9190611084565b979650505050505050565b60006107f0826109d1565b90506001600160a01b03821615610819576108156001600160a01b0383163383610a5c565b5050565b604051339082156108fc029083906000818181858888f19350505050158015610846573d6000803e3d6000fd5b505050565b6040516001600160a01b03808516602483015283166044820152606481018290526108b69085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610a8c565b50505050565b8015806109365750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015610910573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109349190611009565b155b6109a15760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b60648201526084016102d9565b6040516001600160a01b03831660248201526044810182905261084690849063095ea7b360e01b9060640161087f565b60006001600160a01b03821615610a50576040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015610a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4a9190611009565b92915050565b5047919050565b919050565b6040516001600160a01b03831660248201526044810182905261084690849063a9059cbb60e01b9060640161087f565b6000610ae1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610b619092919063ffffffff16565b9050805160001480610b02575080806020019051810190610b0291906110f4565b6108465760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016102d9565b6060610b708484600085610b78565b949350505050565b606082471015610bd95760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016102d9565b600080866001600160a01b03168587604051610bf591906110d8565b60006040518083038185875af1925050503d8060008114610c32576040519150601f19603f3d011682016040523d82523d6000602084013e610c37565b606091505b50915091506107da8783838760608315610cb2578251600003610cab576001600160a01b0385163b610cab5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102d9565b5081610b70565b610b708383815115610cc75781518083602001fd5b8060405162461bcd60e51b81526004016102d99190611116565b6001600160a01b038116811461051c57600080fd5b8035610a5781610ce1565b600060208284031215610d1357600080fd5b8135610d1e81610ce1565b9392505050565b803563ffffffff81168114610a5757600080fd5b803567ffffffffffffffff81168114610a5757600080fd5b60008083601f840112610d6357600080fd5b50813567ffffffffffffffff811115610d7b57600080fd5b602083019150836020828501011115610d9357600080fd5b9250929050565b60008060008060008060008060e0898b031215610db657600080fd5b88359750602089013596506040890135955060608901359450610ddb60808a01610d25565b9350610de960a08a01610d39565b925060c089013567ffffffffffffffff811115610e0557600080fd5b610e118b828c01610d51565b999c989b5096995094979396929594505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610e4c57600080fd5b813567ffffffffffffffff80821115610e6757610e67610e25565b604051601f8301601f19908116603f01168101908282118183101715610e8f57610e8f610e25565b81604052838152866020858801011115610ea857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060008060006101408c8e031215610eea57600080fd5b610ef38c610cf6565b9a5060208c0135995067ffffffffffffffff8060408e01351115610f1657600080fd5b610f268e60408f01358f01610e3b565b995060608d0135985060808d0135975060a08d0135965060c08d01359550610f5060e08e01610d25565b9450610f5f6101008e01610d39565b9350806101208e01351115610f7357600080fd5b50610f858d6101208e01358e01610d51565b81935080925050509295989b509295989b9093969950565b88815287602082015286604082015285606082015263ffffffff8516608082015267ffffffffffffffff841660a082015260e060c08201528160e082015260006101008385828501376000838501820152601f909301601f191690910190910198975050505050505050565b60006020828403121561101b57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610a4a57610a4a611022565b60008261106c57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610a4a57610a4a611022565b81810381811115610a4a57610a4a611022565b6000602082840312156110a957600080fd5b8151610d1e81610ce1565b60005b838110156110cf5781810151838201526020016110b7565b50506000910152565b600082516110ea8184602087016110b4565b9190910192915050565b60006020828403121561110657600080fd5b81518015158114610d1e57600080fd5b60208152600082518060208401526111358160408501602087016110b4565b601f01601f1916919091016040019291505056fea26469706673582212209b77b0bf84d9ed72e83ab52339a0df0ce9e456ff00cfc691b9eb4658825841f764736f6c6343000812003300000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc450000000000000000000000003ffaf8d0d33226302e3a0ae48367cf1dd2023b1f", + "nonce": "0x41", + "chainId": "0x89" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x193c18f", + "logs": [ + { + "address": "0xce4b210532d41228313e2f9547b562b018f55b9f", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000024a9267ce9e0a8f4467b584fdda12baf1df772b5" + ], + "data": "0x", + "blockHash": "0xd9a070c1a7bd5f2246f91418de233af949ef64844357ac8cf9ae681a39f0ed93", + "blockNumber": "0x3d1a33f", + "transactionHash": "0x8170d49016dd35391ac1d8632e95d8beaa091f4d4d08e2ec4ebe2ee044b9a66f", + "transactionIndex": "0x4e", + "logIndex": "0x793", + "removed": false + }, + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x00000000000000000000000024a9267ce9e0a8f4467b584fdda12baf1df772b5", + "0x00000000000000000000000083d69448f88bf9c701c1b93f43e1f753d39b2632" + ], + "data": "0x00000000000000000000000000000000000000000000000000a33613616f4c500000000000000000000000000000000000000000000000007e33bab74be48610000000000000000000000000000000000000000000000c8c1884d61e343fd2420000000000000000000000000000000000000000000000007d9084a3ea7539c0000000000000000000000000000000000000000000000c8c19280c3195af1e92", + "blockHash": "0xd9a070c1a7bd5f2246f91418de233af949ef64844357ac8cf9ae681a39f0ed93", + "blockNumber": "0x3d1a33f", + "transactionHash": "0x8170d49016dd35391ac1d8632e95d8beaa091f4d4d08e2ec4ebe2ee044b9a66f", + "transactionIndex": "0x4e", + "logIndex": "0x794", + "removed": false + } + ], + "logsBloom": "0x00000000000000400000000020000000000000000000000000800000000000000000000000000000000000000000000000008000000000000000000000000000000000000000008000000000000000800001000000000000000100000000000000000000020000000000000000000800000000000800100080000000000000400000000000000000000000000000000000000000000000000000000000000040200000000000000000080000000000000000000000000000000000000000004000000000000000000001000000000000000000000010000000100000000020000000000000000000000000080000000000000000000000000000000000100000", + "type": "0x2", + "transactionHash": "0x8170d49016dd35391ac1d8632e95d8beaa091f4d4d08e2ec4ebe2ee044b9a66f", + "transactionIndex": "0x4e", + "blockHash": "0xd9a070c1a7bd5f2246f91418de233af949ef64844357ac8cf9ae681a39f0ed93", + "blockNumber": "0x3d1a33f", + "gasUsed": "0x10ae8c", + "effectiveGasPrice": "0x9c8a59800", + "from": "0x24a9267ce9e0a8f4467b584fdda12baf1df772b5", + "to": null, + "contractAddress": "0xce4b210532d41228313e2f9547b562b018f55b9f" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1731147334, + "chain": 137, + "commit": "8950cfa" +} \ No newline at end of file diff --git a/AxelarHandler/broadcast/Deploy.s.sol/137/run-1731147440.json b/AxelarHandler/broadcast/Deploy.s.sol/137/run-1731147440.json new file mode 100644 index 0000000..21b1d0b --- /dev/null +++ b/AxelarHandler/broadcast/Deploy.s.sol/137/run-1731147440.json @@ -0,0 +1,81 @@ +{ + "transactions": [ + { + "hash": "0x8170d49016dd35391ac1d8632e95d8beaa091f4d4d08e2ec4ebe2ee044b9a66f", + "transactionType": "CREATE", + "contractName": "GoFastHandler", + "contractAddress": "0xce4b210532d41228313e2f9547b562b018f55b9f", + "function": null, + "arguments": [ + "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45", + "0x3Ffaf8D0D33226302E3a0AE48367cF1Dd2023B1f" + ], + "transaction": { + "from": "0x24a9267ce9e0a8f4467b584fdda12baf1df772b5", + "gas": "0x15ae2d", + "value": "0x0", + "input": "0x608060405234801561001057600080fd5b5060405161129638038061129683398101604081905261002f916100d5565b61003833610069565b600180546001600160a01b039384166001600160a01b03199182161790915560028054929093169116179055610108565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146100d057600080fd5b919050565b600080604083850312156100e857600080fd5b6100f1836100b9565b91506100ff602084016100b9565b90509250929050565b61117f806101176000396000f3fe6080604052600436106100865760003560e01c80638da5cb5b116100595780638da5cb5b1461012d578063b5f0d6951461014b578063c31c9c071461015e578063df544ba81461017e578063f2fde38b1461019e57600080fd5b8063412736571461008b57806352c21c7c146100ad5780636ad1b6ac146100ea578063715018a614610118575b600080fd5b34801561009757600080fd5b506100ab6100a6366004610d01565b6101be565b005b3480156100b957600080fd5b506002546100cd906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100f657600080fd5b5061010a610105366004610d9a565b6101e8565b6040519081526020016100e1565b34801561012457600080fd5b506100ab610277565b34801561013957600080fd5b506000546001600160a01b03166100cd565b61010a610159366004610ec8565b61028b565b34801561016a57600080fd5b506001546100cd906001600160a01b031681565b34801561018a57600080fd5b506100ab610199366004610d01565b61047c565b3480156101aa57600080fd5b506100ab6101b9366004610d01565b6104a6565b6101c661051f565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600254604051631ab46dab60e21b81526000916001600160a01b031690636ad1b6ac90610227908c908c908c908c908c908c908c908c90600401610f9d565b6020604051808303816000875af1158015610246573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061026a9190611009565b9998505050505050505050565b61027f61051f565b6102896000610579565b565b6000886000036102e25760405162461bcd60e51b815260206004820152601c60248201527f657865637574696f6e206665652063616e6e6f74206265207a65726f0000000060448201526064015b60405180910390fd5b876000036103325760405162461bcd60e51b815260206004820152601960248201527f736f6c766572206665652063616e6e6f74206265207a65726f0000000000000060448201526064016102d9565b6000806103408e8e8e6105c9565b915060006127106103518c85611038565b61035b919061104f565b90506000610369828e611071565b9050808410156103ce5760405162461bcd60e51b815260206004820152602a60248201527f616d6f756e742072656365697665642066726f6d2073776170206973206c657360448201526973207468616e2066656560b01b60648201526084016102d9565b6103d88185611084565b600254604051631ab46dab60e21b8152919450600093506001600160a01b03169150636ad1b6ac9061041c908d908d90889088908f908f908f908f90600401610f9d565b6020604051808303816000875af115801561043b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045f9190611009565b905061046a8f6107e5565b9e9d5050505050505050505050505050565b61048461051f565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6104ae61051f565b6001600160a01b0381166105135760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102d9565b61051c81610579565b50565b6000546001600160a01b031633146102895760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102d9565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080600260009054906101000a90046001600160a01b03166001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561061f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106439190611097565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561068d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b19190611009565b90506001600160a01b038616156106f1576106d76001600160a01b03871633308861084b565b6001546106f1906001600160a01b038881169116876108bc565b6001546040516000916001600160a01b03169034906107119088906110d8565b60006040518083038185875af1925050503d806000811461074e576040519150601f19603f3d011682016040523d82523d6000602084013e610753565b606091505b5050905080610766573d6000803e3d6000fd5b6040516370a0823160e01b815230600482015282906001600160a01b038516906370a0823190602401602060405180830381865afa1580156107ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d09190611009565b6107da9190611084565b979650505050505050565b60006107f0826109d1565b90506001600160a01b03821615610819576108156001600160a01b0383163383610a5c565b5050565b604051339082156108fc029083906000818181858888f19350505050158015610846573d6000803e3d6000fd5b505050565b6040516001600160a01b03808516602483015283166044820152606481018290526108b69085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610a8c565b50505050565b8015806109365750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015610910573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109349190611009565b155b6109a15760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b60648201526084016102d9565b6040516001600160a01b03831660248201526044810182905261084690849063095ea7b360e01b9060640161087f565b60006001600160a01b03821615610a50576040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015610a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4a9190611009565b92915050565b5047919050565b919050565b6040516001600160a01b03831660248201526044810182905261084690849063a9059cbb60e01b9060640161087f565b6000610ae1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610b619092919063ffffffff16565b9050805160001480610b02575080806020019051810190610b0291906110f4565b6108465760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016102d9565b6060610b708484600085610b78565b949350505050565b606082471015610bd95760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016102d9565b600080866001600160a01b03168587604051610bf591906110d8565b60006040518083038185875af1925050503d8060008114610c32576040519150601f19603f3d011682016040523d82523d6000602084013e610c37565b606091505b50915091506107da8783838760608315610cb2578251600003610cab576001600160a01b0385163b610cab5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102d9565b5081610b70565b610b708383815115610cc75781518083602001fd5b8060405162461bcd60e51b81526004016102d99190611116565b6001600160a01b038116811461051c57600080fd5b8035610a5781610ce1565b600060208284031215610d1357600080fd5b8135610d1e81610ce1565b9392505050565b803563ffffffff81168114610a5757600080fd5b803567ffffffffffffffff81168114610a5757600080fd5b60008083601f840112610d6357600080fd5b50813567ffffffffffffffff811115610d7b57600080fd5b602083019150836020828501011115610d9357600080fd5b9250929050565b60008060008060008060008060e0898b031215610db657600080fd5b88359750602089013596506040890135955060608901359450610ddb60808a01610d25565b9350610de960a08a01610d39565b925060c089013567ffffffffffffffff811115610e0557600080fd5b610e118b828c01610d51565b999c989b5096995094979396929594505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610e4c57600080fd5b813567ffffffffffffffff80821115610e6757610e67610e25565b604051601f8301601f19908116603f01168101908282118183101715610e8f57610e8f610e25565b81604052838152866020858801011115610ea857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060008060006101408c8e031215610eea57600080fd5b610ef38c610cf6565b9a5060208c0135995067ffffffffffffffff8060408e01351115610f1657600080fd5b610f268e60408f01358f01610e3b565b995060608d0135985060808d0135975060a08d0135965060c08d01359550610f5060e08e01610d25565b9450610f5f6101008e01610d39565b9350806101208e01351115610f7357600080fd5b50610f858d6101208e01358e01610d51565b81935080925050509295989b509295989b9093969950565b88815287602082015286604082015285606082015263ffffffff8516608082015267ffffffffffffffff841660a082015260e060c08201528160e082015260006101008385828501376000838501820152601f909301601f191690910190910198975050505050505050565b60006020828403121561101b57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610a4a57610a4a611022565b60008261106c57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610a4a57610a4a611022565b81810381811115610a4a57610a4a611022565b6000602082840312156110a957600080fd5b8151610d1e81610ce1565b60005b838110156110cf5781810151838201526020016110b7565b50506000910152565b600082516110ea8184602087016110b4565b9190910192915050565b60006020828403121561110657600080fd5b81518015158114610d1e57600080fd5b60208152600082518060208401526111358160408501602087016110b4565b601f01601f1916919091016040019291505056fea26469706673582212209b77b0bf84d9ed72e83ab52339a0df0ce9e456ff00cfc691b9eb4658825841f764736f6c6343000812003300000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc450000000000000000000000003ffaf8d0d33226302e3a0ae48367cf1dd2023b1f", + "nonce": "0x41", + "chainId": "0x89" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x193c18f", + "logs": [ + { + "address": "0xce4b210532d41228313e2f9547b562b018f55b9f", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000024a9267ce9e0a8f4467b584fdda12baf1df772b5" + ], + "data": "0x", + "blockHash": "0xd9a070c1a7bd5f2246f91418de233af949ef64844357ac8cf9ae681a39f0ed93", + "blockNumber": "0x3d1a33f", + "transactionHash": "0x8170d49016dd35391ac1d8632e95d8beaa091f4d4d08e2ec4ebe2ee044b9a66f", + "transactionIndex": "0x4e", + "logIndex": "0x793", + "removed": false + }, + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x00000000000000000000000024a9267ce9e0a8f4467b584fdda12baf1df772b5", + "0x00000000000000000000000083d69448f88bf9c701c1b93f43e1f753d39b2632" + ], + "data": "0x00000000000000000000000000000000000000000000000000a33613616f4c500000000000000000000000000000000000000000000000007e33bab74be48610000000000000000000000000000000000000000000000c8c1884d61e343fd2420000000000000000000000000000000000000000000000007d9084a3ea7539c0000000000000000000000000000000000000000000000c8c19280c3195af1e92", + "blockHash": "0xd9a070c1a7bd5f2246f91418de233af949ef64844357ac8cf9ae681a39f0ed93", + "blockNumber": "0x3d1a33f", + "transactionHash": "0x8170d49016dd35391ac1d8632e95d8beaa091f4d4d08e2ec4ebe2ee044b9a66f", + "transactionIndex": "0x4e", + "logIndex": "0x794", + "removed": false + } + ], + "logsBloom": "0x00000000000000400000000020000000000000000000000000800000000000000000000000000000000000000000000000008000000000000000000000000000000000000000008000000000000000800001000000000000000100000000000000000000020000000000000000000800000000000800100080000000000000400000000000000000000000000000000000000000000000000000000000000040200000000000000000080000000000000000000000000000000000000000004000000000000000000001000000000000000000000010000000100000000020000000000000000000000000080000000000000000000000000000000000100000", + "type": "0x2", + "transactionHash": "0x8170d49016dd35391ac1d8632e95d8beaa091f4d4d08e2ec4ebe2ee044b9a66f", + "transactionIndex": "0x4e", + "blockHash": "0xd9a070c1a7bd5f2246f91418de233af949ef64844357ac8cf9ae681a39f0ed93", + "blockNumber": "0x3d1a33f", + "gasUsed": "0x10ae8c", + "effectiveGasPrice": "0x9c8a59800", + "from": "0x24a9267ce9e0a8f4467b584fdda12baf1df772b5", + "to": null, + "contractAddress": "0xce4b210532d41228313e2f9547b562b018f55b9f" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1731147440, + "chain": 137, + "commit": "8950cfa" +} \ No newline at end of file diff --git a/AxelarHandler/broadcast/Deploy.s.sol/137/run-latest.json b/AxelarHandler/broadcast/Deploy.s.sol/137/run-latest.json new file mode 100644 index 0000000..21b1d0b --- /dev/null +++ b/AxelarHandler/broadcast/Deploy.s.sol/137/run-latest.json @@ -0,0 +1,81 @@ +{ + "transactions": [ + { + "hash": "0x8170d49016dd35391ac1d8632e95d8beaa091f4d4d08e2ec4ebe2ee044b9a66f", + "transactionType": "CREATE", + "contractName": "GoFastHandler", + "contractAddress": "0xce4b210532d41228313e2f9547b562b018f55b9f", + "function": null, + "arguments": [ + "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45", + "0x3Ffaf8D0D33226302E3a0AE48367cF1Dd2023B1f" + ], + "transaction": { + "from": "0x24a9267ce9e0a8f4467b584fdda12baf1df772b5", + "gas": "0x15ae2d", + "value": "0x0", + "input": "0x608060405234801561001057600080fd5b5060405161129638038061129683398101604081905261002f916100d5565b61003833610069565b600180546001600160a01b039384166001600160a01b03199182161790915560028054929093169116179055610108565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146100d057600080fd5b919050565b600080604083850312156100e857600080fd5b6100f1836100b9565b91506100ff602084016100b9565b90509250929050565b61117f806101176000396000f3fe6080604052600436106100865760003560e01c80638da5cb5b116100595780638da5cb5b1461012d578063b5f0d6951461014b578063c31c9c071461015e578063df544ba81461017e578063f2fde38b1461019e57600080fd5b8063412736571461008b57806352c21c7c146100ad5780636ad1b6ac146100ea578063715018a614610118575b600080fd5b34801561009757600080fd5b506100ab6100a6366004610d01565b6101be565b005b3480156100b957600080fd5b506002546100cd906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100f657600080fd5b5061010a610105366004610d9a565b6101e8565b6040519081526020016100e1565b34801561012457600080fd5b506100ab610277565b34801561013957600080fd5b506000546001600160a01b03166100cd565b61010a610159366004610ec8565b61028b565b34801561016a57600080fd5b506001546100cd906001600160a01b031681565b34801561018a57600080fd5b506100ab610199366004610d01565b61047c565b3480156101aa57600080fd5b506100ab6101b9366004610d01565b6104a6565b6101c661051f565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600254604051631ab46dab60e21b81526000916001600160a01b031690636ad1b6ac90610227908c908c908c908c908c908c908c908c90600401610f9d565b6020604051808303816000875af1158015610246573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061026a9190611009565b9998505050505050505050565b61027f61051f565b6102896000610579565b565b6000886000036102e25760405162461bcd60e51b815260206004820152601c60248201527f657865637574696f6e206665652063616e6e6f74206265207a65726f0000000060448201526064015b60405180910390fd5b876000036103325760405162461bcd60e51b815260206004820152601960248201527f736f6c766572206665652063616e6e6f74206265207a65726f0000000000000060448201526064016102d9565b6000806103408e8e8e6105c9565b915060006127106103518c85611038565b61035b919061104f565b90506000610369828e611071565b9050808410156103ce5760405162461bcd60e51b815260206004820152602a60248201527f616d6f756e742072656365697665642066726f6d2073776170206973206c657360448201526973207468616e2066656560b01b60648201526084016102d9565b6103d88185611084565b600254604051631ab46dab60e21b8152919450600093506001600160a01b03169150636ad1b6ac9061041c908d908d90889088908f908f908f908f90600401610f9d565b6020604051808303816000875af115801561043b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045f9190611009565b905061046a8f6107e5565b9e9d5050505050505050505050505050565b61048461051f565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6104ae61051f565b6001600160a01b0381166105135760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102d9565b61051c81610579565b50565b6000546001600160a01b031633146102895760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102d9565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080600260009054906101000a90046001600160a01b03166001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561061f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106439190611097565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561068d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b19190611009565b90506001600160a01b038616156106f1576106d76001600160a01b03871633308861084b565b6001546106f1906001600160a01b038881169116876108bc565b6001546040516000916001600160a01b03169034906107119088906110d8565b60006040518083038185875af1925050503d806000811461074e576040519150601f19603f3d011682016040523d82523d6000602084013e610753565b606091505b5050905080610766573d6000803e3d6000fd5b6040516370a0823160e01b815230600482015282906001600160a01b038516906370a0823190602401602060405180830381865afa1580156107ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d09190611009565b6107da9190611084565b979650505050505050565b60006107f0826109d1565b90506001600160a01b03821615610819576108156001600160a01b0383163383610a5c565b5050565b604051339082156108fc029083906000818181858888f19350505050158015610846573d6000803e3d6000fd5b505050565b6040516001600160a01b03808516602483015283166044820152606481018290526108b69085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610a8c565b50505050565b8015806109365750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015610910573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109349190611009565b155b6109a15760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b60648201526084016102d9565b6040516001600160a01b03831660248201526044810182905261084690849063095ea7b360e01b9060640161087f565b60006001600160a01b03821615610a50576040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015610a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4a9190611009565b92915050565b5047919050565b919050565b6040516001600160a01b03831660248201526044810182905261084690849063a9059cbb60e01b9060640161087f565b6000610ae1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610b619092919063ffffffff16565b9050805160001480610b02575080806020019051810190610b0291906110f4565b6108465760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016102d9565b6060610b708484600085610b78565b949350505050565b606082471015610bd95760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016102d9565b600080866001600160a01b03168587604051610bf591906110d8565b60006040518083038185875af1925050503d8060008114610c32576040519150601f19603f3d011682016040523d82523d6000602084013e610c37565b606091505b50915091506107da8783838760608315610cb2578251600003610cab576001600160a01b0385163b610cab5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102d9565b5081610b70565b610b708383815115610cc75781518083602001fd5b8060405162461bcd60e51b81526004016102d99190611116565b6001600160a01b038116811461051c57600080fd5b8035610a5781610ce1565b600060208284031215610d1357600080fd5b8135610d1e81610ce1565b9392505050565b803563ffffffff81168114610a5757600080fd5b803567ffffffffffffffff81168114610a5757600080fd5b60008083601f840112610d6357600080fd5b50813567ffffffffffffffff811115610d7b57600080fd5b602083019150836020828501011115610d9357600080fd5b9250929050565b60008060008060008060008060e0898b031215610db657600080fd5b88359750602089013596506040890135955060608901359450610ddb60808a01610d25565b9350610de960a08a01610d39565b925060c089013567ffffffffffffffff811115610e0557600080fd5b610e118b828c01610d51565b999c989b5096995094979396929594505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610e4c57600080fd5b813567ffffffffffffffff80821115610e6757610e67610e25565b604051601f8301601f19908116603f01168101908282118183101715610e8f57610e8f610e25565b81604052838152866020858801011115610ea857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060008060006101408c8e031215610eea57600080fd5b610ef38c610cf6565b9a5060208c0135995067ffffffffffffffff8060408e01351115610f1657600080fd5b610f268e60408f01358f01610e3b565b995060608d0135985060808d0135975060a08d0135965060c08d01359550610f5060e08e01610d25565b9450610f5f6101008e01610d39565b9350806101208e01351115610f7357600080fd5b50610f858d6101208e01358e01610d51565b81935080925050509295989b509295989b9093969950565b88815287602082015286604082015285606082015263ffffffff8516608082015267ffffffffffffffff841660a082015260e060c08201528160e082015260006101008385828501376000838501820152601f909301601f191690910190910198975050505050505050565b60006020828403121561101b57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610a4a57610a4a611022565b60008261106c57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610a4a57610a4a611022565b81810381811115610a4a57610a4a611022565b6000602082840312156110a957600080fd5b8151610d1e81610ce1565b60005b838110156110cf5781810151838201526020016110b7565b50506000910152565b600082516110ea8184602087016110b4565b9190910192915050565b60006020828403121561110657600080fd5b81518015158114610d1e57600080fd5b60208152600082518060208401526111358160408501602087016110b4565b601f01601f1916919091016040019291505056fea26469706673582212209b77b0bf84d9ed72e83ab52339a0df0ce9e456ff00cfc691b9eb4658825841f764736f6c6343000812003300000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc450000000000000000000000003ffaf8d0d33226302e3a0ae48367cf1dd2023b1f", + "nonce": "0x41", + "chainId": "0x89" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x193c18f", + "logs": [ + { + "address": "0xce4b210532d41228313e2f9547b562b018f55b9f", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000024a9267ce9e0a8f4467b584fdda12baf1df772b5" + ], + "data": "0x", + "blockHash": "0xd9a070c1a7bd5f2246f91418de233af949ef64844357ac8cf9ae681a39f0ed93", + "blockNumber": "0x3d1a33f", + "transactionHash": "0x8170d49016dd35391ac1d8632e95d8beaa091f4d4d08e2ec4ebe2ee044b9a66f", + "transactionIndex": "0x4e", + "logIndex": "0x793", + "removed": false + }, + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x00000000000000000000000024a9267ce9e0a8f4467b584fdda12baf1df772b5", + "0x00000000000000000000000083d69448f88bf9c701c1b93f43e1f753d39b2632" + ], + "data": "0x00000000000000000000000000000000000000000000000000a33613616f4c500000000000000000000000000000000000000000000000007e33bab74be48610000000000000000000000000000000000000000000000c8c1884d61e343fd2420000000000000000000000000000000000000000000000007d9084a3ea7539c0000000000000000000000000000000000000000000000c8c19280c3195af1e92", + "blockHash": "0xd9a070c1a7bd5f2246f91418de233af949ef64844357ac8cf9ae681a39f0ed93", + "blockNumber": "0x3d1a33f", + "transactionHash": "0x8170d49016dd35391ac1d8632e95d8beaa091f4d4d08e2ec4ebe2ee044b9a66f", + "transactionIndex": "0x4e", + "logIndex": "0x794", + "removed": false + } + ], + "logsBloom": "0x00000000000000400000000020000000000000000000000000800000000000000000000000000000000000000000000000008000000000000000000000000000000000000000008000000000000000800001000000000000000100000000000000000000020000000000000000000800000000000800100080000000000000400000000000000000000000000000000000000000000000000000000000000040200000000000000000080000000000000000000000000000000000000000004000000000000000000001000000000000000000000010000000100000000020000000000000000000000000080000000000000000000000000000000000100000", + "type": "0x2", + "transactionHash": "0x8170d49016dd35391ac1d8632e95d8beaa091f4d4d08e2ec4ebe2ee044b9a66f", + "transactionIndex": "0x4e", + "blockHash": "0xd9a070c1a7bd5f2246f91418de233af949ef64844357ac8cf9ae681a39f0ed93", + "blockNumber": "0x3d1a33f", + "gasUsed": "0x10ae8c", + "effectiveGasPrice": "0x9c8a59800", + "from": "0x24a9267ce9e0a8f4467b584fdda12baf1df772b5", + "to": null, + "contractAddress": "0xce4b210532d41228313e2f9547b562b018f55b9f" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1731147440, + "chain": 137, + "commit": "8950cfa" +} \ No newline at end of file diff --git a/AxelarHandler/broadcast/Deploy.s.sol/42161/dry-run/run-1731147174.json b/AxelarHandler/broadcast/Deploy.s.sol/42161/dry-run/run-1731147174.json new file mode 100644 index 0000000..e3211d6 --- /dev/null +++ b/AxelarHandler/broadcast/Deploy.s.sol/42161/dry-run/run-1731147174.json @@ -0,0 +1,32 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "GoFastHandler", + "contractAddress": "0x8d8e571c46c89f97d27580f946366be303a62c56", + "function": null, + "arguments": [ + "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45", + "0x23Cb6147E5600C23d1fb5543916D3D5457c9B54C" + ], + "transaction": { + "from": "0x24a9267ce9e0a8f4467b584fdda12baf1df772b5", + "gas": "0x3b9c49", + "value": "0x0", + "input": "0x608060405234801561001057600080fd5b5060405161129638038061129683398101604081905261002f916100d5565b61003833610069565b600180546001600160a01b039384166001600160a01b03199182161790915560028054929093169116179055610108565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146100d057600080fd5b919050565b600080604083850312156100e857600080fd5b6100f1836100b9565b91506100ff602084016100b9565b90509250929050565b61117f806101176000396000f3fe6080604052600436106100865760003560e01c80638da5cb5b116100595780638da5cb5b1461012d578063b5f0d6951461014b578063c31c9c071461015e578063df544ba81461017e578063f2fde38b1461019e57600080fd5b8063412736571461008b57806352c21c7c146100ad5780636ad1b6ac146100ea578063715018a614610118575b600080fd5b34801561009757600080fd5b506100ab6100a6366004610d01565b6101be565b005b3480156100b957600080fd5b506002546100cd906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100f657600080fd5b5061010a610105366004610d9a565b6101e8565b6040519081526020016100e1565b34801561012457600080fd5b506100ab610277565b34801561013957600080fd5b506000546001600160a01b03166100cd565b61010a610159366004610ec8565b61028b565b34801561016a57600080fd5b506001546100cd906001600160a01b031681565b34801561018a57600080fd5b506100ab610199366004610d01565b61047c565b3480156101aa57600080fd5b506100ab6101b9366004610d01565b6104a6565b6101c661051f565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600254604051631ab46dab60e21b81526000916001600160a01b031690636ad1b6ac90610227908c908c908c908c908c908c908c908c90600401610f9d565b6020604051808303816000875af1158015610246573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061026a9190611009565b9998505050505050505050565b61027f61051f565b6102896000610579565b565b6000886000036102e25760405162461bcd60e51b815260206004820152601c60248201527f657865637574696f6e206665652063616e6e6f74206265207a65726f0000000060448201526064015b60405180910390fd5b876000036103325760405162461bcd60e51b815260206004820152601960248201527f736f6c766572206665652063616e6e6f74206265207a65726f0000000000000060448201526064016102d9565b6000806103408e8e8e6105c9565b915060006127106103518c85611038565b61035b919061104f565b90506000610369828e611071565b9050808410156103ce5760405162461bcd60e51b815260206004820152602a60248201527f616d6f756e742072656365697665642066726f6d2073776170206973206c657360448201526973207468616e2066656560b01b60648201526084016102d9565b6103d88185611084565b600254604051631ab46dab60e21b8152919450600093506001600160a01b03169150636ad1b6ac9061041c908d908d90889088908f908f908f908f90600401610f9d565b6020604051808303816000875af115801561043b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045f9190611009565b905061046a8f6107e5565b9e9d5050505050505050505050505050565b61048461051f565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6104ae61051f565b6001600160a01b0381166105135760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102d9565b61051c81610579565b50565b6000546001600160a01b031633146102895760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102d9565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080600260009054906101000a90046001600160a01b03166001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561061f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106439190611097565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561068d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b19190611009565b90506001600160a01b038616156106f1576106d76001600160a01b03871633308861084b565b6001546106f1906001600160a01b038881169116876108bc565b6001546040516000916001600160a01b03169034906107119088906110d8565b60006040518083038185875af1925050503d806000811461074e576040519150601f19603f3d011682016040523d82523d6000602084013e610753565b606091505b5050905080610766573d6000803e3d6000fd5b6040516370a0823160e01b815230600482015282906001600160a01b038516906370a0823190602401602060405180830381865afa1580156107ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d09190611009565b6107da9190611084565b979650505050505050565b60006107f0826109d1565b90506001600160a01b03821615610819576108156001600160a01b0383163383610a5c565b5050565b604051339082156108fc029083906000818181858888f19350505050158015610846573d6000803e3d6000fd5b505050565b6040516001600160a01b03808516602483015283166044820152606481018290526108b69085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610a8c565b50505050565b8015806109365750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015610910573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109349190611009565b155b6109a15760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b60648201526084016102d9565b6040516001600160a01b03831660248201526044810182905261084690849063095ea7b360e01b9060640161087f565b60006001600160a01b03821615610a50576040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015610a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4a9190611009565b92915050565b5047919050565b919050565b6040516001600160a01b03831660248201526044810182905261084690849063a9059cbb60e01b9060640161087f565b6000610ae1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610b619092919063ffffffff16565b9050805160001480610b02575080806020019051810190610b0291906110f4565b6108465760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016102d9565b6060610b708484600085610b78565b949350505050565b606082471015610bd95760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016102d9565b600080866001600160a01b03168587604051610bf591906110d8565b60006040518083038185875af1925050503d8060008114610c32576040519150601f19603f3d011682016040523d82523d6000602084013e610c37565b606091505b50915091506107da8783838760608315610cb2578251600003610cab576001600160a01b0385163b610cab5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102d9565b5081610b70565b610b708383815115610cc75781518083602001fd5b8060405162461bcd60e51b81526004016102d99190611116565b6001600160a01b038116811461051c57600080fd5b8035610a5781610ce1565b600060208284031215610d1357600080fd5b8135610d1e81610ce1565b9392505050565b803563ffffffff81168114610a5757600080fd5b803567ffffffffffffffff81168114610a5757600080fd5b60008083601f840112610d6357600080fd5b50813567ffffffffffffffff811115610d7b57600080fd5b602083019150836020828501011115610d9357600080fd5b9250929050565b60008060008060008060008060e0898b031215610db657600080fd5b88359750602089013596506040890135955060608901359450610ddb60808a01610d25565b9350610de960a08a01610d39565b925060c089013567ffffffffffffffff811115610e0557600080fd5b610e118b828c01610d51565b999c989b5096995094979396929594505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610e4c57600080fd5b813567ffffffffffffffff80821115610e6757610e67610e25565b604051601f8301601f19908116603f01168101908282118183101715610e8f57610e8f610e25565b81604052838152866020858801011115610ea857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060008060006101408c8e031215610eea57600080fd5b610ef38c610cf6565b9a5060208c0135995067ffffffffffffffff8060408e01351115610f1657600080fd5b610f268e60408f01358f01610e3b565b995060608d0135985060808d0135975060a08d0135965060c08d01359550610f5060e08e01610d25565b9450610f5f6101008e01610d39565b9350806101208e01351115610f7357600080fd5b50610f858d6101208e01358e01610d51565b81935080925050509295989b509295989b9093969950565b88815287602082015286604082015285606082015263ffffffff8516608082015267ffffffffffffffff841660a082015260e060c08201528160e082015260006101008385828501376000838501820152601f909301601f191690910190910198975050505050505050565b60006020828403121561101b57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610a4a57610a4a611022565b60008261106c57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610a4a57610a4a611022565b81810381811115610a4a57610a4a611022565b6000602082840312156110a957600080fd5b8151610d1e81610ce1565b60005b838110156110cf5781810151838201526020016110b7565b50506000910152565b600082516110ea8184602087016110b4565b9190910192915050565b60006020828403121561110657600080fd5b81518015158114610d1e57600080fd5b60208152600082518060208401526111358160408501602087016110b4565b601f01601f1916919091016040019291505056fea26469706673582212209b77b0bf84d9ed72e83ab52339a0df0ce9e456ff00cfc691b9eb4658825841f764736f6c6343000812003300000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc4500000000000000000000000023cb6147e5600c23d1fb5543916d3d5457c9b54c", + "nonce": "0x9d", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1731147174, + "chain": 42161, + "commit": "8950cfa" +} \ No newline at end of file diff --git a/AxelarHandler/broadcast/Deploy.s.sol/42161/dry-run/run-latest.json b/AxelarHandler/broadcast/Deploy.s.sol/42161/dry-run/run-latest.json new file mode 100644 index 0000000..e3211d6 --- /dev/null +++ b/AxelarHandler/broadcast/Deploy.s.sol/42161/dry-run/run-latest.json @@ -0,0 +1,32 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "GoFastHandler", + "contractAddress": "0x8d8e571c46c89f97d27580f946366be303a62c56", + "function": null, + "arguments": [ + "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45", + "0x23Cb6147E5600C23d1fb5543916D3D5457c9B54C" + ], + "transaction": { + "from": "0x24a9267ce9e0a8f4467b584fdda12baf1df772b5", + "gas": "0x3b9c49", + "value": "0x0", + "input": "0x608060405234801561001057600080fd5b5060405161129638038061129683398101604081905261002f916100d5565b61003833610069565b600180546001600160a01b039384166001600160a01b03199182161790915560028054929093169116179055610108565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146100d057600080fd5b919050565b600080604083850312156100e857600080fd5b6100f1836100b9565b91506100ff602084016100b9565b90509250929050565b61117f806101176000396000f3fe6080604052600436106100865760003560e01c80638da5cb5b116100595780638da5cb5b1461012d578063b5f0d6951461014b578063c31c9c071461015e578063df544ba81461017e578063f2fde38b1461019e57600080fd5b8063412736571461008b57806352c21c7c146100ad5780636ad1b6ac146100ea578063715018a614610118575b600080fd5b34801561009757600080fd5b506100ab6100a6366004610d01565b6101be565b005b3480156100b957600080fd5b506002546100cd906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100f657600080fd5b5061010a610105366004610d9a565b6101e8565b6040519081526020016100e1565b34801561012457600080fd5b506100ab610277565b34801561013957600080fd5b506000546001600160a01b03166100cd565b61010a610159366004610ec8565b61028b565b34801561016a57600080fd5b506001546100cd906001600160a01b031681565b34801561018a57600080fd5b506100ab610199366004610d01565b61047c565b3480156101aa57600080fd5b506100ab6101b9366004610d01565b6104a6565b6101c661051f565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600254604051631ab46dab60e21b81526000916001600160a01b031690636ad1b6ac90610227908c908c908c908c908c908c908c908c90600401610f9d565b6020604051808303816000875af1158015610246573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061026a9190611009565b9998505050505050505050565b61027f61051f565b6102896000610579565b565b6000886000036102e25760405162461bcd60e51b815260206004820152601c60248201527f657865637574696f6e206665652063616e6e6f74206265207a65726f0000000060448201526064015b60405180910390fd5b876000036103325760405162461bcd60e51b815260206004820152601960248201527f736f6c766572206665652063616e6e6f74206265207a65726f0000000000000060448201526064016102d9565b6000806103408e8e8e6105c9565b915060006127106103518c85611038565b61035b919061104f565b90506000610369828e611071565b9050808410156103ce5760405162461bcd60e51b815260206004820152602a60248201527f616d6f756e742072656365697665642066726f6d2073776170206973206c657360448201526973207468616e2066656560b01b60648201526084016102d9565b6103d88185611084565b600254604051631ab46dab60e21b8152919450600093506001600160a01b03169150636ad1b6ac9061041c908d908d90889088908f908f908f908f90600401610f9d565b6020604051808303816000875af115801561043b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045f9190611009565b905061046a8f6107e5565b9e9d5050505050505050505050505050565b61048461051f565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6104ae61051f565b6001600160a01b0381166105135760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102d9565b61051c81610579565b50565b6000546001600160a01b031633146102895760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102d9565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080600260009054906101000a90046001600160a01b03166001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561061f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106439190611097565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561068d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b19190611009565b90506001600160a01b038616156106f1576106d76001600160a01b03871633308861084b565b6001546106f1906001600160a01b038881169116876108bc565b6001546040516000916001600160a01b03169034906107119088906110d8565b60006040518083038185875af1925050503d806000811461074e576040519150601f19603f3d011682016040523d82523d6000602084013e610753565b606091505b5050905080610766573d6000803e3d6000fd5b6040516370a0823160e01b815230600482015282906001600160a01b038516906370a0823190602401602060405180830381865afa1580156107ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d09190611009565b6107da9190611084565b979650505050505050565b60006107f0826109d1565b90506001600160a01b03821615610819576108156001600160a01b0383163383610a5c565b5050565b604051339082156108fc029083906000818181858888f19350505050158015610846573d6000803e3d6000fd5b505050565b6040516001600160a01b03808516602483015283166044820152606481018290526108b69085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610a8c565b50505050565b8015806109365750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015610910573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109349190611009565b155b6109a15760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b60648201526084016102d9565b6040516001600160a01b03831660248201526044810182905261084690849063095ea7b360e01b9060640161087f565b60006001600160a01b03821615610a50576040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015610a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4a9190611009565b92915050565b5047919050565b919050565b6040516001600160a01b03831660248201526044810182905261084690849063a9059cbb60e01b9060640161087f565b6000610ae1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610b619092919063ffffffff16565b9050805160001480610b02575080806020019051810190610b0291906110f4565b6108465760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016102d9565b6060610b708484600085610b78565b949350505050565b606082471015610bd95760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016102d9565b600080866001600160a01b03168587604051610bf591906110d8565b60006040518083038185875af1925050503d8060008114610c32576040519150601f19603f3d011682016040523d82523d6000602084013e610c37565b606091505b50915091506107da8783838760608315610cb2578251600003610cab576001600160a01b0385163b610cab5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102d9565b5081610b70565b610b708383815115610cc75781518083602001fd5b8060405162461bcd60e51b81526004016102d99190611116565b6001600160a01b038116811461051c57600080fd5b8035610a5781610ce1565b600060208284031215610d1357600080fd5b8135610d1e81610ce1565b9392505050565b803563ffffffff81168114610a5757600080fd5b803567ffffffffffffffff81168114610a5757600080fd5b60008083601f840112610d6357600080fd5b50813567ffffffffffffffff811115610d7b57600080fd5b602083019150836020828501011115610d9357600080fd5b9250929050565b60008060008060008060008060e0898b031215610db657600080fd5b88359750602089013596506040890135955060608901359450610ddb60808a01610d25565b9350610de960a08a01610d39565b925060c089013567ffffffffffffffff811115610e0557600080fd5b610e118b828c01610d51565b999c989b5096995094979396929594505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610e4c57600080fd5b813567ffffffffffffffff80821115610e6757610e67610e25565b604051601f8301601f19908116603f01168101908282118183101715610e8f57610e8f610e25565b81604052838152866020858801011115610ea857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060008060006101408c8e031215610eea57600080fd5b610ef38c610cf6565b9a5060208c0135995067ffffffffffffffff8060408e01351115610f1657600080fd5b610f268e60408f01358f01610e3b565b995060608d0135985060808d0135975060a08d0135965060c08d01359550610f5060e08e01610d25565b9450610f5f6101008e01610d39565b9350806101208e01351115610f7357600080fd5b50610f858d6101208e01358e01610d51565b81935080925050509295989b509295989b9093969950565b88815287602082015286604082015285606082015263ffffffff8516608082015267ffffffffffffffff841660a082015260e060c08201528160e082015260006101008385828501376000838501820152601f909301601f191690910190910198975050505050505050565b60006020828403121561101b57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610a4a57610a4a611022565b60008261106c57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610a4a57610a4a611022565b81810381811115610a4a57610a4a611022565b6000602082840312156110a957600080fd5b8151610d1e81610ce1565b60005b838110156110cf5781810151838201526020016110b7565b50506000910152565b600082516110ea8184602087016110b4565b9190910192915050565b60006020828403121561110657600080fd5b81518015158114610d1e57600080fd5b60208152600082518060208401526111358160408501602087016110b4565b601f01601f1916919091016040019291505056fea26469706673582212209b77b0bf84d9ed72e83ab52339a0df0ce9e456ff00cfc691b9eb4658825841f764736f6c6343000812003300000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc4500000000000000000000000023cb6147e5600c23d1fb5543916d3d5457c9b54c", + "nonce": "0x9d", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1731147174, + "chain": 42161, + "commit": "8950cfa" +} \ No newline at end of file diff --git a/AxelarHandler/broadcast/Deploy.s.sol/42161/run-1731147206.json b/AxelarHandler/broadcast/Deploy.s.sol/42161/run-1731147206.json new file mode 100644 index 0000000..50e4149 --- /dev/null +++ b/AxelarHandler/broadcast/Deploy.s.sol/42161/run-1731147206.json @@ -0,0 +1,67 @@ +{ + "transactions": [ + { + "hash": "0x3ae0a28ac27d37fbaf2f982361b9714e3bfd9465d8a27dd7d5c4c83fff2d1dc9", + "transactionType": "CREATE", + "contractName": "GoFastHandler", + "contractAddress": "0x8d8e571c46c89f97d27580f946366be303a62c56", + "function": null, + "arguments": [ + "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45", + "0x23Cb6147E5600C23d1fb5543916D3D5457c9B54C" + ], + "transaction": { + "from": "0x24a9267ce9e0a8f4467b584fdda12baf1df772b5", + "gas": "0x3b9c49", + "value": "0x0", + "input": "0x608060405234801561001057600080fd5b5060405161129638038061129683398101604081905261002f916100d5565b61003833610069565b600180546001600160a01b039384166001600160a01b03199182161790915560028054929093169116179055610108565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146100d057600080fd5b919050565b600080604083850312156100e857600080fd5b6100f1836100b9565b91506100ff602084016100b9565b90509250929050565b61117f806101176000396000f3fe6080604052600436106100865760003560e01c80638da5cb5b116100595780638da5cb5b1461012d578063b5f0d6951461014b578063c31c9c071461015e578063df544ba81461017e578063f2fde38b1461019e57600080fd5b8063412736571461008b57806352c21c7c146100ad5780636ad1b6ac146100ea578063715018a614610118575b600080fd5b34801561009757600080fd5b506100ab6100a6366004610d01565b6101be565b005b3480156100b957600080fd5b506002546100cd906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100f657600080fd5b5061010a610105366004610d9a565b6101e8565b6040519081526020016100e1565b34801561012457600080fd5b506100ab610277565b34801561013957600080fd5b506000546001600160a01b03166100cd565b61010a610159366004610ec8565b61028b565b34801561016a57600080fd5b506001546100cd906001600160a01b031681565b34801561018a57600080fd5b506100ab610199366004610d01565b61047c565b3480156101aa57600080fd5b506100ab6101b9366004610d01565b6104a6565b6101c661051f565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600254604051631ab46dab60e21b81526000916001600160a01b031690636ad1b6ac90610227908c908c908c908c908c908c908c908c90600401610f9d565b6020604051808303816000875af1158015610246573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061026a9190611009565b9998505050505050505050565b61027f61051f565b6102896000610579565b565b6000886000036102e25760405162461bcd60e51b815260206004820152601c60248201527f657865637574696f6e206665652063616e6e6f74206265207a65726f0000000060448201526064015b60405180910390fd5b876000036103325760405162461bcd60e51b815260206004820152601960248201527f736f6c766572206665652063616e6e6f74206265207a65726f0000000000000060448201526064016102d9565b6000806103408e8e8e6105c9565b915060006127106103518c85611038565b61035b919061104f565b90506000610369828e611071565b9050808410156103ce5760405162461bcd60e51b815260206004820152602a60248201527f616d6f756e742072656365697665642066726f6d2073776170206973206c657360448201526973207468616e2066656560b01b60648201526084016102d9565b6103d88185611084565b600254604051631ab46dab60e21b8152919450600093506001600160a01b03169150636ad1b6ac9061041c908d908d90889088908f908f908f908f90600401610f9d565b6020604051808303816000875af115801561043b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045f9190611009565b905061046a8f6107e5565b9e9d5050505050505050505050505050565b61048461051f565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6104ae61051f565b6001600160a01b0381166105135760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102d9565b61051c81610579565b50565b6000546001600160a01b031633146102895760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102d9565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080600260009054906101000a90046001600160a01b03166001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561061f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106439190611097565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561068d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b19190611009565b90506001600160a01b038616156106f1576106d76001600160a01b03871633308861084b565b6001546106f1906001600160a01b038881169116876108bc565b6001546040516000916001600160a01b03169034906107119088906110d8565b60006040518083038185875af1925050503d806000811461074e576040519150601f19603f3d011682016040523d82523d6000602084013e610753565b606091505b5050905080610766573d6000803e3d6000fd5b6040516370a0823160e01b815230600482015282906001600160a01b038516906370a0823190602401602060405180830381865afa1580156107ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d09190611009565b6107da9190611084565b979650505050505050565b60006107f0826109d1565b90506001600160a01b03821615610819576108156001600160a01b0383163383610a5c565b5050565b604051339082156108fc029083906000818181858888f19350505050158015610846573d6000803e3d6000fd5b505050565b6040516001600160a01b03808516602483015283166044820152606481018290526108b69085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610a8c565b50505050565b8015806109365750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015610910573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109349190611009565b155b6109a15760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b60648201526084016102d9565b6040516001600160a01b03831660248201526044810182905261084690849063095ea7b360e01b9060640161087f565b60006001600160a01b03821615610a50576040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015610a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4a9190611009565b92915050565b5047919050565b919050565b6040516001600160a01b03831660248201526044810182905261084690849063a9059cbb60e01b9060640161087f565b6000610ae1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610b619092919063ffffffff16565b9050805160001480610b02575080806020019051810190610b0291906110f4565b6108465760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016102d9565b6060610b708484600085610b78565b949350505050565b606082471015610bd95760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016102d9565b600080866001600160a01b03168587604051610bf591906110d8565b60006040518083038185875af1925050503d8060008114610c32576040519150601f19603f3d011682016040523d82523d6000602084013e610c37565b606091505b50915091506107da8783838760608315610cb2578251600003610cab576001600160a01b0385163b610cab5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102d9565b5081610b70565b610b708383815115610cc75781518083602001fd5b8060405162461bcd60e51b81526004016102d99190611116565b6001600160a01b038116811461051c57600080fd5b8035610a5781610ce1565b600060208284031215610d1357600080fd5b8135610d1e81610ce1565b9392505050565b803563ffffffff81168114610a5757600080fd5b803567ffffffffffffffff81168114610a5757600080fd5b60008083601f840112610d6357600080fd5b50813567ffffffffffffffff811115610d7b57600080fd5b602083019150836020828501011115610d9357600080fd5b9250929050565b60008060008060008060008060e0898b031215610db657600080fd5b88359750602089013596506040890135955060608901359450610ddb60808a01610d25565b9350610de960a08a01610d39565b925060c089013567ffffffffffffffff811115610e0557600080fd5b610e118b828c01610d51565b999c989b5096995094979396929594505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610e4c57600080fd5b813567ffffffffffffffff80821115610e6757610e67610e25565b604051601f8301601f19908116603f01168101908282118183101715610e8f57610e8f610e25565b81604052838152866020858801011115610ea857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060008060006101408c8e031215610eea57600080fd5b610ef38c610cf6565b9a5060208c0135995067ffffffffffffffff8060408e01351115610f1657600080fd5b610f268e60408f01358f01610e3b565b995060608d0135985060808d0135975060a08d0135965060c08d01359550610f5060e08e01610d25565b9450610f5f6101008e01610d39565b9350806101208e01351115610f7357600080fd5b50610f858d6101208e01358e01610d51565b81935080925050509295989b509295989b9093969950565b88815287602082015286604082015285606082015263ffffffff8516608082015267ffffffffffffffff841660a082015260e060c08201528160e082015260006101008385828501376000838501820152601f909301601f191690910190910198975050505050505050565b60006020828403121561101b57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610a4a57610a4a611022565b60008261106c57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610a4a57610a4a611022565b81810381811115610a4a57610a4a611022565b6000602082840312156110a957600080fd5b8151610d1e81610ce1565b60005b838110156110cf5781810151838201526020016110b7565b50506000910152565b600082516110ea8184602087016110b4565b9190910192915050565b60006020828403121561110657600080fd5b81518015158114610d1e57600080fd5b60208152600082518060208401526111358160408501602087016110b4565b601f01601f1916919091016040019291505056fea26469706673582212209b77b0bf84d9ed72e83ab52339a0df0ce9e456ff00cfc691b9eb4658825841f764736f6c6343000812003300000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc4500000000000000000000000023cb6147e5600c23d1fb5543916d3d5457c9b54c", + "nonce": "0x9d", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x536da7", + "logs": [ + { + "address": "0x8d8e571c46c89f97d27580f946366be303a62c56", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000024a9267ce9e0a8f4467b584fdda12baf1df772b5" + ], + "data": "0x", + "blockHash": "0xe286249743293ea481111e4436aac6cb215e4f3d1e14cd63044b1a9401a7e4e1", + "blockNumber": "0x103fff2c", + "transactionHash": "0x3ae0a28ac27d37fbaf2f982361b9714e3bfd9465d8a27dd7d5c4c83fff2d1dc9", + "transactionIndex": "0x4", + "logIndex": "0x32", + "removed": false + } + ], + "logsBloom": "0x00000000000000000100000020000000000000000000000000800000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000400000000000000001000000000000000000000000000000000000020000000000000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000080000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x3ae0a28ac27d37fbaf2f982361b9714e3bfd9465d8a27dd7d5c4c83fff2d1dc9", + "transactionIndex": "0x4", + "blockHash": "0xe286249743293ea481111e4436aac6cb215e4f3d1e14cd63044b1a9401a7e4e1", + "blockNumber": "0x103fff2c", + "gasUsed": "0x2a4f08", + "effectiveGasPrice": "0x989680", + "from": "0x24a9267ce9e0a8f4467b584fdda12baf1df772b5", + "to": null, + "contractAddress": "0x8d8e571c46c89f97d27580f946366be303a62c56", + "gasUsedForL1": "0x19a07c", + "l1BlockNumber": "0x142b6ee" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1731147206, + "chain": 42161, + "commit": "8950cfa" +} \ No newline at end of file diff --git a/AxelarHandler/broadcast/Deploy.s.sol/42161/run-latest.json b/AxelarHandler/broadcast/Deploy.s.sol/42161/run-latest.json new file mode 100644 index 0000000..50e4149 --- /dev/null +++ b/AxelarHandler/broadcast/Deploy.s.sol/42161/run-latest.json @@ -0,0 +1,67 @@ +{ + "transactions": [ + { + "hash": "0x3ae0a28ac27d37fbaf2f982361b9714e3bfd9465d8a27dd7d5c4c83fff2d1dc9", + "transactionType": "CREATE", + "contractName": "GoFastHandler", + "contractAddress": "0x8d8e571c46c89f97d27580f946366be303a62c56", + "function": null, + "arguments": [ + "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45", + "0x23Cb6147E5600C23d1fb5543916D3D5457c9B54C" + ], + "transaction": { + "from": "0x24a9267ce9e0a8f4467b584fdda12baf1df772b5", + "gas": "0x3b9c49", + "value": "0x0", + "input": "0x608060405234801561001057600080fd5b5060405161129638038061129683398101604081905261002f916100d5565b61003833610069565b600180546001600160a01b039384166001600160a01b03199182161790915560028054929093169116179055610108565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146100d057600080fd5b919050565b600080604083850312156100e857600080fd5b6100f1836100b9565b91506100ff602084016100b9565b90509250929050565b61117f806101176000396000f3fe6080604052600436106100865760003560e01c80638da5cb5b116100595780638da5cb5b1461012d578063b5f0d6951461014b578063c31c9c071461015e578063df544ba81461017e578063f2fde38b1461019e57600080fd5b8063412736571461008b57806352c21c7c146100ad5780636ad1b6ac146100ea578063715018a614610118575b600080fd5b34801561009757600080fd5b506100ab6100a6366004610d01565b6101be565b005b3480156100b957600080fd5b506002546100cd906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100f657600080fd5b5061010a610105366004610d9a565b6101e8565b6040519081526020016100e1565b34801561012457600080fd5b506100ab610277565b34801561013957600080fd5b506000546001600160a01b03166100cd565b61010a610159366004610ec8565b61028b565b34801561016a57600080fd5b506001546100cd906001600160a01b031681565b34801561018a57600080fd5b506100ab610199366004610d01565b61047c565b3480156101aa57600080fd5b506100ab6101b9366004610d01565b6104a6565b6101c661051f565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600254604051631ab46dab60e21b81526000916001600160a01b031690636ad1b6ac90610227908c908c908c908c908c908c908c908c90600401610f9d565b6020604051808303816000875af1158015610246573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061026a9190611009565b9998505050505050505050565b61027f61051f565b6102896000610579565b565b6000886000036102e25760405162461bcd60e51b815260206004820152601c60248201527f657865637574696f6e206665652063616e6e6f74206265207a65726f0000000060448201526064015b60405180910390fd5b876000036103325760405162461bcd60e51b815260206004820152601960248201527f736f6c766572206665652063616e6e6f74206265207a65726f0000000000000060448201526064016102d9565b6000806103408e8e8e6105c9565b915060006127106103518c85611038565b61035b919061104f565b90506000610369828e611071565b9050808410156103ce5760405162461bcd60e51b815260206004820152602a60248201527f616d6f756e742072656365697665642066726f6d2073776170206973206c657360448201526973207468616e2066656560b01b60648201526084016102d9565b6103d88185611084565b600254604051631ab46dab60e21b8152919450600093506001600160a01b03169150636ad1b6ac9061041c908d908d90889088908f908f908f908f90600401610f9d565b6020604051808303816000875af115801561043b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045f9190611009565b905061046a8f6107e5565b9e9d5050505050505050505050505050565b61048461051f565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6104ae61051f565b6001600160a01b0381166105135760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102d9565b61051c81610579565b50565b6000546001600160a01b031633146102895760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102d9565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080600260009054906101000a90046001600160a01b03166001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561061f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106439190611097565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561068d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b19190611009565b90506001600160a01b038616156106f1576106d76001600160a01b03871633308861084b565b6001546106f1906001600160a01b038881169116876108bc565b6001546040516000916001600160a01b03169034906107119088906110d8565b60006040518083038185875af1925050503d806000811461074e576040519150601f19603f3d011682016040523d82523d6000602084013e610753565b606091505b5050905080610766573d6000803e3d6000fd5b6040516370a0823160e01b815230600482015282906001600160a01b038516906370a0823190602401602060405180830381865afa1580156107ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d09190611009565b6107da9190611084565b979650505050505050565b60006107f0826109d1565b90506001600160a01b03821615610819576108156001600160a01b0383163383610a5c565b5050565b604051339082156108fc029083906000818181858888f19350505050158015610846573d6000803e3d6000fd5b505050565b6040516001600160a01b03808516602483015283166044820152606481018290526108b69085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610a8c565b50505050565b8015806109365750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015610910573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109349190611009565b155b6109a15760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b60648201526084016102d9565b6040516001600160a01b03831660248201526044810182905261084690849063095ea7b360e01b9060640161087f565b60006001600160a01b03821615610a50576040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015610a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4a9190611009565b92915050565b5047919050565b919050565b6040516001600160a01b03831660248201526044810182905261084690849063a9059cbb60e01b9060640161087f565b6000610ae1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610b619092919063ffffffff16565b9050805160001480610b02575080806020019051810190610b0291906110f4565b6108465760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016102d9565b6060610b708484600085610b78565b949350505050565b606082471015610bd95760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016102d9565b600080866001600160a01b03168587604051610bf591906110d8565b60006040518083038185875af1925050503d8060008114610c32576040519150601f19603f3d011682016040523d82523d6000602084013e610c37565b606091505b50915091506107da8783838760608315610cb2578251600003610cab576001600160a01b0385163b610cab5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102d9565b5081610b70565b610b708383815115610cc75781518083602001fd5b8060405162461bcd60e51b81526004016102d99190611116565b6001600160a01b038116811461051c57600080fd5b8035610a5781610ce1565b600060208284031215610d1357600080fd5b8135610d1e81610ce1565b9392505050565b803563ffffffff81168114610a5757600080fd5b803567ffffffffffffffff81168114610a5757600080fd5b60008083601f840112610d6357600080fd5b50813567ffffffffffffffff811115610d7b57600080fd5b602083019150836020828501011115610d9357600080fd5b9250929050565b60008060008060008060008060e0898b031215610db657600080fd5b88359750602089013596506040890135955060608901359450610ddb60808a01610d25565b9350610de960a08a01610d39565b925060c089013567ffffffffffffffff811115610e0557600080fd5b610e118b828c01610d51565b999c989b5096995094979396929594505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610e4c57600080fd5b813567ffffffffffffffff80821115610e6757610e67610e25565b604051601f8301601f19908116603f01168101908282118183101715610e8f57610e8f610e25565b81604052838152866020858801011115610ea857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060008060006101408c8e031215610eea57600080fd5b610ef38c610cf6565b9a5060208c0135995067ffffffffffffffff8060408e01351115610f1657600080fd5b610f268e60408f01358f01610e3b565b995060608d0135985060808d0135975060a08d0135965060c08d01359550610f5060e08e01610d25565b9450610f5f6101008e01610d39565b9350806101208e01351115610f7357600080fd5b50610f858d6101208e01358e01610d51565b81935080925050509295989b509295989b9093969950565b88815287602082015286604082015285606082015263ffffffff8516608082015267ffffffffffffffff841660a082015260e060c08201528160e082015260006101008385828501376000838501820152601f909301601f191690910190910198975050505050505050565b60006020828403121561101b57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610a4a57610a4a611022565b60008261106c57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610a4a57610a4a611022565b81810381811115610a4a57610a4a611022565b6000602082840312156110a957600080fd5b8151610d1e81610ce1565b60005b838110156110cf5781810151838201526020016110b7565b50506000910152565b600082516110ea8184602087016110b4565b9190910192915050565b60006020828403121561110657600080fd5b81518015158114610d1e57600080fd5b60208152600082518060208401526111358160408501602087016110b4565b601f01601f1916919091016040019291505056fea26469706673582212209b77b0bf84d9ed72e83ab52339a0df0ce9e456ff00cfc691b9eb4658825841f764736f6c6343000812003300000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc4500000000000000000000000023cb6147e5600c23d1fb5543916d3d5457c9b54c", + "nonce": "0x9d", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x536da7", + "logs": [ + { + "address": "0x8d8e571c46c89f97d27580f946366be303a62c56", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000024a9267ce9e0a8f4467b584fdda12baf1df772b5" + ], + "data": "0x", + "blockHash": "0xe286249743293ea481111e4436aac6cb215e4f3d1e14cd63044b1a9401a7e4e1", + "blockNumber": "0x103fff2c", + "transactionHash": "0x3ae0a28ac27d37fbaf2f982361b9714e3bfd9465d8a27dd7d5c4c83fff2d1dc9", + "transactionIndex": "0x4", + "logIndex": "0x32", + "removed": false + } + ], + "logsBloom": "0x00000000000000000100000020000000000000000000000000800000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000400000000000000001000000000000000000000000000000000000020000000000000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000080000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x3ae0a28ac27d37fbaf2f982361b9714e3bfd9465d8a27dd7d5c4c83fff2d1dc9", + "transactionIndex": "0x4", + "blockHash": "0xe286249743293ea481111e4436aac6cb215e4f3d1e14cd63044b1a9401a7e4e1", + "blockNumber": "0x103fff2c", + "gasUsed": "0x2a4f08", + "effectiveGasPrice": "0x989680", + "from": "0x24a9267ce9e0a8f4467b584fdda12baf1df772b5", + "to": null, + "contractAddress": "0x8d8e571c46c89f97d27580f946366be303a62c56", + "gasUsedForL1": "0x19a07c", + "l1BlockNumber": "0x142b6ee" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1731147206, + "chain": 42161, + "commit": "8950cfa" +} \ No newline at end of file diff --git a/AxelarHandler/broadcast/Deploy.s.sol/43114/run-1731147468.json b/AxelarHandler/broadcast/Deploy.s.sol/43114/run-1731147468.json new file mode 100644 index 0000000..c0887db --- /dev/null +++ b/AxelarHandler/broadcast/Deploy.s.sol/43114/run-1731147468.json @@ -0,0 +1,65 @@ +{ + "transactions": [ + { + "hash": "0x7795bb5c7f1158342c222058c763c46a168d0ac809091dbf8e697b5fb2fab948", + "transactionType": "CREATE", + "contractName": "GoFastHandler", + "contractAddress": "0x16a6b3aec59c081edb995e4ce0af1c57bfc85520", + "function": null, + "arguments": [ + "0xbb00FF08d01D300023C629E8fFfFcb65A5a578cE", + "0xD415B02A7E91dBAf92EAa4721F9289CFB7f4E1cF" + ], + "transaction": { + "from": "0x24a9267ce9e0a8f4467b584fdda12baf1df772b5", + "gas": "0x15ae0e", + "value": "0x0", + "input": "0x608060405234801561001057600080fd5b5060405161129638038061129683398101604081905261002f916100d5565b61003833610069565b600180546001600160a01b039384166001600160a01b03199182161790915560028054929093169116179055610108565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146100d057600080fd5b919050565b600080604083850312156100e857600080fd5b6100f1836100b9565b91506100ff602084016100b9565b90509250929050565b61117f806101176000396000f3fe6080604052600436106100865760003560e01c80638da5cb5b116100595780638da5cb5b1461012d578063b5f0d6951461014b578063c31c9c071461015e578063df544ba81461017e578063f2fde38b1461019e57600080fd5b8063412736571461008b57806352c21c7c146100ad5780636ad1b6ac146100ea578063715018a614610118575b600080fd5b34801561009757600080fd5b506100ab6100a6366004610d01565b6101be565b005b3480156100b957600080fd5b506002546100cd906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100f657600080fd5b5061010a610105366004610d9a565b6101e8565b6040519081526020016100e1565b34801561012457600080fd5b506100ab610277565b34801561013957600080fd5b506000546001600160a01b03166100cd565b61010a610159366004610ec8565b61028b565b34801561016a57600080fd5b506001546100cd906001600160a01b031681565b34801561018a57600080fd5b506100ab610199366004610d01565b61047c565b3480156101aa57600080fd5b506100ab6101b9366004610d01565b6104a6565b6101c661051f565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600254604051631ab46dab60e21b81526000916001600160a01b031690636ad1b6ac90610227908c908c908c908c908c908c908c908c90600401610f9d565b6020604051808303816000875af1158015610246573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061026a9190611009565b9998505050505050505050565b61027f61051f565b6102896000610579565b565b6000886000036102e25760405162461bcd60e51b815260206004820152601c60248201527f657865637574696f6e206665652063616e6e6f74206265207a65726f0000000060448201526064015b60405180910390fd5b876000036103325760405162461bcd60e51b815260206004820152601960248201527f736f6c766572206665652063616e6e6f74206265207a65726f0000000000000060448201526064016102d9565b6000806103408e8e8e6105c9565b915060006127106103518c85611038565b61035b919061104f565b90506000610369828e611071565b9050808410156103ce5760405162461bcd60e51b815260206004820152602a60248201527f616d6f756e742072656365697665642066726f6d2073776170206973206c657360448201526973207468616e2066656560b01b60648201526084016102d9565b6103d88185611084565b600254604051631ab46dab60e21b8152919450600093506001600160a01b03169150636ad1b6ac9061041c908d908d90889088908f908f908f908f90600401610f9d565b6020604051808303816000875af115801561043b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045f9190611009565b905061046a8f6107e5565b9e9d5050505050505050505050505050565b61048461051f565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6104ae61051f565b6001600160a01b0381166105135760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102d9565b61051c81610579565b50565b6000546001600160a01b031633146102895760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102d9565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080600260009054906101000a90046001600160a01b03166001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561061f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106439190611097565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561068d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b19190611009565b90506001600160a01b038616156106f1576106d76001600160a01b03871633308861084b565b6001546106f1906001600160a01b038881169116876108bc565b6001546040516000916001600160a01b03169034906107119088906110d8565b60006040518083038185875af1925050503d806000811461074e576040519150601f19603f3d011682016040523d82523d6000602084013e610753565b606091505b5050905080610766573d6000803e3d6000fd5b6040516370a0823160e01b815230600482015282906001600160a01b038516906370a0823190602401602060405180830381865afa1580156107ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d09190611009565b6107da9190611084565b979650505050505050565b60006107f0826109d1565b90506001600160a01b03821615610819576108156001600160a01b0383163383610a5c565b5050565b604051339082156108fc029083906000818181858888f19350505050158015610846573d6000803e3d6000fd5b505050565b6040516001600160a01b03808516602483015283166044820152606481018290526108b69085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610a8c565b50505050565b8015806109365750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015610910573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109349190611009565b155b6109a15760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b60648201526084016102d9565b6040516001600160a01b03831660248201526044810182905261084690849063095ea7b360e01b9060640161087f565b60006001600160a01b03821615610a50576040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015610a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4a9190611009565b92915050565b5047919050565b919050565b6040516001600160a01b03831660248201526044810182905261084690849063a9059cbb60e01b9060640161087f565b6000610ae1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610b619092919063ffffffff16565b9050805160001480610b02575080806020019051810190610b0291906110f4565b6108465760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016102d9565b6060610b708484600085610b78565b949350505050565b606082471015610bd95760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016102d9565b600080866001600160a01b03168587604051610bf591906110d8565b60006040518083038185875af1925050503d8060008114610c32576040519150601f19603f3d011682016040523d82523d6000602084013e610c37565b606091505b50915091506107da8783838760608315610cb2578251600003610cab576001600160a01b0385163b610cab5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102d9565b5081610b70565b610b708383815115610cc75781518083602001fd5b8060405162461bcd60e51b81526004016102d99190611116565b6001600160a01b038116811461051c57600080fd5b8035610a5781610ce1565b600060208284031215610d1357600080fd5b8135610d1e81610ce1565b9392505050565b803563ffffffff81168114610a5757600080fd5b803567ffffffffffffffff81168114610a5757600080fd5b60008083601f840112610d6357600080fd5b50813567ffffffffffffffff811115610d7b57600080fd5b602083019150836020828501011115610d9357600080fd5b9250929050565b60008060008060008060008060e0898b031215610db657600080fd5b88359750602089013596506040890135955060608901359450610ddb60808a01610d25565b9350610de960a08a01610d39565b925060c089013567ffffffffffffffff811115610e0557600080fd5b610e118b828c01610d51565b999c989b5096995094979396929594505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610e4c57600080fd5b813567ffffffffffffffff80821115610e6757610e67610e25565b604051601f8301601f19908116603f01168101908282118183101715610e8f57610e8f610e25565b81604052838152866020858801011115610ea857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060008060006101408c8e031215610eea57600080fd5b610ef38c610cf6565b9a5060208c0135995067ffffffffffffffff8060408e01351115610f1657600080fd5b610f268e60408f01358f01610e3b565b995060608d0135985060808d0135975060a08d0135965060c08d01359550610f5060e08e01610d25565b9450610f5f6101008e01610d39565b9350806101208e01351115610f7357600080fd5b50610f858d6101208e01358e01610d51565b81935080925050509295989b509295989b9093969950565b88815287602082015286604082015285606082015263ffffffff8516608082015267ffffffffffffffff841660a082015260e060c08201528160e082015260006101008385828501376000838501820152601f909301601f191690910190910198975050505050505050565b60006020828403121561101b57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610a4a57610a4a611022565b60008261106c57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610a4a57610a4a611022565b81810381811115610a4a57610a4a611022565b6000602082840312156110a957600080fd5b8151610d1e81610ce1565b60005b838110156110cf5781810151838201526020016110b7565b50506000910152565b600082516110ea8184602087016110b4565b9190910192915050565b60006020828403121561110657600080fd5b81518015158114610d1e57600080fd5b60208152600082518060208401526111358160408501602087016110b4565b601f01601f1916919091016040019291505056fea26469706673582212209b77b0bf84d9ed72e83ab52339a0df0ce9e456ff00cfc691b9eb4658825841f764736f6c63430008120033000000000000000000000000bb00ff08d01d300023c629e8ffffcb65a5a578ce000000000000000000000000d415b02a7e91dbaf92eaa4721f9289cfb7f4e1cf", + "nonce": "0xb5", + "chainId": "0xa86a" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x15802f", + "logs": [ + { + "address": "0x16a6b3aec59c081edb995e4ce0af1c57bfc85520", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000024a9267ce9e0a8f4467b584fdda12baf1df772b5" + ], + "data": "0x", + "blockHash": "0xa4ec9d31afc873a618f39abb26080d15b2288c6619898ddbd8c26c2af044d7af", + "blockNumber": "0x32665d5", + "transactionHash": "0x7795bb5c7f1158342c222058c763c46a168d0ac809091dbf8e697b5fb2fab948", + "transactionIndex": "0x4", + "logIndex": "0x4", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000020000004000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000010000000000000000000000000000000000000001000000000000000000000000000000000000000000000020000000000000000000000000080000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x7795bb5c7f1158342c222058c763c46a168d0ac809091dbf8e697b5fb2fab948", + "transactionIndex": "0x4", + "blockHash": "0xa4ec9d31afc873a618f39abb26080d15b2288c6619898ddbd8c26c2af044d7af", + "blockNumber": "0x32665d5", + "gasUsed": "0x10ae74", + "effectiveGasPrice": "0x6583a0080", + "from": "0x24a9267ce9e0a8f4467b584fdda12baf1df772b5", + "to": null, + "contractAddress": "0x16a6b3aec59c081edb995e4ce0af1c57bfc85520" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1731147468, + "chain": 43114, + "commit": "8950cfa" +} \ No newline at end of file diff --git a/AxelarHandler/broadcast/Deploy.s.sol/43114/run-1731147526.json b/AxelarHandler/broadcast/Deploy.s.sol/43114/run-1731147526.json new file mode 100644 index 0000000..3165ff8 --- /dev/null +++ b/AxelarHandler/broadcast/Deploy.s.sol/43114/run-1731147526.json @@ -0,0 +1,65 @@ +{ + "transactions": [ + { + "hash": "0x7795bb5c7f1158342c222058c763c46a168d0ac809091dbf8e697b5fb2fab948", + "transactionType": "CREATE", + "contractName": "GoFastHandler", + "contractAddress": "0x16a6b3aec59c081edb995e4ce0af1c57bfc85520", + "function": null, + "arguments": [ + "0xbb00FF08d01D300023C629E8fFfFcb65A5a578cE", + "0xD415B02A7E91dBAf92EAa4721F9289CFB7f4E1cF" + ], + "transaction": { + "from": "0x24a9267ce9e0a8f4467b584fdda12baf1df772b5", + "gas": "0x15ae0e", + "value": "0x0", + "input": "0x608060405234801561001057600080fd5b5060405161129638038061129683398101604081905261002f916100d5565b61003833610069565b600180546001600160a01b039384166001600160a01b03199182161790915560028054929093169116179055610108565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146100d057600080fd5b919050565b600080604083850312156100e857600080fd5b6100f1836100b9565b91506100ff602084016100b9565b90509250929050565b61117f806101176000396000f3fe6080604052600436106100865760003560e01c80638da5cb5b116100595780638da5cb5b1461012d578063b5f0d6951461014b578063c31c9c071461015e578063df544ba81461017e578063f2fde38b1461019e57600080fd5b8063412736571461008b57806352c21c7c146100ad5780636ad1b6ac146100ea578063715018a614610118575b600080fd5b34801561009757600080fd5b506100ab6100a6366004610d01565b6101be565b005b3480156100b957600080fd5b506002546100cd906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100f657600080fd5b5061010a610105366004610d9a565b6101e8565b6040519081526020016100e1565b34801561012457600080fd5b506100ab610277565b34801561013957600080fd5b506000546001600160a01b03166100cd565b61010a610159366004610ec8565b61028b565b34801561016a57600080fd5b506001546100cd906001600160a01b031681565b34801561018a57600080fd5b506100ab610199366004610d01565b61047c565b3480156101aa57600080fd5b506100ab6101b9366004610d01565b6104a6565b6101c661051f565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600254604051631ab46dab60e21b81526000916001600160a01b031690636ad1b6ac90610227908c908c908c908c908c908c908c908c90600401610f9d565b6020604051808303816000875af1158015610246573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061026a9190611009565b9998505050505050505050565b61027f61051f565b6102896000610579565b565b6000886000036102e25760405162461bcd60e51b815260206004820152601c60248201527f657865637574696f6e206665652063616e6e6f74206265207a65726f0000000060448201526064015b60405180910390fd5b876000036103325760405162461bcd60e51b815260206004820152601960248201527f736f6c766572206665652063616e6e6f74206265207a65726f0000000000000060448201526064016102d9565b6000806103408e8e8e6105c9565b915060006127106103518c85611038565b61035b919061104f565b90506000610369828e611071565b9050808410156103ce5760405162461bcd60e51b815260206004820152602a60248201527f616d6f756e742072656365697665642066726f6d2073776170206973206c657360448201526973207468616e2066656560b01b60648201526084016102d9565b6103d88185611084565b600254604051631ab46dab60e21b8152919450600093506001600160a01b03169150636ad1b6ac9061041c908d908d90889088908f908f908f908f90600401610f9d565b6020604051808303816000875af115801561043b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045f9190611009565b905061046a8f6107e5565b9e9d5050505050505050505050505050565b61048461051f565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6104ae61051f565b6001600160a01b0381166105135760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102d9565b61051c81610579565b50565b6000546001600160a01b031633146102895760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102d9565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080600260009054906101000a90046001600160a01b03166001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561061f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106439190611097565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561068d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b19190611009565b90506001600160a01b038616156106f1576106d76001600160a01b03871633308861084b565b6001546106f1906001600160a01b038881169116876108bc565b6001546040516000916001600160a01b03169034906107119088906110d8565b60006040518083038185875af1925050503d806000811461074e576040519150601f19603f3d011682016040523d82523d6000602084013e610753565b606091505b5050905080610766573d6000803e3d6000fd5b6040516370a0823160e01b815230600482015282906001600160a01b038516906370a0823190602401602060405180830381865afa1580156107ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d09190611009565b6107da9190611084565b979650505050505050565b60006107f0826109d1565b90506001600160a01b03821615610819576108156001600160a01b0383163383610a5c565b5050565b604051339082156108fc029083906000818181858888f19350505050158015610846573d6000803e3d6000fd5b505050565b6040516001600160a01b03808516602483015283166044820152606481018290526108b69085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610a8c565b50505050565b8015806109365750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015610910573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109349190611009565b155b6109a15760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b60648201526084016102d9565b6040516001600160a01b03831660248201526044810182905261084690849063095ea7b360e01b9060640161087f565b60006001600160a01b03821615610a50576040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015610a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4a9190611009565b92915050565b5047919050565b919050565b6040516001600160a01b03831660248201526044810182905261084690849063a9059cbb60e01b9060640161087f565b6000610ae1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610b619092919063ffffffff16565b9050805160001480610b02575080806020019051810190610b0291906110f4565b6108465760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016102d9565b6060610b708484600085610b78565b949350505050565b606082471015610bd95760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016102d9565b600080866001600160a01b03168587604051610bf591906110d8565b60006040518083038185875af1925050503d8060008114610c32576040519150601f19603f3d011682016040523d82523d6000602084013e610c37565b606091505b50915091506107da8783838760608315610cb2578251600003610cab576001600160a01b0385163b610cab5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102d9565b5081610b70565b610b708383815115610cc75781518083602001fd5b8060405162461bcd60e51b81526004016102d99190611116565b6001600160a01b038116811461051c57600080fd5b8035610a5781610ce1565b600060208284031215610d1357600080fd5b8135610d1e81610ce1565b9392505050565b803563ffffffff81168114610a5757600080fd5b803567ffffffffffffffff81168114610a5757600080fd5b60008083601f840112610d6357600080fd5b50813567ffffffffffffffff811115610d7b57600080fd5b602083019150836020828501011115610d9357600080fd5b9250929050565b60008060008060008060008060e0898b031215610db657600080fd5b88359750602089013596506040890135955060608901359450610ddb60808a01610d25565b9350610de960a08a01610d39565b925060c089013567ffffffffffffffff811115610e0557600080fd5b610e118b828c01610d51565b999c989b5096995094979396929594505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610e4c57600080fd5b813567ffffffffffffffff80821115610e6757610e67610e25565b604051601f8301601f19908116603f01168101908282118183101715610e8f57610e8f610e25565b81604052838152866020858801011115610ea857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060008060006101408c8e031215610eea57600080fd5b610ef38c610cf6565b9a5060208c0135995067ffffffffffffffff8060408e01351115610f1657600080fd5b610f268e60408f01358f01610e3b565b995060608d0135985060808d0135975060a08d0135965060c08d01359550610f5060e08e01610d25565b9450610f5f6101008e01610d39565b9350806101208e01351115610f7357600080fd5b50610f858d6101208e01358e01610d51565b81935080925050509295989b509295989b9093969950565b88815287602082015286604082015285606082015263ffffffff8516608082015267ffffffffffffffff841660a082015260e060c08201528160e082015260006101008385828501376000838501820152601f909301601f191690910190910198975050505050505050565b60006020828403121561101b57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610a4a57610a4a611022565b60008261106c57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610a4a57610a4a611022565b81810381811115610a4a57610a4a611022565b6000602082840312156110a957600080fd5b8151610d1e81610ce1565b60005b838110156110cf5781810151838201526020016110b7565b50506000910152565b600082516110ea8184602087016110b4565b9190910192915050565b60006020828403121561110657600080fd5b81518015158114610d1e57600080fd5b60208152600082518060208401526111358160408501602087016110b4565b601f01601f1916919091016040019291505056fea26469706673582212209b77b0bf84d9ed72e83ab52339a0df0ce9e456ff00cfc691b9eb4658825841f764736f6c63430008120033000000000000000000000000bb00ff08d01d300023c629e8ffffcb65a5a578ce000000000000000000000000d415b02a7e91dbaf92eaa4721f9289cfb7f4e1cf", + "nonce": "0xb5", + "chainId": "0xa86a" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x15802f", + "logs": [ + { + "address": "0x16a6b3aec59c081edb995e4ce0af1c57bfc85520", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000024a9267ce9e0a8f4467b584fdda12baf1df772b5" + ], + "data": "0x", + "blockHash": "0xa4ec9d31afc873a618f39abb26080d15b2288c6619898ddbd8c26c2af044d7af", + "blockNumber": "0x32665d5", + "transactionHash": "0x7795bb5c7f1158342c222058c763c46a168d0ac809091dbf8e697b5fb2fab948", + "transactionIndex": "0x4", + "logIndex": "0x4", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000020000004000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000010000000000000000000000000000000000000001000000000000000000000000000000000000000000000020000000000000000000000000080000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x7795bb5c7f1158342c222058c763c46a168d0ac809091dbf8e697b5fb2fab948", + "transactionIndex": "0x4", + "blockHash": "0xa4ec9d31afc873a618f39abb26080d15b2288c6619898ddbd8c26c2af044d7af", + "blockNumber": "0x32665d5", + "gasUsed": "0x10ae74", + "effectiveGasPrice": "0x6583a0080", + "from": "0x24a9267ce9e0a8f4467b584fdda12baf1df772b5", + "to": null, + "contractAddress": "0x16a6b3aec59c081edb995e4ce0af1c57bfc85520" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1731147526, + "chain": 43114, + "commit": "8950cfa" +} \ No newline at end of file diff --git a/AxelarHandler/broadcast/Deploy.s.sol/43114/run-latest.json b/AxelarHandler/broadcast/Deploy.s.sol/43114/run-latest.json new file mode 100644 index 0000000..3165ff8 --- /dev/null +++ b/AxelarHandler/broadcast/Deploy.s.sol/43114/run-latest.json @@ -0,0 +1,65 @@ +{ + "transactions": [ + { + "hash": "0x7795bb5c7f1158342c222058c763c46a168d0ac809091dbf8e697b5fb2fab948", + "transactionType": "CREATE", + "contractName": "GoFastHandler", + "contractAddress": "0x16a6b3aec59c081edb995e4ce0af1c57bfc85520", + "function": null, + "arguments": [ + "0xbb00FF08d01D300023C629E8fFfFcb65A5a578cE", + "0xD415B02A7E91dBAf92EAa4721F9289CFB7f4E1cF" + ], + "transaction": { + "from": "0x24a9267ce9e0a8f4467b584fdda12baf1df772b5", + "gas": "0x15ae0e", + "value": "0x0", + "input": "0x608060405234801561001057600080fd5b5060405161129638038061129683398101604081905261002f916100d5565b61003833610069565b600180546001600160a01b039384166001600160a01b03199182161790915560028054929093169116179055610108565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146100d057600080fd5b919050565b600080604083850312156100e857600080fd5b6100f1836100b9565b91506100ff602084016100b9565b90509250929050565b61117f806101176000396000f3fe6080604052600436106100865760003560e01c80638da5cb5b116100595780638da5cb5b1461012d578063b5f0d6951461014b578063c31c9c071461015e578063df544ba81461017e578063f2fde38b1461019e57600080fd5b8063412736571461008b57806352c21c7c146100ad5780636ad1b6ac146100ea578063715018a614610118575b600080fd5b34801561009757600080fd5b506100ab6100a6366004610d01565b6101be565b005b3480156100b957600080fd5b506002546100cd906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100f657600080fd5b5061010a610105366004610d9a565b6101e8565b6040519081526020016100e1565b34801561012457600080fd5b506100ab610277565b34801561013957600080fd5b506000546001600160a01b03166100cd565b61010a610159366004610ec8565b61028b565b34801561016a57600080fd5b506001546100cd906001600160a01b031681565b34801561018a57600080fd5b506100ab610199366004610d01565b61047c565b3480156101aa57600080fd5b506100ab6101b9366004610d01565b6104a6565b6101c661051f565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600254604051631ab46dab60e21b81526000916001600160a01b031690636ad1b6ac90610227908c908c908c908c908c908c908c908c90600401610f9d565b6020604051808303816000875af1158015610246573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061026a9190611009565b9998505050505050505050565b61027f61051f565b6102896000610579565b565b6000886000036102e25760405162461bcd60e51b815260206004820152601c60248201527f657865637574696f6e206665652063616e6e6f74206265207a65726f0000000060448201526064015b60405180910390fd5b876000036103325760405162461bcd60e51b815260206004820152601960248201527f736f6c766572206665652063616e6e6f74206265207a65726f0000000000000060448201526064016102d9565b6000806103408e8e8e6105c9565b915060006127106103518c85611038565b61035b919061104f565b90506000610369828e611071565b9050808410156103ce5760405162461bcd60e51b815260206004820152602a60248201527f616d6f756e742072656365697665642066726f6d2073776170206973206c657360448201526973207468616e2066656560b01b60648201526084016102d9565b6103d88185611084565b600254604051631ab46dab60e21b8152919450600093506001600160a01b03169150636ad1b6ac9061041c908d908d90889088908f908f908f908f90600401610f9d565b6020604051808303816000875af115801561043b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045f9190611009565b905061046a8f6107e5565b9e9d5050505050505050505050505050565b61048461051f565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6104ae61051f565b6001600160a01b0381166105135760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102d9565b61051c81610579565b50565b6000546001600160a01b031633146102895760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102d9565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080600260009054906101000a90046001600160a01b03166001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561061f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106439190611097565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561068d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b19190611009565b90506001600160a01b038616156106f1576106d76001600160a01b03871633308861084b565b6001546106f1906001600160a01b038881169116876108bc565b6001546040516000916001600160a01b03169034906107119088906110d8565b60006040518083038185875af1925050503d806000811461074e576040519150601f19603f3d011682016040523d82523d6000602084013e610753565b606091505b5050905080610766573d6000803e3d6000fd5b6040516370a0823160e01b815230600482015282906001600160a01b038516906370a0823190602401602060405180830381865afa1580156107ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d09190611009565b6107da9190611084565b979650505050505050565b60006107f0826109d1565b90506001600160a01b03821615610819576108156001600160a01b0383163383610a5c565b5050565b604051339082156108fc029083906000818181858888f19350505050158015610846573d6000803e3d6000fd5b505050565b6040516001600160a01b03808516602483015283166044820152606481018290526108b69085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610a8c565b50505050565b8015806109365750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015610910573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109349190611009565b155b6109a15760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b60648201526084016102d9565b6040516001600160a01b03831660248201526044810182905261084690849063095ea7b360e01b9060640161087f565b60006001600160a01b03821615610a50576040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015610a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4a9190611009565b92915050565b5047919050565b919050565b6040516001600160a01b03831660248201526044810182905261084690849063a9059cbb60e01b9060640161087f565b6000610ae1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610b619092919063ffffffff16565b9050805160001480610b02575080806020019051810190610b0291906110f4565b6108465760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016102d9565b6060610b708484600085610b78565b949350505050565b606082471015610bd95760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016102d9565b600080866001600160a01b03168587604051610bf591906110d8565b60006040518083038185875af1925050503d8060008114610c32576040519150601f19603f3d011682016040523d82523d6000602084013e610c37565b606091505b50915091506107da8783838760608315610cb2578251600003610cab576001600160a01b0385163b610cab5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102d9565b5081610b70565b610b708383815115610cc75781518083602001fd5b8060405162461bcd60e51b81526004016102d99190611116565b6001600160a01b038116811461051c57600080fd5b8035610a5781610ce1565b600060208284031215610d1357600080fd5b8135610d1e81610ce1565b9392505050565b803563ffffffff81168114610a5757600080fd5b803567ffffffffffffffff81168114610a5757600080fd5b60008083601f840112610d6357600080fd5b50813567ffffffffffffffff811115610d7b57600080fd5b602083019150836020828501011115610d9357600080fd5b9250929050565b60008060008060008060008060e0898b031215610db657600080fd5b88359750602089013596506040890135955060608901359450610ddb60808a01610d25565b9350610de960a08a01610d39565b925060c089013567ffffffffffffffff811115610e0557600080fd5b610e118b828c01610d51565b999c989b5096995094979396929594505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610e4c57600080fd5b813567ffffffffffffffff80821115610e6757610e67610e25565b604051601f8301601f19908116603f01168101908282118183101715610e8f57610e8f610e25565b81604052838152866020858801011115610ea857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060008060006101408c8e031215610eea57600080fd5b610ef38c610cf6565b9a5060208c0135995067ffffffffffffffff8060408e01351115610f1657600080fd5b610f268e60408f01358f01610e3b565b995060608d0135985060808d0135975060a08d0135965060c08d01359550610f5060e08e01610d25565b9450610f5f6101008e01610d39565b9350806101208e01351115610f7357600080fd5b50610f858d6101208e01358e01610d51565b81935080925050509295989b509295989b9093969950565b88815287602082015286604082015285606082015263ffffffff8516608082015267ffffffffffffffff841660a082015260e060c08201528160e082015260006101008385828501376000838501820152601f909301601f191690910190910198975050505050505050565b60006020828403121561101b57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610a4a57610a4a611022565b60008261106c57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610a4a57610a4a611022565b81810381811115610a4a57610a4a611022565b6000602082840312156110a957600080fd5b8151610d1e81610ce1565b60005b838110156110cf5781810151838201526020016110b7565b50506000910152565b600082516110ea8184602087016110b4565b9190910192915050565b60006020828403121561110657600080fd5b81518015158114610d1e57600080fd5b60208152600082518060208401526111358160408501602087016110b4565b601f01601f1916919091016040019291505056fea26469706673582212209b77b0bf84d9ed72e83ab52339a0df0ce9e456ff00cfc691b9eb4658825841f764736f6c63430008120033000000000000000000000000bb00ff08d01d300023c629e8ffffcb65a5a578ce000000000000000000000000d415b02a7e91dbaf92eaa4721f9289cfb7f4e1cf", + "nonce": "0xb5", + "chainId": "0xa86a" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x15802f", + "logs": [ + { + "address": "0x16a6b3aec59c081edb995e4ce0af1c57bfc85520", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000024a9267ce9e0a8f4467b584fdda12baf1df772b5" + ], + "data": "0x", + "blockHash": "0xa4ec9d31afc873a618f39abb26080d15b2288c6619898ddbd8c26c2af044d7af", + "blockNumber": "0x32665d5", + "transactionHash": "0x7795bb5c7f1158342c222058c763c46a168d0ac809091dbf8e697b5fb2fab948", + "transactionIndex": "0x4", + "logIndex": "0x4", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000020000004000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000010000000000000000000000000000000000000001000000000000000000000000000000000000000000000020000000000000000000000000080000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x7795bb5c7f1158342c222058c763c46a168d0ac809091dbf8e697b5fb2fab948", + "transactionIndex": "0x4", + "blockHash": "0xa4ec9d31afc873a618f39abb26080d15b2288c6619898ddbd8c26c2af044d7af", + "blockNumber": "0x32665d5", + "gasUsed": "0x10ae74", + "effectiveGasPrice": "0x6583a0080", + "from": "0x24a9267ce9e0a8f4467b584fdda12baf1df772b5", + "to": null, + "contractAddress": "0x16a6b3aec59c081edb995e4ce0af1c57bfc85520" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1731147526, + "chain": 43114, + "commit": "8950cfa" +} \ No newline at end of file diff --git a/AxelarHandler/broadcast/Deploy.s.sol/8453/run-1731147418.json b/AxelarHandler/broadcast/Deploy.s.sol/8453/run-1731147418.json new file mode 100644 index 0000000..bd0abe8 --- /dev/null +++ b/AxelarHandler/broadcast/Deploy.s.sol/8453/run-1731147418.json @@ -0,0 +1,73 @@ +{ + "transactions": [ + { + "hash": "0x8e1fc4ef0f14699818fa4c0c07c3f55ac47e3b78f57737355c7455eceb813402", + "transactionType": "CREATE", + "contractName": "GoFastHandler", + "contractAddress": "0x0fad05a723fd039769815be74be9e7a1f7eed911", + "function": null, + "arguments": [ + "0x2626664c2603336E57B271c5C0b26F421741e481", + "0x43d090025aAA6C8693B71952B910AC55CcB56bBb" + ], + "transaction": { + "from": "0x24a9267ce9e0a8f4467b584fdda12baf1df772b5", + "gas": "0x15ae2d", + "value": "0x0", + "input": "0x608060405234801561001057600080fd5b5060405161129638038061129683398101604081905261002f916100d5565b61003833610069565b600180546001600160a01b039384166001600160a01b03199182161790915560028054929093169116179055610108565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146100d057600080fd5b919050565b600080604083850312156100e857600080fd5b6100f1836100b9565b91506100ff602084016100b9565b90509250929050565b61117f806101176000396000f3fe6080604052600436106100865760003560e01c80638da5cb5b116100595780638da5cb5b1461012d578063b5f0d6951461014b578063c31c9c071461015e578063df544ba81461017e578063f2fde38b1461019e57600080fd5b8063412736571461008b57806352c21c7c146100ad5780636ad1b6ac146100ea578063715018a614610118575b600080fd5b34801561009757600080fd5b506100ab6100a6366004610d01565b6101be565b005b3480156100b957600080fd5b506002546100cd906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100f657600080fd5b5061010a610105366004610d9a565b6101e8565b6040519081526020016100e1565b34801561012457600080fd5b506100ab610277565b34801561013957600080fd5b506000546001600160a01b03166100cd565b61010a610159366004610ec8565b61028b565b34801561016a57600080fd5b506001546100cd906001600160a01b031681565b34801561018a57600080fd5b506100ab610199366004610d01565b61047c565b3480156101aa57600080fd5b506100ab6101b9366004610d01565b6104a6565b6101c661051f565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600254604051631ab46dab60e21b81526000916001600160a01b031690636ad1b6ac90610227908c908c908c908c908c908c908c908c90600401610f9d565b6020604051808303816000875af1158015610246573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061026a9190611009565b9998505050505050505050565b61027f61051f565b6102896000610579565b565b6000886000036102e25760405162461bcd60e51b815260206004820152601c60248201527f657865637574696f6e206665652063616e6e6f74206265207a65726f0000000060448201526064015b60405180910390fd5b876000036103325760405162461bcd60e51b815260206004820152601960248201527f736f6c766572206665652063616e6e6f74206265207a65726f0000000000000060448201526064016102d9565b6000806103408e8e8e6105c9565b915060006127106103518c85611038565b61035b919061104f565b90506000610369828e611071565b9050808410156103ce5760405162461bcd60e51b815260206004820152602a60248201527f616d6f756e742072656365697665642066726f6d2073776170206973206c657360448201526973207468616e2066656560b01b60648201526084016102d9565b6103d88185611084565b600254604051631ab46dab60e21b8152919450600093506001600160a01b03169150636ad1b6ac9061041c908d908d90889088908f908f908f908f90600401610f9d565b6020604051808303816000875af115801561043b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045f9190611009565b905061046a8f6107e5565b9e9d5050505050505050505050505050565b61048461051f565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6104ae61051f565b6001600160a01b0381166105135760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102d9565b61051c81610579565b50565b6000546001600160a01b031633146102895760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102d9565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080600260009054906101000a90046001600160a01b03166001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561061f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106439190611097565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561068d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b19190611009565b90506001600160a01b038616156106f1576106d76001600160a01b03871633308861084b565b6001546106f1906001600160a01b038881169116876108bc565b6001546040516000916001600160a01b03169034906107119088906110d8565b60006040518083038185875af1925050503d806000811461074e576040519150601f19603f3d011682016040523d82523d6000602084013e610753565b606091505b5050905080610766573d6000803e3d6000fd5b6040516370a0823160e01b815230600482015282906001600160a01b038516906370a0823190602401602060405180830381865afa1580156107ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d09190611009565b6107da9190611084565b979650505050505050565b60006107f0826109d1565b90506001600160a01b03821615610819576108156001600160a01b0383163383610a5c565b5050565b604051339082156108fc029083906000818181858888f19350505050158015610846573d6000803e3d6000fd5b505050565b6040516001600160a01b03808516602483015283166044820152606481018290526108b69085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610a8c565b50505050565b8015806109365750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015610910573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109349190611009565b155b6109a15760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b60648201526084016102d9565b6040516001600160a01b03831660248201526044810182905261084690849063095ea7b360e01b9060640161087f565b60006001600160a01b03821615610a50576040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015610a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4a9190611009565b92915050565b5047919050565b919050565b6040516001600160a01b03831660248201526044810182905261084690849063a9059cbb60e01b9060640161087f565b6000610ae1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610b619092919063ffffffff16565b9050805160001480610b02575080806020019051810190610b0291906110f4565b6108465760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016102d9565b6060610b708484600085610b78565b949350505050565b606082471015610bd95760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016102d9565b600080866001600160a01b03168587604051610bf591906110d8565b60006040518083038185875af1925050503d8060008114610c32576040519150601f19603f3d011682016040523d82523d6000602084013e610c37565b606091505b50915091506107da8783838760608315610cb2578251600003610cab576001600160a01b0385163b610cab5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102d9565b5081610b70565b610b708383815115610cc75781518083602001fd5b8060405162461bcd60e51b81526004016102d99190611116565b6001600160a01b038116811461051c57600080fd5b8035610a5781610ce1565b600060208284031215610d1357600080fd5b8135610d1e81610ce1565b9392505050565b803563ffffffff81168114610a5757600080fd5b803567ffffffffffffffff81168114610a5757600080fd5b60008083601f840112610d6357600080fd5b50813567ffffffffffffffff811115610d7b57600080fd5b602083019150836020828501011115610d9357600080fd5b9250929050565b60008060008060008060008060e0898b031215610db657600080fd5b88359750602089013596506040890135955060608901359450610ddb60808a01610d25565b9350610de960a08a01610d39565b925060c089013567ffffffffffffffff811115610e0557600080fd5b610e118b828c01610d51565b999c989b5096995094979396929594505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610e4c57600080fd5b813567ffffffffffffffff80821115610e6757610e67610e25565b604051601f8301601f19908116603f01168101908282118183101715610e8f57610e8f610e25565b81604052838152866020858801011115610ea857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060008060006101408c8e031215610eea57600080fd5b610ef38c610cf6565b9a5060208c0135995067ffffffffffffffff8060408e01351115610f1657600080fd5b610f268e60408f01358f01610e3b565b995060608d0135985060808d0135975060a08d0135965060c08d01359550610f5060e08e01610d25565b9450610f5f6101008e01610d39565b9350806101208e01351115610f7357600080fd5b50610f858d6101208e01358e01610d51565b81935080925050509295989b509295989b9093969950565b88815287602082015286604082015285606082015263ffffffff8516608082015267ffffffffffffffff841660a082015260e060c08201528160e082015260006101008385828501376000838501820152601f909301601f191690910190910198975050505050505050565b60006020828403121561101b57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610a4a57610a4a611022565b60008261106c57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610a4a57610a4a611022565b81810381811115610a4a57610a4a611022565b6000602082840312156110a957600080fd5b8151610d1e81610ce1565b60005b838110156110cf5781810151838201526020016110b7565b50506000910152565b600082516110ea8184602087016110b4565b9190910192915050565b60006020828403121561110657600080fd5b81518015158114610d1e57600080fd5b60208152600082518060208401526111358160408501602087016110b4565b601f01601f1916919091016040019291505056fea26469706673582212209b77b0bf84d9ed72e83ab52339a0df0ce9e456ff00cfc691b9eb4658825841f764736f6c634300081200330000000000000000000000002626664c2603336e57b271c5c0b26f421741e48100000000000000000000000043d090025aaa6c8693b71952b910ac55ccb56bbb", + "nonce": "0x32", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x1809e38", + "logs": [ + { + "address": "0x0fad05a723fd039769815be74be9e7a1f7eed911", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000024a9267ce9e0a8f4467b584fdda12baf1df772b5" + ], + "data": "0x", + "blockHash": "0x63934d123c01be278f1759f3cf75a0c333600859fb56020de94fe204baff5ae0", + "blockNumber": "0x1526cce", + "blockTimestamp": "0x672f367f", + "transactionHash": "0x8e1fc4ef0f14699818fa4c0c07c3f55ac47e3b78f57737355c7455eceb813402", + "transactionIndex": "0xa9", + "logIndex": "0x1fa", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000020000000000000000000000000800400000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000020000000000000000000000000080000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x8e1fc4ef0f14699818fa4c0c07c3f55ac47e3b78f57737355c7455eceb813402", + "transactionIndex": "0xa9", + "blockHash": "0x63934d123c01be278f1759f3cf75a0c333600859fb56020de94fe204baff5ae0", + "blockNumber": "0x1526cce", + "gasUsed": "0x10ae8c", + "effectiveGasPrice": "0x5b8ab5", + "from": "0x24a9267ce9e0a8f4467b584fdda12baf1df772b5", + "to": null, + "contractAddress": "0x0fad05a723fd039769815be74be9e7a1f7eed911", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x2c7c04a10", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x16116bd1484", + "l1FeeScalar": "0.002269", + "l1GasPrice": "0x209b40667", + "l1GasUsed": "0x12a48" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1731147418, + "chain": 8453, + "commit": "8950cfa" +} \ No newline at end of file diff --git a/AxelarHandler/broadcast/Deploy.s.sol/8453/run-latest.json b/AxelarHandler/broadcast/Deploy.s.sol/8453/run-latest.json new file mode 100644 index 0000000..bd0abe8 --- /dev/null +++ b/AxelarHandler/broadcast/Deploy.s.sol/8453/run-latest.json @@ -0,0 +1,73 @@ +{ + "transactions": [ + { + "hash": "0x8e1fc4ef0f14699818fa4c0c07c3f55ac47e3b78f57737355c7455eceb813402", + "transactionType": "CREATE", + "contractName": "GoFastHandler", + "contractAddress": "0x0fad05a723fd039769815be74be9e7a1f7eed911", + "function": null, + "arguments": [ + "0x2626664c2603336E57B271c5C0b26F421741e481", + "0x43d090025aAA6C8693B71952B910AC55CcB56bBb" + ], + "transaction": { + "from": "0x24a9267ce9e0a8f4467b584fdda12baf1df772b5", + "gas": "0x15ae2d", + "value": "0x0", + "input": "0x608060405234801561001057600080fd5b5060405161129638038061129683398101604081905261002f916100d5565b61003833610069565b600180546001600160a01b039384166001600160a01b03199182161790915560028054929093169116179055610108565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146100d057600080fd5b919050565b600080604083850312156100e857600080fd5b6100f1836100b9565b91506100ff602084016100b9565b90509250929050565b61117f806101176000396000f3fe6080604052600436106100865760003560e01c80638da5cb5b116100595780638da5cb5b1461012d578063b5f0d6951461014b578063c31c9c071461015e578063df544ba81461017e578063f2fde38b1461019e57600080fd5b8063412736571461008b57806352c21c7c146100ad5780636ad1b6ac146100ea578063715018a614610118575b600080fd5b34801561009757600080fd5b506100ab6100a6366004610d01565b6101be565b005b3480156100b957600080fd5b506002546100cd906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100f657600080fd5b5061010a610105366004610d9a565b6101e8565b6040519081526020016100e1565b34801561012457600080fd5b506100ab610277565b34801561013957600080fd5b506000546001600160a01b03166100cd565b61010a610159366004610ec8565b61028b565b34801561016a57600080fd5b506001546100cd906001600160a01b031681565b34801561018a57600080fd5b506100ab610199366004610d01565b61047c565b3480156101aa57600080fd5b506100ab6101b9366004610d01565b6104a6565b6101c661051f565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600254604051631ab46dab60e21b81526000916001600160a01b031690636ad1b6ac90610227908c908c908c908c908c908c908c908c90600401610f9d565b6020604051808303816000875af1158015610246573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061026a9190611009565b9998505050505050505050565b61027f61051f565b6102896000610579565b565b6000886000036102e25760405162461bcd60e51b815260206004820152601c60248201527f657865637574696f6e206665652063616e6e6f74206265207a65726f0000000060448201526064015b60405180910390fd5b876000036103325760405162461bcd60e51b815260206004820152601960248201527f736f6c766572206665652063616e6e6f74206265207a65726f0000000000000060448201526064016102d9565b6000806103408e8e8e6105c9565b915060006127106103518c85611038565b61035b919061104f565b90506000610369828e611071565b9050808410156103ce5760405162461bcd60e51b815260206004820152602a60248201527f616d6f756e742072656365697665642066726f6d2073776170206973206c657360448201526973207468616e2066656560b01b60648201526084016102d9565b6103d88185611084565b600254604051631ab46dab60e21b8152919450600093506001600160a01b03169150636ad1b6ac9061041c908d908d90889088908f908f908f908f90600401610f9d565b6020604051808303816000875af115801561043b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045f9190611009565b905061046a8f6107e5565b9e9d5050505050505050505050505050565b61048461051f565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6104ae61051f565b6001600160a01b0381166105135760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102d9565b61051c81610579565b50565b6000546001600160a01b031633146102895760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102d9565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080600260009054906101000a90046001600160a01b03166001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561061f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106439190611097565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561068d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b19190611009565b90506001600160a01b038616156106f1576106d76001600160a01b03871633308861084b565b6001546106f1906001600160a01b038881169116876108bc565b6001546040516000916001600160a01b03169034906107119088906110d8565b60006040518083038185875af1925050503d806000811461074e576040519150601f19603f3d011682016040523d82523d6000602084013e610753565b606091505b5050905080610766573d6000803e3d6000fd5b6040516370a0823160e01b815230600482015282906001600160a01b038516906370a0823190602401602060405180830381865afa1580156107ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d09190611009565b6107da9190611084565b979650505050505050565b60006107f0826109d1565b90506001600160a01b03821615610819576108156001600160a01b0383163383610a5c565b5050565b604051339082156108fc029083906000818181858888f19350505050158015610846573d6000803e3d6000fd5b505050565b6040516001600160a01b03808516602483015283166044820152606481018290526108b69085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610a8c565b50505050565b8015806109365750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015610910573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109349190611009565b155b6109a15760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b60648201526084016102d9565b6040516001600160a01b03831660248201526044810182905261084690849063095ea7b360e01b9060640161087f565b60006001600160a01b03821615610a50576040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015610a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4a9190611009565b92915050565b5047919050565b919050565b6040516001600160a01b03831660248201526044810182905261084690849063a9059cbb60e01b9060640161087f565b6000610ae1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610b619092919063ffffffff16565b9050805160001480610b02575080806020019051810190610b0291906110f4565b6108465760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016102d9565b6060610b708484600085610b78565b949350505050565b606082471015610bd95760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016102d9565b600080866001600160a01b03168587604051610bf591906110d8565b60006040518083038185875af1925050503d8060008114610c32576040519150601f19603f3d011682016040523d82523d6000602084013e610c37565b606091505b50915091506107da8783838760608315610cb2578251600003610cab576001600160a01b0385163b610cab5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102d9565b5081610b70565b610b708383815115610cc75781518083602001fd5b8060405162461bcd60e51b81526004016102d99190611116565b6001600160a01b038116811461051c57600080fd5b8035610a5781610ce1565b600060208284031215610d1357600080fd5b8135610d1e81610ce1565b9392505050565b803563ffffffff81168114610a5757600080fd5b803567ffffffffffffffff81168114610a5757600080fd5b60008083601f840112610d6357600080fd5b50813567ffffffffffffffff811115610d7b57600080fd5b602083019150836020828501011115610d9357600080fd5b9250929050565b60008060008060008060008060e0898b031215610db657600080fd5b88359750602089013596506040890135955060608901359450610ddb60808a01610d25565b9350610de960a08a01610d39565b925060c089013567ffffffffffffffff811115610e0557600080fd5b610e118b828c01610d51565b999c989b5096995094979396929594505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610e4c57600080fd5b813567ffffffffffffffff80821115610e6757610e67610e25565b604051601f8301601f19908116603f01168101908282118183101715610e8f57610e8f610e25565b81604052838152866020858801011115610ea857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060008060006101408c8e031215610eea57600080fd5b610ef38c610cf6565b9a5060208c0135995067ffffffffffffffff8060408e01351115610f1657600080fd5b610f268e60408f01358f01610e3b565b995060608d0135985060808d0135975060a08d0135965060c08d01359550610f5060e08e01610d25565b9450610f5f6101008e01610d39565b9350806101208e01351115610f7357600080fd5b50610f858d6101208e01358e01610d51565b81935080925050509295989b509295989b9093969950565b88815287602082015286604082015285606082015263ffffffff8516608082015267ffffffffffffffff841660a082015260e060c08201528160e082015260006101008385828501376000838501820152601f909301601f191690910190910198975050505050505050565b60006020828403121561101b57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610a4a57610a4a611022565b60008261106c57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610a4a57610a4a611022565b81810381811115610a4a57610a4a611022565b6000602082840312156110a957600080fd5b8151610d1e81610ce1565b60005b838110156110cf5781810151838201526020016110b7565b50506000910152565b600082516110ea8184602087016110b4565b9190910192915050565b60006020828403121561110657600080fd5b81518015158114610d1e57600080fd5b60208152600082518060208401526111358160408501602087016110b4565b601f01601f1916919091016040019291505056fea26469706673582212209b77b0bf84d9ed72e83ab52339a0df0ce9e456ff00cfc691b9eb4658825841f764736f6c634300081200330000000000000000000000002626664c2603336e57b271c5c0b26f421741e48100000000000000000000000043d090025aaa6c8693b71952b910ac55ccb56bbb", + "nonce": "0x32", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x1809e38", + "logs": [ + { + "address": "0x0fad05a723fd039769815be74be9e7a1f7eed911", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000024a9267ce9e0a8f4467b584fdda12baf1df772b5" + ], + "data": "0x", + "blockHash": "0x63934d123c01be278f1759f3cf75a0c333600859fb56020de94fe204baff5ae0", + "blockNumber": "0x1526cce", + "blockTimestamp": "0x672f367f", + "transactionHash": "0x8e1fc4ef0f14699818fa4c0c07c3f55ac47e3b78f57737355c7455eceb813402", + "transactionIndex": "0xa9", + "logIndex": "0x1fa", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000020000000000000000000000000800400000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000020000000000000000000000000080000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x8e1fc4ef0f14699818fa4c0c07c3f55ac47e3b78f57737355c7455eceb813402", + "transactionIndex": "0xa9", + "blockHash": "0x63934d123c01be278f1759f3cf75a0c333600859fb56020de94fe204baff5ae0", + "blockNumber": "0x1526cce", + "gasUsed": "0x10ae8c", + "effectiveGasPrice": "0x5b8ab5", + "from": "0x24a9267ce9e0a8f4467b584fdda12baf1df772b5", + "to": null, + "contractAddress": "0x0fad05a723fd039769815be74be9e7a1f7eed911", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x2c7c04a10", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x16116bd1484", + "l1FeeScalar": "0.002269", + "l1GasPrice": "0x209b40667", + "l1GasUsed": "0x12a48" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1731147418, + "chain": 8453, + "commit": "8950cfa" +} \ No newline at end of file diff --git a/AxelarHandler/script/Deploy.s.sol b/AxelarHandler/script/Deploy.s.sol new file mode 100644 index 0000000..0bde6e9 --- /dev/null +++ b/AxelarHandler/script/Deploy.s.sol @@ -0,0 +1,73 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.13; + +import {Script, console} from "forge-std/Script.sol"; + +import {ERC1967Proxy} from "lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol"; + +import {GoFastHandler} from "../src/GoFastHandler.sol"; + +contract GoFastHandlerDeploy is Script { + address public constant SWAP_ROUTER_ABRITRUM = 0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45; + address public constant FAST_TRANSFER_GATEWAY_ABRITRUM = 0x23Cb6147E5600C23d1fb5543916D3D5457c9B54C; + + address public constant SWAP_ROUTER_OPTIMISM = 0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45; + address public constant FAST_TRANSFER_GATEWAY_OPTIMISM = 0x0F479de4fD3144642f1Af88e3797B1821724f703; + + address public constant SWAP_ROUTER_POLYGON = 0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45; + address public constant FAST_TRANSFER_GATEWAY_POLYGON = 0x3Ffaf8D0D33226302E3a0AE48367cF1Dd2023B1f; + + address public constant SWAP_ROUTER_BASE = 0x2626664c2603336E57B271c5C0b26F421741e481; + address public constant FAST_TRANSFER_GATEWAY_BASE = 0x43d090025aAA6C8693B71952B910AC55CcB56bBb; + + address public constant SWAP_ROUTER_AVALANCHE = 0xbb00FF08d01D300023C629E8fFfFcb65A5a578cE; + address public constant FAST_TRANSFER_GATEWAY_AVALANCHE = 0xD415B02A7E91dBAf92EAa4721F9289CFB7f4E1cF; + + address public constant SWAP_ROUTER_ETHEREUM = 0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45; + address public constant FAST_TRANSFER_GATEWAY_ETHEREUM = 0xE7935104c9670015b21c6300E5b95d2F75474CDA; + + function run() external { + (address swapRouter, address fastTransferGateway) = _getInitValues(block.chainid); + + vm.startBroadcast(); + + GoFastHandler handlerImpl = new GoFastHandler(); + ERC1967Proxy handlerProxy = new ERC1967Proxy( + address(handlerImpl), + abi.encodeWithSignature("initialize(address,address)", address(this), swapRouter, fastTransferGateway) + ); + GoFastHandler handler = GoFastHandler(payable(address(handlerProxy))); + + vm.stopBroadcast(); + + console.log("GoFastHandler deployed at: ", address(handler)); + } + + function _getInitValues(uint256 chainID) internal view returns (address, address) { + if (chainID == 42161) { + return (SWAP_ROUTER_ABRITRUM, FAST_TRANSFER_GATEWAY_ABRITRUM); + } + + if (chainID == 10) { + return (SWAP_ROUTER_OPTIMISM, FAST_TRANSFER_GATEWAY_OPTIMISM); + } + + if (chainID == 137) { + return (SWAP_ROUTER_POLYGON, FAST_TRANSFER_GATEWAY_POLYGON); + } + + if (chainID == 8453) { + return (SWAP_ROUTER_BASE, FAST_TRANSFER_GATEWAY_BASE); + } + + if (chainID == 43114) { + return (SWAP_ROUTER_AVALANCHE, FAST_TRANSFER_GATEWAY_AVALANCHE); + } + + if (chainID == 1) { + return (SWAP_ROUTER_ETHEREUM, FAST_TRANSFER_GATEWAY_ETHEREUM); + } + + revert("Unsupported chain"); + } +} diff --git a/AxelarHandler/src/GoFastHandler.sol b/AxelarHandler/src/GoFastHandler.sol index f837845..5c8821a 100644 --- a/AxelarHandler/src/GoFastHandler.sol +++ b/AxelarHandler/src/GoFastHandler.sol @@ -3,18 +3,26 @@ pragma solidity ^0.8.18; import {IERC20} from "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol"; import {SafeERC20} from "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol"; -import {Ownable} from "lib/openzeppelin-contracts/contracts/access/Ownable.sol"; +import {OwnableUpgradeable} from "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol"; +import {UUPSUpgradeable} from "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol"; +import {Initializable} from "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol"; import {ISwapRouter02} from "./interfaces/ISwapRouter02.sol"; import {IFastTransferGateway} from "./interfaces/IFastTransferGateway.sol"; -contract GoFastHandler is Ownable { +contract GoFastHandler is Initializable, UUPSUpgradeable, OwnableUpgradeable { using SafeERC20 for IERC20; ISwapRouter02 public swapRouter; IFastTransferGateway public fastTransferGateway; - constructor(address _swapRouter, address _fastTransferGateway) { + constructor() { + _disableInitializers(); + } + + function initialize(address _swapRouter, address _fastTransferGateway) public initializer { + __Ownable_init(); + swapRouter = ISwapRouter02(_swapRouter); fastTransferGateway = IFastTransferGateway(_fastTransferGateway); } @@ -146,4 +154,6 @@ contract GoFastHandler is Ownable { payable(msg.sender).transfer(amount); } } + + function _authorizeUpgrade(address newImplementation) internal override onlyOwner {} } diff --git a/AxelarHandler/test/GoFastHandler.t.sol b/AxelarHandler/test/GoFastHandler.t.sol index d4cfa8e..cbcb7fd 100644 --- a/AxelarHandler/test/GoFastHandler.t.sol +++ b/AxelarHandler/test/GoFastHandler.t.sol @@ -4,6 +4,7 @@ pragma solidity ^0.8.18; import "forge-std/Test.sol"; import {IERC20} from "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol"; +import {ERC1967Proxy} from "lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol"; import {GoFastHandler} from "../src/GoFastHandler.sol"; import {IFastTransferGateway} from "../src/interfaces/IFastTransferGateway.sol"; @@ -28,7 +29,12 @@ contract GoFastHandlerTest is Test { fastTransferGateway = address(0xC); uniswapRouter = 0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45; - handler = new GoFastHandler(uniswapRouter, fastTransferGateway); + GoFastHandler handlerImpl = new GoFastHandler(); + ERC1967Proxy handlerProxy = new ERC1967Proxy( + address(handlerImpl), + abi.encodeWithSignature("initialize(address,address)", uniswapRouter, fastTransferGateway) + ); + handler = GoFastHandler(payable(address(handlerProxy))); alice = makeAddr("alice"); }