|
37 | 37 | </tr>
|
38 | 38 | <tr>
|
39 | 39 | <td class="headerItem">Date:</td>
|
40 |
| - <td class="headerValue">2024-04-26 14:53:42</td> |
| 40 | + <td class="headerValue">2024-04-30 10:51:06</td> |
41 | 41 | <td></td>
|
42 | 42 | <td class="headerItem">Functions:</td>
|
43 | 43 | <td class="headerCovTableEntry">3</td>
|
|
120 | 120 | <a name="49"><span class="lineNum"> 49 </span> : : onlyAllowlistedDestinationChain(_destinationChainSelector)</a>
|
121 | 121 | <a name="50"><span class="lineNum"> 50 </span> : : returns (bytes32 messageId) </a>
|
122 | 122 | <a name="51"><span class="lineNum"> 51 </span> : : {</a>
|
123 |
| -<a name="52"><span class="lineNum"> 52 </span> :<span class="lineCov"> 20 : Client.EVMTokenAmount[]</span></a> |
124 |
| -<a name="53"><span class="lineNum"> 53 </span> :<span class="lineCov"> 20 : memory tokenAmounts = new Client.EVMTokenAmount[](1);</span></a> |
125 |
| -<a name="54"><span class="lineNum"> 54 </span> :<span class="lineCov"> 30 : Client.EVMTokenAmount memory tokenAmount = Client.EVMTokenAmount({</span></a> |
| 123 | +<a name="52"><span class="lineNum"> 52 </span> :<span class="lineCov"> 22 : Client.EVMTokenAmount[]</span></a> |
| 124 | +<a name="53"><span class="lineNum"> 53 </span> :<span class="lineCov"> 22 : memory tokenAmounts = new Client.EVMTokenAmount[](1);</span></a> |
| 125 | +<a name="54"><span class="lineNum"> 54 </span> :<span class="lineCov"> 33 : Client.EVMTokenAmount memory tokenAmount = Client.EVMTokenAmount({</span></a> |
126 | 126 | <a name="55"><span class="lineNum"> 55 </span> : : token: _token,</a>
|
127 | 127 | <a name="56"><span class="lineNum"> 56 </span> : : amount: _amount</a>
|
128 | 128 | <a name="57"><span class="lineNum"> 57 </span> : : });</a>
|
129 |
| -<a name="58"><span class="lineNum"> 58 </span> :<span class="lineCov"> 20 : tokenAmounts[0] = tokenAmount;</span></a> |
130 |
| -<a name="59"><span class="lineNum"> 59 </span> :<span class="lineCov"> 20 : uint256 fees;</span></a> |
| 129 | +<a name="58"><span class="lineNum"> 58 </span> :<span class="lineCov"> 22 : tokenAmounts[0] = tokenAmount;</span></a> |
| 130 | +<a name="59"><span class="lineNum"> 59 </span> :<span class="lineCov"> 22 : uint256 fees;</span></a> |
131 | 131 | <a name="60"><span class="lineNum"> 60 </span> : : </a>
|
132 |
| -<a name="61"><span class="lineNum"> 61 </span> :<span class="lineCov"> 20 : (fees, messageId) = _buildEndSend(_destinationChainSelector, _receiver, _paymentMethodId, tokenAmounts);</span></a> |
| 132 | +<a name="61"><span class="lineNum"> 61 </span> :<span class="lineCov"> 22 : (fees, messageId) = _buildEndSend(_destinationChainSelector, _receiver, _paymentMethodId, tokenAmounts);</span></a> |
133 | 133 | <a name="62"><span class="lineNum"> 62 </span> : : </a>
|
134 |
| -<a name="63"><span class="lineNum"> 63 </span> :<span class="lineCov"> 4 : emit TokenSingleTransferred(</span></a> |
| 134 | +<a name="63"><span class="lineNum"> 63 </span> :<span class="lineCov"> 6 : emit TokenSingleTransferred(</span></a> |
135 | 135 | <a name="64"><span class="lineNum"> 64 </span> : : messageId,</a>
|
136 | 136 | <a name="65"><span class="lineNum"> 65 </span> : : _destinationChainSelector,</a>
|
137 | 137 | <a name="66"><span class="lineNum"> 66 </span> : : _receiver,</a>
|
|
185 | 185 | <a name="114"><span class="lineNum"> 114 </span> : : */</a>
|
186 | 186 | <a name="115"><span class="lineNum"> 115 </span> : : function _buildEndSend(uint64 _destinationChainSelector, address _receiver, uint256 _paymentMethodId, Client.EVMTokenAmount[] memory tokenAmounts) internal returns(uint256 fees, bytes32 messageId){</a>
|
187 | 187 | <a name="116"><span class="lineNum"> 116 </span> : : // Build the CCIP Message</a>
|
188 |
| -<a name="117"><span class="lineNum"> 117 </span> :<span class="lineCov"> 36 : Client.EVM2AnyMessage memory message = CCIPSenderBuild._buildCCIPTransferMessage(_receiver, tokenAmounts, _paymentMethodId );</span></a> |
| 188 | +<a name="117"><span class="lineNum"> 117 </span> :<span class="lineCov"> 39 : Client.EVM2AnyMessage memory message = CCIPSenderBuild._buildCCIPTransferMessage(_receiver, tokenAmounts, _paymentMethodId );</span></a> |
189 | 189 | <a name="118"><span class="lineNum"> 118 </span> : : // Initialize a router client instance to interact with cross-chain router</a>
|
190 |
| -<a name="119"><span class="lineNum"> 119 </span> :<span class="lineCov"> 30 : IRouterClient router = IRouterClient(CCIPRouterManage.getRouter());</span></a> |
| 190 | +<a name="119"><span class="lineNum"> 119 </span> :<span class="lineCov"> 33 : IRouterClient router = IRouterClient(CCIPRouterManage.getRouter());</span></a> |
191 | 191 | <a name="120"><span class="lineNum"> 120 </span> : : // CCIP Fees Management</a>
|
192 |
| -<a name="121"><span class="lineNum"> 121 </span> :<span class="lineCov"> 20 : fees = CCIPSenderPayment._computeAndApproveFee(_destinationChainSelector, message, router, _paymentMethodId);</span></a> |
193 |
| -<a name="122"><span class="lineNum"> 122 </span> :<span class="lineCov"> 36 : for(uint256 i = 0; i < tokenAmounts.length; ++i){</span></a> |
| 192 | +<a name="121"><span class="lineNum"> 121 </span> :<span class="lineCov"> 22 : fees = CCIPSenderPayment._computeAndApproveFee(_destinationChainSelector, message, router, _paymentMethodId);</span></a> |
| 193 | +<a name="122"><span class="lineNum"> 122 </span> :<span class="lineCov"> 41 : for(uint256 i = 0; i < tokenAmounts.length; ++i){</span></a> |
194 | 194 | <a name="123"><span class="lineNum"> 123 </span> : : // transfer tokens to the contract</a>
|
195 |
| -<a name="124"><span class="lineNum"> 124 </span> :<span class="lineCov"> 20 : IERC20(tokenAmounts[i].token).safeTransferFrom(_msgSender(), address(this), tokenAmounts[i].amount);</span></a> |
| 195 | +<a name="124"><span class="lineNum"> 124 </span> :<span class="lineCov"> 22 : IERC20(tokenAmounts[i].token).safeTransferFrom(_msgSender(), address(this), tokenAmounts[i].amount);</span></a> |
196 | 196 | <a name="125"><span class="lineNum"> 125 </span> : : // approve the Router to spend tokens on contract's behalf. It will spend the amount of the given token</a>
|
197 |
| -<a name="126"><span class="lineNum"> 126 </span> :<span class="lineCov"> 12 : IERC20(tokenAmounts[i].token).safeIncreaseAllowance(address(router), tokenAmounts[i].amount);</span></a> |
| 197 | +<a name="126"><span class="lineNum"> 126 </span> :<span class="lineCov"> 14 : IERC20(tokenAmounts[i].token).safeIncreaseAllowance(address(router), tokenAmounts[i].amount);</span></a> |
198 | 198 | <a name="127"><span class="lineNum"> 127 </span> : : }</a>
|
199 | 199 | <a name="128"><span class="lineNum"> 128 </span> : : // Send CCIP Message</a>
|
200 |
| -<a name="129"><span class="lineNum"> 129 </span> [<span class="branchNoExec" title="Branch 0 was not executed"> # </span><span class="branchCov" title="Branch 1 was taken 2 times"> + </span>]:<span class="lineCov"> 8 : if(_paymentMethodId == 0){ // Native token</span></a> |
201 |
| -<a name="130"><span class="lineNum"> 130 </span> :<span class="lineCov"> 4 : messageId = router.ccipSend{value: fees}(_destinationChainSelector, message); </span></a> |
| 200 | +<a name="129"><span class="lineNum"> 129 </span> [<span class="branchNoExec" title="Branch 0 was not executed"> # </span><span class="branchCov" title="Branch 1 was taken 3 times"> + </span>]:<span class="lineCov"> 10 : if(_paymentMethodId == 0){ // Native token</span></a> |
| 201 | +<a name="130"><span class="lineNum"> 130 </span> :<span class="lineCov"> 6 : messageId = router.ccipSend{value: fees}(_destinationChainSelector, message); </span></a> |
202 | 202 | <a name="131"><span class="lineNum"> 131 </span> : : } else{</a>
|
203 | 203 | <a name="132"><span class="lineNum"> 132 </span> :<span class="lineCov"> 4 : messageId = router.ccipSend(_destinationChainSelector, message); </span></a>
|
204 | 204 | <a name="133"><span class="lineNum"> 133 </span> : : }</a>
|
|
0 commit comments