Skip to content

Commit 15d7432

Browse files
committed
chore: added acknowledgement check for OnAcknowledgementPacket to fail in case of non-failure ack. Voucher can be refund only in case of failure
1 parent 352d498 commit 15d7432

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

cardano/onchain/validators/minting_voucher.ak

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ use ibc/apps/transfer/transfer_module_redeemer.{Transfer}
1616
use ibc/apps/transfer/types/coin as transfer_coin
1717
use ibc/apps/transfer/types/fungible_token_packet_data.{FungibleTokenPacketData}
1818
use ibc/auth.{AuthToken}
19+
use ibc/core/ics_004/types/acknowledgement_response.{AcknowledgementError}
1920
use ibc/core/ics_005/types/ibc_module_redeemer.{
2021
Callback, IBCModuleRedeemer, OnAcknowledgementPacket, OnRecvPacket,
2122
OnTimeoutPacket, Operator, TransferModuleData, TransferModuleOperator,
@@ -139,7 +140,11 @@ validator mint_voucher(module_token: AuthToken) {
139140
let data =
140141
when ibc_module_callback is {
141142
OnTimeoutPacket { data, .. } -> data
142-
OnAcknowledgementPacket { data, .. } -> data
143+
OnAcknowledgementPacket { acknowledgement, data, .. } ->
144+
when acknowledgement.response is {
145+
AcknowledgementError { .. } -> data
146+
_ -> fail
147+
}
143148
_ -> fail
144149
}
145150
expect TransferModuleData(data) = data

0 commit comments

Comments
 (0)