> For the complete documentation index, see [llms.txt](https://docs.ilayer.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ilayer.io/integration/evm-smart-contracts/example-cross-chain-contract-call.md).

# Example: cross-chain contract call

We need to call a dummy contract that exposes the following function

```
function setValue(uint256 value) external;
```

We need to craft an order that contains calldata for this specific function, starting from the calldata

```
bytes4 selector = bytes4(keccak256("setValue(uint256)"));
bytes memory callData = abi.encodePacked(selector, newValue);
```

then the order itself

```json
{
  sourceChainId: "1", // Ethereum Mainnet
  destinationChainId: "137", // Polygon Pos
  inputs: [
    // WETH
    { tokenType: "FUNGIBLE_TOKEN", tokenAddress: "0x0000000000000000000000004200000000000000000000000000000000000006", tokenId: "0", amount: "10000000" }
  ],
  outputs: [],
  callRecipient: "0x0...", // the contract address
  callData: callData,
  callValue: 0,
}
```
