Example #1
0
        public SmartContractTransactionService(
            Network network,
            IWalletManager walletManager,
            IWalletTransactionHandler walletTransactionHandler,
            IMethodParameterStringSerializer methodParameterStringSerializer,
            ICallDataSerializer callDataSerializer,
            IAddressGenerator addressGenerator,
            IStateRepositoryRoot stateRoot,
            IReserveUtxoService reserveUtxoService,
            IBlockStore blockStore,
            ChainIndexer chainIndexer,
            IContractPrimitiveSerializer primitiveSerializer,
            IContractAssemblyCache contractAssemblyCache,
            IReceiptRepository receiptRepository
            )
        {
            this.network                         = network;
            this.walletManager                   = walletManager;
            this.walletTransactionHandler        = walletTransactionHandler;
            this.methodParameterStringSerializer = methodParameterStringSerializer;
            this.callDataSerializer              = callDataSerializer;
            this.addressGenerator                = addressGenerator;
            this.stateRoot                       = stateRoot;
            this.reserveUtxoService              = reserveUtxoService;

            this.blockStore            = blockStore;
            this.chainIndexer          = chainIndexer;
            this.primitiveSerializer   = primitiveSerializer;
            this.contractAssemblyCache = contractAssemblyCache;
            this.receiptRepository     = receiptRepository;
        }
Example #2
0
 public WalletRPCController(
     IBlockStore blockStore,
     IBroadcasterManager broadcasterManager,
     ChainIndexer chainIndexer,
     IConsensusManager consensusManager,
     IFullNode fullNode,
     ILoggerFactory loggerFactory,
     Network network,
     IScriptAddressReader scriptAddressReader,
     StoreSettings storeSettings,
     IWalletManager walletManager,
     IWalletService walletService,
     WalletSettings walletSettings,
     IWalletTransactionHandler walletTransactionHandler,
     IWalletSyncManager walletSyncManager,
     IReserveUtxoService reserveUtxoService = null) : base(fullNode: fullNode, consensusManager: consensusManager, chainIndexer: chainIndexer, network: network)
 {
     this.blockStore               = blockStore;
     this.broadcasterManager       = broadcasterManager;
     this.logger                   = loggerFactory.CreateLogger(this.GetType().FullName);
     this.scriptAddressReader      = scriptAddressReader;
     this.storeSettings            = storeSettings;
     this.walletManager            = walletManager;
     this.walletService            = walletService;
     this.walletSettings           = walletSettings;
     this.walletTransactionHandler = walletTransactionHandler;
     this.walletSyncManager        = walletSyncManager;
     this.reserveUtxoService       = reserveUtxoService;
 }
        public static Transaction BuildTransaction(
            Network network,
            IWalletTransactionHandler walletTransactionHandler,
            IServiceNodeRegistrationConfig registrationConfig,
            RegistrationToken registrationToken,
            string walletName,
            string accountName,
            string password)
        {
            var accountReference = new WalletAccountReference()
            {
                AccountName = accountName,
                WalletName  = walletName
            };

            var context = new TransactionBuildContext(network)
            {
                AccountReference = accountReference,
                Recipients       = GetRecipients(registrationConfig, registrationToken),
                Shuffle          = false,
                Sign             = true,
                OverrideFeeRate  = new FeeRate(registrationConfig.TxFeeValue),
                WalletPassword   = password
            };

            context.TransactionBuilder.CoinSelector = new DefaultCoinSelector
            {
                GroupByScriptPubKey = false
            };
            Transaction transaction = walletTransactionHandler.BuildTransaction(context);

            return(transaction);
        }
 public WalletRPCController(IWalletManager walletManager,
                            IWalletTransactionHandler walletTransactionHandler,
                            IFullNode fullNode,
                            IBroadcasterManager broadcasterManager,
                            ILoggerFactory loggerFactory,
                            WalletSettings walletSettings) : base(fullNode: fullNode)
 {
     this.walletManager            = walletManager;
     this.walletTransactionHandler = walletTransactionHandler;
     this.fullNode           = fullNode;
     this.broadcasterManager = broadcasterManager;
     this.logger             = loggerFactory.CreateLogger(this.GetType().FullName);
     this.walletSettings     = walletSettings;
 }
 public SmartContractsController(
     IBroadcasterManager broadcasterManager,
     IConsensusLoop consensus,
     IDateTimeProvider dateTimeProvider,
     ILoggerFactory loggerFactory,
     Network network,
     ISmartContractReceiptStorage receiptStorage,
     ContractStateRepositoryRoot stateRoot,
     IWalletManager walletManager,
     IWalletTransactionHandler walletTransactionHandler)
 {
     this.receiptStorage           = receiptStorage;
     this.stateRoot                = stateRoot;
     this.walletTransactionHandler = walletTransactionHandler;
     this.logger             = loggerFactory.CreateLogger(this.GetType().FullName);
     this.network            = network;
     this.coinType           = (CoinType)network.Consensus.CoinType;
     this.walletManager      = walletManager;
     this.broadcasterManager = broadcasterManager;
 }