From 9c56f978ef9f4e068ae9e330ba653c3306df2344 Mon Sep 17 00:00:00 2001 From: sanchaymittal Date: Mon, 13 Mar 2023 16:01:00 +0700 Subject: [PATCH] add: main --- .../optimism/connectors/connext/main.sol | 101 ++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 contracts/optimism/connectors/connext/main.sol diff --git a/contracts/optimism/connectors/connext/main.sol b/contracts/optimism/connectors/connext/main.sol new file mode 100644 index 00000000..b1155002 --- /dev/null +++ b/contracts/optimism/connectors/connext/main.sol @@ -0,0 +1,101 @@ +//SPDX-License-Identifier: MIT + +pragma solidity ^0.7.0; + +pragma experimental ABIEncoderV2; + + + + +/** + + * @title Connext. + + * @dev Cross chain bridge. + + */ + + + + +import { TokenInterface, MemoryInterface } from "../../common/interfaces.sol"; + +import { Stores } from "../../common/stores.sol"; + +import "./interface.sol"; + +import "./helpers.sol"; + +import "./events.sol"; + + + + +abstract contract ConnextResolver is Helpers { + + /** + + * @dev Call xcall on Connext. + + * @notice Call xcall on Connext. + + * @param params XCallParams struct. + + * @param getId ID to retrieve amount from last spell. + + */ + + function xcall(XCallParams memory params, uint256 getId) + + external + + payable + + returns (string memory _eventName, bytes memory _eventParam) + + { + + params.amount = getUint(getId, params.amount); + + TokenInterface tokenContract = TokenInterface(params.asset); + + + + + _xcall(params); + + + + + _eventName = "LogXCall(uint32,address,address,address,uint256,uint256,uint256)"; + + _eventParam = abi.encode( + + params.destination, + + params.to, + + params.asset, + + params.delegate, + + params.amount, + + params.slippage, + + getId + + ); + + } + +} + + + + +contract ConnectV2ConnextOptimism is ConnextResolver { + + string public constant name = "Connext-v1.0"; + +} \ No newline at end of file