@@ -223,9 +223,9 @@ func (c *contractorV0) vector(ctx context.Context, locator []byte) (*dexeth.Swap
223223 vector := & dexeth.SwapVector {
224224 From : swap .Participant ,
225225 To : swap .Initiator ,
226- Value : dexeth . WeiToGwei ( swap .Value ) ,
226+ Value : swap .Value ,
227227 SecretHash : secretHash ,
228- LockTime : uint64 (swap .LockTime .UnixMilli ()),
228+ LockTime : uint64 (swap .LockTime .Unix ()),
229229 }
230230 return vector , nil
231231}
@@ -245,9 +245,9 @@ func (c *contractorV0) statusAndVector(ctx context.Context, locator []byte) (*de
245245 vector := & dexeth.SwapVector {
246246 From : swap .Participant ,
247247 To : swap .Initiator ,
248- Value : dexeth . WeiToGwei ( swap .Value ) ,
248+ Value : swap .Value ,
249249 SecretHash : secretHash ,
250- LockTime : uint64 (swap .LockTime .UnixMilli ()),
250+ LockTime : uint64 (swap .LockTime .Unix ()),
251251 }
252252 status := & dexeth.SwapStatus {
253253 Step : swap .State ,
@@ -452,7 +452,7 @@ func (c *erc20Contractor) balance(ctx context.Context) (*big.Int, error) {
452452// allowance exposes the read-only allowance method of the erc20 token contract.
453453func (c * erc20Contractor ) allowance (ctx context.Context ) (* big.Int , error ) {
454454 callOpts := & bind.CallOpts {
455- Pending : true ,
455+ // Pending: true, // Seeing errors on even simnet that say "backend does not support pending state"
456456 From : c .acct ,
457457 Context : ctx ,
458458 }
@@ -585,8 +585,7 @@ func (c *tokenContractorV0) tokenAddress() common.Address {
585585
586586type contractorV1 struct {
587587 contractV1
588- abi * abi.ABI
589- // net dex.Network
588+ abi * abi.ABI
590589 contractAddr common.Address
591590 acctAddr common.Address
592591 cb bind.ContractBackend
@@ -598,19 +597,18 @@ type contractorV1 struct {
598597var _ contractor = (* contractorV1 )(nil )
599598
600599func newV1Contractor (net dex.Network , contractAddr , acctAddr common.Address , cb bind.ContractBackend ) (contractor , error ) {
601-
602600 c , err := swapv1 .NewETHSwap (contractAddr , cb )
603601 if err != nil {
604602 return nil , err
605603 }
606604 return & contractorV1 {
607- contractV1 : c ,
608- abi : dexeth .ABIs [1 ],
609- // net: net,
605+ contractV1 : c ,
606+ abi : dexeth .ABIs [1 ],
610607 contractAddr : contractAddr ,
611608 acctAddr : acctAddr ,
612609 cb : cb ,
613610 atomize : dexeth .WeiToGwei ,
611+ evmify : dexeth .GweiToWei ,
614612 }, nil
615613}
616614
@@ -672,7 +670,7 @@ func (c *contractorV1) initiate(txOpts *bind.TransactOpts, contracts []*asset.Co
672670 v := & dexeth.SwapVector {
673671 From : c .acctAddr ,
674672 To : common .HexToAddress (ac .Address ),
675- Value : ac .Value ,
673+ Value : c . evmify ( ac .Value ) ,
676674 LockTime : ac .LockTime ,
677675 }
678676 copy (v .SecretHash [:], ac .SecretHash )
@@ -698,7 +696,7 @@ func (c *contractorV1) redeem(txOpts *bind.TransactOpts, redeems []*asset.Redemp
698696
699697 // Not checking version from DecodeLocator because it was already
700698 // audited and incorrect version locator would err below anyway.
701- _ , locator , err := dexeth .DecodeLocator (r .Spends .Contract )
699+ _ , locator , err := dexeth .DecodeContractData (r .Spends .Contract )
702700 if err != nil {
703701 return nil , fmt .Errorf ("error parsing locator redeem: %w" , err )
704702 }
@@ -732,7 +730,7 @@ func (c *contractorV1) estimateInitGas(ctx context.Context, n int) (uint64, erro
732730 SecretHash : secretHash ,
733731 Initiator : c .acctAddr ,
734732 Participant : common .BytesToAddress (encode .RandomBytes (20 )),
735- Value : 1 ,
733+ Value : big . NewInt ( dexeth . GweiFactor ) ,
736734 })
737735 }
738736
@@ -807,23 +805,23 @@ func (c *contractorV1) isRefundable(locator []byte) (bool, error) {
807805
808806func (c * contractorV1 ) incomingValue (ctx context.Context , tx * types.Transaction ) (uint64 , error ) {
809807 if redeems , err := dexeth .ParseRedeemDataV1 (tx .Data ()); err == nil {
810- var redeemed uint64
808+ var redeemed * big. Int
811809 for _ , r := range redeems {
812- redeemed += r .Contract .Value
810+ redeemed . Add ( redeemed , r .Contract .Value )
813811 }
814- return redeemed , nil
812+ return c . atomize ( redeemed ) , nil
815813 }
816814 refund , err := dexeth .ParseRefundDataV1 (tx .Data ())
817815 if err != nil {
818816 return 0 , nil
819817 }
820- return refund .Value , nil
818+ return c . atomize ( refund .Value ) , nil
821819}
822820
823821func (c * contractorV1 ) outgoingValue (tx * types.Transaction ) (swapped uint64 ) {
824822 if inits , err := dexeth .ParseInitiateDataV1 (tx .Data ()); err == nil {
825823 for _ , init := range inits {
826- swapped += init .Value
824+ swapped += c . atomize ( init .Value )
827825 }
828826 }
829827 return
0 commit comments