Ejemplo n.º 1
0
        public async Task <WalletId> RegisterDerivationSchemeAsync(string cryptoCode, bool segwit = false, bool importKeysToNBX = false)
        {
            SupportedNetwork = parent.NetworkProvider.GetNetwork <BTCPayNetwork>(cryptoCode);
            var store = parent.PayTester.GetController <StoresController>(UserId, StoreId);

            GenerateWalletResponseV = await parent.ExplorerClient.GenerateWalletAsync(new GenerateWalletRequest()
            {
                ScriptPubKeyType = segwit ? ScriptPubKeyType.Segwit : ScriptPubKeyType.Legacy,
                SavePrivateKeys  = importKeysToNBX
            });

            await store.AddDerivationScheme(StoreId, new DerivationSchemeViewModel()
            {
                Enabled                = true,
                CryptoCode             = cryptoCode,
                Network                = SupportedNetwork,
                RootFingerprint        = GenerateWalletResponseV.AccountKeyPath.MasterFingerprint.ToString(),
                RootKeyPath            = SupportedNetwork.GetRootKeyPath(),
                Source                 = "NBXplorer",
                AccountKey             = GenerateWalletResponseV.AccountHDKey.Neuter().ToWif(),
                DerivationSchemeFormat = "BTCPay",
                KeyPath                = GenerateWalletResponseV.AccountKeyPath.KeyPath.ToString(),
                DerivationScheme       = DerivationScheme.ToString(),
                Confirmation           = true
            }, cryptoCode);

            return(new WalletId(StoreId, cryptoCode));
        }
Ejemplo n.º 2
0
        public async Task <WalletId> RegisterDerivationSchemeAsync(string cryptoCode, bool segwit = false)
        {
            SupportedNetwork = parent.NetworkProvider.GetNetwork <BTCPayNetwork>(cryptoCode);
            var store = parent.PayTester.GetController <StoresController>(UserId, StoreId);

            ExtKey           = new ExtKey().GetWif(SupportedNetwork.NBitcoinNetwork);
            DerivationScheme = SupportedNetwork.NBXplorerNetwork.DerivationStrategyFactory.Parse(ExtKey.Neuter().ToString() + (segwit ? "" : "-[legacy]"));
            await store.AddDerivationScheme(StoreId, new DerivationSchemeViewModel()
            {
                DerivationScheme = DerivationScheme.ToString(),
                Confirmation     = true
            }, cryptoCode);

            return(new WalletId(StoreId, cryptoCode));
        }