Skip to content

Commit 465c1b0

Browse files
committed
forge fmt
1 parent 7864538 commit 465c1b0

14 files changed

+1065
-1552
lines changed

src/Utils.sol

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ function toWormholeFormat(address addr) pure returns (bytes32) {
88
}
99

1010
function fromWormholeFormat(bytes32 whFormatAddress) pure returns (address) {
11-
if (uint256(whFormatAddress) >> 160 != 0)
11+
if (uint256(whFormatAddress) >> 160 != 0) {
1212
revert NotAnEvmAddress(whFormatAddress);
13+
}
1314
return address(uint160(uint256(whFormatAddress)));
14-
}
15+
}

src/WormholeRelayerSDK.sol

Lines changed: 28 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -63,17 +63,22 @@ abstract contract TokenBase is Base {
6363

6464
function getDecimals(address tokenAddress) internal view returns (uint8 decimals) {
6565
// query decimals
66-
(,bytes memory queriedDecimals) = address(tokenAddress).staticcall(abi.encodeWithSignature("decimals()"));
66+
(, bytes memory queriedDecimals) = address(tokenAddress).staticcall(abi.encodeWithSignature("decimals()"));
6767
decimals = abi.decode(queriedDecimals, (uint8));
6868
}
6969

70-
function getTokenAddressOnThisChain(uint16 tokenHomeChain, bytes32 tokenHomeAddress) internal view returns (address tokenAddressOnThisChain) {
71-
return tokenHomeChain == wormhole.chainId() ? fromWormholeFormat(tokenHomeAddress) : tokenBridge.wrappedAsset(tokenHomeChain, tokenHomeAddress);
70+
function getTokenAddressOnThisChain(uint16 tokenHomeChain, bytes32 tokenHomeAddress)
71+
internal
72+
view
73+
returns (address tokenAddressOnThisChain)
74+
{
75+
return tokenHomeChain == wormhole.chainId()
76+
? fromWormholeFormat(tokenHomeAddress)
77+
: tokenBridge.wrappedAsset(tokenHomeChain, tokenHomeAddress);
7278
}
7379
}
7480

7581
abstract contract TokenSender is TokenBase {
76-
7782
/**
7883
* transferTokens wraps common boilerplate for sending tokens to another chain using IWormholeRelayer
7984
* - approves tokenBridge to spend 'amount' of 'token'
@@ -94,13 +99,13 @@ abstract contract TokenSender is TokenBase {
9499

95100
/**
96101
* transferTokens wraps common boilerplate for sending tokens to another chain using IWormholeRelayer.
97-
* A payload can be included in the transfer vaa. By including a payload here instead of the deliveryVaa,
102+
* A payload can be included in the transfer vaa. By including a payload here instead of the deliveryVaa,
98103
* fewer trust assumptions are placed on the WormholeRelayer contract.
99-
*
104+
*
100105
* - approves tokenBridge to spend 'amount' of 'token'
101-
* - emits token transfer VAA
106+
* - emits token transfer VAA
102107
* - returns VAA key for inclusion in WormholeRelayer `additionalVaas` argument
103-
*
108+
*
104109
* Note: this function uses transferTokensWithPayload instead of transferTokens since the former requires that only the targetAddress
105110
* can redeem transfers. Otherwise it's possible for another address to redeem the transfer before the targetContract is invoked by
106111
* the offchain relayer and the target contract would have to be hardened against this.
@@ -137,12 +142,7 @@ abstract contract TokenSender is TokenBase {
137142
vaaKeys[0] = transferTokens(token, amount, targetChain, targetAddress);
138143

139144
return wormholeRelayer.sendVaasToEvm{value: cost}(
140-
targetChain,
141-
targetAddress,
142-
payload,
143-
receiverValue,
144-
gasLimit,
145-
vaaKeys
145+
targetChain, targetAddress, payload, receiverValue, gasLimit, vaaKeys
146146
);
147147
}
148148

@@ -160,24 +160,18 @@ abstract contract TokenSender is TokenBase {
160160
vaaKeys[0] = transferTokens(token, amount, targetChain, targetAddress);
161161

162162
wormholeRelayer.forwardVaasToEvm{value: forwardMsgValue}(
163-
targetChain,
164-
targetAddress,
165-
payload,
166-
receiverValue,
167-
gasLimit,
168-
vaaKeys
163+
targetChain, targetAddress, payload, receiverValue, gasLimit, vaaKeys
169164
);
170165
}
171166
}
172167

173168
abstract contract TokenReceiver is TokenBase {
174-
175169
struct TokenReceived {
176170
bytes32 tokenHomeAddress;
177171
uint16 tokenHomeChain;
178172
address tokenAddress; // wrapped address if tokenHomeChain !== this chain, else tokenHomeAddress (in evm address format)
179173
uint256 amount;
180-
uint256 amountNormalized; // if decimals > 8, normalized to 8 decimal places
174+
uint256 amountNormalized; // if decimals > 8, normalized to 8 decimal places
181175
}
182176

183177
function receiveWormholeMessages(
@@ -187,22 +181,26 @@ abstract contract TokenReceiver is TokenBase {
187181
uint16 sourceChain,
188182
bytes32 deliveryHash
189183
) external payable {
190-
TokenReceived[] memory receivedTokens =
191-
new TokenReceived[](additionalVaas.length);
184+
TokenReceived[] memory receivedTokens = new TokenReceived[](additionalVaas.length);
192185

193186
for (uint256 i = 0; i < additionalVaas.length; ++i) {
194187
IWormhole.VM memory parsed = wormhole.parseVM(additionalVaas[i]);
195-
require (parsed.emitterAddress == tokenBridge.bridgeContracts(parsed.emitterChainId), "Not a Token Bridge VAA");
188+
require(
189+
parsed.emitterAddress == tokenBridge.bridgeContracts(parsed.emitterChainId), "Not a Token Bridge VAA"
190+
);
196191
ITokenBridge.TransferWithPayload memory transfer = tokenBridge.parseTransferWithPayload(parsed.payload);
197-
require (transfer.to == toWormholeFormat(address(this)) && transfer.toChain == wormhole.chainId(), "Token was not sent to this address");
192+
require(
193+
transfer.to == toWormholeFormat(address(this)) && transfer.toChain == wormhole.chainId(),
194+
"Token was not sent to this address"
195+
);
198196

199197
tokenBridge.completeTransferWithPayload(additionalVaas[i]);
200198

201199
address thisChainTokenAddress = getTokenAddressOnThisChain(transfer.tokenChain, transfer.tokenAddress);
202200
uint8 decimals = getDecimals(thisChainTokenAddress);
203201
uint256 denormalizedAmount = transfer.amount;
204-
if(decimals > 8) denormalizedAmount *= uint256(10) ** (decimals - 8);
205-
202+
if (decimals > 8) denormalizedAmount *= uint256(10) ** (decimals - 8);
203+
206204
receivedTokens[i] = TokenReceived({
207205
tokenHomeAddress: transfer.tokenAddress,
208206
tokenHomeChain: transfer.tokenChain,
@@ -211,8 +209,8 @@ abstract contract TokenReceiver is TokenBase {
211209
amountNormalized: transfer.amount
212210
});
213211
}
214-
215-
// call into overriden method
212+
213+
// call into overriden method
216214
receivePayloadAndTokens(payload, receivedTokens, sourceAddress, sourceChain, deliveryHash);
217215
}
218216

@@ -223,5 +221,4 @@ abstract contract TokenReceiver is TokenBase {
223221
uint16 sourceChain,
224222
bytes32 deliveryHash
225223
) internal virtual {}
226-
227224
}

src/interfaces/ITokenBridge.sol

Lines changed: 40 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -41,23 +41,20 @@ interface ITokenBridge {
4141
bytes32 module;
4242
uint8 action;
4343
uint16 chainId;
44-
4544
uint16 emitterChainID;
4645
bytes32 emitterAddress;
4746
}
4847

49-
struct UpgradeContract {
48+
struct UpgradeContract {
5049
bytes32 module;
5150
uint8 action;
5251
uint16 chainId;
53-
5452
bytes32 newContract;
5553
}
5654

5755
struct RecoverChainId {
5856
bytes32 module;
5957
uint8 action;
60-
6158
uint256 evmChainId;
6259
uint16 newChainId;
6360
}
@@ -68,13 +65,33 @@ interface ITokenBridge {
6865

6966
function attestToken(address tokenAddress, uint32 nonce) external payable returns (uint64 sequence);
7067

71-
function wrapAndTransferETH(uint16 recipientChain, bytes32 recipient, uint256 arbiterFee, uint32 nonce) external payable returns (uint64 sequence);
72-
73-
function wrapAndTransferETHWithPayload(uint16 recipientChain, bytes32 recipient, uint32 nonce, bytes memory payload) external payable returns (uint64 sequence);
74-
75-
function transferTokens(address token, uint256 amount, uint16 recipientChain, bytes32 recipient, uint256 arbiterFee, uint32 nonce) external payable returns (uint64 sequence);
76-
77-
function transferTokensWithPayload(address token, uint256 amount, uint16 recipientChain, bytes32 recipient, uint32 nonce, bytes memory payload) external payable returns (uint64 sequence);
68+
function wrapAndTransferETH(uint16 recipientChain, bytes32 recipient, uint256 arbiterFee, uint32 nonce)
69+
external
70+
payable
71+
returns (uint64 sequence);
72+
73+
function wrapAndTransferETHWithPayload(uint16 recipientChain, bytes32 recipient, uint32 nonce, bytes memory payload)
74+
external
75+
payable
76+
returns (uint64 sequence);
77+
78+
function transferTokens(
79+
address token,
80+
uint256 amount,
81+
uint16 recipientChain,
82+
bytes32 recipient,
83+
uint256 arbiterFee,
84+
uint32 nonce
85+
) external payable returns (uint64 sequence);
86+
87+
function transferTokensWithPayload(
88+
address token,
89+
uint256 amount,
90+
uint16 recipientChain,
91+
bytes32 recipient,
92+
uint32 nonce,
93+
bytes memory payload
94+
) external payable returns (uint64 sequence);
7895

7996
function updateWrapped(bytes memory encodedVm) external returns (address token);
8097

@@ -92,15 +109,21 @@ interface ITokenBridge {
92109

93110
function encodeTransfer(Transfer memory transfer) external pure returns (bytes memory encoded);
94111

95-
function encodeTransferWithPayload(TransferWithPayload memory transfer) external pure returns (bytes memory encoded);
112+
function encodeTransferWithPayload(TransferWithPayload memory transfer)
113+
external
114+
pure
115+
returns (bytes memory encoded);
96116

97117
function parsePayloadID(bytes memory encoded) external pure returns (uint8 payloadID);
98118

99119
function parseAssetMeta(bytes memory encoded) external pure returns (AssetMeta memory meta);
100120

101121
function parseTransfer(bytes memory encoded) external pure returns (Transfer memory transfer);
102122

103-
function parseTransferWithPayload(bytes memory encoded) external pure returns (TransferWithPayload memory transfer);
123+
function parseTransferWithPayload(bytes memory encoded)
124+
external
125+
pure
126+
returns (TransferWithPayload memory transfer);
104127

105128
function governanceActionIsConsumed(bytes32 hash) external view returns (bool);
106129

@@ -148,5 +171,8 @@ interface ITokenBridge {
148171

149172
function parseUpgrade(bytes memory encoded) external pure returns (UpgradeContract memory chain);
150173

151-
function parseRecoverChainId(bytes memory encodedRecoverChainId) external pure returns (RecoverChainId memory rci);
174+
function parseRecoverChainId(bytes memory encodedRecoverChainId)
175+
external
176+
pure
177+
returns (RecoverChainId memory rci);
152178
}

src/interfaces/IWormhole.sol

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -25,26 +25,22 @@ interface IWormhole {
2525
uint64 sequence;
2626
uint8 consistencyLevel;
2727
bytes payload;
28-
2928
uint32 guardianSetIndex;
3029
Signature[] signatures;
31-
3230
bytes32 hash;
3331
}
3432

3533
struct ContractUpgrade {
3634
bytes32 module;
3735
uint8 action;
3836
uint16 chain;
39-
4037
address newContract;
4138
}
4239

4340
struct GuardianSetUpgrade {
4441
bytes32 module;
4542
uint8 action;
4643
uint16 chain;
47-
4844
GuardianSet newGuardianSet;
4945
uint32 newGuardianSetIndex;
5046
}
@@ -53,48 +49,52 @@ interface IWormhole {
5349
bytes32 module;
5450
uint8 action;
5551
uint16 chain;
56-
5752
uint256 messageFee;
5853
}
5954

6055
struct TransferFees {
6156
bytes32 module;
6257
uint8 action;
6358
uint16 chain;
64-
6559
uint256 amount;
6660
bytes32 recipient;
6761
}
6862

6963
struct RecoverChainId {
7064
bytes32 module;
7165
uint8 action;
72-
7366
uint256 evmChainId;
7467
uint16 newChainId;
7568
}
7669

77-
event LogMessagePublished(address indexed sender, uint64 sequence, uint32 nonce, bytes payload, uint8 consistencyLevel);
70+
event LogMessagePublished(
71+
address indexed sender, uint64 sequence, uint32 nonce, bytes payload, uint8 consistencyLevel
72+
);
7873
event ContractUpgraded(address indexed oldContract, address indexed newContract);
7974
event GuardianSetAdded(uint32 indexed index);
8075

81-
function publishMessage(
82-
uint32 nonce,
83-
bytes memory payload,
84-
uint8 consistencyLevel
85-
) external payable returns (uint64 sequence);
76+
function publishMessage(uint32 nonce, bytes memory payload, uint8 consistencyLevel)
77+
external
78+
payable
79+
returns (uint64 sequence);
8680

8781
function initialize() external;
8882

89-
function parseAndVerifyVM(bytes calldata encodedVM) external view returns (VM memory vm, bool valid, string memory reason);
83+
function parseAndVerifyVM(bytes calldata encodedVM)
84+
external
85+
view
86+
returns (VM memory vm, bool valid, string memory reason);
9087

9188
function verifyVM(VM memory vm) external view returns (bool valid, string memory reason);
9289

93-
function verifySignatures(bytes32 hash, Signature[] memory signatures, GuardianSet memory guardianSet) external pure returns (bool valid, string memory reason);
90+
function verifySignatures(bytes32 hash, Signature[] memory signatures, GuardianSet memory guardianSet)
91+
external
92+
pure
93+
returns (bool valid, string memory reason);
9494

9595
function parseVM(bytes memory encodedVM) external pure returns (VM memory vm);
9696

97-
function quorum(uint numGuardians) external pure returns (uint numSignaturesRequiredForQuorum);
97+
function quorum(uint256 numGuardians) external pure returns (uint256 numSignaturesRequiredForQuorum);
9898

9999
function getGuardianSet(uint32 index) external view returns (GuardianSet memory);
100100

@@ -122,13 +122,19 @@ interface IWormhole {
122122

123123
function parseContractUpgrade(bytes memory encodedUpgrade) external pure returns (ContractUpgrade memory cu);
124124

125-
function parseGuardianSetUpgrade(bytes memory encodedUpgrade) external pure returns (GuardianSetUpgrade memory gsu);
125+
function parseGuardianSetUpgrade(bytes memory encodedUpgrade)
126+
external
127+
pure
128+
returns (GuardianSetUpgrade memory gsu);
126129

127130
function parseSetMessageFee(bytes memory encodedSetMessageFee) external pure returns (SetMessageFee memory smf);
128131

129132
function parseTransferFees(bytes memory encodedTransferFees) external pure returns (TransferFees memory tf);
130133

131-
function parseRecoverChainId(bytes memory encodedRecoverChainId) external pure returns (RecoverChainId memory rci);
134+
function parseRecoverChainId(bytes memory encodedRecoverChainId)
135+
external
136+
pure
137+
returns (RecoverChainId memory rci);
132138

133139
function submitContractUpgrade(bytes memory _vm) external;
134140

0 commit comments

Comments
 (0)