Skip to content

Commit a71945a

Browse files
authoredAug 8, 2024
new TransferState that represents a refunded transfer (#663)
1 parent 1e8e7fb commit a71945a

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed
 

‎connect/src/types.ts

+16
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export enum TransferState {
1616
SourceFinalized, // Source chain transactions are finalized or whenever we have a message id
1717
InReview, // Transfer is in review (e.g. held by governor)
1818
Attested, // VAA or Circle Attestation is available
19+
Refunded, // Transfer failed and was refunded on the source chain
1920
DestinationInitiated, // Attestation is submitted to destination chain
2021
DestinationQueued, // Transfer is queued on destination chain
2122
DestinationFinalized, // Destination transaction is finalized
@@ -70,6 +71,14 @@ export interface AttestedTransferReceipt<AT, SC extends Chain = Chain, DC extend
7071
attestation: Required<AT>;
7172
}
7273

74+
export interface RefundedTransferReceipt<AT, SC extends Chain = Chain, DC extends Chain = Chain>
75+
extends BaseTransferReceipt<SC, DC> {
76+
state: TransferState.Refunded;
77+
originTxs: TransactionId<SC>[];
78+
refundTxs: TransactionId<SC>[];
79+
attestation: AT;
80+
}
81+
7382
export interface RedeemedTransferReceipt<AT, SC extends Chain = Chain, DC extends Chain = Chain>
7483
extends BaseTransferReceipt<SC, DC> {
7584
state: TransferState.DestinationInitiated;
@@ -131,6 +140,12 @@ export function isAttested<AT>(
131140
return receipt.state === TransferState.Attested;
132141
}
133142

143+
export function isRefunded<AT>(
144+
receipt: TransferReceipt<AT>,
145+
): receipt is RefundedTransferReceipt<AT> {
146+
return receipt.state === TransferState.Refunded;
147+
}
148+
134149
export function isRedeemed<AT>(
135150
receipt: TransferReceipt<AT>,
136151
): receipt is RedeemedTransferReceipt<AT> {
@@ -160,6 +175,7 @@ export type TransferReceipt<AT, SC extends Chain = Chain, DC extends Chain = Cha
160175
| SourceFinalizedTransferReceipt<AT, SC, DC>
161176
| InReviewTransferReceipt<AT, SC, DC>
162177
| AttestedTransferReceipt<AT, SC, DC>
178+
| RefundedTransferReceipt<AT, SC, DC>
163179
| RedeemedTransferReceipt<AT, SC, DC>
164180
| DestinationQueuedTransferReceipt<AT, SC, DC>
165181
| CompletedTransferReceipt<AT, SC, DC>;

0 commit comments

Comments
 (0)