Skip to content

Commit 64d3d06

Browse files
committed
feat: add all code
1 parent c43966a commit 64d3d06

File tree

7 files changed

+194
-79
lines changed

7 files changed

+194
-79
lines changed

packages/message_transmitter/sources/attester.move

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ module message_transmitter::attester {
4141
const ENOT_OWNER: u64 = 1;
4242
const EATTESTER_ALREADY_ENABLED: u64 = 2;
4343
const ETOO_FEW_ENABLED_ATTESTERS: u64 = 3;
44-
const ELOW_SIGNATURE_THRESHOLD: u64 = 4;
44+
const ENUM_ATTESTERS_SHOULD_BE_GREATER_THAN_SIGNATURE_THRESHOLD: u64 = 4;
4545
const ENOT_ATTESTER_MANAGER: u64 = 5;
4646
const EINVALID_ATTESTER_MANAGER: u64 = 6;
4747
const EINVALID_SIGNATURE_THRESHOLD: u64 = 7;
@@ -146,7 +146,7 @@ module message_transmitter::attester {
146146
assert!(vector::length<address>(&enabled_attesters) > 1, error::invalid_state(ETOO_FEW_ENABLED_ATTESTERS));
147147
assert!(
148148
vector::length<address>(&enabled_attesters) > state::get_signature_threshold(),
149-
error::invalid_state(ELOW_SIGNATURE_THRESHOLD)
149+
error::invalid_state(ENUM_ATTESTERS_SHOULD_BE_GREATER_THAN_SIGNATURE_THRESHOLD)
150150
);
151151
state::remove_attester(attester);
152152
event::emit(AttesterDisabled { attester });
@@ -186,21 +186,13 @@ module message_transmitter::attester {
186186
event::emit(SignatureThresholdUpdated { old_signature_threshold, new_signature_threshold });
187187
}
188188

189-
// -----------------------------
190-
// ----- Friend Functions ------
191-
// -----------------------------
192-
193-
public(friend) fun init_attester(caller: &signer, attester: address) {
194-
enable_attester(caller, attester);
195-
}
196-
197189
/// Validates the attestation for the given message
198190
/// Aborts if:
199191
/// - length of attestation != ATTESTATION_SIGNATURE_LENGTH * signature_threshold
200192
/// - there are duplicate signers
201193
/// - signer is not one of the enabled attesters
202194
/// - addresses recovered are not in increasing order
203-
public(friend) fun verify_attestation_signature(message: &vector<u8>, attestation: &vector<u8>) {
195+
public fun verify_attestation_signature(message: &vector<u8>, attestation: &vector<u8>) {
204196
// Validate Attestation Size
205197
let signature_threshold = state::get_signature_threshold();
206198
assert!(
@@ -240,6 +232,14 @@ module message_transmitter::attester {
240232
}
241233
}
242234

235+
// -----------------------------
236+
// ----- Friend Functions ------
237+
// -----------------------------
238+
239+
public(friend) fun init_attester(caller: &signer, attester: address) {
240+
enable_attester(caller, attester);
241+
}
242+
243243
// -----------------------------
244244
// ----- Private Functions -----
245245
// -----------------------------
@@ -253,7 +253,7 @@ module message_transmitter::attester {
253253
// Retrieve and validate signature id
254254
let recovery_id = *vector::borrow(signature, SIGNATURE_LENGTH - 1) - 27;
255255
assert!(
256-
vector::contains(&vector[0, 1, 2, 3], &recovery_id),
256+
vector::contains(&vector[0, 1], &recovery_id),
257257
error::invalid_argument(EINVALID_SIGNATURE)
258258
);
259259

@@ -286,15 +286,15 @@ module message_transmitter::attester {
286286
let address_bytes = keccak256(*public_key);
287287

288288
// EVM address is the made of last 20 bytes of the hash
289-
let address = vector::slice(
289+
let address_without_prefix = vector::slice(
290290
&address_bytes,
291291
vector::length(&address_bytes) - 20,
292292
vector::length(&address_bytes)
293293
);
294294

295295
// Add 0x0 prefix to make the address 32 bytes
296296
let address_with_prefix = x"000000000000000000000000";
297-
vector::append(&mut address_with_prefix, address);
297+
vector::append(&mut address_with_prefix, address_without_prefix);
298298
from_bcs::to_address(address_with_prefix)
299299
}
300300

packages/message_transmitter/sources/message_transmitter.move

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -362,7 +362,7 @@ module message_transmitter::message_transmitter {
362362
// -----------------------------
363363

364364
/// Generate signer from the `ExtendRef`
365-
public(friend) fun get_signer(): signer acquires ObjectController {
365+
fun get_signer(): signer acquires ObjectController {
366366
let object_address = state::get_object_address();
367367
let object_controller = borrow_global<ObjectController>(object_address);
368368
let object_signer = object::generate_signer_for_extending(
@@ -495,6 +495,11 @@ module message_transmitter::message_transmitter {
495495
(message, attestation)
496496
}
497497

498+
#[test_only]
499+
public fun get_message_from_event(message_sent_event: &MessageSent): vector<u8> {
500+
message_sent_event.message
501+
}
502+
498503
// Message Transmitter Initialization Tests
499504

500505
#[test(owner = @deployer)]

packages/message_transmitter/sources/state.move

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -54,13 +54,13 @@ module message_transmitter::state {
5454

5555
public(friend) fun init_state(
5656
owner: &signer,
57-
admin: &signer,
57+
object_signer: &signer,
5858
local_domain: u32,
5959
version: u32,
6060
max_message_body_size: u64
6161
) {
6262
move_to(
63-
admin,
63+
object_signer,
6464
State {
6565
local_domain,
6666
version,
@@ -132,10 +132,6 @@ module message_transmitter::state {
132132
// ---------- Setters ----------
133133
// -----------------------------
134134

135-
public(friend) fun set_version(version: u32) acquires State {
136-
borrow_global_mut<State>(get_object_address()).version = version
137-
}
138-
139135
public(friend) fun set_max_message_body_size(max_message_body_size: u64) acquires State {
140136
borrow_global_mut<State>(get_object_address()).max_message_body_size = max_message_body_size
141137
}
@@ -184,7 +180,7 @@ module message_transmitter::state {
184180
use aptos_extensions::pausable::{Self, PauseState};
185181

186182
#[test_only]
187-
public(friend) fun init_test_state(caller: &signer) {
183+
public fun init_test_state(caller: &signer) {
188184
let resource_account_address = account::create_resource_address(&@deployer, b"test_seed_mt");
189185
let resource_account_signer = create_signer_for_test(resource_account_address);
190186
let constructor_ref = object::create_named_object(&resource_account_signer, SEED_NAME);
@@ -204,6 +200,11 @@ module message_transmitter::state {
204200
ownable::set_owner_for_testing(get_object_address(), owner_address);
205201
}
206202

203+
#[test_only]
204+
public fun set_version(version: u32) acquires State {
205+
borrow_global_mut<State>(get_object_address()).version = version
206+
}
207+
207208
// -----------------------------
208209
// ---------- Getters ----------
209210
// -----------------------------
@@ -281,14 +282,6 @@ module message_transmitter::state {
281282
// ---------- Setters ----------
282283
// -----------------------------
283284

284-
#[test(owner = @message_transmitter)]
285-
fun test_set_version(owner: &signer) acquires State {
286-
init_test_state(owner);
287-
let version = 10;
288-
set_version(version);
289-
assert!(get_version() == version, 0);
290-
}
291-
292285
#[test(owner = @message_transmitter)]
293286
fun test_set_max_message_body_size(owner: &signer) acquires State {
294287
init_test_state(owner);

packages/token_messenger_minter/sources/state.move

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,10 @@ module token_messenger_minter::state {
130130
smart_table::length(&borrow_global<State>(get_object_address()).remote_token_messengers)
131131
}
132132

133+
public(friend) fun get_num_linked_tokens(): u64 acquires State {
134+
smart_table::length(&borrow_global<State>(get_object_address()).remote_tokens_to_local_tokens)
135+
}
136+
133137
public(friend) fun get_object_address(): address {
134138
object::create_object_address(&@token_messenger_minter, SEED_NAME)
135139
}
@@ -138,10 +142,6 @@ module token_messenger_minter::state {
138142
// ---------- Setters ----------
139143
// -----------------------------
140144

141-
public(friend) fun set_message_body_version(message_body_version: u32) acquires State {
142-
borrow_global_mut<State>(get_object_address()).message_body_version = message_body_version;
143-
}
144-
145145
public(friend) fun add_remote_token_messenger(domain: u32, token_messenger: address) acquires State {
146146
smart_table::add(
147147
&mut borrow_global_mut<State>(get_object_address()).remote_token_messengers,
@@ -210,7 +210,7 @@ module token_messenger_minter::state {
210210
// -----------------------------
211211

212212
#[test_only]
213-
public(friend) fun init_test_state(caller: &signer) {
213+
public fun init_test_state(caller: &signer) {
214214
let resource_account_address = account::create_resource_address(&@deployer, b"test_seed_tmm");
215215
let resource_account_signer = create_signer_for_test(resource_account_address);
216216
let constructor_ref = object::create_named_object(&resource_account_signer, SEED_NAME);
@@ -221,10 +221,15 @@ module token_messenger_minter::state {
221221
}
222222

223223
#[test_only]
224-
public(friend) fun set_paused(pauser: &signer) {
224+
public fun set_paused(pauser: &signer) {
225225
pausable::test_pause(pauser, object::address_to_object<PauseState>(get_object_address()));
226226
}
227227

228+
#[test_only]
229+
public fun set_message_body_version(message_body_version: u32) acquires State {
230+
borrow_global_mut<State>(get_object_address()).message_body_version = message_body_version;
231+
}
232+
228233
// -----------------------------
229234
// ---------- Getters ----------
230235
// -----------------------------
@@ -342,18 +347,20 @@ module token_messenger_minter::state {
342347
assert!(hash == @0x8ae28a8d79ea231bafe63fb643c45dce060b33a1c2e122d161c4d8b75997436, 0);
343348
}
344349

350+
#[test(owner = @token_messenger_minter)]
351+
fun test_get_num_linked_tokens(owner: &signer) acquires State {
352+
init_test_state(owner);
353+
smart_table::add(
354+
&mut borrow_global_mut<State>(get_object_address()).remote_tokens_to_local_tokens, @0x100, @0x101
355+
);
356+
assert!(get_num_linked_tokens() == 1, 0)
357+
}
358+
345359

346360
// -----------------------------
347361
// ---------- Setters ----------
348362
// -----------------------------
349363

350-
#[test(owner = @token_messenger_minter)]
351-
fun test_set_message_body_version(owner: &signer) acquires State {
352-
init_test_state(owner);
353-
set_message_body_version(5);
354-
assert!(get_message_body_version() == 5, 0);
355-
}
356-
357364
#[test(owner = @token_messenger_minter)]
358365
fun test_add_remote_token_messenger(owner: &signer) acquires State {
359366
init_test_state(owner);

0 commit comments

Comments
 (0)