public async void CanFindTzbtcInitiateTestAsync()
        {
            var swap = new Swap
            {
                PaymentTx = new TezosTransaction {
                    From = "tz1aKTCbAUuea2RV9kxqRVRg3HT7f1RKnp6a"
                },
                IsInitiative         = true,
                TimeStamp            = new DateTime(637719808816320000),
                Side                 = Side.Buy,
                Qty                  = 2.476000088m,
                Price                = 0.07092383m,
                PartyRewardForRedeem = 0.00000368m,
                PartyAddress         = "tz1NDbWscowat4YkYoGmwKxZMFF4BRUQ6ZAW",
                SecretHash           = Hex.FromString("db743389701465c4bc399ece0bc2cfaebbf7638c552f70dd307350fd2cb4281f"),
                MakerNetworkFee      = 0,
            };

            var result = await Fa12SwapInitiatedHelper.TryToFindPaymentAsync(
                swap : swap,
                currency : Common.TzbtcMainNet);

            Assert.Null(result.Error);
            //Assert.NotNull(result.Value);
        }
Пример #2
0
        public override Task StartPartyPaymentControlAsync(
            Swap swap,
            CancellationToken cancellationToken = default)
        {
            Log.Debug("Start party payment control for swap {@swap}.", swap.Id);

            // initiator waits "accepted" event, acceptor waits "initiated" event
            var initiatedHandler = swap.IsInitiator
                ? new Func <Swap, CancellationToken, Task>(SwapAcceptedHandler)
                : new Func <Swap, CancellationToken, Task>(SwapInitiatedHandler);

            var lockTimeSeconds = swap.IsInitiator
                ? DefaultAcceptorLockTimeInSeconds
                : DefaultInitiatorLockTimeInSeconds;

            var refundTimeUtcInSec = new DateTimeOffset(swap.TimeStamp.ToUniversalTime().AddSeconds(lockTimeSeconds)).ToUnixTimeSeconds();

            _ = Fa12SwapInitiatedHelper.StartSwapInitiatedControlAsync(
                swap: swap,
                currency: Fa12Config,
                tezos: XtzConfig,
                refundTimeStamp: refundTimeUtcInSec,
                interval: ConfirmationCheckInterval,
                initiatedHandler: initiatedHandler,
                canceledHandler: SwapCanceledHandler,
                cancellationToken: cancellationToken);

            return(Task.CompletedTask);
        }
Пример #3
0
        public override async Task <Result <IBlockchainTransaction> > TryToFindPaymentAsync(
            Swap swap,
            CancellationToken cancellationToken = default)
        {
            var currency = Currencies
                           .GetByName(swap.SoldCurrency);

            return(await Fa12SwapInitiatedHelper
                   .TryToFindPaymentAsync(
                       swap : swap,
                       currency : currency,
                       cancellationToken : cancellationToken)
                   .ConfigureAwait(false));
        }