forked from wormhole-foundation/wormhole
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMockBatchedVAASender.sol
53 lines (44 loc) · 1.25 KB
/
MockBatchedVAASender.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
// contracts/mock/MockBatchedVAASender.sol
// SPDX-License-Identifier: Apache 2
pragma solidity ^0.8.0;
import "../libraries/external/BytesLib.sol";
import "../interfaces/IWormhole.sol";
contract MockBatchedVAASender {
using BytesLib for bytes;
address wormholeCoreAddress;
function sendMultipleMessages(
uint32 nonce,
bytes memory payload,
uint8 consistencyLevel
)
public
payable
returns (
uint64 messageSequence0,
uint64 messageSequence1,
uint64 messageSequence2
)
{
messageSequence0 = wormholeCore().publishMessage{value: msg.value}(
nonce,
payload,
consistencyLevel
);
messageSequence1 = wormholeCore().publishMessage{value: msg.value}(
nonce,
payload,
consistencyLevel
);
messageSequence2 = wormholeCore().publishMessage{value: msg.value}(
nonce,
payload,
consistencyLevel
);
}
function wormholeCore() private view returns (IWormhole) {
return IWormhole(wormholeCoreAddress);
}
function setup(address _wormholeCore) public {
wormholeCoreAddress = _wormholeCore;
}
}