@@ -46,6 +46,54 @@ executor.requestExecution{value: executionAmount}(
46
46
47
47
<!-- cspell:enable -->
48
48
49
+ #### Example v1 NTT Request
50
+
51
+ <!-- cspell:disable -->
52
+
53
+ ``` solidity
54
+ import "example-messaging-executor/evm/src/interfaces/IExecutor.sol";
55
+ import "example-messaging-executor/evm/src/libraries/ExecutorMessages.sol";
56
+ ...
57
+ uint64 msgId = nttm.transfer{value: msg.value - executorArgs.value}(
58
+ amount, recipientChain, recipientAddress, refundAddress, shouldQueue, encodedInstructions
59
+ );
60
+
61
+ executor.requestExecution{value: executorArgs.value}(
62
+ 0,
63
+ bytes32(),
64
+ executorArgs.refundAddress,
65
+ executorArgs.signedQuote,
66
+ ExecutorMessages.makeNTTv1Request(
67
+ chainId, bytes32(uint256(uint160(address(nttm)))), bytes32(uint256(msgId))
68
+ ),
69
+ executorArgs.instructions
70
+ );
71
+ ```
72
+
73
+ <!-- cspell:enable -->
74
+
75
+ #### Example v1 CCTP Request
76
+
77
+ <!-- cspell:disable -->
78
+
79
+ ``` solidity
80
+ import "example-messaging-executor/evm/src/interfaces/IExecutor.sol";
81
+ import "example-messaging-executor/evm/src/libraries/ExecutorMessages.sol";
82
+ ...
83
+ uint64 nonce = circleTokenMessenger.depositForBurn(amount, destinationDomain, mintRecipient, burnToken);
84
+
85
+ executor.requestExecution{value: executorArgs.value}(
86
+ 0,
87
+ bytes32(0),
88
+ executorArgs.refundAddress,
89
+ executorArgs.signedQuote,
90
+ ExecutorMessages.makeCCTPv1Request(sourceDomain, nonce),
91
+ executorArgs.instructions
92
+ );
93
+ ```
94
+
95
+ <!-- cspell:enable -->
96
+
49
97
### Execution Support
50
98
51
99
#### v1 VAA Execution
@@ -56,6 +104,22 @@ Your contract must implement the following function.
56
104
function receiveMessage(bytes calldata encodedTransferMessage) public payable
57
105
```
58
106
107
+ #### v1 NTT Execution
108
+
109
+ The NTT Transceiver contract implements the following function.
110
+
111
+ ``` solidity
112
+ function receiveMessage(bytes memory encodedMessage) external
113
+ ```
114
+
115
+ #### v1 CCTP Execution
116
+
117
+ The Circle Message Transmitter contract implements the following function.
118
+
119
+ ``` solidity
120
+ function receiveMessage(bytes calldata message,bytes calldata attestation) external override whenNotPaused returns (bool success)
121
+ ```
122
+
59
123
## Executor Development
60
124
61
125
### Testing
0 commit comments