Skip to content

Commit 9c6113c

Browse files
committed
chore(aptos): bunch of ibc fixes
Signed-off-by: aeryz <[email protected]>
1 parent 48ef394 commit 9c6113c

File tree

7 files changed

+163
-159
lines changed

7 files changed

+163
-159
lines changed

aptos/ibc/sources/acknowledge_packet.move

Lines changed: 19 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -70,22 +70,19 @@ module ibc::acknowledge_packet {
7070

7171
use std::vector;
7272

73+
const E_NOT_ENOUGH_PACKETS: u64 = 34001;
74+
7375
public entry fun acknowledge_packet<T: key + store + drop>(
74-
port_id: address,
7576
packet_source_channels: vector<u32>,
7677
packet_destination_channels: vector<u32>,
77-
packet_datas: vector<vector<u8>>,
78+
packet_data: vector<vector<u8>>,
7879
packet_timeout_heights: vector<u64>,
7980
packet_timeout_timestamps: vector<u64>,
8081
acknowledgements: vector<vector<u8>>,
81-
maker: address,
8282
proof: vector<u8>,
83-
proof_height: u64
83+
proof_height: u64,
84+
relayer: address
8485
) {
85-
let port = ibc::get_port_id<T>();
86-
// assert!(port == port_id, E_UNAUTHORIZED);
87-
assert!(port == port_id, 2);
88-
8986
let packets: vector<Packet> = vector::empty();
9087
let i = 0;
9188
while (i < vector::length(&packet_source_channels)) {
@@ -94,39 +91,26 @@ module ibc::acknowledge_packet {
9491
packet::new(
9592
*vector::borrow(&packet_source_channels, i),
9693
*vector::borrow(&packet_destination_channels, i),
97-
*vector::borrow(&packet_datas, i),
94+
*vector::borrow(&packet_data, i),
9895
*vector::borrow(&packet_timeout_heights, i),
9996
*vector::borrow(&packet_timeout_timestamps, i)
10097
)
10198
);
10299
i = i + 1;
103100
};
104101
let l = vector::length(&packets);
105-
// assert!(l > 0, E_NOT_ENOUGH_PACKETS);
106-
assert!(l > 0, 1);
102+
assert!(l > 0, E_NOT_ENOUGH_PACKETS);
107103

108-
let first_packet = *vector::borrow(&packets, 0);
109-
let source_channel_id = packet::source_channel_id(&first_packet);
110-
let destination_channel_id = packet::destination_channel_id(&first_packet);
104+
let source_channel_id = packet::source_channel_id(vector::borrow(&packets, 0));
111105

112106
let channel = ibc::ensure_channel_state(source_channel_id);
113107
let client_id = ibc::ensure_connection_state(channel::connection_id(&channel));
114108

115-
let commitment_key;
116-
let commitment_value;
117-
if (l == 1) {
118-
commitment_key = commitment::batch_receipts_commitment_key(
119-
commitment::commit_packet(&first_packet)
120-
);
121-
commitment_value = commitment::commit_ack(
122-
*vector::borrow(&acknowledgements, 0)
123-
);
124-
} else {
125-
commitment_key = commitment::batch_receipts_commitment_key(
109+
let commitment_key =
110+
commitment::batch_receipts_commitment_key(
126111
commitment::commit_packets(&packets)
127112
);
128-
commitment_value = commitment::commit_acks(acknowledgements);
129-
};
113+
let commitment_value = commitment::commit_acks(acknowledgements);
130114

131115
let err =
132116
ibc::verify_commitment(
@@ -144,22 +128,21 @@ module ibc::acknowledge_packet {
144128
let i = 0;
145129
while (i < l) {
146130
let packet = *vector::borrow(&packets, i);
147-
let commitment_key =
148-
commitment::batch_packets_commitment_key(
149-
commitment::commit_packet(&packet)
150-
);
151-
ibc::remove_commitment(commitment_key);
152-
131+
ibc::mark_packet_as_acknowledged(&packet);
153132
let acknowledgement = *vector::borrow(&acknowledgements, i);
154-
// onAcknowledgementPacket(...)
155133

156134
let param =
157-
helpers::pack_acknowledge_packet_params(packet, acknowledgement, @ibc);
135+
helpers::pack_acknowledge_packet_params(packet, acknowledgement, relayer);
158136
engine::dispatch<T>(param);
159137

160138
dispatcher::delete_storage<T>();
161139

162-
ibc::emit_acknowledge_packet(packet, acknowledgement, maker);
140+
ibc::emit_acknowledge_packet(
141+
packet,
142+
commitment::commit_packet(&packet),
143+
acknowledgement,
144+
relayer
145+
);
163146

164147
i = i + 1;
165148
}

aptos/ibc/sources/cometbls_lc.move

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -222,20 +222,20 @@ module ibc::cometbls_lc {
222222
);
223223
};
224224

225-
// assert!(
226-
// groth16_verifier::verify_zkp(
227-
// &state.client_state.chain_id,
228-
// &consensus_state.next_validators_hash,
229-
// light_header_as_input_hash(&header.signed_header),
230-
// &header.zero_knowledge_proof
231-
// ),
232-
// E_INVALID_ZKP
233-
// );
225+
assert!(
226+
groth16_verifier::verify_zkp(
227+
&state.client_state.chain_id,
228+
&consensus_state.next_validators_hash,
229+
light_header_as_input_hash(&header.signed_header),
230+
&header.zero_knowledge_proof
231+
),
232+
E_INVALID_ZKP
233+
);
234234
}
235235

236236
public(friend) fun update_client(
237-
client_id: u32, client_msg: vector<u8>
238-
): (vector<u8>, vector<vector<u8>>, vector<u64>) acquires State {
237+
client_id: u32, client_msg: vector<u8>, _relayer: address
238+
): (vector<u8>, vector<u8>, u64) acquires State {
239239
let header = decode_header(client_msg);
240240

241241
let state = borrow_global_mut<State>(get_client_address(client_id));
@@ -272,8 +272,8 @@ module ibc::cometbls_lc {
272272

273273
(
274274
encode_client_state(&state.client_state),
275-
vector[encode_consensus_state(&new_consensus_state)],
276-
vector[new_height]
275+
encode_consensus_state(&new_consensus_state),
276+
new_height
277277
)
278278
}
279279

0 commit comments

Comments
 (0)