예제 #1
0
        public static void Reduce(Address owner, ulong amount)
        {
            var pair = new AddressPair()
            {
                First = owner, Second = Api.GetTransaction().From
            };

            _allowances[pair] = _allowances[pair].Sub(amount);
        }
        static void SendToManager(Packet packet)
        {
            AddressManager manager = new AddressManager();
            AddressPair    address = manager.GetManagerAddress();

            MessageSender sender = new MessageSender(address.ip, address.port);

            sender.SendPacket(packet);
        }
예제 #3
0
        public static void Approve(Address spender, ulong amount)
        {
            var pair = new AddressPair()
            {
                First = Api.GetTransaction().From, Second = spender
            };

            _allowances[pair] = _allowances[pair].Add(amount);
        }
예제 #4
0
        static void StartReceiverThread()
        {
            AddressManager addressManager = new AddressManager();
            AddressPair    address        = addressManager.GetManagerAddress();

            MessageReceiver receiver = new MessageReceiver(address.ip, address.port);

            while (true)
            {
                Packet packet = receiver.ReceivePacket();
                IManagerPacketProcessor processor = ManagerPacketProcessor.FactoryProcessor(packet);
                Task.Run(() => processor.ProcessMessage(packet));
            }
        }