Master tracking issue for open Atomic Swap work in the core wallet.
Regression: swap offers rejected as foreign (breaks UI offer board)
Since d4d0e78 ("wallet: AtomicSwapTransaction - using nonce addresses", shipped with 7.3) FillSwapTxParams() allocates a bare key id via AllocateKidRange(1) and no longer persists a WalletAddress. SwapOffersBoard::publishOffer() only recognizes publishers found in IWalletDB::getAddresses(true), so every newly created offer throws ForeignOfferException ("Offer has foreign Pk and will not be published"). User reports: BeamMW/beam-ui#1017, BeamMW/beam-ui#1073. A fix (create and persist the publisher address in FillSwapTxParams(), as the v6 API's createWID() did before the change) is being prepared.
Follow-up to the fix: define the publisher-address lifecycle (expire vs. delete on offer expiration/cancel/accept). The address must stay resolvable while SwapOffersBoard may still re-broadcast the offer status (sendUpdateToNetwork()/isOwnOffer() look it up in the own-address set), i.e. roughly for the BBS message lifetime after the offer reaches a terminal state.
Sub-issues
UI-side issues are tracked in BeamMW/beam-ui#1267.
Master tracking issue for open Atomic Swap work in the core wallet.
Regression: swap offers rejected as foreign (breaks UI offer board)
Since d4d0e78 ("wallet: AtomicSwapTransaction - using nonce addresses", shipped with 7.3)
FillSwapTxParams()allocates a bare key id viaAllocateKidRange(1)and no longer persists aWalletAddress.SwapOffersBoard::publishOffer()only recognizes publishers found inIWalletDB::getAddresses(true), so every newly created offer throwsForeignOfferException("Offer has foreign Pk and will not be published"). User reports: BeamMW/beam-ui#1017, BeamMW/beam-ui#1073. A fix (create and persist the publisher address inFillSwapTxParams(), as the v6 API'screateWID()did before the change) is being prepared.Follow-up to the fix: define the publisher-address lifecycle (expire vs. delete on offer expiration/cancel/accept). The address must stay resolvable while
SwapOffersBoardmay still re-broadcast the offer status (sendUpdateToNetwork()/isOwnOffer()look it up in the own-address set), i.e. roughly for the BBS message lifetime after the offer reaches a terminal state.Sub-issues
UI-side issues are tracked in BeamMW/beam-ui#1267.