@@ -132,12 +132,14 @@ contract DeploySetup is SetupStore {
132132 arbConfig.messageSwitchboard.setSiblingConfig (
133133 optChainSlug,
134134 toBytes32Format (address (optConfig.socket)),
135- toBytes32Format (address (optConfig.messageSwitchboard))
135+ toBytes32Format (address (optConfig.messageSwitchboard)),
136+ uint32 (optConfig.messageSwitchboard.switchboardId ())
136137 );
137138 optConfig.messageSwitchboard.setSiblingConfig (
138139 arbChainSlug,
139140 toBytes32Format (address (arbConfig.socket)),
140- toBytes32Format (address (arbConfig.messageSwitchboard))
141+ toBytes32Format (address (arbConfig.messageSwitchboard)),
142+ uint32 (arbConfig.messageSwitchboard.switchboardId ())
141143 );
142144 vm.stopPrank ();
143145 _connectCorePlugs ();
@@ -667,7 +669,7 @@ contract WatcherSetup is FeesSetup {
667669 value: digestParams.value,
668670 payload: digestParams.payload,
669671 target: fromBytes32Format (digestParams.target),
670- payloadPointer: uint160 ( payloadParams.payloadPointer) ,
672+ payloadId: payloadParams.payloadId ,
671673 prevBatchDigestHash: digestParams.prevBatchDigestHash,
672674 source: digestParams.source,
673675 extraData: digestParams.extraData
@@ -830,19 +832,17 @@ contract MessageSwitchboardSetup is DeploySetup {
830832 SocketContracts memory srcSocketConfig_ ,
831833 SocketContracts memory dstSocketConfig_ ,
832834 bytes memory payload_
833- ) internal view returns (uint160 payloadPointer , DigestParams memory digestParams ) {
834- bytes32 triggerId = srcPlug_.getNextTriggerId (srcSocketConfig_.chainSlug);
835+ ) internal view returns (bytes32 payloadId , DigestParams memory digestParams ) {
835836 uint40 payloadCounter = srcSocketConfig_.messageSwitchboard.payloadCounter ();
836-
837- payloadPointer =
838- (uint160 (srcSocketConfig_.chainSlug) << 120 ) |
839- (uint160 (uint64 (uint256 (triggerId))) << 80 ) |
840- payloadCounter;
841-
842- bytes32 payloadId = createPayloadId (
843- payloadPointer,
844- dstSocketConfig_.messageSwitchboard.switchboardId (),
845- dstSocketConfig_.chainSlug
837+
838+ // Calculate payload ID using new structure
839+ // Message payload: origin = (srcChainSlug, srcSwitchboardId), verification = (dstChainSlug, dstSwitchboardId)
840+ payloadId = createPayloadId (
841+ srcSocketConfig_.chainSlug, // origin chain slug
842+ uint32 (srcSocketConfig_.messageSwitchboard.switchboardId ()), // origin switchboard id
843+ dstSocketConfig_.chainSlug, // verification chain slug
844+ uint32 (dstSocketConfig_.messageSwitchboard.switchboardId ()), // verification switchboard id
845+ uint64 (payloadCounter) // pointer (counter)
846846 );
847847
848848 digestParams = _createDigestParams (
@@ -851,17 +851,16 @@ contract MessageSwitchboardSetup is DeploySetup {
851851 address (dstPlug_),
852852 address (dstSocketConfig_.socket),
853853 payloadId,
854- triggerId,
855854 payload_
856855 );
857856 }
858857
859858 function _executeOnDestination (
860859 DigestParams memory digestParams_ ,
861- uint160 payloadPointer_
860+ bytes32 payloadId_
862861 ) internal {
863862 _attestPayload (digestParams_);
864- _execute (digestParams_, payloadPointer_ );
863+ _execute (digestParams_, payloadId_ );
865864 }
866865
867866 // Helper function to attest a payload
@@ -884,10 +883,8 @@ contract MessageSwitchboardSetup is DeploySetup {
884883 address dstPlug_ ,
885884 address dstSocket_ ,
886885 bytes32 payloadId_ ,
887- bytes32 triggerId_ ,
888886 bytes memory payload_
889887 ) internal view returns (DigestParams memory digestParams ) {
890- bytes memory extraData = abi.encode (srcChainSlug_, toBytes32Format (srcPlug_));
891888 digestParams = DigestParams ({
892889 socket: toBytes32Format (dstSocket_),
893890 transmitter: bytes32 (0 ),
@@ -899,8 +896,8 @@ contract MessageSwitchboardSetup is DeploySetup {
899896 payload: payload_,
900897 target: toBytes32Format (dstPlug_),
901898 source: abi.encode (srcChainSlug_, toBytes32Format (srcPlug_)),
902- prevBatchDigestHash: triggerId_,
903- extraData: extraData
899+ prevBatchDigestHash: bytes32 ( 0 ), // No longer using triggerId
900+ extraData: " 0x " // Contract now sets extraData to empty
904901 });
905902 }
906903
@@ -925,7 +922,7 @@ contract MessageSwitchboardSetup is DeploySetup {
925922 }
926923
927924 // Helper function to execute on destination chain
928- function _execute (DigestParams memory digestParams_ , uint160 payloadPointer_ ) internal {
925+ function _execute (DigestParams memory digestParams_ , bytes32 payloadId_ ) internal {
929926 // this is a signature for the socket batcher (only used for EVM)
930927 ExecuteParams memory executeParams = ExecuteParams ({
931928 callType: digestParams_.callType,
@@ -934,7 +931,7 @@ contract MessageSwitchboardSetup is DeploySetup {
934931 value: digestParams_.value,
935932 payload: digestParams_.payload,
936933 target: fromBytes32Format (digestParams_.target),
937- payloadPointer: payloadPointer_ ,
934+ payloadId: payloadId_ ,
938935 prevBatchDigestHash: digestParams_.prevBatchDigestHash,
939936 source: digestParams_.source,
940937 extraData: digestParams_.extraData
0 commit comments