@@ -80,7 +80,7 @@ contract PaymentsGateway is EIP712, Ownable, ReentrancyGuard {
80
80
keccak256 ("PayoutInfo(bytes32 clientId,address payoutAddress,uint256 feeBPS) " );
81
81
bytes32 private constant REQUEST_TYPEHASH =
82
82
keccak256 (
83
- "PayRequest(bytes32 transactionId,address tokenAddress,uint256 tokenAmount,PayoutInfo[] payouts,address payable forwardAddress,bytes data)PayoutInfo(bytes32 clientId,address payoutAddress,uint256 feeBPS) "
83
+ "PayRequest(bytes32 clientId,bytes32 transactionId,address tokenAddress,uint256 tokenAmount,PayoutInfo[] payouts,address forwardAddress,bytes data)PayoutInfo(bytes32 clientId,address payoutAddress,uint256 feeBPS) "
84
84
);
85
85
address private constant THIRDWEB_CLIENT_ID = 0x0000000000000000000000000000000000000000 ;
86
86
address private constant NATIVE_TOKEN_ADDRESS = 0x0000000000000000000000000000000000000000 ;
@@ -158,13 +158,13 @@ contract PaymentsGateway is EIP712, Ownable, ReentrancyGuard {
158
158
}
159
159
160
160
function _hashPayoutInfo (PayoutInfo[] calldata payouts ) private pure returns (bytes32 ) {
161
- bytes32 payoutHash = PAYOUTINFO_TYPEHASH ;
162
- for (uint256 i = 0 ; i < payouts.length ; ++ i ) {
163
- payoutHash = keccak256 (
164
- abi.encode (payoutHash , payouts[i].clientId, payouts[i].payoutAddress, payouts[i].feeBPS)
161
+ bytes32 [] memory payoutsHashes = new bytes32 [](payouts. length ) ;
162
+ for (uint i = 0 ; i < payouts.length ; i ++ ) {
163
+ payoutsHashes[i] = keccak256 (
164
+ abi.encode (PAYOUTINFO_TYPEHASH , payouts[i].clientId, payouts[i].payoutAddress, payouts[i].feeBPS)
165
165
);
166
166
}
167
- return payoutHash ;
167
+ return keccak256 ( abi.encodePacked (payoutsHashes)) ;
168
168
}
169
169
170
170
function _verifyTransferStart (PayRequest calldata req , bytes calldata signature ) private view returns (bool ) {
@@ -178,7 +178,7 @@ contract PaymentsGateway is EIP712, Ownable, ReentrancyGuard {
178
178
req.tokenAmount,
179
179
payoutsHash,
180
180
req.forwardAddress,
181
- req.data
181
+ keccak256 ( req.data)
182
182
)
183
183
);
184
184
0 commit comments