public static RouterOperation getRouterOperation()
        {
            RouterOperation ro = new RouterOperation();

            ro.Add     = 0;
            ro.Remove  = 1;
            ro.Refresh = 2;
            return(ro);
        }
        public static bool refreshRouter(byte[] invoker)
        {
            BasicMethods.assert(BasicMethods._isLegalAddress(invoker), "invoker is illegal");
            BasicMethods.assert(Runtime.CheckWitness(invoker), "Checkwitness failed");
            BasicMethods.assert(Storage.Get(Storage.CurrentContext, routerInfoPrefix.Concat(invoker)).AsBigInteger() != 0, "Router address does not exist");
            Storage.Put(Storage.CurrentContext, routerInfoPrefix.Concat(invoker), Blockchain.GetHeight());

            RouterOperation operation = getRouterOperation();

            RouterUpdated(operation.Refresh, invoker);
            return(true);
        }