Skip to content

Commit 4c55c6a

Browse files
feat: added payloadId tests, fixed old tests
1 parent 0dac919 commit 4c55c6a

File tree

3 files changed

+552
-169
lines changed

3 files changed

+552
-169
lines changed

test/SetupTest.t.sol

Lines changed: 21 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)