@@ -32,96 +32,79 @@ export class EvmMatchingEngine<N extends Network, C extends EvmChains>
3232 ) {
3333 super ( provider , contracts . matchingEngine , contracts . cctp . tokenMessenger ) ;
3434 }
35- registerRouter < RC extends Chain > (
36- sender : AccountAddress < C > ,
35+ async * registerRouter < RC extends Chain > (
36+ sender : AnyEvmAddress ,
3737 chain : RC ,
3838 cctpDomain : number ,
3939 router : AccountAddress < RC > ,
4040 tokenAccount ?: AccountAddress < C > | undefined ,
41- ) : AsyncGenerator < UnsignedTransaction < N , C > , any , unknown > {
41+ ) {
4242 throw new Error ( "Method not implemented." ) ;
4343 }
44- updateRouter < RC extends Chain > (
45- sender : AccountAddress < C > ,
44+ async * updateRouter < RC extends Chain > (
45+ sender : AnyEvmAddress ,
4646 chain : RC ,
4747 cctpDomain : number ,
4848 router : AccountAddress < RC > ,
4949 tokenAccount ?: AccountAddress < C > | undefined ,
50- ) : AsyncGenerator < UnsignedTransaction < N , C > , any , unknown > {
50+ ) {
5151 throw new Error ( "Method not implemented." ) ;
5252 }
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 ) {
5754 throw new Error ( "Method not implemented." ) ;
5855 }
59- setPause (
60- sender : AccountAddress < C > ,
61- pause : boolean ,
62- ) : AsyncGenerator < UnsignedTransaction < N , C > , any , unknown > {
56+ async * setPause ( sender : AnyEvmAddress , pause : boolean ) {
6357 throw new Error ( "Method not implemented." ) ;
6458 }
65- setConfiguration ( config : {
59+ async * setConfiguration ( config : {
6660 enabled : boolean ;
6761 maxAmount : bigint ;
6862 baseFee : bigint ;
6963 initAuctionFee : bigint ;
70- } ) : AsyncGenerator < UnsignedTransaction < N , C > , any , unknown > {
64+ } ) {
7165 throw new Error ( "Method not implemented." ) ;
7266 }
73- placeInitialOffer (
74- sender : AccountAddress < C > ,
67+ async * placeInitialOffer (
68+ sender : AnyEvmAddress ,
7569 vaa : VAA < "FastTransfer:FastMarketOrder" > ,
7670 offerPrice : bigint ,
7771 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" ) ;
8080 }
81- improveOffer (
82- sender : AccountAddress < C > ,
81+ async * improveOffer (
82+ sender : AnyEvmAddress ,
8383 vaa : VAA < "FastTransfer:FastMarketOrder" > ,
8484 offer : bigint ,
85- ) : AsyncGenerator < UnsignedTransaction < N , C > , any , unknown > {
85+ ) {
8686 throw new Error ( "Method not implemented." ) ;
8787 }
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" > ) {
9289 throw new Error ( "Method not implemented." ) ;
9390 }
94- prepareOrderResponse (
91+ async * prepareOrderResponse (
9592 sender : AccountAddress < C > ,
9693 vaa : VAA < "FastTransfer:FastMarketOrder" > ,
9794 deposit : VAA < "FastTransfer:CctpDeposit" > ,
9895 cctp : CircleBridge . Attestation ,
99- ) : AsyncGenerator < UnsignedTransaction < N , C > , any , unknown > {
96+ ) {
10097 throw new Error ( "Method not implemented." ) ;
10198 }
102- settleOrder (
99+ async * settleOrder (
103100 sender : AccountAddress < C > ,
104101 fast : VAA < "FastTransfer:FastMarketOrder" > ,
105102 deposit ?: VAA < "FastTransfer:CctpDeposit" > | undefined ,
106103 cctp ?: CircleBridge . Attestation | undefined ,
107- ) : AsyncGenerator < UnsignedTransaction < N , C > , any , unknown > {
104+ ) {
108105 throw new Error ( "Method not implemented." ) ;
109106 }
110107
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-
125108 private createUnsignedTx (
126109 txReq : ethers . TransactionRequest ,
127110 description : string ,
0 commit comments