Exemplo n.º 1
0
        static public object[] Call(string consAddress, string data)
        {
            LuaVMEnv luaVMEnv = Entity.Root.GetComponent <LuaVMEnv>();
            var      rel      = luaVMEnv.LuaCall(LuaVMStack.s_dbSnapshot, consAddress, LuaVMStack.s_consAddress, data, LuaVMStack.s_transfer.height, out object[] result);

            if (rel)
            {
                return(result);
            }
            return(null);
        }
Exemplo n.º 2
0
        static public string BalanceOf(string consAddress, string address)
        {
            LuaVMEnv luaVMEnv = Entity.Root.GetComponent <LuaVMEnv>();
            var      data     = $"balanceOf(\"{address}\")";
            bool     rel      = luaVMEnv.LuaCall(LuaVMStack.s_dbSnapshot, consAddress, LuaVMStack.s_consAddress, data, LuaVMStack.s_transfer.height, out object[] result);

            if (rel && result != null && result.Length >= 1)
            {
                var amount = ((string)result[0]) ?? "0";
                return(amount);
            }
            return("0");
        }
Exemplo n.º 3
0
        static public bool TransferToken(string consAddress, string addressIn, string addressOut, string amount)
        {
            LuaVMEnv luaVMEnv = Entity.Root.GetComponent <LuaVMEnv>();
            var      data     = $"transfer(\"{addressOut}\",\"{amount}\")";

            var transfer = LuaVMStack.s_transfer;

            if (transfer.addressIn != addressIn && LuaVMStack.s_consAddress != addressIn && LuaVMStack.s_sender != addressIn)
            {
                return(false);
            }

            if (luaVMEnv.IsERC(LuaVMStack.s_dbSnapshot, consAddress, "ERCSat"))
            {
                return(Transfer(addressIn, addressOut, amount));
            }

            return(luaVMEnv.LuaCall(LuaVMStack.s_dbSnapshot, consAddress, addressIn, data, LuaVMStack.s_transfer.height, out object[] result));
        }