@@ -32,96 +32,79 @@ export class EvmMatchingEngine<N extends Network, C extends EvmChains>
32
32
) {
33
33
super ( provider , contracts . matchingEngine , contracts . cctp . tokenMessenger ) ;
34
34
}
35
- registerRouter < RC extends Chain > (
36
- sender : AccountAddress < C > ,
35
+ async * registerRouter < RC extends Chain > (
36
+ sender : AnyEvmAddress ,
37
37
chain : RC ,
38
38
cctpDomain : number ,
39
39
router : AccountAddress < RC > ,
40
40
tokenAccount ?: AccountAddress < C > | undefined ,
41
- ) : AsyncGenerator < UnsignedTransaction < N , C > , any , unknown > {
41
+ ) {
42
42
throw new Error ( "Method not implemented." ) ;
43
43
}
44
- updateRouter < RC extends Chain > (
45
- sender : AccountAddress < C > ,
44
+ async * updateRouter < RC extends Chain > (
45
+ sender : AnyEvmAddress ,
46
46
chain : RC ,
47
47
cctpDomain : number ,
48
48
router : AccountAddress < RC > ,
49
49
tokenAccount ?: AccountAddress < C > | undefined ,
50
- ) : AsyncGenerator < UnsignedTransaction < N , C > , any , unknown > {
50
+ ) {
51
51
throw new Error ( "Method not implemented." ) ;
52
52
}
53
- disableRouter < RC extends Chain > (
54
- sender : AccountAddress < C > ,
55
- chain : RC ,
56
- ) : AsyncGenerator < UnsignedTransaction < N , C > , any , unknown > {
53
+ async * disableRouter < RC extends Chain > ( sender : AnyEvmAddress , chain : RC ) {
57
54
throw new Error ( "Method not implemented." ) ;
58
55
}
59
- setPause (
60
- sender : AccountAddress < C > ,
61
- pause : boolean ,
62
- ) : AsyncGenerator < UnsignedTransaction < N , C > , any , unknown > {
56
+ async * setPause ( sender : AnyEvmAddress , pause : boolean ) {
63
57
throw new Error ( "Method not implemented." ) ;
64
58
}
65
- setConfiguration ( config : {
59
+ async * setConfiguration ( config : {
66
60
enabled : boolean ;
67
61
maxAmount : bigint ;
68
62
baseFee : bigint ;
69
63
initAuctionFee : bigint ;
70
- } ) : AsyncGenerator < UnsignedTransaction < N , C > , any , unknown > {
64
+ } ) {
71
65
throw new Error ( "Method not implemented." ) ;
72
66
}
73
- placeInitialOffer (
74
- sender : AccountAddress < C > ,
67
+ async * placeInitialOffer (
68
+ sender : AnyEvmAddress ,
75
69
vaa : VAA < "FastTransfer:FastMarketOrder" > ,
76
70
offerPrice : bigint ,
77
71
totalDeposit ?: bigint | undefined ,
78
- ) : AsyncGenerator < UnsignedTransaction < N , C > , any , unknown > {
79
- throw new Error ( "Method not implemented." ) ;
72
+ ) {
73
+ const from = new EvmAddress ( sender ) . unwrap ( ) ;
74
+ const txReq = await this . connect ( this . provider ) . placeInitialBidTx (
75
+ serialize ( vaa ) ,
76
+ offerPrice ,
77
+ ) ;
78
+
79
+ yield this . createUnsignedTx ( { ...txReq , from } , "MatchingEngine.placeInitialOffer" ) ;
80
80
}
81
- improveOffer (
82
- sender : AccountAddress < C > ,
81
+ async * improveOffer (
82
+ sender : AnyEvmAddress ,
83
83
vaa : VAA < "FastTransfer:FastMarketOrder" > ,
84
84
offer : bigint ,
85
- ) : AsyncGenerator < UnsignedTransaction < N , C > , any , unknown > {
85
+ ) {
86
86
throw new Error ( "Method not implemented." ) ;
87
87
}
88
- executeFastOrder (
89
- sender : AccountAddress < C > ,
90
- vaa : VAA < "FastTransfer:FastMarketOrder" > ,
91
- ) : AsyncGenerator < UnsignedTransaction < N , C > , any , unknown > {
88
+ async * executeFastOrder ( sender : AnyEvmAddress , vaa : VAA < "FastTransfer:FastMarketOrder" > ) {
92
89
throw new Error ( "Method not implemented." ) ;
93
90
}
94
- prepareOrderResponse (
91
+ async * prepareOrderResponse (
95
92
sender : AccountAddress < C > ,
96
93
vaa : VAA < "FastTransfer:FastMarketOrder" > ,
97
94
deposit : VAA < "FastTransfer:CctpDeposit" > ,
98
95
cctp : CircleBridge . Attestation ,
99
- ) : AsyncGenerator < UnsignedTransaction < N , C > , any , unknown > {
96
+ ) {
100
97
throw new Error ( "Method not implemented." ) ;
101
98
}
102
- settleOrder (
99
+ async * settleOrder (
103
100
sender : AccountAddress < C > ,
104
101
fast : VAA < "FastTransfer:FastMarketOrder" > ,
105
102
deposit ?: VAA < "FastTransfer:CctpDeposit" > | undefined ,
106
103
cctp ?: CircleBridge . Attestation | undefined ,
107
- ) : AsyncGenerator < UnsignedTransaction < N , C > , any , unknown > {
104
+ ) {
108
105
throw new Error ( "Method not implemented." ) ;
109
106
}
110
107
111
- //async *redeemFill(
112
- // sender: AnyEvmAddress,
113
- // vaa: VAA<"FastTransfer:CctpDeposit"> | VAA<"FastTransfer:FastFill">,
114
- // cctp?: CircleBridge.Attestation,
115
- //) {
116
- // const from = new EvmAddress(sender).unwrap();
117
- // const txReq = await this.redeemFillTx({
118
- // encodedWormholeMessage: serialize(vaa),
119
- // circleBridgeMessage: cctp ? CircleBridge.serialize(cctp.message) : new Uint8Array(),
120
- // circleAttestation: cctp ? encoding.hex.decode(cctp.attestation!) : new Uint8Array(),
121
- // });
122
- // yield this.createUnsignedTx({ ...txReq, from }, "TokenRouter.redeemFill");
123
- //}
124
-
125
108
private createUnsignedTx (
126
109
txReq : ethers . TransactionRequest ,
127
110
description : string ,
0 commit comments